tommythorn / virtual-nascom

SDL-based Nascom 2 emulator
GNU General Public License v2.0
11 stars 8 forks source link
basic emulation emulator nascom retrocomputing sdl2 z80

Virtual Nascom, Version 2.0, 2020-01-20

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.

INSTALLATION

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

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:

All serial output is appended to serialout.txt which may be fed back in on a subsequent launch via the -i option.

CREDITS

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

SOMETHING DIFFERENT

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.

TODO

KNOWN ISSUES