Nascom (computer kit)


The Nascom 1 and 2 were single-board computer kits issued in the United Kingdom in 1977 and 1979, respectively, based on the Zilog Z80 and including a keyboard and video interface, a serial port that could be used to store data on a tape cassette using the Kansas City standard, and two 8-bit parallel ports. At that time, including a full keyboard and video display interface was uncommon, as most microcomputer kits were then delivered with only a hexadecimal keypad and seven-segment display. To minimize cost, the buyer had to assemble a Nascom by hand-soldering about 3,000 joints on the single circuit board.
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.

Documentation

The Nascom 1 and Nascom 2 were supplied with full documentation including circuit schematics, construction guide, datasheets for some components and assembly listing for the ROM monitor. An annotated disassembly listing of the Nascom 2 Microsoft ROM BASIC was published and the code was subsequently re-purposed in retrocomputing projects such as Grant Searle's Multicomp and Spencer Owen's RC2014. The source code can now be found on Github.

Hardware

The Nascom 1 and Nascom 2 hardware designs had these features in common:
The I/O address map was common between the Nascom 1 and Nascom 2 designs, and the memory address map of the Nascom 2 was a superset of the Nascom 1 memory address map; this allowed a high degree of software compatibility between the two machines.
The Nascom 1 was implemented entirely using off-the-shelf integrated-circuits and other electronic components. The Nascom 2 used 4, 16-pin bipolar PROMs which acted as glue logic for decode functions.
The Nascom 2 had these additional features that were not present on the Nascom 1:
The I/O address map was decoded as follows:
I/O Port addressFunction
0x0 Read keyboard state
0x0 Control keyboard, control single-step logic, control "DRIVE" LED
0x1UART Data
0x2UART Control/Status
0x3Unused
0x4Z80-PIO Data Port A
0x5Z80-PIO Data Port B
0x6Z80-PIO Control Port A
0x7Z80-PIO Control Port B

On an unexpanded system, these 8 ports were repeated through the whole of the I/O address space. On an expanded system, the bus signal /NASIO allowed control of the I/O address space.
The memory address map was decoded as follows:
AddressNascom 1Nascom 2
0x0000-0x07FFMonitor
1 or 2 1Kbyte 2708 EPROM
Monitor
2Kbyte ROM or 2716 EPROM
0x0800-0x0BFFVideo RAMVideo RAM
0x0C00-0x0FFFWorkspace RAMWorkspace RAM
0x1000-0x1FFFDecoded on board. Usually used for RAM
0x2000-0x2FFFDecoded on board. Usually used for RAM
0xB000-0xBFFFDecoded on board. Usually used for EPROM
0xC000-0xCFFFDecoded on board. Usually used for EPROM
0xD000-0xDFFFDecoded on board. Usually used for EPROM
0xE000-0xFFFFMicrosoft 8Kbyte ROM BASIC

Keyboard

The keyboard used Licon keys in a matrix arrangement which was scanned under software control. The Nascom 1 had 47 keys. The Nascom 2 had 10 additional keys.

Video Display

The display of the Nascom 1 and 2 was memory-mapped and consisted of 16 rows of 48 characters. Each row of characters used 64 consecutive memory locations; the extra 16 characters in each line were "hidden" by the video blanking circuitry.
Scrolling was implemented under software control. Due to an idiosyncrasy of the video memory decoding on the Nascom 1, the lines were decoded discontiguously, with the top line of the display being the 16th region of memory. The top line was not scrolled, except by the NASCOM CP/M implementation.
The Nascom 1 used a MCM6576P character generator to display 128 characters. The Nascom 2 used an identical character set but implemented it in a ROM that was footprint compatible with a 2716 2Kbyte device. The Nascom 2 allowed a second character generator ROM to be fitted . The so-called NAS-GRA ROM was used to display characters with the byte codes 0x80--0xFF. The built-in Microsoft BASIC interpreter could use these graphics to create a crude, blocky 96×48 graphics display.
The design of the video display required that the CPU and the video circuitry shared access to the video RAM. If the CPU and the video circuitry accesses the video RAM simultaneously, the CPU was given priority and the video circuitry would read incorrect data. On the Nascom 1 this gave rise to white flicker on the screen that was termed "snow". The International Nascom Microcomputer Club published a "snow plough" design that reduced the effect by blanking the video when simultaneous access occurred. The Nascom 2 used a slightly different design but still allowed contention to occur, this time giving rise to black flicker on the screen.

Software

Initially, software was made available either on cassette tape or programmed into one or more EPROMs.
The predecessor of Borland's very successful Turbo Pascal compiler and integrated development environment for CP/M and DOS was developed by Anders Hejlsberg of Blue Label Software for the Nascom 2, under the name Blue Label Software Pascal, or BLS Pascal.
In 1979 the Nascom 2 came with an onboard ROM with early Microsoft Basic 8k interpreter. The manual was a Brown Padded loose leaf ring binder.

Expansion

Nascom defined an expansion bus, named NAS-BUS, allowing many other cards to be added to the Nascom. The Nascom 1 required a buffer board to generate the NAS-BUS; the buffer board was connected to a 43-way 0.1" pitch tinned edge connector on its PCB. The Nascom 2 generated the NAS-BUS directly on an 80-way 0.1" pitch gold-plated edge connector on its PCB.
NAS-BUS was initially proprietary but quickly superseded by the 80-bus. The standard size for these cards was 8"x8" in order to fit in a "standard" 8" rack. However, some boards were produced in other sizes. Other manufacturers produced their own 80-bus CPU boards, which allowed an entire non-Nascom system to be built. Gemini 80-bus systems were, for a while, used as an industrial process controller. British Cellophane used several to continuously monitor thickness gauges attached to plastic sheet production lines. An 80-bus compatible network card enabled both Nascoms and Geminis to be used in office environments.

Miscellaneous

In the early 1980s, the name of the town of Kenilworth was used by one of the first generation of computer retailers, a company called Kenilworth Computers based near the Clock Tower, when it released a version of the Nascom microcomputer with the selling point that it was robust enough to be used by agriculture.