shawngmc / game-extraction-toolbox

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

Future: King of Fighters 97 Global Match - Steam #69

Open fliperama86 opened 7 months ago

fliperama86 commented 7 months ago

It looks like Steam's "King of Fighters 97 Global Match" is pretty close to KOF97 Mame rom. Comparing the files from these versions, here is what I was able to find ([Steam game directory]\Data\rom vs kof97.zip):

Steam Mame CRC Match
c1.bin ? E9CB47E7
m1.bin 232-m1.m1 45348747
p1.bin (First 1.048.576 bytes) 232-p1.p1 7DB81AD9
p1.bin (Other 4.194.304.bytes) 232-p2.sp2 158B23F6
s1.bin
s2.bin
232-s1.s1 8514ECF5
sp_4j.bin JP Bios N/A DFF6D41F
sp_4s.bin (US Bios?) N/A 142E97CC
v1.bin split in 3 (1/3) 232-v1.v1 22A2B5B5
v1.bin split in 3 (2/3) 232-v1.v2 2304E744
v1.bin split in 3 (3/3) 232-v1.v3 759EB954

c1.bin seems to contain the sprite rom data, "equivalent" to .c1 to .c6 on kof97.zip, since they all add up to exactly 40MB, but they are not equal and the CRCs don't match 😞

By splitting c1.bin in 6 parts (4x 8MB + 2x 4MB) and zipping all files from the Steam version together - and properly renamed - I managed to boot the rom in RetroArch's Mame. The problem is, most of the sprites are displayed incorrectly:

