Nascom 1 Emulator
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 |
| L |
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 :-
-
Lucien Stevens (who provided the ROM images)
-
Peter de Vroomen
Paul Robson
|