Making a EPROM Burner

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderators: B00daW, Moderators

User avatar
wyatt8740
Posts: 79
Joined: Sun Jun 05, 2011 8:03 pm
Location: Fort Wayne, Indiana, USA (NTSC)

Making a EPROM Burner

Post by wyatt8740 »

I am on an extremely tight budget and need to have a way to develop NES games, but I cannot spend more than $30. I have an Arduino Uno and an Arduino Leonardo, some 4021 Shift Registers, and I want to know if that is enough to make an EPROM burner / programmer. I need to be able to burn 256kb EPROMS (I'm going for a total of 512kb when PRG and CHR roms are both included) and I am relatively new to EPROMs and hands-on electronics. I have a working knowledge of the 6502 and 2A03, as well as lots of documentation.

so my question to you is if I can make an EPROM burner / programmer that can make these, a good explanation for beginners of how EPROM programming / burning is done.

...And just in case they exist, are any $30 or less EPROM burners / programmers? I don't care if it uses an LPT, 9 pin D-SUB, USB, or, hell, even RS/232 or a beBox Geekport. As long as it works, I probably have the required hardware somewhere, or know someone else with access.

...And no, I don't want a copyNES and a powerpak lite. The powerpak lite is cheap enough, yes, but the copyNES is $70 and I really don't want to go more than $5 or so over budget.

Okay, so now I've ranted, and I would really appreciate a reply, even if my hopes are in vain.
And I'm really new here, so please correct me if I said anything incorrect, and please help me figure out which EPROMs I would use. I want to be doing MMC3 development, and I need compatible 256KB EPROMS (one CHR and one PRG).

My neighbor used to work for Verizon, and he actually has a really great repetoire of knowledge of the 6502, the 8086, and a lot of other old stuff. He gave me my soldering irons and he's really swell, so he can help me out if possible, but I need a poke in the right direction.
...Fun fact: the phone redirection systems at verizon still use 8080s! Isn't that weird?
User avatar
infiniteneslives
Posts: 2102
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA
Contact:

Re: Making a EPROM Burner

Post by infiniteneslives »

If you're really on a tight budget and only looking to develop NES games I wouldn't suggest EPROMs. They have a pretty high initial investment with a ~$40+ burner and ~$10+ eraser. You can actually get started with flash/EEPROMs for quite a bit cheaper due to simpler programming and erasing abilities if you're willing to put in a little effort. If your handy with a arduino/microcontroller kit you can easily build yourself a flash/eeprom programmer/eraser. Or you can even build yourself a kazzo for well under $20 if you're good with an iron. I've written new firmware/software for dumping and flashing flash/eeproms that's compadible with Nintendo's original unmodified ASIC mappers like MMC1,2,3,4 etc. The software/firmware is kinda in the early beta release stages but I'm willing to share it as it currently is. The original creator's software/firmware is capable of doing the same thing I believe although the documentation is challenging as it is in Japanese and sparse.
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers
lidnariq
Posts: 10677
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Making a EPROM Burner

Post by lidnariq »

If you must use preexisting microcontroller hardware, use ROMs that supports 5V-only programming, like flash or EEPROMs. I built a 28C64 programmer in ~two hours (90m wiring; 30m code) using a PIC and a C compiler.

EPROMs require 12V+ and that requires huge obnoxious repetitive buffer circuits that will eat into your budget. Don't do it.
nintendo8
Posts: 54
Joined: Tue Jul 10, 2012 1:37 pm

Re: Making a EPROM Burner

Post by nintendo8 »

I made a sst39sf040 programmer using an arduino uno and 3 74hc595.
The sst39sf040 (cost $2 in single quantity at digikey) is cheaper than some eproms and does not need 12v only 5v and it is still in production and it does not need uv light to erase.
Here is the wiring: Pin refers to the numbering on the arduino uno.
The D0:D4 to go A0 to A4
D5:D7 go to Pins digital pins 5 to 7
Pin 11 CE#
Pin 12 OE#
Pin 13 WE#
Pin 10 is the serial strobe for the shift register this must be connected to all 3 shift registers
Pin 9 is the storage register this also must be connected to all 3 shift registers.
Pins 2,3 and 4 is the serial output pins 2 is the LSB. Unlike pin 9 and 10 those are different per each shift register.
A0:A18 goto the output from the 3 shift registers. Make sure you have which one is LSB and MSB right.
I will warn you that this can get messy as there are lots of wires be careful and check your work. My program verifies every byte if you see any errors check your wiring.
Here is the part that runs on the arduino uno
https://github.com/ComputerNerd/sst39sf040-avr
Note that I used avr-gcc instead of the arduino IDE to compile this if you do not have avr-gcc it can be modified with ease just change int main() to void setup() and add void loop() {} at the bottom of the program and I think it will compile just fine in the arduino IDE.
And here is the part that runs on your computer I have only tested it on linux but I used a cross platform library so it may work on windows
https://github.com/ComputerNerd/sst39sf040-computerside
Also my code can be easily adapted to run on the very similar lower capacity chips. The sst39sf020a and the sst39sf010a. Just change the main for loop to run for less bytes.
User avatar
blargg
Posts: 3717
Joined: Mon Sep 27, 2004 8:33 am
Location: Central Texas, USA
Contact:

Re: Making a EPROM Burner

Post by blargg »

Nice, a PDIP 5V flash chip still in production.
User avatar
wyatt8740
Posts: 79
Joined: Sun Jun 05, 2011 8:03 pm
Location: Fort Wayne, Indiana, USA (NTSC)

Re: Making a EPROM Burner

Post by wyatt8740 »

nintendo8 wrote:I made a sst39sf040 programmer using an arduino uno and 3 74hc595.
The sst39sf040 (cost $2 in single quantity at digikey) is cheaper than some eproms and does not need 12v only 5v and it is still in production and it does not need uv light to erase.
Here is the wiring: Pin refers to the numbering on the arduino uno.
The D0:D4 to go A0 to A4
D5:D7 go to Pins digital pins 5 to 7
Pin 11 CE#
Pin 12 OE#
Pin 13 WE#
Pin 10 is the serial strobe for the shift register this must be connected to all 3 shift registers
Pin 9 is the storage register this also must be connected to all 3 shift registers.
Pins 2,3 and 4 is the serial output pins 2 is the LSB. Unlike pin 9 and 10 those are different per each shift register.
A0:A18 goto the output from the 3 shift registers. Make sure you have which one is LSB and MSB right.
I will warn you that this can get messy as there are lots of wires be careful and check your work. My program verifies every byte if you see any errors check your wiring.
Here is the part that runs on the arduino uno
https://github.com/ComputerNerd/sst39sf040-avr
Note that I used avr-gcc instead of the arduino IDE to compile this if you do not have avr-gcc it can be modified with ease just change int main() to void setup() and add void loop() {} at the bottom of the program and I think it will compile just fine in the arduino IDE.
And here is the part that runs on your computer I have only tested it on linux but I used a cross platform library so it may work on windows
https://github.com/ComputerNerd/sst39sf040-computerside
Also my code can be easily adapted to run on the very similar lower capacity chips. The sst39sf020a and the sst39sf010a. Just change the main for loop to run for less bytes.
You have just saved my life. I am horrible with the physical aspect of electronics and while I like 9t I am not going to spend lots of money for a paralell port willem when i only have a paralell port on my 1995 ibm pc. Thanks for giving directions!

Would it need to be altered for a SST39SF020? I only need 2Mbit/256kb chips.
EDIT: That was stupid and a question you answered :P

And my desoldering iron is clogged; is there a way to remove the mask roms from my donor without one?

Can one make a MMC3 board into a TKROM board without too much effort?
User avatar
infiniteneslives
Posts: 2102
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA
Contact:

Re: Making a EPROM Burner

Post by infiniteneslives »

wyatt8740 wrote:Can one make a MMC3 board into a TKROM board without too much effort?
A TKROM board is one of the many MMC3 boards, so your question doesn't make much sense...

Perhaps you mean, can you convert a TSROM (no battery) into a TKROM (with battery)? Both are MMC3 and identical aside from battery backing. If you splice in the battery baacking circuit from the wiki you should be able to make something like a TSROM work as a TKROM
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers
User avatar
mikejmoffitt
Posts: 1352
Joined: Sun May 27, 2012 8:43 pm

Re: Making a EPROM Burner

Post by mikejmoffitt »

wyatt8740 wrote:And my desoldering iron is clogged; is there a way to remove the mask roms from my donor without one?
You can snip the legs of the mask ROM chips with diagonal cutters or some such, and then smack out the heated leg remains of the PCB one by one until you have usable holes. Not ideal, but it's a solution.
Shiru
Posts: 1161
Joined: Sat Jan 23, 2010 11:41 pm

Re: Making a EPROM Burner

Post by Shiru »

So called desoldering braid is cheap and does job pretty well. Could be even replaced with an old stranded copper wire used for power supplies, used it in the past to desolder multi pin parts.
User avatar
mikejmoffitt
Posts: 1352
Joined: Sun May 27, 2012 8:43 pm

Re: Making a EPROM Burner

Post by mikejmoffitt »

mikejmoffitt wrote:
wyatt8740 wrote:And my desoldering iron is clogged; is there a way to remove the mask roms from my donor without one?
You can snip the legs of the mask ROM chips with diagonal cutters or some such, and then smack out the heated leg remains of the PCB one by one until you have usable holes. Not ideal, but it's a solution.
An extension of this method that I just remembered using for this exact purpose (successfully) is to, for each pin on the chip:

-Heat the solder on the pin for the chip
-Whack the cartridge on the table, solder-side-down
-Observe the solder blob now on your table and the de-soldered pin
-Cackle like a maniac
-Do this for each pin from step 1
nintendo8
Posts: 54
Joined: Tue Jul 10, 2012 1:37 pm

Re: Making a EPROM Burner

Post by nintendo8 »

wyatt8740 wrote: You have just saved my life. I am horrible with the physical aspect of electronics and while I like 9t I am not going to spend lots of money for a paralell port willem when i only have a paralell port on my 1995 ibm pc. Thanks for giving directions!

Would it need to be altered for a SST39SF020? I only need 2Mbit/256kb chips.
EDIT: That was stupid and a question you answered :P

And my desoldering iron is clogged; is there a way to remove the mask roms from my donor without one?

Can one make a MMC3 board into a TKROM board without too much effort?
Glad I can help anyways I forgot to mention that my program reads the device id before running you should get
Manufacturer’s ID 0xBF
Device ID (This depends on the chip) SST39SF010A 0xB5 SST39SF020A 0xB6 SST39SF040 0xB7
And there is the datasheet http://www.microchip.com/wwwproducts/De ... e=en549494
User avatar
wyatt8740
Posts: 79
Joined: Sun Jun 05, 2011 8:03 pm
Location: Fort Wayne, Indiana, USA (NTSC)

Re: Making a EPROM Burner

Post by wyatt8740 »

infiniteneslives wrote:
wyatt8740 wrote:Can one make a MMC3 board into a TKROM board without too much effort?
Perhaps you mean, can you convert a TSROM (no battery) into a TKROM (with battery)? Both are MMC3 and identical aside from battery backing. If you splice in the battery baacking circuit from the wiki you should be able to make something like a TSROM work as a TKROM
that is what I meant! Thank you!
mikejmoffitt wrote:smack the board on a table... cackle maniacally
sounds like a plan!

i have found two old award bioses. they are 29c020-21 chips. these are flash, right? will they work? they are the exact size i needed (2Mbit).
nintendo8
Posts: 54
Joined: Tue Jul 10, 2012 1:37 pm

Re: Making a EPROM Burner

Post by nintendo8 »

wyatt8740 wrote:i have found two old award bioses. they are 29c020-21 chips. these are flash, right? will they work? they are the exact size i needed (2Mbit).
If you mean http://soft-manual.narod.ru/chips/flash ... 29C020.pdf then the answer is most likely yes however I hate to see part sacrificed. I don't think it is worth it to destroy a computer just for an NES game.
User avatar
wyatt8740
Posts: 79
Joined: Sun Jun 05, 2011 8:03 pm
Location: Fort Wayne, Indiana, USA (NTSC)

Re: Making a EPROM Burner

Post by wyatt8740 »

nintendo8 wrote:yes however I hate to see part sacrificed. I don't think it is worth it to destroy a computer just for an NES game.
Don't worry :) I will dump the chips to flash images first. And I found these beauties in a pile of junk in a factory corner. I have the pentium II's and III's and in the future I may write the images to new flash chips, but right now they are just boards, no other hardware or power supply. I can try to find other chips first though.

...anyway, I have three of the chips, so if I ever need one I can place it into the board.

Thanks for the info and I hate to see stuff ruined too, but this already was. A stripped board.

What is the minimum write and read speed for the flasher? One of mine is 210ns per read/write.
nintendo8
Posts: 54
Joined: Tue Jul 10, 2012 1:37 pm

Re: Making a EPROM Burner

Post by nintendo8 »

wyatt8740 wrote:
nintendo8 wrote:yes however I hate to see part sacrificed. I don't think it is worth it to destroy a computer just for an NES game.
Don't worry :) I will dump the chips to flash images first. And I found these beauties in a pile of junk in a factory corner. I have the pentium II's and III's and in the future I may write the images to new flash chips, but right now they are just boards, no other hardware or power supply. I can try to find other chips first though.

...anyway, I have three of the chips, so if I ever need one I can place it into the board.

Thanks for the info and I hate to see stuff ruined too, but this already was. A stripped board.

What is the minimum write and read speed for the flasher? One of mine is 210ns per read/write.
About dumping the chips... I just committed a patch to my repo for both the computer side and arduino side that allows for the dumping previously it would always go into write mode which would erase the whole chip now it will go into dump/program mode based on which program on the computer you run. Go check it out
https://github.com/ComputerNerd/sst39sf040-computerside
https://github.com/ComputerNerd/sst39sf040-avr
Post Reply