Well-worn Books...
Note:
There is extensive use of “Tooltips” text to support learning which do not seem to render on a Smartphone
Therefore this site is best viewed via a computer’s HD monitor
Previous Section: Baremetal Engineer Extraordinaire
In the beginning (nearly 50 years ago now)…
Important!!
I was inspired by just one sentence a man uttered during a talk… That man was Peter Martinez
Later, in 1977-9, I had been employed as an Electronic Technician 1 for a while and in any event I knew a great deal about hardware…
Microprocessors were a mysterious emerging new technology and in November and December of 1997, a magazine called “Wireless World” 2 published a couple of articles called “Microcomputer Design” by “Phil Pittman, B.Sc. in association with NASCO Ltd”
These articles were promoting a forthcoming Z80-based home computer kit 3 called the “Nascom 1”
The original Nascom 1 was designed by Chris Shelton. Shelton’s design work was outlined in a series of articles published between November 1977 and January 1979 by Wireless World magazine
At that time there was really only a choice between 2 microprocessors - the 6502 or the Z80
As I was an active “radio amateur” operator at the time (1977-1979) I knew a lot of my amateur radio compatriots were using a Nascom 1, so I was in the “Z80 Camp”…
My next-door neighbour and a fellow radio amateur, Glen G8GTB 4, had one and given it just had a “machine code monitor” and NOTHING ELSE other than a cassette tape interface to save and load the contents of memory onto a cassette tape machine, it was a major achievement to successfully run programs at all !!
Glen used to be forced to “hand assemble” Z80 code on sheets of paper
This was not trivial !!
- You needed to know and understand how the Nascom’s “Nas-Sys” machine code monitor cum operating system worked…
- You needed to understand the Z80 microprocessor, its instruction set and its registers…
- You needed to know the “how and why” of programming the Z80…
- You needed to know how to use all that new knowledge within the context of the Nascom’s software and hardware environment…
- And finally, you needed to come up with a starting project to implement…
Understanding and Using the Nas-Sys Machine Code Monitor
“Machine code is any low-level programming language, consisting of machine language instructions, which are used to control a computer’s central processing unit (CPU). Each instruction causes the CPU to perform a very specific task, such as a load, a store, a jump, or an arithmetic logic unit (ALU) operation on one or more units of data in the CPU’s registers or memory” Source: Wikipedia
“A machine code monitor is software that allows a user to enter commands to view and change memory locations on a computer, with options to load and save memory contents from/to secondary storage. Some full-featured machine code monitors provide detailed control (“single-stepping”) of the execution of machine language programs (much like a debugger), and include absolute-address code assembly and disassembly capabilities. Machine code monitors became popular during the home computer era of the 1970s and 1980s and were sometimes available as resident firmware in some computers” Source: Wikipedia
This was not trivial !!
The Nascom 2
The Nascom 1 kit was very popular and in due course Nascom announced the forthcoming replacement, the Nascom 2…
So I bought a Nascom 2 home computer kit…
It was a kit, but the keyboard was already assembled and tested… I also purchased the power supply offered…
In those days, the 2708 Eproms were “multi-rail” so you needed to supply -12v, -5v as well as the main supply of +5v 5
Very Important!!
For around 6 months I felt I was "banging my head against a brick wall"...
But I NEVER gave up, until one day something wonderful happened...
And after that happened, there was no stopping me…
By this time I was in love with Z80 Assembler
Learning about Forth
At work, I was working on a complex ATE Machine to test stepper-motor drives which used the Commodore Pet computer and the IEEE-488 bus
It was a complicated machine that used a custom figForth implementation running on the PET and loaded from cassette tape…
My senior colleague Alan became my friend and figForth mentor as I fell in love with figForth…
The SuperBrain QD
The home computer market/scenario was moving along very rapidly and after a long time actively using my Nascom 2 setup with the ZEAP assembler package and the NAS-DIS debugger, storing the source on a cassette tape machine, I realised this was not a platform for any serious software development…
I also decided I wanted to learn more and that in order to do that I should upgrade to a CP/M-based machine…
So I settled for a SuperBrain QD
This was a “state-of-the-art” CP/M machine with twin 340k floppy-discs and 64k of RAM… Hard discs were not yet in use at that time…
Important Note: No Hard Discs - No Networking
I used a set of software development programs called MACRO-80 from Microsoft to continue writing in Z80 Assembler and one of my first efforts was to start implementing the 8080 Forth Model 6
The Apricot XI
After a while, I moved on to using an Apricot XI which was a 16-bit machine with MS-DOS, 256k of RAM and a 10 megabyte hard disc
Important Note: Small Hard Discs - Still No Networking
I continued to use both machines, with files being transferred to and from the SuperBrain and the Apricot via a utility program called Laplink
My Most Important Lesson !!
So having the SuperBrain and the XI to use for all my computing needs meant that I never used my Nascom 2 system anymore and during a housemove I decided to dump it… I sooo regret doing that !!
Important Books !!
Important Note: Still No Networking - And No Internet (not for another 10 years)
So books were vital to learn from/with
All my favourite books were grubby and eventually fell apart
Programming the Z80 - Rodney Zaks
This was my number one bible for understanding the Z80 instruction set from page 189 onwards
You needed to know this in order to establish which instruction or sequence of instructions to use in order to achieve what you intended your program to do…
I bought my copy from Tandys in the UK
8080/Z80 Assembly Language - Alan R Miller
This is such a practical book with loads and loads of useful conversion routines that I have modified and still use today…
These are in Chapter 8, and include:
• Conversion of ASCII-Encoded Binary Characters to an 8-Bit Binary Number in Register C
• Conversion of ASCII Decimal Characters to a Binary Number
• Conversion of an 8-Bit Binary Number in C to a String of Eight ASCII Binary Characters
• Conversion of an 8-Bit Binary Number into Three ASCII Decimal Characters
• Conversion of an 8-Bit Binary Number into Two ASCII Hexadecimal Characters
My eZ80 Register display routine uses many routines I have derived from his book 7
And the book is STILL available on Amazon !
https://www.amazon.co.uk/8080-Z-80-Assembly-Language-Programming/dp/0471081248
All About Forth - MVP - Dr Glen Haydon
Available from the library
This was an “annotated glossary” of MVP Forth, but essentially very little difference to figForth
I found this book very helpful as a Forth reference during program development
Starting Forth - Leo Brodie
Available from here
Leo Brodie (an ex-Forth Inc employee) has a special gift !!
A fabulous book for learning about Forth in a light-hearted, humourous way…
Just remember this book is about Forth Inc’s own flavour of Forth, polyForth but the underlying principles are the same and the essential differences are very minor
Systems Guide to figForth - Ting
Available from the library
This is the seminal book on the internal workings and m.o. of figForth
It has evolved over the years and the latest version is free of any copyright limitations
This site makes use of it extensively and this site is intended to be the next step on from Systems Guide
About Copyrights…
Important Note: When something is freely available to download via the Internet, or the book is “out-of-print”, the practical issue of copyright is very moot…
Next Section: Love Affairs...
Around 1977 or 1978 and earning less than £4,000 per year gross (£80 per week) - Paid weekly as cash in a little brown paypacket !! ↩
There is an archive of Wireless World and successor titles from 1911 to 2008 ↩
You could only sell computer kits to an electronics hobbyist market !! ↩
I now realise how much I owe Glen in regards to my learning about the Z80 and machine code… Do get in touch (if you have not “expired”) !! ↩
… and +12v during programming, although the Nascom 2 had no ability to program… That was a later project for me… 2708 data sheet ↩
And the version in the library is the later CP/M I/O version… ↩
Although Forth will perform very similar functions, the Register Display is sometimes used without the Forth system running ↩