Pages: [1]   Go Down
Author Topic: Emulating 27 Series EPROM or mask ROM  (Read 2543 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I think this is probably well beyond my knowledge right now, but is it feasible to use the Arduino to emulate an 27 series EPROM?

Having done a bit of research there are boards out there that interface over serial, that use SRAM or similar to hold the data and emulate an EPROM. My thought: Why not use Arduino?

Specifically what I want to do is create an Atari 2600 cart in which the ROM is replaced by an Arduino doing the IO of data. It would work by sending binary data over serial to the Arduino which is connected to the cart where the mask ROM or EPROM would be, then when the 2600 is turned on, it addresses the cart and the Arduino passes data to and from the 2600 as an mask ROM / EPROM would.

Then perhaps add in a control interface and an SD card with multiple ROMs. Hey presto: Multicart!

From memory the maximum size of these carts are 8kb without bank switching and the 27 series EPROMs are the ones that are compatible with the board.

Would be interested in hearing people's thoughts!
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 545
Posts: 27352
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Would be slow. Why not just use an eprom, either parallel interface, or serial, and use it directly?
Can get really big eproms these days.

Or use arduino to load up sram from SD card, then let sram be accessed directly.
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Would be slow. Why not just use an eprom, either parallel interface, or serial, and use it directly?
Can get really big eproms these days.

Or use arduino to load up sram from SD card, then let sram be accessed directly.

That would be ideal. Is that a simple project?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also, using an EPROM, I want to be able to load, wipe and reload easily.
Logged

Offline Offline
Edison Member
*
Karma: 36
Posts: leet
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Also, using an EPROM, I want to be able to load, wipe and reload easily.
Somebody used to make a low cost EPROM eraser  I think it was called "datarace" or "dataerase", but I'm not sure of the spelling and I can't find it online at the moment (probably no longer made...).  I found an eraser for $60 USD.  Or, you should be able to find a used one. Or, you might be able to make one easily if you can find the right bulb (UVC ?) and a lamp/fixture with a similar flourscent bulb to put the UV bulb in.

Oh...  You need a true EPROM.   There are OTP (one time programmable) EPROMs, which are the same device without the window for UV erasing.

A better option would be a FLASH chip (electrically erasable nonvolitle memory).   You should be able to find a FLASH chip with the same (8-bit) data bus, and the same or more number of address lines.  You'd also need the same voltage (5V) and the same (or higher) speed.  It should work electrically, but it will probably have different pinouts, so it's unlikely to work in the same board/socket as the EPROM .

Now, the only problem is programming the thing.  If you have a FLASH/EPROM programmer, you can simply read the EPROM into the programmer, switch the programmer's device settings, and program the FLASH with the same data.

I suppose you could build a programmer with the Ardudino...  You'd just have to study-up on how to program/read these devices, and you'd need to make the connections (address bus/data bus read/write/enable, etc.), and write some code.
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 129
Posts: 8589
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

This is a simple emulating project, I had a similar device on the market in the 90s.

A single 512k SRAM will emulate 64 of the original EPROMs, add three 8-bit bus transceivers, an AVR micro (Arduino) and an SD card and you're away. Maybe add a battery backup for the SRAM or just reload off the SD every power up.

Crossroad's 1284 board would have enough IO for this and it has an SD interface.

The pinout of the SRAM chip doesn't matter.

I reckon $20 in active parts + hardware + the Ardiuno board.

You could load/wipe etc instantly using the Arduino and also have programs available from the SD when a PC is not around.

______
Rob
« Last Edit: December 20, 2011, 08:29:09 pm by Graynomad » Logged

Rob Gray aka the GRAYnomad www.robgray.com

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I think it's well beyond my current knowledge. Is there a primer or similar project I could use to build the theory?
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 129
Posts: 8589
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Is there a primer or similar project I could use to build the theory?
Not that I know of, google for "eprom emulator", you may get some ideas.

If you decide to continue I can knock up a block diagram or a schematic.

______
Rob
« Last Edit: December 21, 2011, 03:14:47 pm by Graynomad » Logged

Rob Gray aka the GRAYnomad www.robgray.com

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 545
Posts: 27352
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Map out the steps you need to get to the point where the SRAM acting as EPROM will be accessed by your Atari,
work backwards from there to define the pieces needed.
You will find things like you need to access the SRAM from 2 places,  you will need to access the SD card from Arduino to load the SRAM, you will need to make files to put on the SD card (arduino receives those serially from PC and loads the card?), you will need a way to select the program to download into the SRAM (software from PC command, switch selection?).
All those kinds of things need to be defined. That's engineering.
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Googling EPROM emulator was my starting point. Having never even programmed an EPROM in my life, having only an overview of what they are, and nothing of the nitty-gritty of their functionality, I'll put this down as "one for the future".

However, did see this on Hack-A-Day. Seems they're using a W27C512-45, programmed over serial.

Could potentially be done with an Arudino and SD card, no? Select the file with a couple of push buttons and a 1602 inside the cart.
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 129
Posts: 8589
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

It doesn't matter what memory technology you use (unless you get into dual-ported memory) you still have all the same issues of accessing the chip from two places, ie the Atari and the programming gadget (Arduino). It's an easy problem to deal with but deal with you must.

An EEPROM does solve the volatility issue if you don't want to reload from the SD on power up.

OK, just thinking about the dual porting issue, if you are happy to only program while the cart is NOT plugged in you don't have a problem, pull it out to program, plug it in to play. 

______
Rob
 
Logged

Rob Gray aka the GRAYnomad www.robgray.com

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

OK, just thinking about the dual porting issue, if you are happy to only program while the cart is NOT plugged in you don't have a problem, pull it out to program, plug it in to play. 

Yeah, that's fine. An EEPROM and a ribbon cable out would be perfect.

How would I program the EEPROM though? Over serial? Using Arduino?
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 129
Posts: 8589
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

That W27C512 chip looks like a right PITA to program, you need 12v, 14v and 5v, I'd say it's real old technology (the data sheet is 1999). There would be better chips to use these days, maybe flash or RAM or a better EEPROM.

My personal choice would probably be RAM but that's because I don't know much about the others. If you are happy to load from an SD every power up that's the easiest I think.

Quote
How would I program the EEPROM though?
You could just buy a commercial programer, that's probably the easiest way.
______
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

Pages: [1]   Go Up
Jump to: