Page 2
From C64-Wiki
Jump to navigationJump to searchPage 2 covers the memory locations 512-767 ($0200-02FF). This page area, like Page 3, stores information for use by the Operating System and BASIC; including pointers for BASIC and KERNAL routines. There is also buffer space in this page for the tape I/O, BASIC text input, the keyboard queue, and a small space for user-defined data.
Addresses[edit | edit source]
RAM
Hex Address | Dec Address | Type | Contents |
---|---|---|---|
$0200-$0258 | 512-600 | BASIC Input cache | |
$0259-$0276 | 601-630 | ||
$0277-$0280 | 631-640 | Keyboard cache. See also 198 | |
$0281-$0285 | 641-645 | ||
$0286 | 646 | Value | Text colour (values 0-15) |
$0287 | 647 | Colour under position of cursor | |
$0288 | 648 | Top of screen page memory | |
$0289 | 649 | Value | Length of keyboard cache |
$028A | 650 | Key-repeat for CRSR ,INST/DEL and SPACE : default (CRSR only)= 0; no keys pressed = 6, all three keys pressed = 128 | |
$028B | 651 | Speed of key-repeat | |
$028C | 652 | Delay time of first key-repeat | |
$028D | 653 | Keycodes of CTRL (added together) with: | |
Bit 0 - SHIFT | |||
Bit 1 - COMMODORE | |||
Bit 2 - CTRL | |||
$028E | 654 | Last pattern of SHIFT /CTRL /COMMODORE Keypress | |
$028F | 655 | Pointer | Low Byte keyboard decoding |
$0290 | 656 | Pointer | High byte keyboard decoding |
$0291 | 657 | Character set case change with SHIFT +COMMODORE : enabled = 0 ($00), disabled = 128 ($80) | |
$0292 | 658 | Screen scrolling: enabled = 0, disabled <> 0 | |
$0293-$02A1 | 659-673 | RS-232 Pseudo 6551 Registers | |
$02A2 | 674 | Indicator of CIA #1 Control Register B Activity During Cassette I/O | |
$02A3 | 675 | Save Area for CIA #1 Interrupt Control Register During Cassette Read | |
$02A4 | 676 | Save Area for CIA #1 Control Register A During Cassette Read | |
$02A5 | 677 | Temporary Index to the Next 40-Column Line for Screen Scrolling | |
$02A6 | 678 | Flag | For PAL/NTSC startup test |
$02A7-$02FF | 679-767 | Unused |