# EPROM Programmer

B

#### Bart

Jan 1, 1970
0
I recently acquired an EPROM programmer that plugs into my printer port on
my PC. The software allows me to take all the hex info off one chip and put
it on another, or edit the hex info (hex editor) as I guess most programmers
do.
Is there any "cool" stuff I can do with this thing? I fantasized taking the
EPROM off my 486 motherboard, copying it into a larger capacity chip and
adding DOS onto the chip but the Internet searches lead me to believe that's
apples and oranges.
Most of my searches tend to imply that programming an EPROM is proprietary
to a processor/microprocessor and not much mention of software to make
things happen between the two. Is there anything "neat" I can do with just
my EPROM programmer without getting deeply involved integrating a processor?
Can I put a small database on an EPROM chip with my programmer, then mount
the chip on a small circuitboard that plugs into a serial/parallel port on a
PC and access the data with a simple QBASIC program?
Hoping there is something else "cool" I can do with EPROM chips than just
copy them.
Any help is appreciated,
Bart

N

#### Noway2

Jan 1, 1970
0
What you are seeing with your eprom programmer is the (hex record
representation) of that data that is stored in the eprom. The data
represents the machine code, which is a level down from the assembly
language of the processor. When software is written, especially when
it is done so in a high level language, the code is then turned into
blocks in assembly or machine language by a compiler. These blocks,
called the object code, contain program statements and data are then
assembled into a program image by the linker, which is what you are
seeing. This image, however, is highly machine dependant and it is
generally not possible to run the software on anything other than what
it was designed for. On top of the hardware dependancy, it can be very
difficult to decode the software back into an intelligble form the hex
record.

Adding all of the complexitiies I mention above and more,
unfortunately, I don't see how it would be possible to copy a rom chip
from a PC and use this to add functionality to a different application.

P

#### petrus bitbyter

Jan 1, 1970
0
Bart said:
I recently acquired an EPROM programmer that plugs into my printer port on
my PC. The software allows me to take all the hex info off one chip and
put
it on another, or edit the hex info (hex editor) as I guess most
programmers
do.
Is there any "cool" stuff I can do with this thing? I fantasized taking
the
EPROM off my 486 motherboard, copying it into a larger capacity chip and
adding DOS onto the chip but the Internet searches lead me to believe
that's
apples and oranges.
Most of my searches tend to imply that programming an EPROM is proprietary
to a processor/microprocessor and not much mention of software to make
things happen between the two. Is there anything "neat" I can do with just
my EPROM programmer without getting deeply involved integrating a
processor?
Can I put a small database on an EPROM chip with my programmer, then mount
the chip on a small circuitboard that plugs into a serial/parallel port on
a
PC and access the data with a simple QBASIC program?
Hoping there is something else "cool" I can do with EPROM chips than just
copy them.
Any help is appreciated,
Bart

Bart,

Sorry but can't give much help. An EPROM programmer is a tool just like a
hammer. You can use the latter to hit nails into something but to be usefull
you need some project that needs that nails. I can imagine some projecs for
EPROMs but they need skills and interests you apparently don't have. After
all, normal, windowed EPROMs are out of focus for quite some time. It's all
EEPROM or flash these days.

petrus bitbyter

C

#### Chris

Jan 1, 1970
0
Bart said:
I recently acquired an EPROM programmer that plugs into my printer port on
my PC. The software allows me to take all the hex info off one chip and put
it on another, or edit the hex info (hex editor) as I guess most programmers
do.
Is there any "cool" stuff I can do with this thing? I fantasized taking the
EPROM off my 486 motherboard, copying it into a larger capacity chip and
adding DOS onto the chip but the Internet searches lead me to believe that's
apples and oranges.
Most of my searches tend to imply that programming an EPROM is proprietary
to a processor/microprocessor and not much mention of software to make
things happen between the two. Is there anything "neat" I can do with just
my EPROM programmer without getting deeply involved integrating a processor?
Can I put a small database on an EPROM chip with my programmer, then mount
the chip on a small circuitboard that plugs into a serial/parallel port on a
PC and access the data with a simple QBASIC program?
Hoping there is something else "cool" I can do with EPROM chips than just
copy them.
Any help is appreciated,
Bart

Hi, Bart. There are quite a few things you can do with EPROMs as a
hobbyist (most of them a little dated and clunky in comparison with
just using a PIC), but the "cool" part of your burner/programmer is at
the other end of the cable.

The printer port is a remarkably versatile collection of Input/Output
pins. By being connected to the PC, you can use those I/O pins to
sense and control any number of things.

If you want to look into this, the best place to start is Jan Axelson's
Lakeview Research website:

http://www.lvr.com/parport.htm

This website has a number of really good links which will give you a
start in programming and interfacing with the printer port. I'd also
highly recommend Jan Axelson's book, "Printer Port Complete", which
shows how to do it all in one place. It's well-written and very
suitable for people who don't have a degree in electronics, and also
provides an accompanying CD which gives numerous examples in several
programming languages.

A few pieces of advice. First, start out with your parallel port set
in SPP mode (you can do this by tweaking the PC BIOS). Programming is
simpler, and there's less chance of a newbie letting the smoke out of
the printer port or interface circuit if the I/O pins are dedicated
innies or outies.

