Intel SIM4-02 Handheld Game System User Manual


 
5.0 ERROR MESSAGES
Most
of
the
errors which can be detected by
the
simulation program are identified by a single character
typeout,
followed
by ringing
the
bell once. Six different types
of
errors are identified this way:
CODE SIGNIFICANCE
? This
is
not
a valid directive. Any printed graphic normally generated
by
the
ASR33, which
is
not
a valid directive,
evokes this response. A question
mark-bell combination also calls
attention
to
a simulated input request.
# Break condition recognized. This occurs normally, either when
the
location
counter
reaches
the
value
in
the
break
register
in
execution simulation,
or
when
the
BREAK key
is
depressed
in
simulation
or
ROM
or
RAM
dumping.
> Location
counter
out
of
range. This error occurs
in
simulation
or
ROM
punching,
if
an
attempt
is
made
to
access an
address
out
of
the
range specified
in
the
most recent Q directive.
Invalid
op
code. This error occurs and
is
recognized during execution simulation, after
the
instruction
byte
is
typed
out,
but
before
the
location
counter
is
incremented, so
that
if it occurs under
the
control
of
the
N directive,
the
T directive may be entered
to
examine
the
error by trying
to
execute it again.
% Location
counter
stack overflow
or
underflow. This error
is
unique
in
that
the
interruption occurs
after
the
instruc-
tion has been executed
in
simulation. A T
or
an N directive will resume execution with
the
next
instruction (jumped
or
retu rned to).
Cancel. This
is
the
program response
to
a Cancel (Control
"X"
or
ESCAPE) typein, during data input. Except
for
I,
M,
T, and N directives, it cancels
the
entire directive. If used
in
the
I
or
M directives, only
the
current
datum
is
canceled, and
the
directive
is
terllJinated
at
that
point. Previous values, if any, have already been stored
in
memory.
If
used while
the
simulation program
is
requesting
input
data from a simulated
ROM
port
or
the
simulated
CPU
Test line, it
is
equivalent
to
a break
at
the
beginning
of
the
instruction.
In
each case
the
simulation program returns
to
accept
another
directive.
6.0 OPERATING INSTRUCTIONS
6.1 Assemble Program
First assemble
the
test
program on the Hardware Assembler (A0740
to
A0743). Important:
the
Hardware Simulation
Program will
not
accept
ROM
program tapes created
by
the
FORTRAN assembler, ASM4, as these tapes have bit patterns
and addresses together,
with
no identifier
for
the
addresses. It
is
not
necessary
to
assemble
the
program
in
one
contiguous
block of
ROM
locations, since
the
I directive
in
the
simulation program
is
able
to
recognize
the
address fields (by
the
Control
"A",
SOH preceding them), and place
the
instruction patterns into
the
proper simulated
ROM
locations.
6.2
Prepare SIM4-02 Hardware
Remove
ROM
chips
A0740
through A0743 and plug
in
the
Hardware Simulation Program chips, A0750-A0758. Press
RESET.
The
teletype should
type
out
a carriage return-linefeed, and an asterisk
to
show
that
the
simulation program
is
ready
to
accept a directive.
Determine how much simulated
ROM
is
needed
to
test
the
program, and which RAMs are least likely
to
be accessed by
the
test
program, using if necessary
the
=
and"
directives. Then
type
in
the
Q directive for this program. From now until
the
testing of this program has been completed and
the
amended program
tape
has been punched
out,
DO
NOT
touch the
RESET
button.
If
the
RESET
button
is pressed, the simulation parameters
and
any
program in the simulated ROM will
be
destroyed.
6.3
Load Program
Place
the
object
tape
in
the
teletype
reader, and
type
in
I.
The
simulation program will read
both
the
addresses and
the
instructions from
the
tape
and store
them
in
the
proper locations. Reading will be terminated by any error
or
by
the
terminal F punched
by
the
assembler. Note
that
any
illstructions
or
data which fall outside
the
limits defined
in
the
Q
directive will be ignored. Note also
that
if
the
Q directive defines
the
ROM
limits
to
be more
than
512
bytes, wraparound
overlap
is
possible. Thus, location 100 would be overwritten by instructions going into location 612. When the program
is
loaded, a simulated RESET may be effected by
the
Z directive. If starting
at
other
than location zero, or with registers pre-
loaded with data,
the
appropriate directives may be used
to
set these up. A breakpoint may be set
if
desired, and
RAM
may
be loaded up with
data
if
desired. If a subroutine or a
part
of
a subroutine
is
being tested,
the
stack may be loaded with a
4