I. Introduction

sim990 is a simulator for the TI 990 computer. It supports the TMS-9900
and TI-990/10 instruction set with interrupts. TILINE and memory mapping
have been added in this version.


II. Build sim990

Lunix/Unix:

$ make

The make attempts to figure out which system to make for using uname.

WinBlows:

$ nmake nt


III. To run sim990

$ sim990 [-options]

Where options are:
   -c configfile - File from which to read configuration information.
                   The command format is the same as command mode.
   -m model      - CPU model, model = 4, 5, 10 and 12.
   -p            - Run in Panel mode.
   -r file.rom   - Rom for high memory, default ti990[model].rom.
   -s memsize    - Size of memory in bytes (can use K and M, eg. 256K).

In command mode the simulator commands are:

   a = attach device, syntax: a device devaddr intlvl [device.file|device.port]
   b = boot from device, syntax: b[n] device
   c = clear breakpoint
   d = display memory, syntax: d location
   g = go (run program)
   h = help
   k = set breakpoint, syntax: k location
   l = load program, syntax: l[n] [loadaddr] object.file
   m = modify memory, syntax: m newvalue
   n = display next memory location
   p = set pc, syntax: p location
   q = quit the simulator
   r = reset the system
   s = single step program
   w = set workspace pointer, syntax: w location
   z = toggle panel mode

Where:
   device      = ci - console input
		 co - console output
                 p  - printer
		 fn - FD800 floppy, n = 0-3
		 cr - card reader
		 vn - 911 VDT, n = 0-3
		 dn - TILINE DISK, n = 0-3
		 mn - TILINE TAPE, n = 0-3
   devaddr     = device address.
   intlvl      = device interrupt level.
   device.file = file to be associated with non-VDT device.
   device.port = TCP port to be associated with VDT device.
   location    = memory location.
   newvalue    = contents of displayed memory replaced with value.
   object.file = file containing 990 object.

All numbers can be in either decimal for hexadecimal. Hexadecimal numbers are
indicated with a beginning greater than (>) sign. The 'n' for the boot and load
commands means do not start. This allows you to set breakpoints, etc.


IV. How to run the FORTH system

The supplied FORTH system disk, forthsys.dsk, is based on the 1983 version of
fig-FORTH. There is also a data disk, forthdat.dsk, that contains several
screens.

To run FORTH interactively:

   $ sim990

   TI 990 Simulator 1.3.4: Model 990/4

   :a p >40 4 print.out
   <attached device display>
   :a f0 >80 7 forthsys.fpy
   <attached device display>
   :a f1 >80 7 forthdat.fpy
   <attached device display>
   :b f0

   9900 FORTH 1.0.0

To run FORTH using a configuration file:

   $ sim990 -c forth.cfg

   TI 990 Simulator 1.3.4: Model 990/4

   9900 FORTH 1.0.0

The configuration file, forth.cfg, contains:

   a p >40 4 print.out
   a f0 >80 7 forthsys.fpy
   a f1 >80 7 forthdat.fpy
   b f0

To terminate you enter the command break character CTRL-E, which puts the
simulator back into command mode, and enter the "q" command to terminate.


V. Known problems/limitations

1. The memory mapping code seems not to work with the DX10 IPL. 
2. The TILINE Disk/Tape hasn't been fully debugged.
