Putting a ROM hack on a real cart?

city41

Zantetsu's Blade Sharpener
10 Year Member
Joined
Dec 27, 2010
Posts
2,438
I want to put the KOF94TE rom hack onto a real Neo Geo cart. This is really new territory for me, so any advice is appreciated.

KOF94 makes this more difficult in that it turns on wait cycles. Long story if you've never heard of them (I hadn't), but to do this the game sends 5v to three cartridge pins. Bootleg carts never do this, but I think it would be possible to hack it in with some soldering (maybe?)

Even still, my first stab at reaching out on AliExpress has not been promising. I think the language barrier might make this approach tough. If anyone knows a good vendor, let me know.

So I've been thinking about buying a JPN KOF94 AES cart and swapping in eproms. Thankfully it's a very common game, so I don't feel too bad about doing this. If anyone has a ratty but working KOF94, let me know :)

If I do that, anyone know what type of eprom is needed? I would need to replace p1, s1, and 4 c roms. I know zilch about eproms.
 

HeavyMachineGoob

My poontang misses Lenn Yang's wang
10 Year Member
Joined
Apr 3, 2011
Posts
5,987
It's just P1, S1 and four of the eight C ROMs? Yeah that doesn't sound too bad for upgrading an original cart.

Every ROM in KOF 94 is 2MB aka 16Mbit, except S1 and M1 which are 128KB aka 1Mbit. For the P and C ROMs you'd need 27C160 chips, or if you want the weight down there's the 29F1615. For the S1, you specifically need a 27C1000, so that A16 and /OE are in the right spots (pins 2 and 24).

Screenshot_20240625-083242_Firefox_1.png

As for wait cycles, early Neo Geo PROG boards usually included jumper spots for "NO WAIT", "1 WAIT" and so on. Yes most likely could be done for KOF 94, that game often uses PROGTOP for MVS and PROGRK for AES. Those boards don't appear to have wait cycle jumpers but it'd just be a matter of tracing out what the wait jumpers do on earlier boards.

I don't have these boards in front of me right this second but could do this for you on the weekend.
Fatal_fury_set3_b1_front.jpg
 

city41

Zantetsu's Blade Sharpener
10 Year Member
Joined
Dec 27, 2010
Posts
2,438
Awesome, this is great info. thanks!

I might just buy the cart, eproms and a burner and see how it goes.

As for wait cycles, early Neo Geo PROG boards usually included jumper spots for "NO WAIT", "1 WAIT" and so on. Yes most likely could be done for KOF 94, that game often uses PROGTOP for MVS and PROGRK for AES
This is why I am planning, so far, to use a real KOF94 as the donor. That way wait cycles will be all set up. It's not the hack that requires wait cycles, rather the original game does. I adapted the hack to work with wait cycles.
 

HeavyMachineGoob

My poontang misses Lenn Yang's wang
10 Year Member
Joined
Apr 3, 2011
Posts
5,987
Well, not just any EPROM programmer. You need one with a DIP42 socket which many don't have, lots are just 40 or 32.

If you have money to burn, a GQ4x4 would burn anything, even a 29F1615. On a budget, the FlashCatUSB Xport works well, doesn't support the 29F1615 but will do 27C160 and 27C1000 with the appropriate adapters.

And for even less, the site www.buyicnow.com can sell chips and also burn them. You just put your files in a zip in an email to them after placing an order, with the order number in the email header. I've used them for years, great seller.
 

city41

Zantetsu's Blade Sharpener
10 Year Member
Joined
Dec 27, 2010
Posts
2,438
And for even less, the site www.buyicnow.com can sell chips and also burn them. You just put your files in a zip in an email to them after placing an order, with the order number in the email header. I've used them for years, great seller.
Ah nice, this might be the way to go then. I will probably not burn too many eproms after this.

Any thing to be aware of when swapping the roms? I'm decent at soldering and it should be within my ability. I'm guessing there's not enough room to add sockets?
 

HeavyMachineGoob

