0200 | 89 | BUF | BASIC Line Editor Input Buffer | |
0259 | | | Kernal File Tables | |
0259 | 10 | LAT | Active logical file number table | |
0263 | 10 | FAT | Device number for each logical file | |
026D | 10 | SAT | Secondary address for each logical file | |
0277 | 10 | KEYD | Keyboard buffer | |
0281 | 2 | MEMSTR | Start of Memory pointer | 0x0800 |
0283 | 2 | MEMSIZ | End of Memory pointer Usually this is the first byte of the BASIC ROM | 0xA000 |
0286 | | | Screen workspace | |
0286 | 1 | COLOR | Current Foreground text colour | |
0287 | 1 | GDCOL | Colour of character under Cursor | |
0288 | 1 | HIBASE | Page of Screen Memory | 0x04 |
0289 | | | Keyboard workspace | |
0289 | 1 | XMAX | Max length of keyboard buffer
0x00 |
No buffer |
0x01-0x0F |
Buffer size |
| |
028A | 1 | RPTFLG | Which keys will repeat
0x00 |
Only cursor, insert, delete or space repeat |
0x40 |
No keys repeat |
0x80 |
All keys repeat |
| |
028D | 1 | SHFLAG | Shift/Ctrl/Commodore key pressed
Bit 0 |
1=Left or Right shift is pressed or Shift Lock is active |
Bit 1 |
1=Commodore key pressed |
Bit 2 |
1=Control pressed |
| |
028E | 1 | LSTSHF | Last value of Shift/Ctrl/Commodore key pressed Used with SHFLAG to debounce those keys. Values match those for SHFLAG | |
0291 | 1 | MODE | Shift/Commodore switch Enables/Disables character switching when Shift & Commodore keys are pressed
0x00 |
Commodore-Shift is disabled |
0x80 |
Commodore-Shift will toggle between uppercase/graphics & lowercase/uppercase character set |
| |
0292 | 1 | AUTODN | Screen scrolling enabled 0 enables scrolling, any other value disables scrolling | |
0293 | | | Mock 6551 RS-232 | |
0293 | 1 | M51CTR | Mock 6551 RS-232 Control Register
%0xxxxxxx |
1 stop bit |
%1xxxxxxx |
2 stop bits |
%x00xxxxx |
8 data bits |
%x01xxxxx |
7 data bits |
%x10xxxxx |
6 data bits |
%x11xxxxx |
5 data bits |
%xxxx0110 |
300 bps |
%xxxx1000 |
1200 bps |
%xxxx1010 |
2400 bps |
| |
0294 | 1 | M51CDR | Mock 6551 RS-232 Command Register
%001xxxxx |
Odd Parity |
%011xxxxx |
Even Parity |
%101xxxxx |
Mark Parity |
%111xxxxx |
Space Parity |
%xx0xxxxx |
No parity |
%xxx0xxxx |
Full Duplex |
%xxx1xxxx |
Half Duplex |
%xxxxxxx0 |
3 Line |
%xxxxxxx1 |
X Line |
| |
0295 | 2 | M51AJB | Mock 6551 RS-232 Nonstandard Bit Timing Not actually used by Kernal but present for 6551 UART emulation | |
0297 | 1 | M51STAT | Mock 6551 RS-232 Status Register
Bit 0 |
1=Parity Error |
Bit 1 |
1=Framing Error |
Bit 2 |
1=Receive Buffer Overrun |
Bit 3 |
1=Receive Buffer Empty |
Bit 4 |
1=CTS (Clear To Send) Signal Missing |
Bit 5 |
Unused |
Bit 6 |
1=DTR (Data Set Ready) Signal Missing |
Bit 7 |
1=Break Detected |
| |
0298 | 3 | | Used by Kernal for RS-232 | |
029B | | | RS-232 Buffers | |
029B | 1 | RIDBE | RS-232 Index to end of receive buffer | |
029C | 1 | RIDBS | RS-232 Index to start of receive buffer | |
029D | 1 | RODBE | RS-232 Index to end of transmit buffer | |
029E | 1 | RODBS | RS-232 Index to start of transmit buffer | |
02A1 | 1 | ENABL | RS-232 Interrupts Enabled
Bit 0 |
System is transmitting data |
Bit 1 |
System is receiving data |
Bit 4 |
System is waiting for receiver edge |
| |
02A2 | | | Used by Kernal | |
02A7 | 89 | | Unused, available for application use | |