MAMEWorld >> Programming
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

Pages: 1

te_lanus
MESS Fan
Reged: 03/07/10
Posts: 14
Loc: Knosses
Send PM


Neo-Geo load question
#241985 - 12/27/10 08:13 AM


Hi

I hope someone can help me in the right direction.

I'm trying to load a few games in mess's software list for the AES. But I'm not 100% sure why it's not working. the part I don't understand is loading the maincpu. Most start at offset 0x000000, but some start at offset 0x100000.


according to mame's source it should be loaded like this:

but mess is complaining that it's given a 3meg space to load a 2meg bios.

loading it like this:

makes mess not complain, the game start but it thrashes the boot screen and doesn't load.

Edited by te_lanus (12/27/10 08:21 AM)



etabeta
Reged: 08/25/04
Posts: 2036
Send PM


Re: Neo-Geo load question new [Re: te_lanus]
#242059 - 12/28/10 11:47 AM


1. this kind of questions would receive more attention (and faster reply) at the MESS forum

2. if you want to understand what you were doing wrong, go to point 3. otherwise, if you only want something that works, copy the kof94 entry in aes.xml and you'll be done.

3. it seems you don't fully understand how the loading routines work in MAME/MESS. look closer to the MAME source: you have a 2M rom and a 2M CPU region to fill.
*but* the CPU wants the two halves to be loaded in the opposite order: from 0 to 1M it wants the second half of the rom, from 1M to 2M it wants the first half of the rom.
MAME works this around with ROM_CONTINUE: it starts loading at offset 1M and it loads only half of the ROM (you can see this because the size in the source is only 1M even if the rom is twice as large), then it continues to load the remaining data at offset 0 (so that the second half ends up where the CPU expects it).
in MESS we do the same with the loadflag="continue"

can you see now what you were doing wrong? you started loading at the correct offset, but you loaded the full rom (2M) at that offset and after that you asked MESS to keep loading one more 1M chunk after the end of the file (this explains the error you get: the rom is only 2M and you ask MESS to load 3M out of it ).
the second example does not make MESS to complain because you don't try to load a 3rd 1M block from the 2M rom, but of course the CPU does not find any correct data at 0 either...

the proper way to do this is to use size="2097152" for the dataarea, then to load only size="1048576" of your 212-p1 file at offset="0x1000000", and finally to use the continue flag to load the second half at offset 0...


Pages: 1

MAMEWorld >> Programming
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

Extra information Permissions
Moderator:  Pi 
0 registered and 57 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 3078