Reviving an Intel SDK-85 Serial Interface (part 1)

Remember the Intel SDK-85? Intel’s single-board “system design kit” for the 8085? Late 70s/early 80s era cutting edge computer hardware. It had a 110 baud teletype (current loop) serial interface. I assembled one back in the day but never used the teletype, only the keyboard/LED onboard control.

SDK-85 with Arduino serial converter installed

I recently uncovered my old SDK-85 at an archeological dig in my home office and decided to finally try using the serial interface. Problem was I don’t have any compatible hardware that uses the teletype interface, much less that supports data rates as slow as 110 baud (try to select that speed on your i7 Windows 10 system…).

So I decided to use an Arduino to convert from 110 baud to a higher speed USB interface. For two reasons, because I could and because I have a bunch of Arduinos laying around.

This was a fun project since I had to exercise brain cells and low level programming skills that had atrophied over the years (I haven’t written software professionally since the 1990s — management). I encountered some interesting issues resulting from the fact that my Arduino code is full duplex and the SDK-85 is barely half-duplex. Fortunately I had the SDK-85 manual with full assembly source code and schematics to help.

Background

First, some background on the SDK-85 (for information on the Intel 8085 architecture, look here).

The SDK includes the following built-in features (from the manual):

  • High-performance [!}, 3 MHz 8085 cpu (1.3 µs instruction  cycle)
  • Popular  8080A Instruction Set
  • Direct Teletypewriter Interface
  • Interactive  LED Display
  • Large Wire-Wrap Area for Custom-Designed Circuit
  • System Monitor Software in ROM

The first step I took was to determine how the SDK-85 sends and receives characters. Fortunately the manual includes a listing of the monitor assembly code. Serial data is bit-banged a byte at a time (as expected).

Serial data is sent at 110 baud, or 110 bits per second (bps). That’s 9.1 ms per bit. Each byte of data starts with a START bit, followed by the eight data bits. The SDK doesn’t use a parity bit, so after the data is a STOP bit (really just an idle time at a 0 logic level before the next byte). So each byte takes 10 bit times (minimum) to transmit or receive, 91 ms.

What happens next and how if figured out how the data is really sent and received in Part 2…

7 thoughts on “Reviving an Intel SDK-85 Serial Interface (part 1)

  1. Steve Murray

    Coincidentally, I’m also trying to get a serial interface working again on my old SDK-85. I had a clumsy setup actually working back in 1996 but it won’t play along at the moment. Is there a chance you’ve completed “Part 2” perhaps? – I’d like to see what you ended up with.

    Liked by 1 person

  2. Bob Snodgrass

    I recently grabbed the SDK-85 from ebay and working to get it up and running. The keyboard works fine but having RS232 access would help a lot. So… would love to see Part 2 of this article!!

    Like

  3. Steve Murray

    I’ve been thinking more about this again, and I’m considering a slightly different approach that I’d like to run past you both.
    I’ve got a spare Raspberry Pi Zero W 2 which I’m planning on using as not only a TTY/RS-232 interface instead of an Arduino, but as a host for the original development tool set. I’ll use the PiGPIO library on the Pi to handle the 110 baud bit-banging serial communications (https://abyz.me.uk/rpi/pigpio/) along with a 3.3V 5V level-shifter. But the real enticement is that running DOSBox or DOSEmu on the Pi will allow me to run the original intel development tools, including the ISIS-II emulator which is required to run the original assembler (https://www.intel-vintage.info/intelsofware.htm). I was initially thinking of hacking together an assembler in Python but that’s unnecessary now and would’ve been a major detour anyway (no need to reinvent the wheel, again).
    So far I’ve installed DOSBox on the Pi and then into that the ISIS-II emulator and assembler and that’s all looking good. I’ve been able to assemble the complete SDK-85 Monitor source code using that setup which gives me confidence. Unfortunately I’ve been moving house and along with other distractions, I haven’t been able to do more than that except purchase the level shifter. Some time in the New Year though, I’m going to mount the Pi and level shifter into a spare area on the SDK-85 board and get the bit-banging operating. After that I’m thinking of supplementing the on-board SDK-85 Monitor with a separate EEPROM to handle downloading of assembled code, and then executing it. This way, I can preserve the original SDK-85 but just augment it with add-ons.
    Interested to hear your thoughts … and all the best wishes for the season.

    Liked by 1 person

    1. Hi Steve,

      I like your plan, it’s certainly more ambitious than what I did!

      The Pi Zero should be more than powerful enough to do what you want.

      I’m looking forward to seeing how it all comes out. Please let us know!

      Thanks,
      Anson

      Like

Leave a comment