What's new

Killer Instinct Dual Board

Yep, link above. I didn't make any progress on my board, quite frustrating. I also don't remember enough about mips even after looking at the ROM in the MAME debugger :P Still think it's hitting an exception or interrupt and restarting, but no idea why it's at that part of the boot sequence. And if it is RAM, how I narrow down what chip.
 
Yep, link above. I didn't make any progress on my board, quite frustrating. I also don't remember enough about mips even after looking at the ROM in the MAME debugger :P Still think it's hitting an exception or interrupt and restarting, but no idea why it's at that part of the boot sequence. And if it is RAM, how I narrow down what chip.
Have you checked all the cpu pins under a magnifier or microscope? Bad solder on the cpu is very common on these boards.. Most phones now have a decent enough magnifier , use that and a sewing needle to gently try to move each pin one a at time to rule that out. Sorry I can't be of any help software wise for this machine though.
 
Yep, several passes of flux and reflow, clean off flux and check every pin with a microscope and craft knife. At least I'm now confident the CPU is not dead.

If any repair guys want to buy them as is PM me, otherwise I'll stick them back in a box until I get time to hook up a logic analyzer.
 
Here's a follow-up post since I received my SD card switcher. At first I assumed the common pin was in the center of the switch but it wasn't , and so my relay would actually short power and ground together when switching, good thing my power supply is protected against short circuits. Then I correctly identified the common pin of the switch but the relay turned out to be too slow to switch the SD card and KI2 wouldn't boot. Measuring the pins from the switch I figured that the common pin gets grounded when switched to card B but it if left floating then it selects card A. I simply used another output pin on my esp8266 that is configured as HIGH but will get pulled low if low kick is held within the first second of the boot sequence and connected the common pin to that output, via a diode. I still use the relay to switch the EPROMs between banks. Success! Holding low kick on power up boots KI2 and booting without low kick held down boots into KI1. A second after the esp8266 boots it sets the input pin as high impedance and loops forever doing nothing.

Thanks to all who did work putting this dual boot together, it's really really appreciated!
 
Yep, several passes of flux and reflow, clean off flux and check every pin with a microscope and craft knife. At least I'm now confident the CPU is not dead.

If any repair guys want to buy them as is PM me, otherwise I'll stick them back in a box until I get time to hook up a logic analyzer.
I send you inbox.
 
I have been working hard on this project this week and a full software mod might be possible, i may have found a way to combine the sounds ROMs and remap it, stay tuned.
DCSexplorer?

Im just wondering if the board can use 8M roms in the sound area.. Then you could re-do the whole dcs rom, remap sound codes etc. Not sure if DCSexplorer supports 8Mbits / rom there..
 
DCSexplorer?

Im just wondering if the board can use 8M roms in the sound area.. Then you could re-do the whole dcs rom, remap sound codes etc. Not sure if DCSexplorer supports 8Mbits / rom there..

I totally forgot the sound section of the board has its rom most significant bit tied to ground ...
I have tried to deduplicate data (some sounds in KI2 were reused from KI1) but it won't fit in 512K roms.
 
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.

This new version comes with some new features, patches & fixes:

- True rendering loop
- Remap patch for KI2 1.0 and KI2 1.1
- KI2 No fade out patch
- Fix crashes when resetting too quickly (IDE initialisation issue)

The source code is available on the github project https://github.com/nekuz0r/ki-rom/

I haven't been able to work on hardware this week because the PCBs i ordered two weeks ago are still in customs due to the postal service strike.
 
I totally forgot the sound section of the board has its rom most significant bit tied to ground ...
I have tried to deduplicate data (some sounds in KI2 were reused from KI1) but it won't fit in 512K roms.
I'm wondering if there's a way you can set a single bit high somewhere on the board? If so , this bit could be tied to A19 of the sound roms via the regular method of bending the pin and jumping it to other roms and then use your combined boot rom + combined HDD data, eliminating the need for external switch and sd card selectors giving another option without the use of a complete PCB with extra parts and all ? I know your PCB will end up being a very clean solution but this could perhaps be another possible solution? Either way, a big thanks for all your work so far and releasing your boot ROM's source code! Great job!
 
bit could be tied to A19 of the sound roms via the regular method of bending the pin and jumping it to other roms
you've literally just gone full circle.
The early versions of dual booting these boards did exactly that, and the whole point of creating a plug in sub-board was to avoid pulling pins and running bodge wires.
 