If you're comfortable with M$DOS, it's a better OS for newbies because you don't have to negotiate with Windows for control of the port I/O. And if it doesn't make you gag, you might want to start out with DOS and M$ QBASIC, the further crippled version of the already crippled
QuickBASIC. It's included free in M$DOS 5.0 and up. This will gives you the fastest and cheapest start in reading printer port pins and turning outputs on and off. Actually, if you know what you're doing, you can plug in your interface circuit, boot your computer with M$DOS 5
and the printer port in SPP mode, load QBASIC and read the printer port
input pins and set output pins with only a couple of lines of code in
the Immediate window. Can't get easier than that.

Wiring errors and code errors errors can both result in damaging the
printer port, and you should be able to either throw out the PC or
replace an I/O card without cursing your bitter fate (voice of
experience). Remember that newer computers (last 10 years) and all
laptops have the SMT printer port chip on the motherboard, so smoking
this IC usually means throwing out the motherboard, or at least,
getting stuck and having to deal with a big repair hassle.

So if you're going to be experimenting with the printer port, I'd
recommend you use an old junker PC you can afford to throw away for the
hardware debugging part of projects. You can get junkers at garage
PCs. This is usually the best way, because you can get frequently get
identical machines in quantity, most of them are fairly new, and nobody
really enjoys throwing out something that still works. Some businesses
will be happy to let you scavenge the old boxes as long as they trust
you to wipe the hard drive first. A corollary to this is checking at
your local religious primary and high schools. They are the foremost
recipients of donated business PCs, and are always trying to rotate the
oldest ones out. Be sure to volunteer to move them out yourself.
Saint Liebowitz will thank you, and it's always good to have him on
your side, offering up a prayer for your circuit when you turn the
power on. ;-)

Good luck
Chris

R

#### Rich, Under the Affluence

Jan 1, 1970
0
I recently acquired an EPROM programmer that plugs into my printer port on
my PC. The software allows me to take all the hex info off one chip and put
it on another, or edit the hex info (hex editor) as I guess most programmers
do.
Is there any "cool" stuff I can do with this thing? I fantasized taking the
EPROM off my 486 motherboard, copying it into a larger capacity chip and
adding DOS onto the chip but the Internet searches lead me to believe that's
apples and oranges.
Most of my searches tend to imply that programming an EPROM is proprietary
to a processor/microprocessor and not much mention of software to make
things happen between the two. Is there anything "neat" I can do with just
my EPROM programmer without getting deeply involved integrating a processor?
Can I put a small database on an EPROM chip with my programmer, then mount
the chip on a small circuitboard that plugs into a serial/parallel port on a
PC and access the data with a simple QBASIC program?
Hoping there is something else "cool" I can do with EPROM chips than just
copy them.

Well, depending on your breadboarding skills, you can do any number of
things. But you'll have to get into the guts, the nuts and bolts, the
ones and zeros of binary EPROM programming. Your hex file shows you the
bit pattern in the EPROM. And erased EPROM should show all FF.

So, you've got a universal logic chip that, for any given pattern of
13 (14? 15? 16? depends on the EPROM) input bits, you can define a unique
pattern of 8 output bits.

State Machine?
Bootstrap ROM/OS? (You'd have to hand-assemble that, like any other idea
here) Sound Generator?
Logic Generator?
Character ROM?

Have Fun!
Rich

B

#### Bart

Jan 1, 1970
0
Thanks for all the replies, I'm wondering from Rich's reply that if
I breadboard the EPROM for reading, and hook up a 4-bit binary
counter to the inputs at say 1 herz, then whatever is programmed
(binarily speaking) at address zero will fire corresponding
output pins (the one's, not zeroes), and a second later fire output
pins corresponding to data programmed in address one, toggling
each second through to address 15. I could program one's and
zeroes in the proper spots at each address to control a segmented
LED to change character every second. If not enough milliamps
for LED's then I could incorporate transistors at each output pin
to fire the LED's?
Am I thinking correctly on this? Hope so as this could open
up a whole new area for me.
Any responses appreciated,
Bart

P

#### petrus bitbyter

Jan 1, 1970
0
Bart said:
Thanks for all the replies, I'm wondering from Rich's reply that if
I breadboard the EPROM for reading, and hook up a 4-bit binary
counter to the inputs at say 1 herz, then whatever is programmed
(binarily speaking) at address zero will fire corresponding
output pins (the one's, not zeroes), and a second later fire output
pins corresponding to data programmed in address one, toggling
each second through to address 15. I could program one's and
zeroes in the proper spots at each address to control a segmented
LED to change character every second. If not enough milliamps
for LED's then I could incorporate transistors at each output pin
to fire the LED's?
Am I thinking correctly on this? Hope so as this could open
up a whole new area for me.
Any responses appreciated,
Bart

Your thinking is correct, but you have to pay attention to some details. So
you connect the outputs of your counter to the addresslines A0-A3 of the
EPROM and all other addresslines to ground. You also have to pay attention
to the current that can be drawn from the outputs of the EPROM. Different
types have different specifications. You may need to read the datasheet.

EPROM outputs can often sink more current then they can source. So it may be
interesting to connect a LED with its seriesresistor between Vcc and the
output. Be aware that a zero on the output lights the LED in this case.

You only use a very small part of the EPROM in this example. Other
addresslines may be used for longer sequences (with a five or more bits
counter) or to make a choice between different sequences.

If you have more questions, feel free to ask here. It's what this group is
meant for.

petrus bitbyter

Replies
2
Views
802
Replies
4
Views
658
Replies
2
Views
702
Replies
0
Views
1K
Replies
7
Views
3K