Jump to content

Support for new ROM hack projects


Recommended Posts

Hello Tux! I would like to request support for two interesting ROM hacking projects: Street Fighter Zero 3 Mix and King of Fighters '94 Team Edit Edition.

The first one is a very interesting attempt to adapt the K.O.F fighting mechanics to the Street Fighter Zero series. The project has a website with information on the game and where to download it, here: https://sfz3mix.github.io/


The game is available and updated in the FBNeo archive.org romset.

The second one is a hack to allow editing the fighting teams in K.O.F '94. It is the only game in the franchise which does not allow that so a hacker had the idea to implement this feature. Apparently he/she fixed other things too. The project also has a website, here: https://neorh.mattgreer.dev/


In the website the author describes most of the issues he/she has fixed in this mod.

The project is also on GitHub, here: https://github.com/city41/kof94te

The hack has just been updated to version 1.3 beta now, but this version is not yet available in the FBNeo archive.org romset (the version available there is 1.2.2 I guess, it's outdated already).

It would be great to be able to play these hacks in Raine!

I hope you can consider this request eventually.

Thank you so much!


PS: SFZ3Mix runs in the resolution of 416x234, I'm not sure if that could have any issues with Raine; and the game comes with the default difficulty set to "expert" and the speed set to "free select 2", I had to change that in order to enjoy it better.

Link to comment
Share on other sites

Well I had a look at sfz3mix, a hack from Brazil ! You should try to organize a tournament there... ! Yeah I know, Brazil is very big, but you never know... !

Anyway, never seen such a cps2 game, the regions are huge, and that's the only cps2 game using some dipswitches !

So for now the support is very preliminary, the rom loads, but half of the sprites are broken, and there is no sound ! I guess I'll have to spend more time on it if I want to understand how all this works... A really crazy hack indeed, it wins the prize of the craziest hack I have seen so far for an arcade rom !

Because it took me more time than anticipated I didn't look at your kof94 hack, but it should be easier normally, at least this one should be a lot like its parent rom, which is not the case at all for sfz3mix, it's supposed to be based of the phoenix version of sfa3 (sfa3ud), but in fact everything is totally different for all the regions !

  • Like 1
Link to comment
Share on other sites

For the kof94 hack, it's a very well done one with ips patches, so you can add it by using the ips patches... yeah I know, you need to create the .dat files not to become crazy, but they are not that hard to do, it's pretty straightforward...

Now there is still a question : there are 2 directories in the ipsPatches directory : a94, and a95, and both seem to contain very similar file names, so what's the difference between them ? I guess a95 is not just more recent than a94, it would be too easy... !

Well for the a94, you can create a94.dat by copy and pasting this in the a94.dat (and put it in the ips/kof94 directory, with the contents for the a94 directory from the ipsPatch folder in their github site) :

055-c1.bin kof94_a94.055-c1.c1.ips CRC(b96ef460)
055-c2.bin kof94_a94.055-c2.c2.ips CRC(15e096a7)
055-c7.bin kof94_a94.055-c7.c7.ips CRC(62f66888)
055-c8.bin kof94_a94.055-c8.c8.ips CRC(fe0a235d)
055-p1.bin kof94_a94.055-p1.p1.ips CRC(f10a2042)
055-s1.bin kof94_a94.055-s1.s1.ips CRC(825976c1)

a94 from https://github.com/city41/kof94te

I tested with this one alone and you can already make your custom team, so I really wonder what a95 is about... Someone courageous to go to their discord server to ask what it's for ? ;-)

  • Like 1
Link to comment
Share on other sites

kof94te is officially at 1.2.4 (in current FBNEO and next HBMAME), but I'm waiting on 1.3 (not beta) to be released.

sfz3mix is interesting in the wide-screen format (in FBNEO and HBMAME). Hopefully you can get it to run in Raine.


  • Like 1
Link to comment
Share on other sites

I have most of the sounds, it was because this romset was made for mame compatibility and so it includes the gap that mame has for its z80 memory map in the middle of the rom ! 0x8000 bytes wasted, and so I needed to make a memmove to compensate for this... Still a few sounds seem strange, I'll have to make more tests on that, and anyway for now no idea for the broken sprites and there are quite a few !

  • Like 1
Link to comment
Share on other sites

And ffman1985 understood these folders :

That is the portrait in the character screen.



So, the a94 is the one nearer to the original. 

So you must either apply a94, or a95, not both. Here is then the a95.dat file, on the same model, it's just a copy and paste of a94.dat with a94 replaced by a95 :

055-c1.bin kof94_a95.055-c1.c1.ips CRC(b96ef460)
055-c2.bin kof94_a95.055-c2.c2.ips CRC(15e096a7)
055-c7.bin kof94_a95.055-c7.c7.ips CRC(62f66888)
055-c8.bin kof94_a95.055-c8.c8.ips CRC(fe0a235d)
055-p1.bin kof94_a95.055-p1.p1.ips CRC(f10a2042)
055-s1.bin kof94_a95.055-s1.s1.ips CRC(825976c1)

a95 from https://github.com/city41/kof94te

Notice that this method has only advantages, you can choose which version of the patch you use : at the top of their git tree is the 1.30 beta, but you can revert to any version to get the one you want, the .dat files will remain the same since the crcs are the crcs of the rom files, not the patches. In linux you can use symlinks for the a94 and a95 files to make them to point to their git directory, and then choose the version you want in this directory... !

  • Like 1
Link to comment
Share on other sites

Ok, finally fixed almost all of sfz3mix :

 - the aspect ratio dipswitch is a fake one. In Raine it's useless since the setting is already in video options. Ok in raine it's just about trying to keep the 4:3 aspect ratio or not, I could instead force to 4:3 or 16:9 like here (there is even an option for these ultra wide screens, I didn't know these could be useful for gaming !). Spent quite some time searching how it was read, didn't find anything... !
 - there are quite some hacks for the sprites drawing explaining my bad sprites. It's a huge sprites bank, $4000000 bytes, never seen that in a cps2 game so far. Luckily there was also a modified mame source where it's easier to track the modifications and find everything needed. There was also a change in the output handling which helps a lot to center the screen !
 - for the sound it was a blank area in the middle of the rom. At least the intro sound of the game seems broken which is strange since it's the only broken sound apparently. It's among the new sounds added to this... I checked their custom samples, they are about music only, so it's not the cause, so for now I don't know why it's not playing correctly... It's possible the driver uses some fancy recent feature of the qsound driver, the one in raine is actually very old now. The amazing thing about qsound is that their samples are 8 bits and they sound like 16 bits samples... !
 - The inputs seem ok, tested only in service mode, can't be sure about the game, I am not an expert in this game but it should work normally.

It's in git for now.

ffman1985 has been adding quite a few of his hacks/cheats lately too to git...

  • Like 1
Link to comment
Share on other sites

Hi, I'm Zero800, creator of SFZ3Mix.

I found it very interesting that another emulator wanted to emulate the new SFZ3MIX, because I spent a long time asking other emulators to accept this challenge.

To emulate this hacked rom correctly, you'd have to solve at least these two problems.

1. Increasing the resolution to 416x234
2. Make the emulator use the extra graphics (gfx2.bin) when an unused bit is set.
3. Manage the .wav samples by making them play if there is one with the same ID as the song and mute the original cps2 audio when this happens

Regarding the initial audio of the rom that says "Street Fighter Zero 3 Mix", it has been added to an extra audio bank, thus doubling its maximum size. 

The same was done with the graphics, which were doubled and signaled for the emulator to interpret when a bit not used in the original cps2 was used.

Try checking the mame driver on the game's website or how it has been better implemented in FBNeo.

SFZ3Mix is based on the sfa3us rom but I've mapped all its pointers to insert new code anywhere in the rom. That's why each version has nothing to do with the other, nor would it be possible to use only .ips applied to the original rom.

Even though I'm not much of a programmer, I'll help you with whatever I can answer.

Edited by zero800
  • Like 1
Link to comment
Share on other sites

Cool, thanks ! Well the increase of resolution was the easiest part, the sprites the hardest so far. I'll try to see about this 2nd bank for the qsound, thanks for that.
And I have some other bugs to keep me busy, not directly related to sfz3mix... !

Yeah the work on this hack is impressive, biggest cps2 rom ever this info alone is impressive !

For the samples, usually we do that with "sound associations" in raine, cps2 is already supported, it allows to replace a chosen song by an mp3/ogg/flac, etc, so it's probably the easiest way to do that here, except usually it's configured by the user, here it would be by the driver, I'll see that later.

Link to comment
Share on other sites

For samples, Raine brings a 1000x more elegant solution than I implemented in brute force. You don't have to run the samples in .wav, I can convert them to .ogg myself and make them available on the site along with the Raine link when supported.


I was very frustrated at having nowhere else to put new graphics in CPS1's SF2Mix and came up with this crazy solution to double the graphics in cps2. I know it will never work on a real cps2 but 99% don't have a cps2 and play via emulator anyway.

Thanks for the compliment, but this hack is purely a hobby for a Street Fighter and KOF fan.

Link to comment
Share on other sites

Well the most impressive rom hack I have seen so fa anyway !

I took a quick look at the qsound rom (sz3mx.11m) and indeed it looks like there are 2 $800000 bytes regions inside, but I have no way with the current qsound driver to declare 2 regions for a single chip. The problem is the qsound driver is a quite outdated, but mame now emulates the dsp from the original qsound hardware which seems quite overkill for me, so I'd love to find a workaround for this problem, but it doesn't look easy.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...