• No results found

182 $B6 PDP/RODATA

In document Compute's Mapping the Commodore 128 (Page 65-67)

Tape: Error flag / end of block flag RS-232: Character being sent

When an error is detected while a character is being read from tape, this location is set to a nonzero value to indicate that the character has not been read successfully. During routines which write to tape, this location is used as a flag to indicate when end-of-block processing should be performed.

When bytes are being sent over the RS-232 interface, this location holds the character being sent. Bits are pulled off one at a time from right to left.

172-175 $AC-$AF

and one [$F7BC] to store the current accumulator contents at the pointer address in the bank specified in 198/$C6.

172-175 $AC-$AF

Work area for disk booting

The Kernal BOOT-CALL routine [$F890] uses locations 172-173/$AC-$AD to hold the address at which the contents of additional boot sectors are to be stored. Location 174/$AE holds the bank number for the additional data. Location 175/ $AF holds the number of disk sectors to be loaded during the boot process.

174-175 $ AE-$ AF EAL-E AH

Kernal address pointer

This location is used during the routines which read from or write to tape, or in saving to disk, to hold the ending address for the operation. For loading from disk, this location is used as a working pointer to the address where data is stored. After all bytes have been loaded, the locations will hold the ending address. (Actually, in all cases the pointer will hold the ad- dress of the location immediately following the last one in- volved in the operation.) The Kernal SAVF routine [$F53E] initializes these locations with the contents of the X and Y reg- isters when the routine is called. The Kernal provides a routine [$F7C9] to retrieve the character at the pointer address from the bank specified in 198/$C6, and one [$F7BF] to store the current accumulator contents at the pointer address in the bank specified in 198/$C6.

176 $BO CMPO

Tape adjustable baseline compensation factor

This location is used during tape routines to indicate whether the current baseline time (the time allotted for a particular type of dipole) needs to be slightly increased or decreased. This allows the computer to compensate for slight variations in tape speed.

177 $B1 TEMP

Working storage for compensation factor computation

This location is used as a work byte for computing the base- line compensation factor at 176/$B0.

$B6

182

178-179 $B2-$B3 TAPE1

pointer to cassette buffer

These locations hold the starting address of the 192-byte cas- sette buffer. The value here is initialized to 2816/$0B0O by the Kernal RAMTAS routine, part of the reset sequence. No

Kernal routine changes this default setting. The routines that read and write data to tape test these locations to insure that the address is greater than 512/$0200.

180 $B4 SNSW1/BITTS

Tape: leader/data flag

RS-232: Count of bits transmitted

During routines which read from tape, this location is used to indicate whether the routine is currently waiting for the start of a data block (indicated by a value of 0/$00 here) or reading data from a block (indicated by a nonzero value here).

When bytes are being sent over the RS-232 interface, this location holds the count of bits sent for the current character.

181 $B5 DIFF/NXTBIT

Tape: Leader completed flag RS-232: Next bit to send

During routines which read from tape, this location is used to indicate when the end of a leader segment has been reached. The value here is set to 0/$00 when the word marker at the end of a leader is read.

When bytes are being sent over the RS-232 interface, bit 2 of this location is used to hold the setting of the next bit to be sent.

182 $B6 PDP/RODATA

Tape: Error flag / end of block flag RS-232: Character being sent

When an error is detected while a character is being read from tape, this location is set to a nonzero value to indicate that the character has not been read successfully. During routines which write to tape, this location is used as a flag to indicate when end-of-block processing should be performed.

When bytes are being sent over the RS-232 interface, this location holds the character being sent. Bits are pulled off one at a time from right to left.

183 $ B '

183 $B7 FNLEN

Length of current filename

This location holds the length of the filename for the current I/O operation. The value here can be set using the Kernal SETNAM routine [$F731]. The starting address for the file- name is held in locations 187-188/$BB-$BC, and the bank number where the filename is found is held in location

199/$C7.

LA

184 $B8

Logical file number

This location holds the logical file number for the current I/O operation. The value here can be set using the Kernal SETLFS routine [$F738]. When a file is opened, the value here will be transferred into the logical file number table at 866-875/ $0362-$036B.

S A

185 $B9

Current secondary address

This location holds the secondary address for the current I/O operation. The value here can be set using the Kernal SETLFS routine [$F738]. When a file is opened, the value here will be transferred into the secondary address table at 886-895/ $0376-$037F.

FA

186 $BA

Current device number

This location holds the device number for the current I/O op- eration. The value here can be set using the Kernal SETLFS routine [$F738], When a file is opened, the value here will be transferred into the device number table at 876-885/

$036C-$0375.

1 8 7 - 1 8 8 $BB-$BC FNADR

Pointer to start of filename

These locations hold the starting address of the filename for the current I/O operation. The value here can be set using the Kernal SETNAM [$F731]. Location 183/$B7 holds the length of the filename, and location 199/$C7 holds the bank number in which the filename is located.

62

$co

192

In document Compute's Mapping the Commodore 128 (Page 65-67)