The Nascom-2 microcomputer
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).
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.
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.
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 .
The picture shows the computer in its 'home' configuration. It still included 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 for bellringers, 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.