shawngmc / game-extraction-toolbox

Python tools for extracting ROMs from games and investigating files
MIT License
66 stars 7 forks source link

CPS3 notes #2

Open einstein95 opened 1 year ago

einstein95 commented 1 year ago

Reading through cfc.py and I thought I'd give you a hand

https://github.com/shawngmc/game-extraction-toolbox/blob/1a1c35940290827ad5fad8c2a272ff2858e18f26/src/gex/lib/transforms/cfc.py#L780-L790 If you decrypt the BIOS of warzard in MAME (mame warzard -debug, saveo warzard.bin,0,80000), this string appears at 0x1A450.

https://github.com/shawngmc/game-extraction-toolbox/blob/1a1c35940290827ad5fad8c2a272ff2858e18f26/src/gex/lib/transforms/cfc.py#L792-L800 This string appears at 0x1A18F and 0x1D7CB.

These seem to imply there's a 0x40 byte header, followed by the decrypted BIOS. What comes after at 0x80040 is unknown as I don't have the game.

shawngmc commented 1 year ago

0x0 - 0x40 is the IBIS/JACK header. 0x40 - 0x1FF40 matches 0x0 - 0x1FF00 in the dump from MAME. After that, however, the files differ substantially - the vast majority of the file from CFC is blank.

After 0x80040 there needs to be the equivalent of the .CHD file for the game. (TLDR, CPS3 games had a ROM and a CD-ROM, and MAME uses the .CHD to represent the CDROM.)

However, even a larger dump saveo warzard-full.bin,0,2080000 looks like it has the CHD header, etc.

einstein95 commented 1 year ago

Can you upload the JACK file so I can tell you what the extra data is?

shawngmc commented 1 year ago

I don't have permission to distribute the copyrighted material. :|