Operating instructions

SYM·1 Tape Verification
One of the problems with using audio cassettes on any
system is knowing whether
or
not the data has been
recorded properly.
By
the time you find the data did not
get recorded properly,
it
is usually too late
to
do any·
thing about it. Here is a technique and program to verify
the tape dump on a SYM·1.
Jack Gieryic
2041
138th Avenue, N.W.
Andover,
MN
55303
Do any
of
you other SYMMERS ever
0010:
wonder
if
your tape save has executed
0020:
SYM
- 1
TAPE
VERIFICATION
successfully? This
"problem"
began
to
0030:
BY
JACK
GIERY
IC
haunt me more and more as my tape
0040:
JULY,
1979
library grew. A
fair
amount
of
time would
0050:
be
lost
if
the
data
on my tape was in er-
0060:
0200
oRG
$0200
ror. It is possible (even though remotely)
two
bits
could
be
in error such
that
they
0070:
would
"cancel"
each other out in
the
oOBO:
MONITOR
SUBROUTINES
checksum verification at the end
of
tape
0090:
read. With all this floating through my
0100:
0200
ACCESS
*
$BBB6
mind I decided
to
write
the following
0110:
0200
CHKT
*
$BE7B
tape verification program.
0120:
0200
MONITR
*
$BOOO
Atter
executing
a tape save (high
0130:
0200
OUTBYT
*
$B2FA
0140:
0200
RDBYTH
*
$BDE2
speed format only)
this
program
will
0150:
0200
RDBYTX
*
$BE28
read
the
data back and compare
it
byte
0160:
0200
RDCHTX
*
$BDDE
for
byte, to the
data
in the memory which
you
just
saved. This program needs no
0170:
0200
START
*
$BDB6
external information (parameters) from
01BO:
0200
SYNC
*
$BDB2
the user. The beginning and ending ad-
0190:
dresses
of
the
data
in memory is ex-
0200:
CONSTANTS
tracted from the tape.
At
the end, the
0210:
checksum is also verified. All the user
0220:
0200
CLKCoN
*
rtF
need do is rewind the tape after a high 0230:
0200
SYN
*
$16
speed format save, execute this program
0240:
and then start the tape
unit
in
the
read
0250:
MON
ITOR
STORAGE
mode.
0260:
The program is relocatable
to
any
0270:
0200
BUFADH
*
$OOFF
point
in the memory. No alterations are
02BO:
0200
BUFADL
*
$OOFE
necessary. This makes
it
easy
to
move
0290:
0200
CHKH
*
$A637
the program
into
any area
of
memory via
0300:
0200
CHKL
*
$A636
the MOV command.
Just
remember
to
0310:
0200
DORIN
*
$A002
avoid placing any part
of
the program
0320:
0200
OISBUF
*
$A640
near
the top
of
page one or within the
0330:
0200
EAH
*
$A64B
data
you
just
saved on tape. Please note
0340:
0200
EAL
*
$B64A
)
that
this program is compatible
with
0350:
0200
LATCHL
*
$A004
monitor
version SY1.0.
0360:
0200
MODE
*
$OOFD
January, 1980
MICRO
--
The 6502 Journal
20:35