What Remains Cartridge

Prerequisites
Must have:


 * Soldering Iron
 * Solder wire (0.5mm with rosin core)
 * Desoldering pump
 * EPROM programmer (TL866II+ or something equivalent)
 * 27C040 or 27C4001 512K EPROM
 * Donor cart

Nice to have:


 * DIP-32 Socket
 * EPROM UV Eraser

For Famicom, the donor cart needs to be a SUROM based game. A cheap one is Dragon Quest IV which can be easily found on eBay or directly in import from Japan.

For NES, the donor needs to be SUROM or NES SNROM game.

The following site can be used to identify suitable donor carts: http://bootgod.dyndns.org:7777/home.php

Preparation of the ROM
Download the ROM from https://iodinedynamics.itch.io

Extract the PRG from the ROM. This can be done with with nesutils.

$ ./readnes whatremains-1.0.2.nes 1 0 $ ls -lash whatremains-1.0.2.prg Should show that PRG has been extracted and its size is 512K.

Flashing the EPROM
There are different software that can be used to pilot the TL866II+ programmer. A Linux friendly alternative to the Windows official client is minipro. Always better to do a blank check first: $ minipro -p 'M27C4001@DIP32' -b Chip ID OK: 0x2041 Reading Code... 4.53Sec OK Code memory section is blank.

Then flash the EPROM: $ minipro -p 'M27C4001@DIP32' -w whatremains-1.0.2.prg

This command is flashing the EPROM then performs a check by reading what has been written and comparing with the original file. If there is an error then it is needed to erase with with EPROM eraser and retry. Make sure the content is the same before to install the EPROM otherwise the game will not work.

Famicom
Instructions and wiring can be found here: DIY_SUROM_Cartridge.

The final result should look like one of the FC carts showed on this page.

NES
TODO

Troubleshooting

 * In theory, you can close the cart and put it in the console and it should work. If the game doesn't load, use a multimeter and check continuity between the pins connected by wires. Also check adjacent pins to make sure there is no contact where not expected.
 * If you have sound but the image is very glitchy (as in graphics tiles look all messed up and in the wrong order), most of the time it's a connectivity problem, make sure the cart's contacts are clean and not corroded.