What's new

Killer Instinct Dual Board

Hello guys !

It's with great pleasure that I announce the opening of the source code for the ROM and tools I've been working on for the past two years.
Some tools are missing for now, like the tool to unpack the game rom, it will be added once the code has been cleaned up.

This source code is of the new version 2.0 ROM rewritten in C.

@neku I just want to say that what you've done here is unbelievable. I've owned a KI1/2 PCB for many years and it always pissed me off that MAME has always had a bug that intro audio never loaded. The "hack" was to change the volume and the intro music started working.

If I use your BIOS in Killer Instinct 1 and 2 and set the correct DIP switch to auto bypass your startup menu, apart from the CRC chip failure, the audio works perfectly! For the first time in MAME, identical to the PCB!!! Thank you!!!
 
@neku I just want to say that what you've done here is unbelievable. I've owned a KI1/2 PCB for many years and it always pissed me off that MAME has always had a bug that intro audio never loaded. The "hack" was to change the volume and the intro music started working.

If I use your BIOS in Killer Instinct 1 and 2 and set the correct DIP switch to auto bypass your startup menu, apart from the CRC chip failure, the audio works perfectly! For the first time in MAME, identical to the PCB!!! Thank you!!!
What dip switch do you use to bypass the boot menu?
 
@neku I just want to say that what you've done here is unbelievable. I've owned a KI1/2 PCB for many years and it always pissed me off that MAME has always had a bug that intro audio never loaded. The "hack" was to change the volume and the intro music started working.

If I use your BIOS in Killer Instinct 1 and 2 and set the correct DIP switch to auto bypass your startup menu, apart from the CRC chip failure, the audio works perfectly! For the first time in MAME, identical to the PCB!!! Thank you!!!
That bug was fixed in the latest mame by hap:
https://git.redump.net/mame/commit/?id=857c566cb3a12b24c74e28e6efe6d9a84e740ddc
 
I saw this commit recently and actually this change introduces issues if you are disabling DRC, every read to the ROM (data and instructions) are getting this latency penalty; making mame for KI emulation unusable on architecture not supporting DRC.
Also the fix is inaccurate, now loading time on mame are slower than on real hardware.
I am not a big fan of this fix, looks more like a bandaid on an emulation accuracy problem.
 
That could be useful information to the devs neku. Maybe post that info to the patch author? This is the commit on the mame github with option for posting comments at the end:
https://github.com/mamedev/mame/commit/857c566cb3a12b24c74e28e6efe6d9a84e740ddc


Or if you are familiar with c++ the source file can be edited to fix it and a pull request made:
https://github.com/mamedev/mame/blob/master/src/mame/rare/kinst.cpp

Actually looking the comments in the source file it looks like they are aware this is not correct:
TODO:
- The SRAM test fails in diagnostics; this is due to the fact that the test
relies on executing out of the cache while it tromps over (and eventually
restores) the instructions it is executing; this will likely never be fixed.
- Verify waitstates on memory access, currently it's only added for EPROMs
during the blue screen boot up sequence.
 
I saw this commit recently and actually this change introduces issues if you are disabling DRC, every read to the ROM (data and instructions) are getting this latency penalty; making mame for KI emulation unusable on architecture not supporting DRC.
Also the fix is inaccurate, now loading time on mame are slower than on real hardware.
I am not a big fan of this fix, looks more like a bandaid on an emulation accuracy problem.
I tried to backport this fix into a MAME rev I'm running from last summer when I upgraded my MAME computer from 2010 (easier to fix MAME than try to update the ROMs on my custom build) Unfortunately, my build VM is still on Windows 7 (I do most dev in Linux) The issue is that when you call 'pacman' to update the tools to build MAME, all the build tools (MSYS2, etc) have all migrated to win8 as the minimum requirement in 2024. MSYS2 now tells me it's missing specific Windows DLL's to execute. Luckily MAME/GroovyMAME still maintain old build systems that generate win7 compatible binaries, but setting up a new one today on win7 is a loss cause.

Luckily, Neku's BIOS works great in older MAME with no visible issues.
 
Back
Top