Thanks for the update. I had found a few more issues with 1.0, but I'll try again with 1.1 to see if they have been addressed.
I I would create a new megarom using the konami mapper type, how can I make sure SofaROM detects this?
I I would create a new megarom using the konami mapper type, how can I make sure SofaROM detects this?
Just use standard addresses and "ld (xxxx),a" patterns (ld (6000),a ld (8000),a...). This should be recognized by SofaROM (SofaROM also displays some indications on the mapper and addresses found before launching the ROM).
Patterns using HL register (ld hl,0x6000 ld (hl),n) are not handled yet (only some ASCII8 or 16 games are using that).
Does SofaRom use memory somewhere? I set the stack pointer at #FFFE and map out the BIOS (memory at #0000), handle the #38 interrupts myself.
Please can you added the used options in your list?
http://lhalter.free.fr/mgr/sofarom_working.html
Does SofaRom use memory somewhere? I set the stack pointer at #FFFE and map out the BIOS (memory at #0000), handle the #38 interrupts myself.
It sure does. It uses memory mapper to cache the ROM data and the hooks are located at 0xF6E8. There's a good chance that if the BIOS is not set at 0x0000 - 0x3FFF SofaROM will crash on the 1st disk access, that situation is not handled yet, in order to speed-up the page emulation system. I might add that (as an option) is this enables more games to work. I suspect some of the Koei's ROMs to use that too.
Please can you added the used options in your list?
http://lhalter.free.fr/mgr/sofarom_working.html
They are already here, check the 2 columns on the right (Mapper and Interruption Mode).The other options are not required by any game so far, but I'll add them if needed.
I gave SofaROM 1.1 a spin today. My results:
Working
- Pacman
- Magical Tree
- Xyxolog
Sort of working:
- Famicle Parodic: as before, detonated houses still show up in the wrong place.
Not working:
- Arkanoid: resets on launch.
- Crusader: resets on launch
- Darwin 4078: boots with corrupt graphics.
- Guardic: hangs on launch.
- Magical Wiz Kid: hangs on launch.
- Pacmania: as before, hangs on launch.
- Penguin Wars: boots with corrupt graphics.
- Penguins Wars 2: resets on launch.
- Zanac: hangs on launch.
I would still love a per-game option to control execution method (Loadrom, Sofarom, detected flash method). And as a complete aside, I miss being able to press enter to select an option in Sofarun (only space works now).
Hey Louthrax, what is “wide” mapper mode? Is it for games which do not use nice round numbers like 6800H to set the mapper bank? Why is it separate I wonder?
Hey Louthrax, what is “wide” mapper mode? Is it for games which do not use nice round numbers like 6800H to set the mapper bank? Why is it separate I wonder?
That's exactly it. It's separated to avoid potential over-patching for the sandard cases (games using the usual round numbers). It's selected in "Automatic" mode (after the first 16KB ROM analysis phase) if the addresses found are not all standard.
Using this as the default option (or always using this) is a bit premature I guess, I'll need to test more games and ensure there are no problems with it.