Thursday, July 23, 2009

A Bit of Retrocomputing: Bringing Up an Ampro Little Board Plus with CP/M and ZCPR

Computer Terminal, bare PCBs and unhoused floppy drives running rampant on the kitchen table.
The thing with the screen on it is NOT the computer, it's the terminal. The computer is the little printed circuit board laying to the right of the terminal.
Tonight I managed to bring up a really neat little computer for the first time since I obtained it. The computer is an Ampro Little Board Plus. It's a Z-80 based single board computer from back in the 1980s. I've been working off and on at getting this computer up and running over the past three days. Tonight I actually managed it.

Back in the day I lusted heavily after one of these systems. I guess it just goes to show, if you're patient enough you can get what you want! First there was the Ferguson Big Board, a full system on a single printed circuit board, conveniently sized to attach to an 8" floppy drive. Then there was the Ampro Little Board. It was sized to attach to the bottom of a 5-1/4" floppy disk drive. I don't know why, but slick little things like that sell me.

The Ampro Little Board is a 4MHz Z-80 computer. Yes, four megahertz. It has 64K of memory. Once again, sixty-four kilobytes of RAM. That's not cache, that's main memory. It also has an on-board floppy disk drive controller, two serial ports, and a parallel port. That's a complete computer system. Unlike the Ferguson, the Ampro didn't include circuitry to drive a video display or talk directly to the keyboard. It uses a serial terminal.

The Ampro Little Board Plus PCB, hanging out in the breeze.
My Ampro Little Board Plus, Sitting Out in the Open
The board I've got is a Little Board Plus, which is the same as an original Little Board with the addition of a SCSI interface. This board is part of a treasure trove that was given to me by Dave Baldwin, former editor of The Computer Journal. I've been working with several of the other systems he gave me, and I've only just started to get to the ones that came as circuit boards rather than as built-up systems.

While just getting started, seeing if the board is even functional, I kept the extras to a minimum. To start up the LB+ you need:
  • a terminal,
  • a 5-1/4" floppy disk drive,
  • a power supply,
  • the right cables to hook it all together,
  • all the jumpers set properly
  • and a system disk for this particular system.

I got started on this a few days ago, by pulling out the documentation for the system and reading it. Then I read it again with the LB+ on hand so that I could go along and check the jumper settings as I read. Then I started to make up the special cable the Ampro needs for a serial port connector to go to a terminal. I found a connector of the right type, with just one extra pin position that wouldn't cause trouble so long as I was careful how I plugged it in. I halfway through wiring it up to a DB-25 connector when I took a break and found a finished cable sitting in another box.

A reused PC power supply, with lots of dangerous loose wires.
Not OSHA Compliant.
For a power supply I used an old PC power supply pulled out of a system that got scrapped out a long time ago. The supply was the third one I tried. Two others didn't work. The first was an old XT power supply with an actual switch on the side that I planned to use so that I wouldn't have to jumper the Power On line on a newer supply. It just sat there, so I'll have to open it up and see what the matter is another day. The second was a sweet little ATX supply, more compact than most I've got around. It put out the standby 5 volts, but wouldn't come up when I pulled the Power On line down to ground. But the third one worked. I feel a bit like the guy who built his castle in a swamp in Monty Python and the Holy Grail.

