Version 1.9
[virtual-nascom.git] / README
blob1db9bd77de87109b37135b206dd1464c239ae10f
3                             Virtual Nascom
5                     A Nascom II emulator/simulator
7                        Version 1.9, 2009-11-21
9                             by Tommy Thorn
11                homepage: http://www.nascomhomepage.com
12         git repository: http://repo.or.cz/w/virtual-nascom.git
16 This is a version 1.9 of Virtual Nascom, yet another Nascom II
17 emulator. There's emulation support for nearly all the standard
18 hardware and it runs nearly all of the software on the
19 nascomhomepage.com (see KNOWN ISSUES below).
21 Version 1.9 switches from a (partially broken) X Window specific
22 implementation to portable and more more robust SDL implementation. It
23 also gained basic serial port support in the process.
26 INSTALLATION
28 Virtual Nascom should compile on all platform with SDL support, but
29 has only been tested on Mac OS X 10.5.7, Mac OS X 10.6.2, and Open
30 SUSE 11.1/AMD64.
32 To compile you may have to adapt the Makefile with the libraries you
33 need and their path, but generally it should be enough to simply run
35   $ make
39 USAGE
41 Usage: ./virtualnascom {flags} {commands}
42            -i <file>       take serial port input from file (when tape led is on)
43            -m <file>       use <file> as monitor (default is nassys3.nal)
44            -v              verbose
46 VirtualNascom expects to find `nassys.nal' (unless you changed the
47 monitor using the `-m' option) and `basic.nal' upon startup.  You can
48 add files to be loaded by providing them as arguments at the end of
49 the line.
51 For example to run Pac Man, run
53   $ ./virtualnascom programs/e1000/pacman.nas
55 and type E1000 in the Nascom II window. Control with arrow keys.
58 CREDITS
60 A very crucial part of Virtual Nascom is the excellent Z80 emulator
61 from Yaze, Copyright (C) 1995,1998  Frank D. Cringle.
64 TODO
66 - embed the monitor and basic images into the binary
68 - rpm and pkg installations
70 - update sdk to forgo warning on MacOS
72 - UI:
73     allow for switching input and output file while running
74     support pixel doubling
76 - snapshot and resume complete machine state
78       vnascom -s <state>
80     resumes the state in <state> and saves the new state upon exit
81     (unless explicitly aborted). The previous state is renamed to
82     <state>~ to keep a backup.
84     UI: take snapshot, reset, abort, revert
86 - Precise timings
88   A rough, but machine independent job should be easily done.
90 - Complete the keyboard emulation
92   Currently we try hard to map keys to nascom keys.  This has some
93   problems as shift goes to shift, e.g. when you press Shift-2 to get
94   @, Nascom will actually get 'shift' '2' and make the '"'
96   Doing a more standard emulation will loose the possibility of
97   emulating shift keys.  Ideally, there should be an invokation flag
98   to chose between the two ways of doing it as it really depends on
99   the application.  Most won't need the shift event.
101 - Use autoconfigure
103 - Emulate sound
105   Requires precise timings.
107 - Complete hardware emulation
109   Check other ports that require emulation
111 - Internal structure
113   The current organisation is a bit of a quick hack, but it works
114   fairly well.
116 - Screen: Are Nascom characters really 16 pixels high?
118 KNOWN ISSUES
120 - Galaxy Attack doesn't work on Virtual Nascom. As it does work on
121   Constantin's Nascom emulator it must be an emulation bug.