Yes before the Raspberry Pi we had computers of all sorts. As a radio amateur I had some experience of using a microprocessor for an application. It was the 80s and RTTY was in great favour. This usually meant acquiring a teletype machine. Which the post office of the day was dumping in large quantities. These were hernia-inducing electro-mechanical machines weighing the best part of 50kg.
They also only ran at 50 Baud. Most radio amateurs were already running at faster speeds. And ASCII was just 'allowed' so long as it wasn't faster than the Posts and Telecommunications could read! So 300 bits per second of 7 bit ASCII. Packet Radio was just around the corner.
On my return from the UK with a ZX81 I unwisely mentioned this on the Johannesburg repeater. Being told that this was just a toy incapable of doing much. I should buy an Apple which could do much more. At this time CP/M personal computers were flooding the market with reasonably priced models. Much lower cost than the Apple II. With inexpensive software and adequate performance they were taking the word processing and spreadsheet market by storm. The Z80 versions were also quicker than the 8080 versions. Hard disks were starting to become available. I know you will laugh when I tell you the size of 5 Megabytes was considered enormous by us then.
So onto this scene came the low cost ZX81 later the Z80 based 'Spectrum'. Both had reliability 'issues' with the back connector. Which always seemed to fail at the worst possible moment. But onto this connector could be plugged all sorts of 'peripheral' cards/adapters.
As I was working at a company that had just invested in an 8080 development machine, I started taking an interest in the microprocessor. This unit had an EPROM programmer as part of the front keyboard and screen. This allowed you to write an assembler program [in 8080 code] and program the EPROM with the code. Hang on! How was I going to write for the Z80 based ZX81? ...
Well it wasn't easy but the assembler would allow 'define byte' inserted into the code. This is where I was exposed to 'code compatibility' in no uncertain terms. The Z80 had literally grown out of the INTEL 8080. Because the founders of Zilog had left Intel and designed the Z80 as 'replacement' for the 8080.
So the majority of the instructions were applicable to both processors. The assembler would produce a program that would run on the Z80 without problems.
With the help of a friend and colleague I programmed the ZX81 by hand. Wrote the program into an EPROM and took it home to try it...every night!
This 'project' taught me everything about the hardware interfacing with the software writing that forced me down a path I had not considered. I learnt how to set up the 8251 UART for 5 bit operation [Baudot]. I also learnt how to read and write to the registers and memory. It took a month but I did demonstrate it working to the Rand Amateur Radio Club. This used the TV screen and the ZX81 'listening' to a cassette tape of a RTTY transmission.
I still have the sterilisation lamp I bought to erase the EPROMs. It is in the garage. I used to test the program I had written and erase the ones from the previous night. Then sit down with the Z80 Assembly Language Programming book by Lance A. Leventhal and pencil in the next bit of the program. I still have the book.
The wires went to the PCB connector which was cut to size and a key added to ensure I didn't plug it round the wrong way. The 8251 is above the 5 Volt regulator heat sink. The crystal is the baud rate generator crystal with a DIP switch to set the required baud rate. As time went by I added another 2k of RAM as well as some 8 bit parallel ports.
I don't think I could wire it up these days!
A more complete picture with the connector/extender. Oh yes there was all sorts of possible expansions.
Later there were Z80 Assemblers and EPROM programmers. But this was 'hand-crafted'. The EPROM is missing probably somewhere amongst the EPROMS I still have somewhere! The program listing? I know I wrote it all into an exercise book. But again it is somewhere - to be found later...
73 ZS6WL John Brock
No comments:
Post a Comment