My poontang misses Lenn Yang's wang
10 Year Member
Joined
Apr 3, 2011
Posts
5,987
There's no room for sockets in either AES or MVS carts. They have pretty much the same vertical tolerances.

The boards you'd be dealing with are single sided which makes desoldering chips much easier on them.

If you have money to burn, a fancy Hakko would work great, only downside is learning to clean and maintain a desoldering iron like this. For the rest of us, a simple unpowered desoldering pump would be fine. Just make sure it's greased so it's actually working. You use it with a regular soldering iron to heat each chip pin

Because you're 1:1 replacing chips, there would be no jumpers to change in regard to ROM sizes and such. Only extra thing needed would be wait cycles.
 
Last edited:

HeavyMachineGoob

My poontang misses Lenn Yang's wang
10 Year Member
Joined
Apr 3, 2011
Posts
5,987
Something else I could mention is for chip desoldering, watch for whenever the pins are not centered in their holes. If the pin is touching the solder ring, fully desoldering here usually can't get the pin from not still being stuck to that solder ring.

You may need to manually pull each pin away from the side of the hole so it isn't touching the solder ring. Heat the pin, then pull on the pin to hold it away from the solder ring, then remove the iron tip.

Ideally if the pins are all centered, once all the solder is removed, the chip should just fall out of the board.
 

HeavyMachineGoob

My poontang misses Lenn Yang's wang
10 Year Member
Joined
Apr 3, 2011
Posts
5,987
Oh, some other thoughts on EPROMs.

At buyicnow, just look up the chip part number like 27C1000 and then you sort down by vendor. Like say Fujitsu or ST.

As for speed, stick with 150ns or faster and you'll be fine. I'm not sure of how reliable it is staying near the suggested maximum slowness listed at the neogeodev wiki, like say 200ns for S1 and 500ns for M1. Always good to be a bit faster to be on the safe side.


The 29F1615 is an EEPROM equivalent to the 27C160 and is nice in that it weighs the same as a mask ROM. Four 27C160 chips is pretty much double what four 29F1615s weigh.

In case someone were thinking of a full bootleg of KOF 94te, please don't use all EPROMs. KOF94 uses 14 chips, all EPROMs of that would be needlessly heavy and could cause stress damage in top loading systems like the AES and MV1C.

(The 8 C ROMs could be merged down to 4 32MBit chips very easily though)
 
Last edited:

Neo Alec

Warrior of the Innanet
20 Year Member
Joined
Dec 7, 2000
Posts
12,684
This EPROM programmer with 16-bit adapter was a recent purchase for me, and turned out to be really easy to use with modern Windows. They only have it in stock on Amazon used now, but you can also buy one that includes an EPROM eraser.


 

city41

Zantetsu's Blade Sharpener
10 Year Member
Joined
Dec 27, 2010
Posts
2,438
It says it's a 40 pin programmer? HMG mentioned I'd need a 42 pin one.

I'm leaning towards just going with buyicnow anyway. I like the idea of experts doing it for me.

edit: Ah I see, it looks like the 16 bit adapter adds more pins
 

Neo Alec

Warrior of the Innanet
20 Year Member
Joined
Dec 7, 2000
Posts
12,684
It says it's a 40 pin programmer? HMG mentioned I'd need a 42 pin one.

I'm leaning towards just going with buyicnow anyway. I like the idea of experts doing it for me.

edit: Ah I see, it looks like the 16 bit adapter adds more pins
Yeah, that's what the adapter is for. Most reader/writers don't have a big enough socket. This is probably the easiest way.

The software is intuitive enough for me because I used an older version with a parallel port connector instead of USB for years. So I don't know how simple it would be for others. Anyway, the software prompts you to insert the 16-bit adapter when you select a chip type that requires it.
 

HeavyMachineGoob

My poontang misses Lenn Yang's wang
10 Year Member
Joined
Apr 3, 2011
Posts
5,987
To clarify further. 16-bit Adapter in this context means 42 pins, but 40 pin chips for 4Mbit and smaller are still 16-bit as well. "16-bit adapter" can be ambiguous if you don't know.

42 pins covers the 27C800 (1MB or 8Mbit), 27C160 and 27C322 EPROMs among others.

