This is a version 2.0 of Virtual Nascom, yet another Nascom 2 emulator. There's emulation support for all(?) of the standard hardware and it runs nearly all of the software on the nascomhomepage.com (see KNOWN ISSUES below).
Version 1.9 switches from a (partially broken) X Window specific implementation to portable and more more robust SDL implementation. It also gained basic serial port support in the process.
Version 1.10 adds support for "natural" keyboard, that is, US keyboard events are translated into the equivalent Nascom keycombination.
-
Homepage: http://www.nascomhomepage.com
-
Git repository: http://github.com/tommythorn/virtual-nascom.git
Virtual Nascom should compile on all platform with SDL support, but has only been tested on macOS (10.12.4 and older) and various Linux versions.
Virtual Nascom depends on SDL2. For Ubuntu sudo apt install libsdl2-dev
suffices.
To compile you may have to adapt the Makefile with the libraries you need and their path, but generally it should be enough to simply run
$ make
Usage: ./virtual-nascom {flags} [NAS files]
-i <file> take serial port input from file (when tape led is on)
-m <file> use <file> as monitor (default is nassys3.nal)
-v verbose
Virtual Nascom expects to find nassys.nal
(unless you changed the
monitor using the -m
option) and basic.nal
upon startup. You can
add files to be loaded by providing them as arguments at the end of
the line.
For example to run Pac Man, run
$ ./virtual-nascom programs/e1000/pacman.nas
and type E1000
in the Nascom 2 window. Control with arrow keys.
The emulator conveniently dumps the memory state in memorydump.nas
upon exit so one might resume execution later on.
The following keys are supported:
- END - leaves a screendump in
screendump
- F4 - exits the emulator
- F5 - toggles between stupidly fast and "normal" speed
- F6 - force serial input on
- F9 - resets the emulated Nascom
- F10 - toggles between "raw" and "natural" keyboard emulation
All serial output is appended to serialout.txt
which may be fed back
in on a subsequent launch via the -i
option.
A very crucial part of Virtual Nascom is the excellent Z-80 emulator from Yaze, Copyright (C) 1995,1998 Frank D. Cringle.
Thanks to Dene Carter for encouragement Thanks to Alan Cox for the pixel doubling
This repo includes a quick hack at a repackaging the Nascom font as an BDF file, for use in X11. Example usage:
$ cd BDF; mkfontdir; xset +fp $PWD; xset fp rehash
$ xterm -bg '#000' -fg '#0F0' -fn '-tommy-nascom-medium-r-normal--16-160-72-72-c-80-iso8859-1'
and enjoy the nostalgia :)
Known issues: should only be ~ 14 pixels tall, only the ASCII subset works, ~ and # looks funny, but that's Nascom.
-
Reconsider the name
-
Clean up code and document; improve UI
-
Allow for switching input and output file while running
-
Precise timings (a rough, but machine independent job should be easily done)
-
Emulate sound (requires precise timings)
- Galaxy Attack doesn't work on Virtual Nascom. As it does work on VNASCOM it must be an emulation bug.