MiSTer-devel / NeoGeo_MiSTer

NeoGeo for MiSTer
GNU General Public License v2.0
148 stars 78 forks source link

Request: Support for King of Fighters 98: Anniversary Edition hack #188

Closed protogem2 closed 1 year ago

protogem2 commented 1 year ago

This is a hack that is a bit under 128MB in size which adds missing characters and other features from other KOF games, putting it roughly on par with the King of Fighters 98 Ultimate Match released later for Taito Type X, PS2, PGM2, Steam etc.

It is doing something a bit off spec with it's sound, as the sound is glitchy and plays the wrong samples and sounds currently in the core.

It would be very cool to have this hack working on the MiSTer core, thank you in advance.

sorgelig commented 1 year ago

i've tried kof98ae2016

i've used this romset config:

    <romset name="kof98ae2016" pcm="1" altname="King of Fighters '98, The: Anniversary Edition" publisher="Hack" year="2016" ram="3">
        <file name="242ae-p1.p1"   index="4"/>
        <file name="242ae-p2.sp2"  index="6"/>
        <file name="242ae-c1.c1"   index="64"/>
        <file name="242ae-c2.c2"   index="65"/>
        <file name="242-c3.c3"     index="96"/>
        <file name="242-c4.c4"     index="97"/>
        <file name="242ae-c5.c5"   index="128"/>
        <file name="242ae-c6.c6"   index="129"/>
        <file name="242ae-c7.c7"   index="160"/>
        <file name="242ae-c8.c8"   index="161"/>
        <file name="242ae-c9.c9"   index="192"/>
        <file name="242ae-c10.c10" index="193"/>
        <file name="242ae-c11.c11" index="224"/>
        <file name="242ae-c12.c12" index="225"/>
        <file name="242ae-m1.m1"   index="9"/>
        <file name="242ae-s1.s1"   index="8"/>
        <file name="242-v1.v1"     index="16"/>
        <file name="242-v2.v2"     index="24"/>
        <file name="242-v3.v3"     index="32"/>
        <file name="242-v4.v4"     index="40"/>
        <file name="242ae-v5.v5"   index="48"/>
    </romset>

Game itself looks working with correct audio, but sprites are messed. The table above is just my guess based on part names. What is correct order of CROM parts?

P.S. was my fault - table above has been corrected. Game looks like working without issues.

protogem2 commented 1 year ago

I have tested the configuration you have posted. While the introduction sequence and "normal" sounds for KOF98 play correctly the added sounds for the additional content(added characters, etc)do not. Here is a video demonstrating the issue:

https://www.youtube.com/watch?v=LARpTFbTEBg

This is using the latest unstable main and unstable neo geo core.

paulb-nl commented 1 year ago

Apparently this hack requires some weird ym2610 banking because it uses more than 16MB for adpcm-a which is not possible on original hardware.

It seems like it uses some unused bit of the volume registers: https://github.com/finalburnneo/FBNeo/commit/cddcdcc22036f58dc86f7177715e055417a1eb91

sorgelig commented 1 year ago

i've pushed changes to support for 32MB ADPCMA. Need update both Main and NeoGeo. Also don't forget to update romsets.xml! Currently neo format quirks are not updated since i don't have it. Conversion tools are broken as well.

sorgelig commented 1 year ago

Also added KOF98 Ultimate Match. Looks like more polished version of Anniversary Edition.

protogem2 commented 1 year ago

I am experiencing some minor sound glitches on KOF98 Ultimate Match. I can only find WIP versions of this hack, so I am using "rom "WIP 04/12/2020".". I am unsure if these are issues related to the hack being unfinished or the core.

Video of issue:

https://youtu.be/E41WN0z7t1c

KOF98AE appears to be working without any issues.

sorgelig commented 1 year ago

I don't have any real NeoGeo HW to test. I think it can be considered as a glitch because of WP. Don't expect a high quality from fan mod.

protogem2 commented 1 year ago

Im going to consider this issue resolved. Your efforts are appreciated.

protogem2 commented 1 year ago

Closing issue.

protogem2 commented 1 year ago

Unfortunately I have found a couple MiSTer specific bugs with KOF98AE and UM.

(1) The Japan stage has graphical glitches on it, regardless of the character chosen (so "new" hack content specifically does not trigger the glitches)

(2) Iori's SDM plays the wrong character's voice sample at the end, Chang's.

These issues do not happen in emulators running the game so I assume there is another aspect to the hackiness of how this one works. I thought I had found another issue with Eiji's voice samples playing corrupted but this seems to happen on emulators as well so can be disregarded.

Demonstration: https://youtu.be/eVD1t7VeN54

My MiSTer FPGA has 128mb single SDRAM, and I am running on the latest unstable release as of this posting:

NeoGeo_unstable_20230729_228185.rbf - [Sorgelig 2023-07-29 8185940] Fix ADPCMB address size.

protogem2 commented 1 year ago

Additionally I was able to get sound working correctly in KOF98UM, the romsets.xml entry had pcm=2, setting it to 1 seemed to fix the issue.

sorgelig commented 1 year ago

Additionally I was able to get sound working correctly in KOF98UM, the romsets.xml entry had pcm=2, setting it to 1 seemed to fix the issue.

Then it mean KOF98UM doesn't need additional banks for audio. But it's weird because total size of vrom is 20mb. By setting pcm=1 you've limited it to 16MB.

sorgelig commented 1 year ago

in original KOF98 there is no glitch on japan stage. Because that weird additional audio banks (hard to implement in original HW) i assume this mod is made specifically only for emulators. And it's possible while modding they broke something and made it glitch on hardware and MiSTer.

protogem2 commented 1 year ago

It sounds like perhaps all that can be done has been done. If you feel that things cannot progress further (it was made for an emulator, after all) I will close the issue without complaint. I appreciate the efforts made so far regardless.

sorgelig commented 1 year ago

It would be good if someone could try it on real hardware (regardless the obvious audio glitches)

protogem2 commented 1 year ago

It looks like a NeoSD Pro would have more than enough memory to load a .neo build of either AE or UM. I don't have a Neo Geo anymore or a flash cart for one, maybe someone can give it a try and see if the issues replicate.

protogem2 commented 1 year ago

Someone with a Neo SD Pro was kind enough to try and boot a .neo of KOF98AE today, but the game loaded corrupted graphics and would not function properly.

I suspect this is more an issue with how the .neo is built, and the proper way to do so for the Neo SD Pro but my attempts with the (honestly poor quality) different tools for building this format have been unsuccessful.

At this point someone will need to provide to me a known good file made for the Neo SD Pro for the person who is testing. I am "batty" on the MiSTer Discord server, DMs welcome if anyone can help (it is against server rules to post files of this nature directly into chat)

protogem2 commented 1 year ago

Discussed with Sorg further. Closing as resolved.