Sunday, 23 October 2011

My NASCOM-1 from 1978

Main board and keyboard - mounted back of 17inch rack
I built this NASCOM-1 from the ground up in the late 70s. I was an early computer 'hobbyist' in the UK. There were only a handful of us at the time, but eventually it grew to 100s, and then 1000s.

The main board took me over a year to debug until it worked properly. I then spent the next eighteen months adding various expansion boards and experimenting with programming in Z80 assembler, BASIC and FORTH.

I ported a Forth interpreter to this machine and still have the four (4) cassette tapes. (they are about to be 'digitally' archived) The original Forth kernel I 'found'. It was written in another assembly language (6502 but cannot be sure). I converted this Z80 code by hand (a few hundred lines), and then blew it onto an EPROM. That got me a Forth boot prompt. The rest of the Forth environment (hundreds more lines) I manually transcribed to the NASCOM, and then saved to cassette tape as an 'image' of the memory:  a complete environment. This I could load 'at will', a process that took about 2 hours. After that, I could 'code' in Forth.

Misspent youth? Yet it got me a career in computing.

Lots of space for add-on boards

The big question now is, three and a half decades later, will my NASCOM still boot? Need to find a tunable analog TV!  [My school friend Stephen has come to the rescue and with an old TV set belonging to his wife's father. If the NASCOM boots we will upload video and images here.]

Forth was (and still is) an interesting stack-based interpretative language. It is often used for 'embedded' applications, where I specialised in during the first years of my career. I may still have the original Forth kernel listings (on the wide listing paper of the era) in the loft. Must go find them. I have an old cassette tape recorder to play the aging images into the NASCOM via the home made TTY interface.  Will the quality of the audio on tape have degraded? Fun for another weekend.

View from the front - showing name "Myra"

The NASCOM I built has several add-on expansion cards in a rack, including a 64K RAM card. In the pictures below you can see front, back plane, keyboard, add on cards (ROM, RAM, interfaces), PSU, tape/serial interface and yes, its name, Myra. No idea where that came from. A school boy fantasy?

While I was proud of my Forth port, an obsessive labour of love, I never went as far as some of the other guys on the hardware side. Specifically, I would have liked to have built a floppy interface and moved away from tape. For some reason this never happened. Perhaps time run out, and I was off to university (physics).

I shall never understand why I did not read computer science at university. Perhaps it just seemed to be a 'hobby' Perhaps being good at a subject at school, in my case physics, led me in the wrong direction. I was heavily influenced by one inspirational physics teacher. But computing was where my head was. I ran the school 'computer club' from the age of 14, and we completed many interesting projects together as a team. After physics at university, I switched track just as fast as I could to ride the IT wave I saw coming. I owe everything I have - family, home, career, skills - to the rise of computing from the mid 80s to today. And I have been blessed to work in some truly interesting and challenging 'one of a kind' projects.

View of the PSU

Thursday, 20 October 2011

My NASCOM expansion boards

48K RAM board with EPROMs
EPROM board

Some details of the add-on boards in my NASCOM rack. I mounted the main board in a 19inch rack. A bus was constructed using veroboard. Onto this was mounted multi-pin connectors. There was space for five expansion boards. The boards slotted in from the front. The PSU was wired to the bus and from there to the NASCOM main board. A "buffer" board connected the expansion bus to the NASCOM main bus connector.

In the pictures below you will see the back of the one of the memory boards. This one never worked, due to timing problems. The community suggested various "hacks" involving capacitors, but the board never worked. It sits in the rack unconnected as a 'space' for memory chips. A replacement board had to be bought and built.

The EPROMs you see in the pictures below are:

- A dis-assembler and debugger
- Something called "NASPEN" (cannot remember what this was)
- ZEAP, a popular Z80 editor/assembler

I used ZEAP to port FORTH to the NASCOM. The debugger was essential.

My mind is playing tricks, for I remember having EPROMs for BASIC, and FORTH. The BASIC I bought on tape and transferred to EPROM (I think). The FORTH I ported from another assembly language and had on tape, and I think, EPROM.

The famous 'buffer' board between main and the expansion bus

This memory board never worked, despite the hacks
The serial I/O interface (cassette tape)