F96E
to F9A1 |
A subroutine which loads a file. This is
normally called by JSR FFE0 (OSLOAD - pointed to by [20C]
).
X must point at zero-page vectors as follows:
0,X = file name string; 2,X 3,X = first data to be put
here; if bit 7 of X is 0 the file's own start address is
used. |
F99A |
Print a series of spaces by INY until Y
= 0F, so up to 15 spaces can be printed
(note - it's easier to use CA46 and monitor ?7). |
F9A2
to FA07 |
A subroutine called by the F96E routine. |
FA08
to FA18 |
A subroutine which increments a vector
(2 bytes in page zero pointed at by X (X,X+1), and each
time does a CMP with the vector pointed at by X+2,X+3. It
returns with the zero flag set if the vectors are equal,
otherwise clear. |
FA19
to FA1F |
Executes the *MON and *NOMON commands.
FA19 = *NOMON, and FA1A = *MON. |
FA20
to FA29 |
Executes the *RUN command. |
FA2A
to FA64 |
Executes the *CAT command. |
FA65
to FA6A |
A subroutine that calls the routine at
F893. If the data read by F893 were invalid then this
routine prints "MON?" followed by a break. |
FA76
to FA85 |
A subroutine to check that there is no
rubbish after a valid * command. Only a carriage return
or spaces leading to a carriage return are allowed.
Otherwise it prints prints "MON?" followed by a
break. |
FA86
to FABA |
Saves an unnamed file. Called by FAE5. |
FABB
to FAE4 |
Executes the *SAVE command. This routine
calls the operating system save-file routine pointed at
by (20E), which normally contains FAE5. |
FAE5
to FB3A |
Save file routine normally called by
OSSAVE routines.
Enter with X pointing at a table of addresses in page
zero as follows:0,X 1,X file name string
2,X 3,X reload address
4,X 5,X execution address
6,X 7,X first byte to be saved
8,X 9,X last byte + 1 to be saved
|
FB3B
to FB89 |
Routines called by the save-file routine
which commit the file to a tape. Useful parts are:
FB7D wait 2 seconds
FB81 wait 0.5 seconds
FB83 wait X/60 seconds *
FB8C wait 0.1 seconds
X = 0 on return from these routines.* This uses the vertical sync signal, so
waits for 60 video fields. It is thus independent of CPU
speed.
The 6847 chip is internally hard-wired for 60 Hz field
rate, but if it were recreated with a 50 Hz frame rate
then this routine would wait 60/50 = 1.2 seconds instead.
|