MSX1 pages and slots

Страница 2/7
1 | | 3 | 4 | 5 | 6 | 7

By BiFi

Enlighted (4348)

Аватар пользователя BiFi

18-07-2006, 13:29

Of course it does. If it's done by the original ROM, it's done by C-BIOS as well... Some very early MSX games have the "AB" signature @ address $0000 (like Sparkie and Crazy Train). Usually the games don't have any BIOS calls, but instead have their own routines for that and common routines are put on RST addresses to reduce code size.

By ARTRAG

Enlighted (6538)

Аватар пользователя ARTRAG

18-07-2006, 13:39

Actually the msx red book says that only page 1 and 2 are examinated by the bios...

The strange thing is that I have done a 48K rom image (using a C compiler) with the AB
signature in page 0 that (under blue & openmsx) runs with C-bios but isn't recognized
by MSX1&2

Any idea?

By BiFi

Enlighted (4348)

Аватар пользователя BiFi

18-07-2006, 14:07

It's possible the ROM type detection isn't done properly (see my last post on this page). Try forcing it in the page it should be by selecting the correct ROM type, otherwise check whether the contents of the ROM image is what you expected. The init address should be in page 0 as well of course.

It's possible the authors of the Redbook didn't do their analysis of that routine thoroughly enough. It really examines page 0 as well.

By ARTRAG

Enlighted (6538)

Аватар пользователя ARTRAG

18-07-2006, 15:00

The signature is fine and works in C-bios...

By ARTRAG

Enlighted (6538)

Аватар пользователя ARTRAG

18-07-2006, 16:44

Do you know if in openmsx and bluemsx the fact that
you run C-bios or a standard msx1/2 bios can affect
the autodetect routine of the plugged ROM ?

By tokumaru

Expert (83)

Аватар пользователя tokumaru

21-07-2006, 03:58

You know, I found it strange when I was told you could put your ROM in page 0 but you still had to init it in page 1 or page 2. I don't want to use any BIOS routines in the project I'm working on right now, and I wish I could just start program execution in page 0. Are you saying that this is actually possible, but the emulators do not emulate this correctly?

By ARTRAG

Enlighted (6538)

Аватар пользователя ARTRAG

21-07-2006, 09:18

Actually, in C-bios, I put the AB signature in page 0 at 0000H,
I DO NOT initialize page 1 and page 2 and
everithing WORKS perfectly!!!
Moreover all the rom data in page 1 & 2 are in the corret place!

When I boot with the standard MSX roms, my rom in page 0 is not detected
so I cannot say if this is a problem with the emulators and
if page 1&2 are correctly set to my rom or not

I would like to undestand if :

1) custom ROMs can be detected in page 0 in the standard MSX or this is only a C-bios feature
2) setting page 1 & 2 to the same slot detected for page 0 is done by the standard MSX or if this is only a C-bios feature

By ricbit

Champion (438)

Аватар пользователя ricbit

21-07-2006, 09:46

As far as I know AB signature in 0000 is not recognized by the original bios. Some 16kb games manage to run from 0000 using a trick: their cartridges doesn't have the A15 and A14 connections, and so the entire game is mirrored four times in the slot. This way, the signature is visible from 4000 too.

By zeilemaker54

Champion (311)

Аватар пользователя zeilemaker54

21-07-2006, 16:00

Orginal MSX systemroms only check for the AB signature at 4000 and at 8000, so signatures at 0000 have no effect for sure. MSX2 and MSX2+ also check for the CD signature at 0000 but that is used for the subrom.

By tokumaru

Expert (83)

Аватар пользователя tokumaru

21-07-2006, 17:01

Can you still have the signature at $4000 or $8000 but have the init address point to somewhere in page 0? Or must program execution start on the same page as the signature?

I don't really understand how the cartridge slot is "filled". Some ROMs do not have anything on the first page (their ROM files start at $4000), so how come it gets mapped to the correct page? How can an emulator/MSX tell if a ROM should begin at $0000 (a 48KB ROM, for example) or at $4000 (32KB or 16KB ROMs)?

Also, I read it would be possible to have a 64KB ROM without bankswitching, as it could fill the whole cartridge slot. Is that true? I don't see a reason why not... I would like to use the last page (wich would normally be RAM) to store some data, such as graphics, that can be copied directly to VRAM, but I want to make sure it's possible.

Unfortunately I can not test ROMs on my MSX, so I want to ask if emulators can be trusted when it comes to the behavior of slots.

Страница 2/7
1 | | 3 | 4 | 5 | 6 | 7