you've literally just gone full circle.
The early versions of dual booting these boards did exactly that, and the whole point of creating a plug in sub-board was to avoid pulling pins and running bodge wires.
Yes I know, but this method requires a dual sd card adapter + hardware switch. His boot rom allows to software switch & reset game at will and eliminates the dual SD card adapter by combining both HDD data into the same one. It would still require to bend pins and solder a wire , but it wouldn't be full circle at all. It would only require the A19 connection, rest would be software and the added really nice benefit of reset and switch games without turning off the machine. The way my setup is I'm using a microcontroller that toggles A19 and the SD card switch when LK is held down at boot and since I'm using a jamma switcher for all 8 boards I have in my machine , I can just cycle through the boards back to KI where I'll hold LK and it will boot into KI2. But being able to reset directly would be really nice.

 
Last edited:
Yes I know, but this method requires a dual sd card adapter + hardware switch. His boot rom allows to software switch & reset game at will and eliminates the dual SD card adapter by combining both HDD data into the same one. It would still require to bend pins and solder a wire , but it wouldn't be full circle at all. It would only require the A19 connection, rest would be software and the added really nice benefit of reset and switch games without turning off the machine. The way my setup is I'm using a microcontroller that toggles A19 and the SD card switch when LK is held down at boot and since I'm using a jamma switcher for all 8 boards I have in my machine , I can just cycle through the boards back to KI where I'll hold LK and it will boot into KI2. But being able to reset directly would be really nice.

I'm interseted on how you got it to switch SD cards by holding down a button.
 
I'm interseted on how you got it to switch SD cards by holding down a button.
I'm using a microntroller that has an input connected to the low kick button, and use 2 different outputs. One is connected to a relay that sets A19 high and the other output is connected to the SD card switcher board. The selector switch of the SD card selector has 3 pins but you only really need 2. When the common pin is left floating , SD card 1 is selected, when it is grounded SD card 2 is selected. The microcontroller monitors the input up to 1 second upon boot after which it disables the input pin, setting it to high impedance so that its connection is effectively removed from the low kick button and loops forever until it is powered off. If it detects a low signal on the input it powers the relay and toggles the output to the selector switch from HIGH to LOW (through a diode). When it is HIGH the common pin is left floating because the diode prevents the HIGH signal to reach the common pin and when LOW the diode conducts , grounding the common pin. I used a relay because I don't think my microcontroller can provide enough current for all 9 chips A19 signal. I could have used a transistor instead but my first setup was to use the relay hoping I could use both poles to trigger both the ROMs and the selector switch at once, but the SD selector didn't switch fast enough using the relay because of the delay for the relay to click so I went directly with the microntroller and this way the switch is near instant. If you have any questions I'd be happy to elaborate some more.
 
Thanks so much for that source dump Neku! Definitely going to compile this up with some tweaks to try and debug my 'resets halfway through drawing the logo' board.

If it's not too rude to use this thread for another help request... my other board gives everything green when using the test ROM, when using the boot ROM it just hangs at 'have fun'. I was thinking some kind of IDE problem but I also just saw it might wait here based on dipswitch 1:7 (which is off - but maybe I have fried inputs and the code reads it as always on??). I can of course now compile it without that check to test. Other ideas welcome!

(Edit - not the input wait - I see the flashing press any button text - so it's a hang after that).

1740180194896.png
 
Last edited:
Thanks so much for that source dump Neku! Definitely going to compile this up with some tweaks to try and debug my 'resets halfway through drawing the logo' board.

If it's not too rude to use this thread for another help request... my other board gives everything green when using the test ROM, when using the boot ROM it just hangs at 'have fun'. I was thinking some kind of IDE problem but I also just saw it might wait here based on dipswitch 1:7 (which is off - but maybe I have fried inputs and the code reads it as always on??). I can of course now compile it without that check to test. Other ideas welcome!


1740180194896.png
Are you using the correct boot ROM for your board? It looks to me that the one you're using is for a KI2 board.
 
Last edited:
Hello guys,

Today i tested the latest design of the U98 board with flash memory, good news it's working perfectly !

So to sum up:
- Software : OK
- U98 board : OK
- IDE board : OK
- Sound board : Still in progress (about the finalise latest design)

I would like to find a way to suppress the IDE board and use a sound command to control the switch over between games.
It would help reduce the overall cost of the kit and improve the aesthetic.

Almost there !
 
Back
Top