• Please review our updated Terms and Rules here

Replace 2708 EPROM with an......arduino?

nullvalue

Veteran Member
Joined
Oct 8, 2019
Messages
988
Location
Indiana
Hear me out.. I am working on a S-100 restoration and am realizing I need an EPROM programmer to dig into the on-board ROM. The only problem is it uses a 2708 chip and I don't have a programmer for it. I was wondering - has anyone ever considered replacing the 2708 with something like an arduino/teensy? Those devices have internal EPROMs. Why not program them over USB (or even read/select a HEX file from an SD card) and write some firmware so that it responds like a ROM chip? Just ignore all the weird voltages and power the arduino from the VCC. Can anyone think of why this wouldn't work?
 
Last edited:
I guess you could get the Arduino to impersonate the 2708, but it might require possibly some additional gating around it to make it look externally like the 2708, I guess whatever you made would be on a sub board that plugged into a 2708's socket.

If you are working with the S-100 computer though, by far the simple move is to get the Cromemco Bytesaver board, they come up from time to time on the bay. Not only do they program a real 2708, but you can use the 2708's for various programs and utilities for your S100 computer. I used 7 of the 8 IC's to hold BASIC and put a block mover program in the other.

I think the Bytesaver II was probably one of the best S-100 boards ever made. Martin Eberhard wrote an excellent utility to drive the board and it runs in CP/M, making it dead easy to program the 2708's.

http://www.s100computers.com/Hardwar...ytesaverII.htm

https://deramp.com/downloads/eprom_p...ard/bytesaver/

I restored a Bytesaver board and there was short thread on it:

https://www.vcfed.org/forum/forum/ge...ii-restoration

and another thread where I managed to get BASIC/5 into the ROMs:

https://www.vcfed.org/forum/forum/genres/s-100/79917-bytesaver-block-move-program-basic-5
 
Last edited:
The question is whether you can get the Arduino to read the port that serves as the address inputs, fetch a byte from its memory and output the byte on the port that serves as the data outputs within the 2708's access time of 450 nanoseconds.
 
The question is whether you can get the Arduino to read the port that serves as the address inputs, fetch a byte from its memory and output the byte on the port that serves as the data outputs within the 2708's access time of 450 nanoseconds.

Yes and I think it would require buffers, tristate buffers on the data lines, around the Arduino to interface it with the address and data lines, then as you say, the Arduino's code and cycle time delays would have to be fast enough resemble the access time of the real 2708, or be shorter than 450nS.
 
In my experience there is a lot of overhead in the Arduino libraries just to change the state of a pin, bypassing those libraries can yield some pretty dramatic speed improvements, at the cost of code portability between processor types.

People on Hackaday have already done what is being described here for larger EEPROM/UVEPROMs (for gaming).

I've built a 2708 programmer with a PIC, and also built a 2704/08 downloadable "promulator" with a dual-port static ram. After I did the second project, I realized that with the right PIC, I probably didn't even need the dual-port RAM at all (and it was old, rare, and expensive).
 
If you are working with the S-100 computer though, by far the simple move is to get the Cromemco Bytesaver board, they come up from time to time on the bay. Not only do they program a real 2708, but you can use the 2708's for various programs and utilities for your S100 computer. I used 7 of the 8 IC's to hold BASIC and put a block mover program in the other. I think the Bytesaver II was probably one of the best S-100 boards ever made. Martin Eberhard wrote an excellent utility to drive the board and it runs in CP/M, making it dead easy to program the 2708's.

Man don't say that please!! I had one and sold it like last year.. been kicking myself ever since! :( I'll keep an eye out
 
There are several solutions--using a larger EPROM or EEPROM with a socket adapter or even a FRAM, as well as several EPROM emulators. Using an Arduino, you'd need at least 10 address, 8 data and 2 control I/Os, in addition to any image selection logic, which sounds like a bit much.
 
Matt Millman published plans for an 2708 programmer that work very very nicely and is a straight forward build.

