Page 02

C64 Page 2
AddressLenNameDescriptionDefault
020089BUFBASIC Line Editor Input Buffer
0259Kernal File Tables
025910LATActive logical file number table
026310FATDevice number for each logical file
026D10SATSecondary address for each logical file
027710KEYDKeyboard buffer
02812MEMSTRStart of Memory pointer0x0800
02832MEMSIZEnd of Memory pointer
Usually this is the first byte of the BASIC ROM
0xA000
0286Screen workspace
02861COLORCurrent Foreground text colour
02871GDCOLColour of character under Cursor
02881HIBASEPage of Screen Memory0x04
0289Keyboard workspace
02891XMAXMax length of keyboard buffer
0x00 No buffer
0x01-0x0F Buffer size
028A1RPTFLGWhich keys will repeat
0x00 Only cursor, insert, delete or space repeat
0x40 No keys repeat
0x80 All keys repeat
028D1SHFLAGShift/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
028E1LSTSHFLast value of Shift/Ctrl/Commodore key pressed
Used with SHFLAG to debounce those keys. Values match those for SHFLAG
02911MODEShift/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
02921AUTODNScreen scrolling enabled
0 enables scrolling, any other value disables scrolling
0293Mock 6551 RS-232
02931M51CTRMock 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
02941M51CDRMock 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
02952M51AJBMock 6551 RS-232 Nonstandard Bit Timing
Not actually used by Kernal but present for 6551 UART emulation
02971M51STATMock 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
02983Used by Kernal for RS-232
029BRS-232 Buffers
029B1RIDBERS-232 Index to end of receive buffer
029C1RIDBSRS-232 Index to start of receive buffer
029D1RODBERS-232 Index to end of transmit buffer
029E1RODBSRS-232 Index to start of transmit buffer
02A11ENABLRS-232 Interrupts Enabled
Bit 0 System is transmitting data
Bit 1 System is receiving data
Bit 4 System is waiting for receiver edge
02A2Used by Kernal
02A789Unused, available for application use