Ugly cabling and bare electronics all over the place.
Guess what? We're not eating dinner on the table tonight.
Since this was a quick and dirty setup, everything was out in the breeze. I drummed up an old 48TPI floppy drive and hooked it up to the board. The serial cable I used between the Little Board and the terminal was my trusty old "Smart Cable." I remember buying it years ago, fretting over the price. I paid a lot for it (I don't recall the amount, but it was probably something on the order of $50 in 1981 or so), but I knew it'd be worth it since there's nothing worse than wondering if the reason things don't appear to be working is that you've got a serial printer cable instead of a serial terminal cable, or a crossover cable when you want a straight-through, or vice versa.

You can see my Smart Cable in the upper left of the above image. I love that cable. It lets me get on with what I want to do and sweat the details later. A bargain at twice the price.

When I first applied power, the floppy drive motor came on, but it didn't try to seek. I wasn't sure of the health of the drive (it's only been laid by for about 25 years now), so I went and pulled another old 48TPI drive that I had on hand. This shows that I was prepared--I didn't have to look for the right box in the garage for two days then give up and pull one out of another system.

I set the drive select on it, double checked my cable and connections, and this one worked. I took another look at the original floppy. I discovered that I'd missed the jumper on the drive setting by one. I had it set to "Drive Select 1" rather than "Drive Select 0." The system expects to find its boot floppy at Drive Select 0, which is Drive A in CP/M by default.

So I modified the floppy cable to take out the twist that they put in for PCs so that you don't have to muck around with drive select jumpers, and hooked up the second drive. Now I had a two drive system. Woo hoo! Now we're cookin' with gas!

The whole system, working like a champ. Now to find a box to stick it in.
The Ampro Little Board Plus with Two Drives, Running CP/M and ZCPR3. Welcome to the Future.
Once I saw that things were working, I called my kids away from their multi-gigahertz Intel Core 2 Duo Macintoshes to come have a look at a "real computer." I'm always curious how this stuff looks to kids who've grown up in the modern day and age. Their first computers were HP9000 Unix workstations purchased surplus from a local university about 10 years ago. They each had one, they used the command line to play a MUD, and their favorite X11 app was Neko. A few years later they got upgraded to Apple Macintosh G3s, old at the time but new and exciting to them. The catchphrase was "Yay, we've got iTunes!" Now they're on Mac minis. The older one was playing with Blender doing 3D animations while I was figuring out my floppy drive problems, the younger one was uploading a website she created about pandas using ftp.

They thought the system was pretty cool. I told them what each IC on the Ampro board did (try that on your current system!) and how the system worked with the terminal. Then I ran a disk format and let them watch the floppy drives move their heads and spin the disks.

They asked me how the disk worked, and I explained how the data gets laid down, why the head moves far enough that you can actually see it move from track to track, and so on. They were amazed when I pulled the disk out. "It's all mechanical!" They were expecting me to type something and have the disk spit out of the drive automatically. When I reached over, flipped the handle, and pulled the disk out by hand they were amazed.*

The younger one thought the drives would take both 5-1/4" and 3-1/2" disks. I realized she thought the cutouts for the finger relief were cutouts to allow a different size disk to be inserted, and showed her that it was just for fingers, I'd need a different disk drive for a different size disk.

They then got to watch me make a copy of my system disk. Tick-tick-tick-tick went the head. I called off the sides and tracks to them as the drives worked.

Then I put them both on the spot.

"How much data do you think is on this disk?" I asked.

The younger one bit first. "About half a gigabyte?" she said.

The older one's face showed that she didn't think much of her sister's guess. "...or less?" said the younger, looking for a save.

"How much do you think?" I asked the older one.

"About a hundred megabytes," she said. I managed not to laugh. It reminded me of the time I pulled out a turntable and put on a 45 several years ago when they were younger. While the song was playing they asked me, "How many songs does it hold?"

When I said the floppy disk holds 360 kilobytes tonight, they had me verify for them what order of magnitude a kilobyte was. Then they looked very thoughtful.

We wrapped up with me showing them some utilities and giving some demonstrations of how a terminal differs from a keyboard and display directly on the computer.

I'm really pleased to have this system up and running. Next steps are to find it a temporary box to live in so that a 50,000 volt cat doesn't fry things (and so that we can go back to eating dinner on the dinner table.) Then I'm going to see about getting a hard disk on it and load up the hard disk with all my favorite stuff (Wordstar, FTL Modula-2, Trek, and so on.)

*This just goes to show how it's novelty that makes things seem special, not what it actually does. I'll never forget the Mac and converted Lisas spitting out 3.5" disks automatically and how cool it looked back then (as well as how stupid it seemed from a practical standpoint of someone who was going to be damned if he was ever going to ask a computer to pretty please give the disk back.)