Connect with us

EPROM Programmer

Discussion in 'Electronic Basics' started by Bart, Nov 4, 2005.

Scroll to continue with content
  1. Bart

    Bart Guest

    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
     
  2. Noway2

    Noway2 Guest

    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.
     
  3. 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
     
  4. Chris

    Chris Guest

    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
    sales or by dumpster diving from businesses that are upgrading their
    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.
    Since you want to feel good about this, offer a few bucks each, too.
    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
     
  5. 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?

    Use your imagination! And the web, like http://www.google.com and stuff.

    Have Fun!
    Rich
     
  6. Bart

    Bart Guest

    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
     
  7. 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
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-