term% cat index.txt MARS(6) Games Manual MARS(6)
NAME
mars - memory array redcode simulator
SYNOPSIS
mars [-dfhmp] [-cqs<value>] file1 file2 ...
DESCRIPTION
Mars is a simulator for the Redcode machine specified by Dr. Kee Dewd‐
ney in the "Computer Recreations" column in the May 1984 issue of Sci‐
entific American. The command line contains any arguments followed by
a list of object code file names. The easiest way to create an object
file is to use the redcode(6) command to a assemble the object file
from a redcode source file.
OBJECT FILES
An object file contains three header lines indicating the name of the
program, the length of the program, and the offset from the beginning
of the starting location. Here is a sample redcode object file, for
the Dwarf program:
name dwarf
length 4
start 1
00000007999
20000517999
10000027998
41799800000
INSTRUCTION FORMAT
The instruction format is an 11 digit decimal string, as follows:
0 1 2-5 6 7-10
+-------+-------+-------+-------+-------+
|opcode |mode1 |arg1 |mode2 |arg2 |
+-------+-------+-------+-------+-------+
OPTIONS
Options allow for tracing execution, for graphically displaying the
progress of each program, and for analyzing and dumping memory before
and after execution. For example, the following command:
mars -s1234 -f -c20000 dwarf.obj gemini.obj imp.obj
specifies that imp, dwarf, and gemini are to be run together, with a
fullscreen display for 20000 cycles using a random number seed of 1234.
-cN cycles option, determines the maximum number of cycles for this
run. The default is 10000.
-d debug option, causes the execution to be traced in excrutiating
detail.
-f fullscreen option, causes the execution to be displayed graphi‐
cally on any terminal supported by curses(3).
-h holes option, causes a description of memory usage to be printed
after execution terminates.
-m memory dump option, causes memory to be dumped before and after
execution terminates.
-p procedure dump option, similar to -m option, except only memory
near each program counter is dumped.
-qN quit option, indicates the minimum number of programs required
to be alive. For example, if -q3 is specified, execution termi‐
nates as soon as there are fewer than three programs still
alive. -q1 specifies that execution continues as long as any
program is alive. The default is to quit when there is but one
program still running.
-sN random seed option, specifies a random seed for this run. The
default is 0 (i.e. a random seed based on the time).
SEE ALSO
redcode(6)
BUGS
None known.
HISTORY
20-May-84 Michael Mauldin (mlm) at CMU
Created.
5/20/84 MARS(6)