Sad end of my Z-80 era.

My first electronics job right out of TSTI (TSTC/Waco) was to work for Tandy Computer Assembly in San Antonio, Texas. They were putting together the Radio Shack TRS-80 Model 4 computers when I arrived, and production was in full-swing. My first months of the job was working in 'the back' which had a sign over the entry "Engineering". Actually, the engineering group was to the right as you came into the cavernous and claustrophobia-inducing board repair area. We spend days back there; they'd bring a box full of Model 4 boards to your desk, which was equipped with two screens, a 20MHz oscilloscope, and a Weller soldering station. Each board had a while 8-1/2 by 14" card with it describing all the test areas it had been through, and what area it had fallen out of with a scribble of the error the board produced. We'd pry the Z-80 microprocessor off the board, slap the 40-pin ribbon cable into it (which was a TRS-80 Model III board which had been massively modified to map the UUT into the upper 48K in chunks). The tester would allow you to hit various keys to run rom checksums, ram tests, video tests, and so forth. We would find the lead short or broken trace, or in some cases we'd just throw out all the PALs and 64k x 1 rams and start over from scratch. No telling how many good rams hit the trash cans, but we had to get those rascals through the burn-in area if they were to ever make it out the door. I had this one board that kept coming back to my desk - my personal Albatross - during wave solder, the lead trimmer blade had contacted the board and cut all the databus lines like a divot in a golf course. I had rebuilt the databus from Kynar wire-wrap, but because it now had these fabulous RF antennas on them, the board would frequently fail when it was re-installed and sent to burn-in. I don't know what ever became of it, I just hoped it failed enough times that someone surreptitiously  gave it a trip to the dumpster. I guess all those boxes of unfinished Model III boards and suspect Model 4 boards went to the Fort Worth auction when they shut down that product line, I sure would love to have taken a few of the Model III boards to the house.

About 15 years ago, I came across a Z-80 single board controller, not really a 'computer' per-se. It had 2K of ram, sockets for 12K of 2732 eproms or whatever rams you could socket on them (2k x 8 typically). I build this one into a really nice case, which is for sell as of this writing:
https://www.ebay.com/itm/163237029699

I thought everyone would dog pile to get this, but I guess most Z80 folks are out of the business. Understandable. I have two more of the CPU boards that this one uses, so I wonder if they'll sell at all. Now it has me kind of worried; I thought there'd always be a pretty good market for hobbyists, but I guess I'm wrong.

Anyway, a while back I started teaching myself programming from books; first several books on Ansi C (Power C, Borland Turbo C) and finding both of those programs pretty easy to come by, then inched up to Borland C++. I did quite a few graphics with this - even found a decent DOS computer to run them on when I wasn't running DoxBox, but upgraded to Dev C++ and finally to an older version of Microsoft C++ (which was free, and the huge manual was $3.50 US or thereabouts).

Now while the Z-80 can do some pretty good straight-forward tasks, the boards I have in particular are extremely limited. Even with a ton of I/O that it has, you really need a sizable memory area to contain text for human interaction, or at least keep the task to the complexity level of the board. The biggest draw-back is my boards don't run CP/M, which was the predecessor to DOS. They require hardware to be able to overlay the necessary boot up rom with ram. In itself, that's not a hard thing, but I tried to add some expansion boards to it, and about the time I got something hand-wired and working, I was tired of it.

I spent literally months of lunch breaks and evenings taking the source code from Nascom BASIC 4.7 by Microsoft, cleaning up and organizing the code into I/O, floating-point math functions, string, and BASIC run-time interpretation. Understanding what the code was doing and DOCUMENTING each line along the way also took a lot of time, but it made the porting of BASIC possible. I removed the Nascom video-hardware-specific code and replaced everything with calls to the RS-232 serial code. I also added the feature of being able to input and output integers as hexadecimal into the BASIC programs. I set up I/O function calls within the code, and placed the hardware serial I/O code at the very end of the 8K BASIC Rom. This way, the source assembly code could be changed easily to fit just about any CP/M or Z-80 board around. And I posted it on my website as BASIC 4.7B (c) Microsoft. Next thing I knew, it was showing up in everyone's little projects - their demonstrations always had the dead giveaway screen with the Microsoft BASIC Version 4.7B. They managed to strip my name out of the code, of course but didn't take time to realize the original Nascom was version 4.7, no stinking A or B or anything else. So, when I saw a "B", I knew it was the one I created. While BASIC works pretty good on my particular boards, it could not hold a very big program at all. Frankly, I never did enough experimentation with my cassette save board and program to get it working. At the time, most everyone was already running CP/M from CF drive cards anyway - the point was pretty much only for nostalgia and not much else. About that time, I came across the Multibus Z-80 processor board BLC 80316. I found that after a quick perusal of the schematics and manual, in about 10 minutes I ported the same BASIC over using its serial I/O for console and display, burned the eproms and went to work. This was about 2015, and although I did a few things with it, my main purpose for playing with the Z-80 boards was pretty much gone. 

At about the same time, the Papilio FPGA landed on my doorstep, which uses an Arduino programming environment with a software 'processor' (if you understand how that is implemented in FPGA fabric). It wasn't long after that I got my hands on the TI Launchpad and Energia, so I've been working with that for most of my projects.

Soooo with that said, I guess my days of flipping bits, writing programs in Assembly and all that stuff are probably fading. It's been good fun, but I've got other projects in the works so I imagine I'll start putting all my stuff up for sale.

Best wishes & thanks for reading. ~joel



Comments