8-bit is 32 pin and smaller chips.

If you aren't planning to burn or read chips down the road beyond KOF94te, then you wouldn't be making the most of the cost in owning an EPROM programmer. May as well go with buyicnow.

Edit: also, what C ROMs specifically need to be replaced? Is it C1 to C4 or something else?
 
Last edited:

city41

Zantetsu's Blade Sharpener
10 Year Member
Joined
Dec 27, 2010
Posts
2,438
Wow, my kof94 is out for delivery, shipped from Japan. That is crazy fast.

On buyicnow, they say their eprom burning service is "Load File => (Byte Swap) => Program => Double Verify (+/- 5% Vcc) => Label"

I'm curious about the byte swap. MAME neo geo rom files at rest on a modern file system are byte swapped. For example when I worked on the hack my procedure was byte swap the file, inject new machine code as needed, byte swap it back so it would load in MAME.

Does this mean I need to send buyicnow a file that is byte swapped (so on a modern file system the bytes are as expected), or just the file as MAME wants it (byte swapped such that the file makes no sense on a modern file system) is correct?


Another way to ask. Let's pretend I just want buyicnow to make eproms for a vanilla, unmodified neo geo game. Would I just send them the ROMs pulled from a MAME zip as-is?
 

GohanX

Horrible Goose
20 Year Member
Joined
Sep 28, 2001
Posts
12,706
Neo romhacks aren't my expertise, but the only time I've ever had to byte swap was when doing a Genesis game.
 

city41

Zantetsu's Blade Sharpener
10 Year Member
Joined
Dec 27, 2010
Posts
2,438
My question was more for buyicnow. Hopefully @HeavyMachineGoob knows. As their default procedure might render the rom unusable. And only way I'd know is after I had soldered them all in :-/

I'm wondering if I'm just better off buying a writer.
 

HeavyMachineGoob

My poontang misses Lenn Yang's wang
10 Year Member
Joined
Apr 3, 2011
Posts
5,987
Neo Geo Roms from Mame don't need a byte swap done when burning to eproms.

Just put mame roms in a zip as-is. Done it for years. The default at buyicnow is no byte swap, usually you have to request that be done.

If you want to keep the weight down, use 29F1615 chips for everything except the M1 and S1. S1 needs a 27C1000 but the M1 you can use a W27C010, that will also reduce the weight.
 

city41

Zantetsu's Blade Sharpener
10 Year Member
Joined
Dec 27, 2010
Posts
2,438
Neo Geo Roms from Mame don't need a byte swap done. Usually they already are.

Just mark your email to them as no-byteswap. Roms in a zip as-is. Done it for years.
ah nice, good to know that's an option. thanks!
 

Neo Alec

Warrior of the Innanet
20 Year Member
Joined
Dec 7, 2000
Posts
12,684
I used to have a good list of which EPROM chips to generally use for each rom type that I think @werejag helped me with. I wish I still had that, because I think the page on the devwiki isn't as straightforward.
 

HeavyMachineGoob

My poontang misses Lenn Yang's wang
10 Year Member
Joined
Apr 3, 2011
Posts
5,987
4MB C/P = 32Mbit = 27C322 (not compatible with V ROMs)
2MB C/P/V = 16Mbit = 27C160, 29F1615
1MB C/P/V = 8Mbit = 27C800, 27C8100, 29F8100
512KB C/P/V = 4Mbit = 27C4000, 27C4111 (EP1 and EP2 = 27C4096)
128KB M1 = 1Mbit = 27C010, 27C1001, W27C010
128KB S1 = 1Mbit = 27C1000

Most Neo Geo cartridge boards do actually have written in white silkscreen what kind of ROM they take at most.
 
Last edited:

city41

Zantetsu's Blade Sharpener
10 Year Member
Joined
Dec 27, 2010
Posts
2,438
And order placed from buyicnow. I'm guessing 10ish days to arrive?

One nice thing about this is I can just swap the p1 first and confirm it works. It will have incorrect graphics, but that's fine for a test.
 
Top