Screenshots ![kof97-231123-123201](https://github.com/shawngmc/game-extraction-toolbox/assets/151855083/95b21408-e9f9-4413-a2c2-2fe61f52d9cc) ![kof97-231123-125539](https://github.com/shawngmc/game-extraction-toolbox/assets/151855083/c1931a09-e531-4f4b-9dfe-791e173c4d79)

Again, it seems like the only missing piece is figuring out how to fix the sprite rom data in c1.bin.

fliperama86 commented 7 months ago

I̶n̶t̶e̶r̶e̶s̶t̶i̶n̶g̶l̶y̶ ̶e̶n̶o̶u̶g̶h̶,̶ ̶b̶y̶ ̶r̶u̶n̶n̶i̶n̶g̶ ̶t̶h̶e̶ ̶b̶u̶i̶l̶t̶ ̶(̶f̶r̶o̶m̶ ̶S̶t̶e̶a̶m̶ ̶f̶i̶l̶e̶s̶)̶ ̶̶k̶o̶f̶9̶7̶.̶z̶i̶p̶̶ ̶a̶g̶a̶i̶n̶s̶t̶ ̶t̶h̶e̶ ̶t̶o̶o̶l̶ ̶[̶N̶e̶o̶B̶u̶i̶l̶d̶e̶r̶ ̶H̶o̶m̶e̶b̶r̶e̶w̶ ̶G̶U̶I̶ ̶v̶1̶.̶0̶6̶]̶(̶h̶t̶t̶p̶s̶:̶/̶/̶b̶i̶d̶o̶u̶i̶l̶l̶o̶u̶z̶z̶z̶.̶b̶l̶o̶g̶s̶p̶o̶t̶.̶c̶o̶m̶/̶2̶0̶2̶2̶/̶0̶2̶/̶n̶e̶o̶b̶u̶i̶l̶d̶e̶r̶-̶h̶o̶m̶e̶b̶r̶e̶w̶-̶g̶u̶i̶.̶h̶t̶m̶l̶)̶ ̶I̶ ̶w̶a̶s̶ ̶a̶b̶l̶e̶ ̶t̶o̶ ̶c̶r̶e̶a̶t̶e̶ ̶a̶ ̶̶.̶n̶e̶o̶̶ ̶f̶i̶l̶e̶ ̶t̶h̶a̶t̶ ̶w̶o̶r̶k̶e̶d̶ ̶o̶n̶ ̶m̶y̶ ̶M̶i̶s̶t̶e̶r̶ ̶F̶P̶G̶A̶,̶ ̶w̶h̶i̶c̶h̶ ̶w̶a̶s̶ ̶m̶y̶ ̶u̶l̶t̶i̶m̶a̶t̶e̶ ̶g̶o̶a̶l̶ 🎉

Update: After a second inspect, I noticed that I actually messed it up and tested the wrong rom file. The actual result I got in my Mister was the same as with Mame, i.e. bad sprites... I'm sorry about the confusion 😞 Back to square 0...

shawngmc commented 7 months ago

Hmm... that implies that the ROM data is there in full, and just requires transformations. When I get a chance, I'll take a look.

On Thu, Nov 23, 2023, 1:45 PM fliperdeboteco @.***> wrote:

Interestingly enough, by running the built (from Steam files) kof97.zip against the tool NeoBuilder Homebrew GUI v1.06 https://bidouillouzzz.blogspot.com/2022/02/neobuilder-homebrew-gui.html I was able to create a .neo file that worked on my Mister FPGA, which was my ultimate goal 🎉

— Reply to this email directly, view it on GitHub https://github.com/shawngmc/game-extraction-toolbox/issues/69#issuecomment-1824817095, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABYAQQZILPR55456COXTMCTYF6KVTAVCNFSM6AAAAAA7X6T5UWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRUHAYTOMBZGU . You are receiving this because you are subscribed to this thread.Message ID: @.***>

RealRelativeEase commented 6 months ago

There's a bash script to extract a working ROM of KOF'97 from the Amazon version of Global Match: https://github.com/RedundantCich/goNCommand/blob/main/GoKOF97

Maybe this could be of use for the Steam version as well?

fliperama86 commented 6 months ago

There's a bash script to extract a working ROM of KOF'97 from the Amazon version of Global Match: https://github.com/RedundantCich/goNCommand/blob/main/GoKOF97

Maybe this could be of use for the Steam version as well?

Yep it worked! I will create a PR for this repo to include a command for this game. Thank you!!!

RealRelativeEase commented 6 months ago

Credit goes to lioneltrs and RedundantCich, of course. Still glad I was able to be of service!

RealRelativeEase commented 6 months ago

Maybe the same can also be done with the other Neo Geo ports developed by Code Mystics?

The King of Fighters '98: Ultimate Match also contains a playable AES version of the Neo Geo original, but the file structure is different compared to other Code Mystics ports. So it might not be a full ROM or something else.

fliperama86 commented 6 months ago

@RealRelativeEase Perhaps. I don't own Garou: Mark of the Wolves, Samurai Shodown V Special nor The Last Blade 2 on Steam, besides the first two are already already extractable from the Humble Bundle version. I took a look at King of Fighters '98: Ultimate Match and it doesn't look like it is emulated at all. Did you find any reasons to think otherwise?

RealRelativeEase commented 6 months ago

It was just a wild guess that the AES version of KOF'98 inside of Ultimate Match is ROM-based, since I couldn't spot any differences compared to a regular ROM of the game run in AES mode. Aside from the option to return to Ultimate Match in the main menu, which could've been added in there via a patch or a custom hack.

I don't think there were too many full-on ports of Neo Geo games past the PS1/Dreamcast, since most of the collections and re-releases seem to contain ROMs wrapped in an emulator.

Feilakas commented 6 months ago

As far as I can tell, The KOF '98 UM FE is a port, not a ROM-based release.

I can confirm however that, The KOF '97 GM as well as The Last Blade 2 are indeed ROM-based releases and both can be turned into usable ROMs. By following the commits fliperdeboteco created as well as lioneltrs' original bash script, I was able to recreate a stand-alone python script that converts the ROM files into the KOF97.zip and test that it indeed works correctly.

I cannot comment on the"Samurai Shodown V Special" because I instead purchased the Samurai Shodown NeoGeo Collection released two years later and from those, ValadAmoleo had managed to extract games 1-4 and then in the following guide, Author alhumbra (Richard Roe) explained how to also extract SS 5S FE. The following tool uses said instructions to extract said ROM.

Finally, I cannot comment on Garou: Mark of the Wolves because I too bought the Humble Bundle NeoGeo Classic Collection which includes this game among others and in that collection, all ROMs can be easily found in the installer files.