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 talkThat 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…

Our position

  

Next Section: Love Affairs...

  1. 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 !! 

  2. There is an archive of Wireless World and successor titles from 1911 to 2008 

  3. You could only sell computer kits to an electronics hobbyist market !! 

  4. 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”) !! 

  5. … and +12v during programming, although the Nascom 2 had no ability to program… That was a later project for me… 2708 data sheet 

  6. And the version in the library is the later CP/M I/O version… 

  7. Although Forth will perform very similar functions, the Register Display is sometimes used without the Forth system running 


Updated: 30th April 2022 by David Husband
© 2021 David Husband, a.k.a. Baremetal Engineer Extraordinaire
All Rights Reserved – All Trademarks & Copyrights Acknowledged
All personal information is subject to the Data Protection Act 2018 & the UK GDPR
“ad auxilium aliis ad auxilium sibi”