I'm no expert, but here's some data on how I've done some games in the past. I cut and paste a lot of this from my own MS Word document where I keep track of everything, so my fonts and indentation are all over the place.
Step 1) Get your .NES ROM. The game you want to repro.
Step 2) Run that ROM in Nintendulator.
When Nintendulator starts up, select "Debug"->"Status Window" from the menu. This will show you information about the ROM itself. Important things to note are
- Mapper Number
- PRG size
- CHR size
- Mirroring
- Some of the other flags like battery backup, etc..
Step 3) Obtain donor carts that matches those criteria.
Bootgod has a database with lots of info on it but I'm not sure if its public so I didnt post a link.
You can also use this page on nesdev:
http://www.parodius.com/~veilleux/boardtable.txtYou will save yourself a lot of time for NROM,CNROM and UNROM repros just by using the ReproPak from
www.retrousb.com. Then you dont need any de-soldering or re-wiring. Thats perfect for Bombsweeper, California Raisens, HeroQuest, Labyrinth, Pescatore (very buggy), Egypt, Hotman, and Badminton.
I mentioned carts (plural) for 2 reasons.
a) If you have never de-soldered before, you will likely wreck the carts until you get the hang of it.
b) Its extrememly useful to create a test cart using sockets. By doing that you can test if your EPROMs have been programmed correctly.
Step 4) De-solder the CHR and PRG chips from the board.
( For UNROM, there is only a PRG chip since the CHR is RAM so you leave it alone). What I have found to be useful is to snip the old chip off board using IC snips, and then use de-soldering braid and a soldering iron on each pin. The braid sucks up the old solder, then you can flick off the pin. If the solder doesnt come out, add some new solder and try again. The new solder mixes with the old and comes out better. This is the stage where people damage the board. Oh yeah, this is the stage where you burn yourself.
Step 5) Getting to know EPROMs.
27 series EPROMS and 29 series Flash chips are what people use. The pinouts are the same (as far as I care). EPROMS are cheaper. Flash chips do not require a UV eraser to re-program them. Usually when you buy a new EPROM, its been blanked, but it doesnt hurt to buy an UV eraser as well.
The numbers indicate the size. 27C256 EPROM and 29F256 Flash chips are of size 256 kilo bits. (the keyword there is bits). You divide that number by 8 to get kilo Bytes. The PRG and CHR sizes are in kilo bytes.
You should probably get chips that are 150 ns in speed. Dont go slower than 200 ns. I have no clue about chipds faster than 120 ns.
The naming gets a little weird for larger chips. 27C010 and 27C1001 are the same. These are 1024 Kilo bits (or 128 Kilo bytes).
27C256, 27C010 and 27C020 will be the most common sizes you use.
Step 6) Prepare the data.
You need to split the CHR and PRG data from the .NES rom you have. A link was provided in an earlier post to a utility to do this.
You must then "fill" the entire EPROM.
Lets use Bombsweeper as an example. Bombsweeper is homebrew game by SnoBro based on the Game and Watch game. Its an NROM game with a 16 KB PRG and 8KB CHR. But the 27C256 chips each hold 32 KB of data. You need to double the size of the PRG and quadruple the size of the CHR.
Lets pretend the PRG file is called bsweep.prg and we want the final file to be called bSweep32.prg.
You can do this in a Windows console window by executing the following:
copy /b bSweep.prg /b bSweep.prg /b bSweep32.prg
You'd do it 4 times for CHR
copy /b bSweep.chr /b bSweep.chr /b bSweep.chr /b bSweep.chr /b bSweep32.chr
Step 7) Program the chips
Every programmer is different, but they usually behave in a similar fashion.
You plug in the programmer, load up the programmer application, load in the binary file for the PRG. Insert the PRG chip (put it in properly) and program it. Usually the programmer will do a blank check, a program, then a read which is verifies against the binary data you loaded. Insert the CHR chip and program it as well. You might also want to label the chips. Use a little sticker and cover the EPROM window with it.
Some things that are good to know:
a) Programmers that use USB as their power supply are probably programming the chips at a value lower than it expects. Therefore the chips may not last 25 years before losing their data. If you can use an external power supply, you probably should.
b) With Willem programmers, there is usually a diagram showing how the DIP switches and jumpers should be set for each type of chip. Make sure you match them. If you get them wrong you may wreck the chip.
c) Dont put the chip in backwards. There's a little notch to use a a reference.
Step 8) Setting up the proper mirroring
MMC1, MMC3 etc.. carts do their mirroring programatically, meaning theres nothing to solder.
If you are using NROM, CNROM or UNROM (and maybe AROM) you need to indicate the mirroring. Mirroring has to do with background and scrolling in NES games.
If you are using a ReproPak, you need to follow the instructions provided when you bought it.
Otherwise, you are using a donor. On the board there should be 2 letters H and V usually below the CHR chip. If you have Horizontal mirroring, you need to have a solder blob for the V. If you have Veritical mirroring, you need a solder blob for the H. I know that sounds backwards, but its not. You can use solder braid to remove the old one if you need to switch from one to the other.
Step 9) Soldering in the chips.
This is where a ReproPak will make your life so much easier. If you have it, follow its directions. Otherwise you are using a donor and may need to do some re-wiring.
Either this step or the de-soldering step is the hardest one.
I'm not going to try to write all this out. NESDEV deserves the credit.
http://www.nesdev.com/NES%20EPROM%20Conversions.txt
Things to note: NROM and CNROM do not need any additional wiring done. These are good ones to start with. UNROM uses only one chip, so it is what I would try next.
Since you cannot do MMC1 or MMC3 games with ReproPak yet, those are a good area to pursue.
I dont follow the NESDEV directions for UNROM, and I dont exactly know why I do things differently. Here's how I do it for UNROM PRG
- On the 27C1001 EPROM, bend up pin 1, 2, 24, 31, 32.
- Place wire from pin 1 to pin 30, 31, 32 on the EPROM.
- Place a wire from pin 2 to the socket hole corresponding to pin 24 (hole 22 on a 28 hole board)
- Place a wire from pin 16 to pin 24 on the EPROM
Try not to break any chip legs. 30 gauge wire is fine.
Step 10) Test it out, put on a label and have fun.
Sometimes its tough to get the board to fit back in the cart, dont worry about it.
Al