giovedì 14 febbraio 2008

Eprom Programmer for Atari 2600 catridges

*** UPDATE March 2014 : 
the original files of this project has been lost , deads together with the pc where they were saved (remember that this is an old project dated 2008). The good news is that I'm planning to revisit the entire project, perhaps with a flash rom pin-to-pin compatible   with the old eprom ***

Here a simple eprom programmer and PC software for programming the Atari 2600 catrigde (indeed for all eprom or catrigde based on eprom like Colecovision, Vectrex,...) , suitable for eprom model 2732 up to 27C512 (in my tests I've preferred to use 27C256).

As you can see, the hardware is very simple:





  • an Atmel microcontroller that send/recive the data with PC via rs232 serial connection (the MAX233 ic can be replaced with a more cheap MAX232 or other 232 driver)

  • one fixed voltage regulator (+5V) as power supply for ICs , two non-fixed voltage regs which provide a 6,5V and 12,5V for programming operations of the eproms

  • a four microswitchs for routing the programming voltages to the eprom pins

As you can see from schematic, the eprom used is a 27C256 model, but others eproms are supported:

  1. 2732 (4 KBytes) : connect address line from A0 to A11, leave A12,A13,A14,A15 unconnected


  2. 2764 (8 KBytes) : connect address lines from A0 to A12, leave A13,A14,A15 unconnected


  3. 27C128 (16 KBytes) : connect address lines from A0 to A13, leave A14,A15 unconnected


  4. 27C256 (32 KBytes) : connect address lines from A0 to A14, leave A15 unconnected


  5. 27C512 (16 KBytes) : connect all address lines from A0 to A15

In order to keep the project cheap and esay to build, I've used a microswitch instead of dedicated ICs for switching the different voltages routes , so a few words about microswitchs are needed; during read operations , the eprom needs only +5v on both VCC and VPP pins : this is possible to keep close (ON position) the micros #1 and #3 and open #2 and #4 ; due the presence of diodes the real voltage will be around 4,75v - 4,80v , but these values are in the specs of eproms. During programming operations , first close (ON) the micro #2 and than close the #4 : in this way you can give first the 6,5v to VCC pin and than the 12,5v to VVP pin ,in according to the various eproms's datasheets concerning the voltages transition. If you want to return in read mode first open the micros #4 and than open the #2.

Also the PC software is very easy and intuitive



Hereby the commad buttons and options explanation :




  • "EXIT" button. Doesn't need more words...


  • "Open COM" : set and open the comunication between PC and programmer over serial port.


  • "Eprom Model" : you can choose the eprom model to burn.


  • "Start Address" : here you can write the address at which the programmer starts to write or read the data to/from eprom (decimal and hexadecimal value are allowed)


  • "Bankswitch" : same of above; instead to write manually a start address, you can choose a series of predefined value


  • "Nr. of Bytes" : this value is the number of bytes that should be wrote/read into eprom by programmer. This field is automaticly filled when you choose to load a "bin" file (see below)


  • "Read Start" : pressing this button, you can read the content of eprom at start address previously set , for a specified number of bytes.


  • "Save Bin" : save the content of read eprom in a file.


  • "Write Start" : write data to eprom at specified start address; the number of bytes written are equal to the number of bytes previously inserted. Before to start to write, you must load the data (see below).


  • "Load Bin" : you can load data (bin file) pressing this button; a windows is opened with the data; the field "Nr. of Bytes" is filled with the number of bytes contained in the bin file.


Features:




  • the possibility to programming only a specified portion of the eprom , at specified address for a specified number of bytes. This means that doesn't need to erase whole eprom if you want to write a blank range.



  • the possibility to "see" the eprom > 4K as a virtual "more than one" 4Kbytes eproms with the "bankswitch" method
For example if you have a 27C256 eprom (32Kbytes) and you want to fill it with five different 4Kbytes (each) Atari 2600's applications/demos/games. To do this , you can considering the 27c256 as eight 4K eproms : the first 4K eprom start at address 0x0000, the second 4K eprom start at address 0x1000, the third start at 0x2000 and so on up to 0x4000 . Hereby the steps:






  1. load the first bin file of the your first application/demo/game by clicking on "LOAD BIN" button; choose the file and than OK. A new window appears with the content of the selected file



  2. now click on "Bankswitch" and select the value 0x0000 is you want to program the file in the first 4K bank


  3. operate on the microswitchs to put all to ON as describe above


  4. than click on "WRITE START" button in order to start the programming operations; a progress bar shows the precentage of the process.


OK now ,using the same steps , you can select your second application/demo/games that you want to save on eprom, select a different bank at value 0x1000 and start the write operation; and so on...


then, you ca use this eprom in your Atari 2600; for select the game you must tied to 0 volt or tied to +5 volt the A12, A13 and A14 eprom's pins as describe in this table:


Note

As power supply, you can use a laptop PSU that usually has a 18 Vdc output.
If you want the firmware for the MCU and the software for PC program, simply email me and I will send both files. If you are not able to program the Atmel MCU, send me a blank MCU : I' ll flashed for you and I' ll send back

19 commenti:

Mastigadinho ha detto...

I'm from Brazil, sorry my English. If possible, send files to my e-mail (firmware for the MCU and the software for PC program).
Thak You

Jose Carlos
romeirojc@gmail.com

Anonimo ha detto...

hi.. im from malaysia.. that is very brilliant idea when find out... may i get the fully circuit and software... pls mail me

sham
pisonearth@yahoo.com

Carmine ha detto...

Ciao, è fantastico! Mi manderesti firmware/fuse settings/software per pc?

il mio indirizzo è tsm chiocciola libero punto it.

Carlos y Sergio ha detto...

HELLO:
I am spanish so excuse my poor english.
I have a atari 2600 vcs and my childrens love it.
They want to play more games and I bought many of them by ebay.
But i want to know if
¿Is posible to load the stella emulator ROMS inside a atari cartridge using you eprom programmer and software for pc?
Of course only one rom or 4 games in a --- (16k)
In that case please send me the firmware for the MCU (what is that?) and the software for PC program.
thanks.

Carlos C.M.

Mirko ha detto...

To Carlos C.M.
Yes Carlos, is possible to use the roms available for Stella emu. Remember that if you want play with roms larger than 4K, you need a special adaptor on Atari 2600. It is a little bit complex: email me for details at:
els@fastwebnet 'dot' it

Anonimo ha detto...

Hi, i am from India, I like to make this circuit for programming my 27c512 ic... may i get the fully circuit and software... pls mail me

Sajeev K Nair
sajeevknair@gmail.com

koopachris ha detto...

this is perfect for what i need
i was wondering if you are able to build me one
email me at drdeadpixel@live.com and we can talk about a price if not could you email me the firmware for the MCU and the software for PC program

Unknown ha detto...

hi,

I want to build one to program 27c512 eprom, could you send me
software and firmware. I really need one for my school project. sanosakis@gmail.com

sorry for bad english

thanx

Anonimo ha detto...

Where I can download the "2600 eprom programmer utility? Does working with any eprom programmer? Are good the 27c32 eproom with willwm eprom programmer (parallel)?

Anonimo ha detto...

Excuse my English (I'm Italian) e that Willwm is Willem programmer!!

Anonimo ha detto...

"... simply email me and I will send both files..."
Where is your mail?

UA ha detto...

Hello,
From Ukraine ask, send please, the program and .HEX. I shall try to collect the interesting device.
iffa@i.ua

Thanks!

Anonimo ha detto...

Hello,
From Ukraine ask, send please, the program and .HEX. I shall try to collect the interesting device.
iffa@i.ua

Thanks!

brickyenne ha detto...

Very good work!! I would like to modify it to program SST27SF512 chips. Would you be so kind to email me the files and info?

Thank you, your help will be appreciated!!

Alfredo.
mexicanchevys@hotmail.com
automanuals@hotmail.com

Anonimo ha detto...

Spot on with this write-up, I truly think this web site
wants

far more consideration. I’ll probably be again
to read rather more, thanks for that info.
Look into my web site ; jillgod.pixnet.net

uveprom ha detto...

hello, please the firmware for the atmega644 and sotware for pc, pleaseee
Eprom Programmer for Atari 2600 catridges.

uveprom@yahoo.es

uveprom ha detto...

hello, please the firmware for the atmega644 and sotware for pc, pleaseee
Eprom Programmer for Atari 2600 catridges.

uveprom@yahoo.es

Anonimo ha detto...

Hi, please send me the firmware and the Pc software.
My email is lasvocess@gmail.com
Thanks in advance.

Giancarlo ha detto...

Hi, can you send me the firmware and the Pc software, please.
My email is gamerhobbista@gmail.com

Thanks in advance.

Giancarlo