Intel MCS-80/85 Computer Hardware User Manual


 
\--TONE
BURST---I
VOH
lUI
@
VOL
3V
®
1V
'-..r\.J
@
GND
------,
(
RECORDING
OR
TRANSMISSION
MEDIUM)
+1V
@
GND----~
-1V
@
2.0V-----
GND
CD
2.0V----_
GND
+4V
@ 2.0V
~
\ , \ I
k:::::::
COMPARATOR
~LEVEL
W
GND
____
--'
L
, •
RECONSTRUCTED
SIGNAL
.,
Figure
27.
Analog Signal Waveforms
After the CRT software analysis, the tape routines
are almost trivial.
TAP EO
is
a subroutine for out-
putting the contents
of
register C to a cassette
recorder.
TAPEIN reads 8 bits into register
C.
OUTPUT ROUTINE
T APEO calls a subroutine named BURST three
times for each bit.
If
A6
(the
SOD enable bit)
is
set
when
BURST
is
called, a square-wave tone burst
will be transmitted.
If
A6
is
not
set, BURST
simply delays for exactly
the
same
amount
of
time
before returning. The three calls are used to,
respectively,
output
the initial burst,
output
the
data burst/space, and create the
space
at
the
end
of
each bit. Nine bits will be
output:
the eight data
bits (LSB first) followed
by
a zero bit. The start
of
the initial burst
of
the
trailing zero
is
needed
to
mark the end
of
the
final space
of
the preceding
data bit.
Start each bit
by
outputting
a
tone
burst:
TAPEI]:
1'1'.11
B·9
T01:
~1V!
A..OCeH
CALL
BURST
Al-40
Rotate register C through CY:
MOil
R
.•
C
RAR
MOIl
C,
fI
Move
CY
to
the SOD enable
bit
position,
A6.
Simultaneously set
A7
to one, and clear all
other
bits.
Output
a tone burst
or
space, depending
on
the previous contents
of
CY:
Mill
A,
01H
RAR
RAR
CALL
BURST
Clear
the
accumulator, and
output
a space:
XRA
A
CALL
BURST
Keep cycling until the full 9-bit sequence
is
fin-
ished:
B
T01
The BURST subroutine executes the
SIM
in-
struction
CYCNO times,
at
intervals
of
29 + 14
(HALFCYC> machine cycles. In between each SIM,
bit
A7
is
complemented. CYCNO should be an
even number.
If
A6
is
set
upon
calling BURST a
square-wave will be created. Otherwise, the same
code sequence
is
followed
but
SOD does
not
change - thus a
spac~
results.
BURST.
11..,.1
(/.
('feNO
(7)
But
SIN
<4}
t'lVI
E..
HHLFCYC
(7)
BLl2.
()CR
E
(4)
JNZ
BtJ2
{7
...
'10)
:<;RI
8€lH
(7)
DCR
[j
(4)
JNZ
SUi
<7/1e>
RET
(10)
INPUT ROUTINE
T APEIN uses a subroutine called BITIN
to
move
the
data
at
the SID pin
into
the
CY. The maximum
rate
at
which SID
is
read
is
limited
by
a delay loop
in BITIN.
Initialize the
bit
counter and
the
register D, which
will keep track
of
the
tone burst time.
If
a tone
It
\'1
I':·
\'
I
...
I,
i