emu803
—
Elliott 803 emulator
emu803 |
[-V ] command_file
[file ...] |
emu803 |
[-i ] [-e
command_file] |
The emu803
is an emulator for the Elliott 803 Computer.
It emulates all arithmetic and logic operations and some of the peripherals.
A single script may be specified using the
-e
option.
The following options are available:
-V
- Display the program version on stdout and exit.
-i
- Enter interactive mode after all commands have been processed, this is the
default if no other arguments are specified.
-e
command_file
- Append the commands commands found in the file
command_file to the list of commands to be executed
at startup. The commands must each be listed on a separate line.
The output window is selected by using one of the function keys listed below:
- [F1] Punch 1
- Display the output of Punch 1 using Elliott to UTF-8 conversion.
- [F2] Punch 1
- Display the output of Punch 2 using Elliott to UTF-8 conversion.
- [F3] Teleprinter
- Display the output of the teleprinter Elliott to UTF-8 conversion.
- [F4] Console
- Display the results of console commands.
The following commands can be typed in the console window. Output is only
visible if the Console Window [F4] is selected.
- help
-
- ()?
- Display the list of console commands.
- exit
-
- (x)
- Exit emulation.
- list [ADDR [COUNT]]
-
- (l)
- Display “COUNT” memory words starting at
“ADDR”
- mw ADDR CODE|±DEC
- Write memory word to “ADDR”
- reset
- Reset all registers and stop execution.
- reset run
- Reset all registers and restart from location zero.
- run [ADDR]
- start running from “ADDR” or continue after a stop.
- stop
- Stop execution.
- regs
-
- (r)
- Display registers and and current execution status.
- hello [ADDR [1|2|3]]
- Load a simple hello world machine code program [4096 1]
- reader 1|2 [MODE] FILE
- Attach an existing file to a reader. Default mode is
hex5.
- punch 1|2 [MODE] FILE
- Create a new file and attach to a punch. Default mode is
hex5.
- wg [msb|o2l|lsb|CODE|±N]
- Set or display word generator.
- wait N
- Wait up to N seconds or for either a stop condition or for word generator
polling.
- screen 1|2|3|4
- Switch screen (as F1…F4) for use in scripts
The following environment variables affect the execution of
emu803
:
E803_TAPE_DIR
- A colon separated string of directories that are searches for tape files
for the “reader” command.
LANG
- The locale to use when for curses output must be set to UTF-8 to support
the wide characters used in this program. See
environ(7)
for more information.
TERM
- The terminal specified need to be one that is supported by the wide
character version of the ncurses library.
The emu803
utility exits 0 on success,
and >0 if an error occurs.
Load the internal machine code hello program:
reset
hello
screen 1
run 4096
Load the demo Algol60 hello program:
reset
reader 1 a104-tape-1.hex5
reset run
wait 5
reader 1 a104-tape-2.hex5
wg +0
wait 5
reader 1 elliott hello.a60
wg -1
wait 5
screen 3
wg +0
Load the demo H-Code hello program:
reset
reader 1 h-code-compiler.hex5
reset run
wait 5
reader 1 elliott hello.hc
run 512
wait 5
screen 1
run 513
Christopher Hall hsw@ms2.hinet.net
Function 56 “Divide A/AR by N” is not fully tested and its
overflow conditions is not likely to be correct. Currently it will only
overflow on division by zero.
The plotter is not implemented.
The Film Handlers are not implemented.
The teleprinter input is not implemented.