How the hell did I end up with an Altair replica
The first computer I ever used was a TI-99/4A. I was probably 12 or 13; my dad brought it home one day because he thought he needed to be able to do word processing. I'm guessing he didn't do his homework, because that computer wasn't really a platform for such work.It ended up unused in a spare bedroom attached to an old TV for a while before I was allowed to play with it. Like all computers of that time, it came with printed manuals which I read and and used to teach myself BASIC and computer concepts in general. I hooked up an old tape recorder to store the programs that I hand-typed in from magazines. We didn't have any computer classes in school at that time - it was all what you could glean from reading code and experimenting.
One day it disappeared. He decided it wasn't being used and sold it.
By then, around 1983 or so, I had spent so much time reading computer and electronics magazines and books that I knew I wanted another computer. The MITS Altair 8800 and IMSAI 8080 were machines that I had read a lot about, but never had the opportunity to touch. I wanted one, even though they were older and way out of my price range. In the end, I saved my paperboy money and bought a TRS-80.
(Spoiler - I got better at BASIC, then learned 6809 assembly then got an early PC clone and learned C, then ended up in a successful career - all thanks to that first computer in the house.)
Then one day a year or two ago, I saw something online about the Altair-Duino kit on Tindie. I saw two versions - the Pro that was a faithful recreation in terms of size, and an Experimenter that was smaller, but more importantly, looked like something I could really dig in to.
Building the kit
I ordered the Experimenter version from Adwater & Stir's Tindie shop, opting to add the expansion bus kit. It arrived just a few days later. It was very nicely packaged and looked quite professional with a logo branded box sized perfectly for the contents. The parts were pre-packaged in numbered bags, the printed instructions bound with a plastic loom, and an addendum sheet:
Following the instructions, I started soldering parts to the main board. With all through-hole components, it's a pretty easy build. That first session, I spent about an hour and a half, and by that time had the switches, LEDs, headers for the Arduino, and other components done:
The instructions call for installation of the front panel to place the LEDs. Once installed, I left the panel assembled to the board; I was concerned that some of the LEDs may get bent out of position.
Just before calling it a day, I put all of the unassembled parts back into the box. That's when I noticed I was missing the plug-in power supply and extension USB cable - not sure how I missed that before; probably just my excitement to get started. I wrote an email to Chris from Adwater on Saturday afternoon. He had the parts in the mail and I got them right away.
Day 2 of assembly
I put off further work until I received the missing parts (just a couple of days). I took everything out of the box and prepped for the rest of the assembly. Of course, setting the empty box on the floor is an invitation for supervision:
The Due version of the Altair-Duino can have up to 5 serial ports: the two USB serial ports from the Arduino itself, one RS-232 serial via a DE-9 connector on the back (my brain still always says DB-9), and one emulated VT100 terminal (with a VGA and USB keyboard connection). The last serial port is available on some unconnected Arduino pins used to drive the TX and RX LEDs. To use that fifth port, it's necessary to solder wires directly to the SMD LEDs. I did this before installing the Arduino:
Next was the power/audio/serial board and the VT100 board. They went together with no problems:
Those two boards get physically mounted to the rear acrylic cover:
The typical way to use the EPS-01s is to disable either the RS-232 or VT100 emulation, and use that serial port. I wanted to keep both of those capabilities, hence the connections to the fifth (TX/RX) serial port. I installed headers for the jumpers and ESP connection. The plan was to use Dupont style wires to extend the connection out of the case. That didn't work because of a mechanical interference when the back cover was installed. I ended up soldering wires to the header pins:
With that finished, the front and rear panels were assembled into the case. The instructions note that it could be difficult to get the header pins of the rear aligned with the socket on the back of the main board. Happily, I didn't have any issues with that - it just went together with no problem.
I am really impressed with the case - solid 5mm aluminum! Looking at the photos before ordering, I was thinking the final product would be lightweight - but it's pleasantly solid and weighty.
After that, I went right into the assembly of the expansion bus and register LED card. They are pretty simple and went together with no issues
First power up and testing
The kit comes with an SD card preloaded with base configs and disk images. The system can emulate several disk units (different types of floppy and hard drives). The first test was to select the configuration for the RS-232 interface with floppy images of CP/M loaded. A USB to RS-232 adapter was plugged into the Altair's DB-9 port and the USB into a computer. The switches were set to select the ROM disk boot loader and CP/M started right up! From there, I loaded up the classic Star Trek BASIC game:
Next up was the VT100 emulator. My monitor has a VGA input, so it was just a matter of digging through boxes of cables to find a VGA cable to connect to the two together. I saw some comments on the Google group for the Altair-Duino about troubles getting some USB keyboards to work, but the first one I plugged in worked.
Powered it up with switches set for the VT100 config and it came right up again:
I noticed the text was shifted just a bit left, but didn't take any time to try to adjust my monitor for it. From there, I booted CP/M again, started BASIC, and wrote what is probably the 2-line program every BASIC programmer has written:
😀
I did a quick test of the expansion board - the LEDs responded as expected. The last test was the fifth serial port (TX/RX pins). I connected my Bus Pirate 6 to the pins and set up UART transparent bridge mode and found that interface worked just as well as the RS-232 and VT100. I spent the next couple of days exploring the disk images and playing around. A bit of Zork, a bit of BASIC - good times!
What's next?
There are a few things I want to do next:
That fifth serial port
I plan on using an EPS32-S3 dev board to make a WiFi - serial bridge. Like the ESP-01s, the bridge will present a Telnet server to the the wireless network, and bridge that to the logic level serial. A second telnet server on another port will be used to set configuration and options on the bridge. A UDP server can be hit to get diagnostic and logging information out.
Finally, and more complicated, I want to have another mode to the bridge: if the telnet server is not active, allow the serial side to access a telnet client on the bridge to connect to foreign hosts. To make this work, one of the other serial ports of the Altair would have to be primary and another piece of Altair software accessing the bridge serial port.
The expansion bus
There are a few existing expansion bus cards - floppy controller, parallel interface, I2C/SPI, etc. I plan on making a prototyping board; something to speed up development of other expansion bus cards. The card would have the "glue" hardware to handle bus addressing and data control, then have a proto area to experiment with other hardware.














Comments
Post a Comment