Might be an easier solution, and retain the vintage 2708.

http://www.mattmillman.com/projects/...m68766-eproms/

You're right, that does look very simple and I already have an Arduino MEGA 2560 sitting here collecting dust.. I just submitted an order for 10 PCB's (I'll have some spares if anyone needs one)..
 
Last edited:
Why not modify the PROM socket to use a 2716 if you need a replacement for a 2708. You just need to figure out if you are using the top or bottom half of the 2716 to hold the code.

'cause we're a bunch of guys who just can't give up on the old stuff :)

I have older systems that use everything from 1702A's up. As the older eproms are still available and relatively inexpensive it's fun to still use them. Plus the programmers are fun to build too!
 
I've found that a good number of available 2716's don't program in modern programmers (they were a available with 12.5(?), 21, and 25V with the older parts requiring more voltage. I had to build an adapter to produce the 21 and 25 for the common "866" type programmer.
 
Last edited:
Why not modify the PROM socket to use a 2716 if you need a replacement for a 2708. You just need to figure out if you are using the top or bottom half of the 2716 to hold the code.

I considered that also.. but remembered I have a 2708 in another S-100 system which is acting as a keyboard controller - I think it may be one of the only ones in existence and I need to get that code dumped. So for now I'm going to be going with Matt Millman's solution for an actual programmer/reader.

FYI I am buying enough boards & parts to build 10 complete programmers and will sell the rest as kits (either here or on eBay).
 
Because of several situations I’ve run into I keep thinking I need to churn out a little adapter board with 24 pins on the bottom and room for a 32 pin SST 39SF Flash chip, a GAL, and pads for jumper wires you can run to the select pins of adjacent sockets so you could use it to replace an entire parallel bank of ROMs. The SST chips are just so ridiculously cheap (a buck fifty for 128KB) and I’ve found them very forgiving.
 
I considered that also.. but remembered I have a 2708 in another S-100 system which is acting as a keyboard controller - I think it may be one of the only ones in existence and I need to get that code dumped. So for now I'm going to be going with Matt Millman's solution for an actual programmer/reader.

FYI I am buying enough boards & parts to build 10 complete programmers and will sell the rest as kits (either here or on eBay).

If you haven't purchased these boards yet, you may want to look at Martin Eberhard's 27xx "Orphan" programmer. It's a very simple build and doesn't require the additional complexity of an Arduino - it's completely standalone. His programmer supports all the standard 27xx parts up to 24 pins, but also a huge variety of oddball parts that require non-standard voltages and programming algorithms. See documentation of the programmer here:

https://deramp.com/downloads/mfe_ar...n EPROM Programmer/ME2700 Manual Complete.pdf

Message me for Martin's email if you want it.

Mike
 
If you haven't purchased these boards yet, you may want to look at Martin Eberhard's 27xx "Orphan" programmer. It's a very simple build and doesn't require the additional complexity of an Arduino - it's completely standalone. His programmer supports all the standard 27xx parts up to 24 pins, but also a huge variety of oddball parts that require non-standard voltages and programming algorithms. See documentation of the programmer here:

https://deramp.com/downloads/mfe_ar...n EPROM Programmer/ME2700 Manual Complete.pdf

Message me for Martin's email if you want it.

Mike

I also saw this project, however you need yet another programmer to complete it - I don't have a PicKit to program the PIC. :) I do have an old Picstart Plus - but I don't think it can burn the PIC18F45K20.
 
I also saw this project, however you need yet another programmer to complete it - I don't have a PicKit to program the PIC. :) I do have an old Picstart Plus - but I don't think it can burn the PIC18F45K20.

Martin includes the the PIC already programmed for you so it’s up and running in an evening of work.

Mike
 
I built Martin Eberhard's ME5204 programmer for programming the vintage MM5204 UVeproms in my Sol-20. His documentation is amazing, the design excellent and his firmware perfect. It is all very impressive. I bet his Orphan programmer is equally wonderful, it certainly looks it from the look of the manual.
 
Back
Top