A few months ago I decided to see if my first computer still worked. It's been languishing in various boxes and closets for nearly forty years now. This is what the computer, an Explorer 85 from Netronics Research, looks like:
The three S100 boards are a simple bus monitor and serial port on top. In the middle is a bubble memory board built around an Intel BPK-72. At the bottom is a 32K static RAM board. As it turned out, I had very little trouble with the basic hardware. I started with all the boards removed, of course. There's a built-in monitor program which resides in the 2K EPROM portion of an Intel 8755 on the main board. There was also 12K of static RAM in the form of four 2kx8 parts and eight 1kx4 parts, as well as 256 bytes of static RAM in an Intel 8155. I debated about whether or not to remove all the extra ICs, but decided to leave them in. I had made a number of hardware changes for various reasons, so I needed to spend some time going over those to make sure none of them were going to cause problems in getting this system running again. After checking as much as I could with no power applied, and verifying that the power supply was working properly, I attached the main serial port to another computer that I used as a terminal via GNU screen. When the monitor first starts it waits for a space character to figure out the correct baud rate to use. When I turned the power on and hit the space key I got a bunch of garbage back. I had thought that I had used 9600 baud back then, but that was 40 years ago, so perhaps not. I found that the system worked fairly well at 2400, but still garbled a character or two now and then, so I settled on 1200. It's possible that the terminal hardware I was using back then was more forgiving.
The Explorer 85 monitor uses the 8085 SID and SOD pins for console I/O, but I had modified most of the software to use one of the parallel ports for console in. The monitor program still used SID, but most of the other software used the parallel port. Using a parallel port for input allowed me to use interrupts for console in, and also made it a lot easier for programs to check for key presses. I no longer have the original keyboard that had a parallel output so I had to come up with some way for the computer I was using as a terminal to also generate transmit data in parallel form. One obvious answer these days is: Arduino! I put some connectors and a 1489 on an empty Shield that I had, wrote some fairly simple code for the Arduino, "toggled in" a short test program using the Explorer 85 monitor, and it all worked. The Arduino code simply reads serial data at 1200 baud, writes each received byte to eight data lines, then toggles a ninth line to generate a strobe signal.
With that out of the way I could focus on the bubble memory. Having a storage device isn't very useful without software tools of some kind. Back then I could have written something that would have allowed me to use the bubble like a cassette tape, but I wanted something better than that. In anticipation of building a floppy controller, I had already bought a copy of "K2FDOS A Floppy Disk Operating System for the 8080" by Kenneth B. Welles, and I still have that book. I also have a printout of what was probably pretty close to the version I was actually using with the bubble (printed by a Teletype ASR 35). The next step was to see if a final version of the source was on the bubble. I was hoping there was because I really didn't want to type all that in by hand again if I wanted to make any changes.
At some point in the past I had bought a second BPK-72 that I had never gotten around to using, so I wasn't sure if it even worked, but now seemed like a good time to find out. I didn't want to power up the original BPK board unless I was reasonably sure...
Read more »
"It's remarkable..."
Yes. Thanks for taking the time to remark it!