1802 Membership Card Loader

So I built Lee Hart’s slick little 1802 Membership Card and its Front Panel card. Next I wanted to load some programs onto it! There was that nice DB-25 connector all ready to connect to my PC’s parallel port. However… I’ve got a Mac, and haven’t seen a computer parallel port in perhaps a decade.

My solution to this problem was to create my own interface hardware based on an Arduino. I considered using a Spark Core to allow doing things wirelessly via WiFi, but decided that for this purpose the Arduino was something more people were likely to have, and it was just a somewhat simpler solution.

The final design uses an Arduino, a 16-line I2C port expander chip, and some software. The software consists of the Arduino program and a Python program that runs on my Mac. Since it’s Python, it should also run on a Windows system, a Linux box, etc.
You can also forego the Python side of things and directly control the Arduino loader from a terminal, or from your own software if you prefer.

Why go to all this trouble? Just a fun little project!

It’s been a good mental exercise and a nice trip down memory lane.

Here is the Git repository with the source code and documentation

1802 Loader Documentation

Coming up next – an 1802 Emulator

Advertisements

5 responses

  1. Nice work. “Coming up next ā€“ an 1802 Emulator”.
    What kind of an emulator?
    There are many emulators and simulators around.

    http://www.donnelly-house.net/programming/cdp1802/simelf/

  2. Wow, very cool simulator on your site.

    The emulator I’m working on is for the Mac and mainly designed to let me run FIG-Forth. Will probably never be very polished, but I do plan to release the source and maybe a binary at some point.

    I have seen several of the very well-done emulators out there, so I don’t think mine brings much to the party. Written as much as a fun exercise as anything. šŸ™‚

  3. Just for your information, non-backwards compatible changes has been implemented in the python bincopy module with the intention to make it easier to use. A few minor changes to mcard.py are required to make it work with the latest version.

    File File class has been renamed to BinFile and the add_xxx() functions does not take a file like object as argument, but a string instead. There are new add_xxx_file()-functions that takes a filename as argument.

    Documentation: http://bincopy.readthedocs.io/en/latest/

    Sorry for the inconvenience.

    1. Erik, thanks for the info. I’ll add making those updates to my to-do list. And thanks for such a useful module!

    2. Changes needed for the new bincopy version have been made. Nice API changes IMHO – I got to eliminate some code! šŸ™‚

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: