Ok, ROM dumper program finished and tested on real hardware.
Results:
1) ROM Cart: KOF95 + Ultraman => dumpable (both are 16MBit ROM)
2) AR Carts: All of them (AR, Urawaza, AR2, PAR,...) + clones => dumpable
3) Import adapter => dumpable
Ex:
a) Multigame Adaptor: reading the header => DATEL 95 UNI ADAPTER V1.1
b) CD+Plus: reading the header => Hong Kong Ver. 1.0, and the ROM has some ref to Pro Fighter, Game doctor and X-Terminator (so you know where it comes from
)
c) Magic Card V2: also dumpable
4) Saturn Bioses: all dumpable (no news on this part as you can always use an AR+PC Comms for this). But I will probably dump some undumped Bioses in the future
5) Modem: non dumpable ?? I tested the Japanese X-band Modem. I didn't find any header of the Modem Bios/ROM in the memory (checking the A-Bus CS0) but I find some strange data on the A-Bus CS1: lot of FF00FF00, and sometimes some other data (J or S letters and = sign), then a lot of FFA5... Normally, A-Bus CS1 memory is full of FFFF is the Saturn port is not used. Could this be some part of the modem Bios/ROM ? (or maybe itself fully available here). Else, does anyone know how it works ?
6) MPEG Card Rom: no succes
I always had a return code of -91. I tested the program with a EUR model 1, EUR model 2, JPN model 2 and with the EUR VCD Card and the RG-VC1 JPN VCD Card. Same result for all the combinaison.
I put this pice of codes in my programm:
Code:
#define SYS_MPEGCHECK(i, i2, i3) \
((**(int(**)(int, int, int))0x6000298)(i, i2, i3))
and then in a function:
Sint32 retMPEG;
char tempstr[128];
if ((retMPEG = SYS_MPEGCHECK(0, 128, 0x00200000)) < 0) {
sprintf(tempstr, "return code < 0 : %d", retMPEG);
MPEGsuccess = 0;
} else {
mFile.data = (void *)0x00200000;
mFile.size = retMPEG;
sprintf(tempstr, "bytes read = %d", retMPEG);
}
Did I make something wrong ?