Nascom 1 Emulator

Written by Paul Robson August 1998. Last updated 22nd August 1998.


What is a Nascom 1 ?

The Nascom 1 is a single board Z80 based microcomputer from the earliest days of computing history. It could perhaps be regarded as the poor man's Pet, Apple or Tandy - when those were the only home computers available providing a proper keyboard and display (for £ 400 plus !) the Nascom 1 at £ 199 was a bargain. In its day it was a very popular machine (in the UK anyway) as perhaps the only affordable 'real' machine. There was an extensive review in Personal Computer World issue 1 and several programs printed.

It had 2k of Memory on board - 1k providing a 48 x 16 black and white display and 1k for user programs. There was also a 1k ROM Monitor providing facilities to write simple machine code programs, and a cassette interface largely implemented in hardware. Hardware extensions mostly involved adding more RAM or ROMs containing Basic.

Using the Emulator

The emulator is downloaded from http://users.aol.com/mk14emu/nascom1.zip

The emulator supports all the hardware of the standard Nascom 1 I know about - the keyboard and display, the cassette port and the hardware single stepping code. It has been tested on the Nas Sys 4 ROM (supplied) but also seems to work fine with the T4 ROM (also supplied).  However, the hardware has been mostly produced by reverse engineering the ROM images, so it isn't surprising.....

Everything is available in the distribution to allow the emulator to work ; there are a choice of two monitor ROMs. There is a configuration file (see the file for details of what it contains) and a special 6 x 12 font file to allow the Nascom Screen to fit correctly on a standard VGA Mode 13 display

The emulator is started by typing 'NASCOM' which boots the machine into the monitor selected in the configuration file NASCOM.CFG. By default this is the Nas Sys 4 monitor. The following keys are available.
 
F1 Reset
F10 Enter Debugger
ESC Quit
 
The tape data is read from a file called 'tape.in' and written to a file called 'tape.out'. These files should contain the standard tape format data as output straight from the NAS SYS Rom Image.
 

Debugger Feature

The emulator has a Z80 Debugger, available by pressing the F10 key. Its only major limitation is an inability to debug the single step feature of the Nascom 1. The following keys are available.
 
F1 Set Breakpoint
F5 View Display
F7 Step over procedure
F8 Single Step
F9 Run to break
ESC Return to emulator
Arrow keys/0-F Change Program (Data address with shift)

Nas-Sys Command List

The following commands are available on the NAS SYS Rom included. Many address values use a previous default e.g. Modify and Single Step :-
 
 
A xxxx yyyy Print sum, difference and offset
B xxxx Set breakpoint
C aaaa bbbb cccc Dumb copy of cccc bytes from aaaa to bbbb
D xxxx yyyy Memory dump to display/tape
E aaaa Execute
G aaaa bbbb cccc Write tape data, create an 'autoexecute tape'
I aaaa bbbb cccc Intelligent copy (see C)
K n Set shift lock/caps lock/inverse
Copy keys to tape 
M nnnn Modify
N Set default i/o routines
O pp dd Output dd to port pp
Q pp Query port pp
R Read from tape
S eeee Single step
T aaaa bbbb Memory dump from aaaa to bbbb
W aaaa bbbb Write to tape memory from aaaa to bbbb
X Haven't figured it out yet
Z xxxx Set new monitor command table
? Display available commands.

Is there any software available ?

Well, I haven't got very much. The distribution is what I have, the T4 and Nas Sys monitor ROMs. However, I remember that there was a lot of software available for this machine - programming languages, assemblers, games etc. Anyone who has anything to offer, please email me.

Credits

Many thanks go to the following :-

Paul Robson