Versão em Português aqui.
Intro
Recently I acquired a SNES. But it only came with a bootleg Mortal Kombat cartridge. Searching for
games I found a lot of repro cartridges (Cartridges with the ROM swapped) being sold at local second
hand selling websites. The problem is that they are sold usually at prices comparing to those of original
untouched cartridges. People should not overprice something they are stealing anyway.
games I found a lot of repro cartridges (Cartridges with the ROM swapped) being sold at local second
hand selling websites. The problem is that they are sold usually at prices comparing to those of original
untouched cartridges. People should not overprice something they are stealing anyway.
So what? I made this post to prove anyone with an Arduino Mega and some spare components can burn
a EPROM for cheap.
a EPROM for cheap.
How are repro cartridges made ?(usually)
- Find a boring game cartridge (sports specially);
- Burn a EPROM with the desired ROM file;
- Swap the cartridge ROM with the programmed ROM.
Okay, but then why is not everyone making their own repros? Because a programmer is not so cheap.
EPROM programmers can be pricey. Even the Chinese ones (It actually depends on the place, here
you can pay overpriced from some scumbag or try to import and probably be taxed).
EPROM programmers can be pricey. Even the Chinese ones (It actually depends on the place, here
you can pay overpriced from some scumbag or try to import and probably be taxed).
Everything has a cost-benefit ratio and Makers/Hackers are always creating super useful tools with cheap
materials. In 2014, I fixed Mega Drive cartridge using a BIOS chips found in scrap. Write flash
memory is not trivial, there is a certain algorithm, but still is a relatively simple process.
Maybe write EPROM was not complicated.
materials. In 2014, I fixed Mega Drive cartridge using a BIOS chips found in scrap. Write flash
memory is not trivial, there is a certain algorithm, but still is a relatively simple process.
Maybe write EPROM was not complicated.
The Programmer
An EPROM also is a memory. And it’s actually even easier to program than flash memories.
To write a byte in EPROM simply select the address via pins A0, A1, A2 … and so on; put the
byte to be written in Q0 pins, Q1, Q2 … etc, and give a pulse with a high voltage (13V)
in the Vpp pin. The problem is just to do this for 8 * 1024 * 1024 = 8388608 addresses. More
information can be found on the 27C801 eprom datasheet.
To write a byte in EPROM simply select the address via pins A0, A1, A2 … and so on; put the
byte to be written in Q0 pins, Q1, Q2 … etc, and give a pulse with a high voltage (13V)
in the Vpp pin. The problem is just to do this for 8 * 1024 * 1024 = 8388608 addresses. More
information can be found on the 27C801 eprom datasheet.
I’ve used Arduino to program other kinds of memory. Why not also try EPROMs? Also, Arduinos
are super cheap (Ebay/Ali express). However, I did not buy an Arduino only to program memories,
I have some here at home I use to all kinds of things.
are super cheap (Ebay/Ali express). However, I did not buy an Arduino only to program memories,
I have some here at home I use to all kinds of things.
Below is a schematic I came up with for the programmer:
Schematic for the EPROM burner with Arduino.
Also, it should be noted the Eprom needs to be fed 6V when being programmed. Hence the switch in
the schematic above. I used a simple jumper and manually change Vcc when needed.
I soldered the circuit on a prototyping shield with a ZIF socket. This makes it eadsy to attach
and remove the Eprom. The 13 volts are provided by a boost module, but possibly a 12 volt supply
can be used (I did not test, may be you can;). I used a boost so everything is powered by USB.
the schematic above. I used a simple jumper and manually change Vcc when needed.
I soldered the circuit on a prototyping shield with a ZIF socket. This makes it eadsy to attach
and remove the Eprom. The 13 volts are provided by a boost module, but possibly a 12 volt supply
can be used (I did not test, may be you can;). I used a boost so everything is powered by USB.
Cool, but in this case, hardware without software is nothing. Python for the win. A Python scriptreads
the data from a file and sends over serial to the Arduino Mega, which receives the data and writes
in memory, all very simple.
The project files are available in my github.
The memories I have here I bought on Ebay, about $ 2 each.
Now you know that you can program EPROMS with just a Arduino Mega and some additional
components ;). Below are some pictures of the project.
components ;). Below are some pictures of the project.
Pics
Shield finished. I adapted the code to write flash memories as well. But it still has some problems.
The code is also in my github anyway.
The code is also in my github anyway.
Harvest Moon.
The EPROM eraser I use
The other side of the board.
Final points
- Please do not use this work for commercial stuff
- Dragão sem Chama does not share ROMS
- Have fun!
No comments:
Post a Comment