The Nascom-2 microcomputer
Background
In 1979 I first rang with a ringing simulator .
It was built by Peter Cummins from discrete logic, and had to be set up using switches to input binary numbers! At the time,
microcomputers were appearing, and I decided that would be a better way to build a simulator. One of my colleagues had a
Commodore PET , but since it cost £700 I decided it was too expensive.
Instead I bought the Nascom 2 in kit form and built everything myself. The kit included the keyboard, computer board and
power supply board – no case, no peripherals, nothing else. In fact I was lucky, because at the time there was a shortage
of 8k static RAM chips, which was the main on-board memory, so they included free a 16k dynamic memory card and a 2-slot
backplane to connect it to the main card (but no card frame).
Initial build
Having got the kit, I had to:
- Build the kit. – This was fairly straight forward, though I had to send it back for rectification of some faults
on the circuit board.
- Acquire a display. – This was a small portable black & white TV
- Acquire a cassette tape recorder to store programs. – I soon found that the distortion on cheap machines corrupted
the signal, especially the ones with automatic gain control for recording. The one I bought had variable gain, and was
chosen to be a shape that would conveniently be built into the case.
- Design and build a case. – I was lucky that odd shaped bits of sheet metal regularly appeared in the scrap metal
bin in the workshop at work. The case is built around the main box, which contains the card-frame guides. It was a 4-card
rack (processor, memory, sound, +spare).
- Design and build a card for sound and input/output. – At the time, most computers did little more than beep,
but I was building mine as a ringing simulator, so it needed to make (fairly) realistic bell sounds, with correct notes.
The card I designed used thee 3-channel sound chips. Each channel had controllable frequency, volume and decay time, so
one chip could replicate the first three of the partial frequencies in the complex sound of a bell. I needed to generate
the sound of more than 3 bells, but by allocating the chips in a cyclic manner, I could allow the decaying hum of the
last three bells to keep sounding before one of the chips had to be re-allocated to the sound of the next bell to strike.
The input-output circuits would allow me to plug in two dummy handbells so that I could ring them, and the machine would
make the sounds of all the others at the appropriate times.
- Design and build various other circuits. – Several other bits and pieces were needed, including reset switches
and pre-start for the tape, inputs for the dummy handbells, sound output and volume control. I also arranged that the
tape recorder could record and play the generated audio as well as data.
- Write some software. – The machine ran a program to display ringing changes (to amuse the kids) at Christmas,
before the case was complete.
Development
Things didn't stand still. These were the main developments:
- Display – The TV quality was poor because the signal went through the aerial socket, so I wanted a monitor with
direct video input. The cheapest I could find was a second hand 9" unit with no case, so I designed and made a cast
to fit, complete with cable stowage on the back, and a pull-out handle on the top that was flush when not in use.
- Storage – Storing programs on tape was tedious in the extreme. A colleague at work acquired a batch of
5.25" floppy disc drives for £25 each and I bought two. I bought a disc controller card for the NasBus (by
now re-named the 80-bus) and plugged it into my spare card slot. The discs needed a power supply, so I designed and built
one that fitted along the rear plate of the case I designed to hold the drives. The rear plate was the heat sink, and
also included a pull-out handle for carrying.
- Operating system – The disc controller came with a simple disc operating system, and also with a video driver
that increased the screen resolution. That was the stimulus to start adding extra facilities and tweaks.
- Printer – I soon realised the need for a printer. Rather than buy the cheapest, I bought one with graphics capability,
an Epson MX-II dot matrix printer. It cost over £400, which was more than I had spent on the original kit (but not
more than the total spend to date).
- More memory – I could have doubled the capacity of my 16 kbyte memory card by adding another 16 chips, but when
64k bit dynamic RAM chips came out, I realised that I could modify the card to take them instead of the 16k bit chips,
which I did.
- Non-volatile store – The main board still had its original 8 sockets for the intended 8k RAM sitting empty.
With very low current RAMs available, Someone published a scheme to install battery backed RAM in these slots. I added
the necessary circuitry, plus a switch to enable or prevent writing to the chips, and this gave me the ability to have
useful common software pre-loaded and ready at switch-on.
Other uses
Despite the single purpose for which I had built the machine, when I had it, it became more general purpose.
- Games – With small children, I naturally bought them a few games to play. One of them I had to modify, because
my eldest son discovered that the optimum strategy included hammering one key continuously, and I was worried about it
wearing out. The modification removed one bullet from the sky as soon as you shot the next one.
- Word processing – I bought WordEase, a word processor. It was very primitive compared with a modern word processor,
but it had the two key capabilities. The text could be repeatedly edited, and it provided 'copy and paste'. That was a
huge advance on anything I had used before – pencil, paper, rubber and crossing out for draft, and a typewriter
for production. This was more efficient for basic tasks like writing letters, and it also unlocked my desire, and ability
to write substantial articles. My first book was written using WordEase. (See more
books .)
- Forth – I was interested in simulating the real-time behaviour of a band of ringers, to explore how the overall
accuracy and stability of the ringing would vary not just with the accuracy of each ringer, but with the different strategies
they use to determine when to strike, in terms of what the other bells are doing. I realised that using Basic on such
a low power machine would not be fast enough to do this in real time. I had written quite a bit of machine code with all
the extras, etc, but this would be too complex to write in machine code. A colleague at work was a Forth enthusiast. Forth
is an unusual language with many attributes of a high level language, but with power not much short of machine code. I
bought NasForth. It worked OK, but wasn't integrated with the disc operating system. So I set about making it so, but
for reasons I never discovered, I met huge performance problems. So I never implemented any of the ringing models I had
developed on paper.
- Ringers and listening – I never got round to making dummy handbells to plug into my ringing program, but I did
develop it further to use as a training tool. It generated an error in the ringing, and the student had to diagnose the
error by ear, and then change the timing of the relevant bell to correct the anomaly. After the exercise, the program
shows the starting condition and the final condition (which might or might not have corrected the error). I used this
on many listening courses. When the Nascom finally died, I transferred the idea to a much enhanced program !Strike
for Risc-Os .
Picture
The picture shows the computer in its 'home' configuration. It still includes the tape recorder, though
that was no longer used for data storage after I added the disc drives. Notice the handle on the front of the machine. Everything
was designed to be portable (or luggable as we said in those days). There are pull-out handles on the back of the disc drive
and on the top of the monitor. For several years in the late '80s and early '90s, I used it when running listening courses,
with the precursor program that later evolved into !Strike for Risc-Os .
RIP – When the machine finally died, I didn't have the heart to scrap it, or even to salvage it for
parts, so it is wrapped up 'mothballed' in the loft.
Links