I know there are a few other posts like this already, but I've read a few of them and I'm not exactly sure what I'm doing wrong. I'm trying to write lidnariq's UNROM conversion of the Portopia translation to UV 27c512s (ST M27C512) so I can put them into a copy of Casino Kid that uses an NES-UNROM-09 PCB.
This is my first time making a reproduction of any kind, but I had assumed UNROM would be pretty easy (easier than the original translation's Sunsoft-4, at least) since I'm replacing a 28-pin ROM with a 28-pin EPROM. It's not going exactly to plan.
I believe all the patches are applied properly because I can play the converted game in FCEUX for quite a while without any obvious crashes, incorrect text or other problems.
Here's what I've done so far:
- Split up the patched ROM using rom.solutions with the output ROMs both set to 27c512. As far as I can tell, this handled the auto-repeating padding for the CHR ROM as needed.
- Desoldered the CHR RAM and PRG ROM from the original PCB.
- Soldered in the 28-pin 27c512s in their place (CHR ROM in the CHR spot, PRG ROM in the PRG spot)
- Switched from the "V" to the "H" jumper on the cartridge. Casino Kid is horizontally mirrored, Portopia vertical.
- Cut the trace going to pin 22 of the PRG ROM from pin 8 of the 7432 (originally A16, now /OE); wired the pin of the PRG ROM to ground (negative cap leg) so that /OE is always enabled. At first I made a mistake here and accidentally wired pin 21 (A10) to ground, but I caught that after a few attempts to boot and I don't think that would have caused any damage.
I'm guessing - but not sure - that the problem is that the NES can't reach $FFFC to get the reset vector to begin execution.
Here's the things that I've checked to diagnose the problem:
- The Casino Kid game, and the NES, worked before I removed the original components. I don't have any other NES games on hand, but I do have a Famicom converter and some Famicom games (including a legit Japanese copy of Portopia) and the NES still boots those.
- Scrubbed the pins on the cartridge very thoroughly with isopropyl alcohol in case I got gunk or flux on them during the desoldering.
- Checked my solder joints (and obviously, resoldered it a whole bunch taking the ROMs back out to test)
- Rechecked the M27C512 pinout against the original Ricoh mask ROM pinout
- PRG ROM and CHR ROM are in the right way (notch pointing towards 'silkscreen' notch on the PCB) and on the right side of the board
- Verified the PRG ROM and the CHR ROM with my burner (TL866II+ using minipro) to make sure I didn't accidentally swap or corrupt them. They both passed.
- Buzzed out all the pins on the PRG ROM; they all connect to at least one other point on the board.
- Made sure pin 8 on the 7432 isn't still driving pin 22 somehow (I even pulled the ROM's pin out of the board to be 100% sure.) I didn't want to leave the 7432 connected because I assume making it drive into a ground is not great for the output transistors on it;
- Specifically buzzed out pin 22 to multiple grounds; continuous.
- Tried wiring pin 22 (/OE or /G,Vpp) to pin 20 (/CS or /E) directly; no change.
- Tried splitting the patched ROM using a different utility (ReadNES3); the resulting PRG ROM and CHR ROM matched those produced by rom.solutions when compared with `diff`.
- Traced back the 7432 in case this PCB used something different than I would expect; that mini-schematic is attached and seems to still make sane sense to me after removing the A16 connection.
I think my next step will be taking the top of the NES off so I can try to logic-probe the cartridge PCB at runtime to figure out what's going on. I might also try burning another 64k UNROM game to see if it's just something with this specific ROM that is weird.
Any advice or hints for what to look at would be greatly appreciated, thanks!