Splitting the Atom |
|
page 23 |
FBEE
to FC2A |
A subroutine to get a byte from tape.
This routine is indirected by (214), normally called by
JSR OSBGET (FFD4), and operates at 300 baud. The routine
reads individual bytes from the tape and is called by the
LOAD routines, and by BGET, SGET, etc. The byte fetched
is passed back in the accumulator, the X and Y registers
are preserved. The accumulator value is also added to the
checksum total in hex DC. |
FC38
to FC7B |
A subroutine used by COS commands to
write PLAY, RECORD or REWIND TAPE, then wait for a key to
be pressed before returning. Entry at FC38 with C=1 gives
"RECORD TAPE", while C=0 gives "PLAY
TAPE". Entry at FC40 gives "REWIND TAPE".
FC4F - message "PLAY TAPE". |
FC7C
to FCBC |
A subroutine to put a byte to tape. This
routine is indirected via (216), normally called by JSR
OSBPUT (FFD1), and operates at 300 baud. The routine is
called by the SAVE and BPUT commands, and passes the
value of the accumulator to tape. The X and Y registers
are preserved. The accumulator is also added to the
checksum total, kept in hex DC.
FC88 - synchronise to 2.4 kHz edge.
FC92 - output a logical 1.
FC9C - output a logical 0. |
FCD8
to FCE9 |
A subroutine used by OSBPUT to
synchronise the bits being output to 2.4 kHz reference
oscillator. Entry at FCD8 waits for the first occurrence
of a high-to-low transition on bit 7 of port C of the PIA
(the 2.4 kHz reference). Entry at FCDA with the X
register set to a number from 0 to 7F counts that number
of 2.4 kHz transitions before returning. This can be used
for timing since X=1 gives about 400 microseconds, X=2
gives about 800 microseconds, etc. |
FCEA
to FE51 |
A collection of subroutines associated
with the print channel OSWRCH, including execution of the
control codes 0 through 1F. Useful ones are given below.
FD0B - <CTRL> F (screen off).
FD11 - <CTRL> U (screen on).
FD1A - <CTRL> G (bell).
FD1C - short bell
FD40 - move cursor to start of line without deletion.
FD44 - invert character at current cursor position.
FD50 - delete a character.
FD5C - backspace.
FD62 - linefeed.
FD65 - Invert character under the cursor. If the screen
has previously been turned off (i.e. ?E0<0) then a
CLEAR SCREEN is executed.
FD69 - <CTRL> L (Clear, Home Up Left).
FD7D - <CTRL> UP-ARROW (Home Up Left). - pencilled correction: FD6D
FD87 - cursor up.
FD8D - <CTRL> N (Page mode On)
FD92 - <CTRL> O (Page mode Off)
|
|