Wanted: An EPROM Programmer that Works on a Mac

And Linux. And old, high-programming-voltage EPROMs. And USB, naturally. If you know of such a thing, give me a shout in the comments — I can’t find any on Google, and I find plenty of links to other people who also couldn’t find them.

6502 Microprocessor, Apple ][, and Asteroids

A couple of weeks ago, I went to an annual holiday lunch with former coworkers and got to visit with an old friend. He was reminiscing about 6502 assembly programming on the Apple ][ and wondered whether I'd know where he could get one. I told him that I could probably loan him one or two; but (with a mischievous glint in my eye) that I have a couple of upright Asteroids arcade games and they run on 6502s and I’ve always wanted to reprogram one and write my own game.

Bump, set, spike. Yeah, he’s interested.

It’s not a completely impractical idea. I have a large schematic set that includes the addressing of the memory-mapped I/O and some rudimentary information on the operation of the vector generator board. There’s even a project to comment the disassembled ROM, which would give further hints about how to interface to the hardware.

If one were to undertake such a project, one would really like to use a USB-attached EPROM emulator so one could dump new code into the machine frequently and rapidly for testing and development. But at a bare minimum, one would need a stack of EPROMs and a programmer and ideally a ZIF-socket daughterboard to fit into the original EPROM socket and make it easy to swap EPROMs. As I have no Windows machines and do my electronics development on a synchronized fleet of Mac and Linux machines, a commercial EPROM programmer that I can use is going to be a little bit hard to come by.

Yes, I could run Windows under virtualization on my Mac; I think I may even be able to get a legal copy through my campus’s license agreement. But I’m not interested in going that direction unless I have to.

Isn’t it about time the world had a cross-platform EPROM programmer?

5 Responses to “Wanted: An EPROM Programmer that Works on a Mac”

  1. jeremiah says:

    This is what emulators are for. The Asteroids hardware is pretty perfectly emulated, IIRC.

    Actual hardware would be ideal, though, certainly.

  2. David says:

    How big is the EEPROM you need to emulate?
    A FPGA development boardshould be able to emulate an EEPROM pretty easily.
    http://www.latticesemi.com/products/developmenthardware/developmentkits/machxo2picokit.cfm
    or
    http://www.em.avnet.com/en-us/design/drc/Pages/Xilinx-Spartan-6-FPGA-LX9-MicroBoard.aspx

    Handy little tool that works with flashrom.
    http://dangerousprototypes.com/docs/Bus_Pirate

  3. Keith Neufeld says:

    Jeremiah, that’s certainly a practical approach. Psychologically, though, I’m pretty sure I need the reinforcement of the thrill of making the real hardware do what I tell it to do. Using emulation might be a good choice for development cycles later in the project — spin a few times in the emulator, upload to the hardware, iterate. But especially up front, I’m pretty sure I want to work with the hardare.

  4. Keith Neufeld says:

    David, I’m heading out to storage to check whether the 8K of ROM (6K of program and 2K of fonts and graphics) can be fit into a single socket or what the maximum ROM size is per socket. (I know it’s flexible; just don’t know how flexible.)

    If the game can run with the whole ROM in a single socket, then it’s trivial to build an EPROM emulator using EEPROM, a largish ATmega (or insert your favorite microcontroller here), some tristating bus buffer ICs, and a USB-serial chip. Which is definitely the way I’d like to go during development, except I’m afraid the sockets are going to max out at 2K or 4K EPROMs and I’ll need to populate multiples to make things work.

    Yes, I could make a daughterboard that spanned multiple sockets. May do. But that starts being pretty specific to the one game.

  5. Josh Myer says:

    http://quinndunki.com/blondihacks/?p=708 Quinn Dunki has built a ROM emulator for her 6502 computer project (Veronica). Not sure if it’s big enough for what you have in mind, but it’s a good start.

Leave a Reply