Starting page for default character set during CHAR
The value here determines the starting page in system mem- ory for the default set of characters used during the CHAR statement. The value here doesn't affect any statement other than CHAR, and is used only when character shapes are being placed on a bitmapped screen. (When CHAR is used to place characters on the text screen, the screen editor printing routines are used instead.) For bitmapped screens, CHAR will always begin using the character set pointed to here, regardless of the character set in use on the text screen. To switch to the alter- nate character set (starting page in 4587/$llEB), the CHAR string must include character code 14/$0E. Character code
142/$8E switches back to the character set pointed to here. Thus, it is possible to mix the two character sets in a single CHAR statement. This location is initialized to 208/$D0 dur- ing BASIC cold start. That value makes the ROM uppercase/ graphics set at 53248/$D000 the default character pattern source. If you use a custom character set, you can change the value here to have CHAR use your new characters. However, the new character set must be visible in the bank 14 memory configuration, since that is how the system will be configured when character pattern data is read.
4583-4584
$11E7-$11E8
4583-4584 $11E7-$11E8
Shadows for VIC sprite-collision registers
During any pass through the BASIC IRQ routine [$A84D] where either or both of the sprite-collision latch flags {bits 1-2 of 53273/$D019) are found to be set to % 1 , the contents of the corresponding VIC chip sprite-collision register will be re- corded in these locations. For sprite-foreground collisions (in- dicated when bit 1 of the flag is set), any bits in the register at 53279/$D01F which are set to %1 will also be set to %1 in lo- cation 4584/$llE8. Likewise, for sprite-sprite collisions (indi- cated when bit 2 of the flag is set), the %1 bits in the register at 53278/$D01E will be recorded in location 4583/$llE7. Thus, these locations will accumulate collision readings until they are cleared, rather than simply holding the most recent collision values. The routine for the BASIC function BUMP [$837C] returns values based on the contents of these loca- tions, rather than on the actual register contents. BUMP(l) re- turns the sprite-sprite collision value in 4583/$llE7, and BUMP(2) returns the sprite-foreground collision value in 4584/$llE8. Either location will be reset to 0/$00 after being read by BUMP. Both locations are also initialized to 0/$00 during the BASIC cold-start sequence.
4585-4586 $1lE9-$11EA
Shadow for VIC light pen registers
During any pass through the BASIC IRQ routine [$A84D] where the light pen latch flag (bit 3 of 53273/$D019) is found to be set to % 1 , the contents of the VIC chip light pen regis- ters at 53267-53268/$D013-$D014 will be copied into these locations. The routine for the BASIC function PEN [$82AE] re- turns values based on the contents of these locations, rather than on the actual register contents. PEN(O) returns the value in 4585/S11E9, multiplied by 2. PEN(l) returns the value in 4586/S11EA. Either location will be reset to 0/$00 after being read by PEN. Both of these locations are also initialized to 0/$00 during the BASIC cold-start sequence.
4587 $11EB UPPER-LOWER
Starting page for alternate character set during CHAR
The value here determines the starting page in system mem- ory for the alternate set of characters used during the CHAR
160
$11EC 4588
statement for bitmapped screens (see location 4588/$llEC for more information). CHAR will always begin using the charac- ter set pointed to in location 4588/$llEC. To switch to the al- ternate character set, the CHAR string must include character code 14/$0E. Character code 142/$8E switches back to the default set. This location is initialized to 216/$D8 during BASIC cold start. That value selects the ROM lowercase/ uppercase set at 55296/$D800 as the alternate character pat- tern source. If you use a custom character set, you can change the value here to have CHAR use your new characters. How- ever, the new character set must be visible in the bank 14 memory configuration, since that is how the system will be configured when character pattern data is read.
4588 $11EC UPPER-GRAPHIC
Starting page for default character set during CHAR
The value here determines the starting page in system mem- ory for the default set of characters used during the CHAR statement. The value here doesn't affect any statement other than CHAR, and is used only when character shapes are being placed on a bitmapped screen. (When CHAR is used to place characters on the text screen, the screen editor printing routines are used instead.) For bitmapped screens, CHAR will always begin using the character set pointed to here, regardless of the character set in use on the text screen. To switch to the alter- nate character set (starting page in 4587/$llEB), the CHAR string must include character code 14/$0E. Character code
142/$8E switches back to the character set pointed to here. Thus, it is possible to mix the two character sets in a single CHAR statement. This location is initialized to 208/$D0 dur- ing BASIC cold start. That value makes the ROM uppercase/ graphics set at 53248/$D000 the default character pattern source. If you use a custom character set, you can change the value here to have CHAR use your new characters. However, the new character set must be visible in the bank 14 memory configuration, since that is how the system will be configured when character pattern data is read.
4589 $11ED $1208 4616
4589 SUED DOSSA
Channel number for BASIC relative file operations
The channel number (secondary address) for BASIC relative file operations is stored in this location.
4590-4607 $11EE-$11FF Unused
None of these locations is used by any system ROM routine.