mirror of
https://github.com/fadden/6502bench.git
synced 2024-11-18 15:06:07 +00:00
89df3278bc
* additional c64 symbols
140 lines
8.8 KiB
Plaintext
140 lines
8.8 KiB
Plaintext
; See the LICENSE file for distribution terms (Apache 2.0).
|
|
;
|
|
; Parts adapted from multiple sources:
|
|
;
|
|
; - Project 64, 64MAP10.TXT, June 1996, etext #41
|
|
; http://unusedino.de/ec64/technical/project64/memory_maps.html
|
|
;
|
|
; - "Mapping the Commodore 64", by Sheldon Leemon
|
|
; Compute! Publications Inc. (1984), ISBN 0-942386-23-X
|
|
; https://archive.org/details/Compute_s_Mapping_the_Commodore_64
|
|
|
|
*SYNOPSIS RAM locations used by the KERNAL
|
|
|
|
STATUS @ $0090 ;Kernal I/O Status Word ST
|
|
STKEY @ $0091 ;Flag: $7f = STOP key
|
|
SVXT @ $0092 ;Timing Constant for Tape
|
|
VERCKK @ $0093 ;Flag: 0 = Load, 1 = Verify
|
|
C3PO @ $0094 ;Flag: Serial Bus - Output Character buffered
|
|
BSOUR @ $0095 ;Buffered Character for Serial Bus
|
|
SYNO @ $0096 ;Cassette Sync. number
|
|
TEMPX @ $0097 ;Temporary storage of X Register during CHRIN
|
|
TEMPY @ $0097 ;Temporary storage of Y Register during RS232 fetch
|
|
LDTND @ $0098 ;Number of Open Files/Index to File Table
|
|
DFLTN @ $0099 ;Default Input Device (0)
|
|
DFLTO @ $009a ;Default Output Device (3)
|
|
PRTY @ $009b ;Parity of Byte Output to Tape
|
|
DPSW @ $009c ;Flag: Byte received from Tape
|
|
MSGFLG @ $009d ;Set error message mode
|
|
FNMIDX @ $009e ;Index to Cassette File name/Header ID for Tape write
|
|
PTR1 @ $009e ;Tape Error log pass 1
|
|
PTR2 @ $009f ;Tape Error log pass 2
|
|
TIME @ $00a0 ;Real-time jiffy Clock, Update Routine: UDTIMK ($f69b)
|
|
TSFCNT @ $00a3 ;Bit Counter Tape Read or Write/Serial Bus
|
|
TBTCNT @ $00a4 ;Pulse Counter Tape Read or Write/Serial Bus shift Counter
|
|
CNTDN @ $00a5 ;Tape Synchronising count down
|
|
BUFPNT @ $00a6 2 ;Pointer: Tape I/O buffer
|
|
INBIT @ $00a7 ;RS232 temporary for received Bit/Tape
|
|
BITC1 @ $00a8 ;RS232 Input Bit count/Tape temporary
|
|
RINONE @ $00a9 ;RS232 Flag: Start Bit check/Tape temporary
|
|
RIDATA @ $00aa ;RS232 Input Byte Buffer/Tape temporary
|
|
RIPRTY @ $00ab ;RS232 Input parity/Tape temporary
|
|
SAL @ $00ac 2 ;Pointer: Tape Buffer/Screen scrolling
|
|
EAL @ $00ae ;Tape End Address/End of Program
|
|
CMPO @ $00b0 ;Tape timing Constants
|
|
TAPE1 @ $00b2 2 ;Pointer: Start Address of Tape Buffer ($033c)
|
|
BITTS @ $00b4 ;RS232 Write bit count/Tape Read timing Flag
|
|
NXTBIT @ $00b5 ;RS232 Next Bit to send/Tape Read - End of Tape
|
|
RODATA @ $00b6 ;RS232 Output Byte Buffer/Tape Read Error Flag
|
|
FNLEN @ $00b7 ;Number of Characters in Filename
|
|
LA @ $00b8 ;Current File - Logical File number
|
|
SA @ $00b9 ;Current File - Secondary Address
|
|
FA @ $00ba ;Current File - First Address (Device number)
|
|
FNADR @ $00bb 2 ;Pointer: Current File name Address
|
|
ROPRTY @ $00bd ;RS232 Output Parity/Tape Byte to be Input or Output
|
|
FSBLK @ $00be ;Tape Input/Output Block count
|
|
MYCH @ $00bf ;Serial Word Buffer
|
|
CAS1 @ $00c0 ;Tape Motor Switch
|
|
STAL @ $00c1 ;Start Address for LOAD and Cassette Write
|
|
MEMUSS @ $00c3 2 ;Pointer: Type 3 Tape LOAD and general use
|
|
LSTX @ $00c5 ;Matrix value of last Key pressed; No Key = $40
|
|
NDX @ $00c6 ;Number of Characters in Keyboard Buffer queue
|
|
RVS @ $00c7 ;Flag: Reverse On/Off; On = $01, Off = $00
|
|
INDX @ $00c8 2 ;Pointer: End of Line for Input
|
|
LXSP @ $00c9 ;Cursor X/Y (Line/Column) position at start of Input
|
|
SFDX @ $00cb ;Flag: Print shifted Characters
|
|
BLNSW @ $00cc ;Flag: Cursor blink; $00 = Enabled, $01 = Disabled
|
|
BLNCT @ $00cd ;Timer: Count down for Cursor blink toggle
|
|
GDBLN @ $00ce ;Character under Cursor while Cursor Inverted
|
|
BLNON @ $00cf ;Flag: Cursor Status; $00 = Off, $01 = On
|
|
CRSW @ $00d0 ;Flag: Input from Screen = $03, or Keyboard = $00
|
|
PNT @ $00d1 2 ;Pointer: Current Screen Line Address
|
|
PNTR @ $00d3 ;Cursor Column on current Line, including Wrap-round Line, if any
|
|
QTSW @ $00d4 ;Flag: Editor in Quote Mode; $00 = Not
|
|
LNMX @ $00d5 ;Current logical Line length: 39 or 79
|
|
TBLX @ $00d6 ;Current Screen Line number of Cursor
|
|
SCHAR @ $00d7 ;Screen value of current Input Character/Last Character Output
|
|
INSRT @ $00d8 ;Count of number of inserts outstanding
|
|
LDTB1 @ $00d9 ;Screen Line link Table/Editor temporaries
|
|
USER @ $00f3 2 ;Pointer: Current Colour RAM Location
|
|
KEYTAB @ $00f5 2 ;Vector: Current Keyboard decoding Table ($eb81)
|
|
RIBUF @ $00f7 2 ;RS232 Input Buffer Pointer
|
|
ROBUF @ $00f9 2 ;RS232 Output Buffer Pointer
|
|
FREKZP @ $00fb ;Free Zero Page space for User Programs
|
|
BASZPT @ $00ff ;BASIC temporary Data Area
|
|
ASCWRK @ $00ff ;Assembly Area for Floating point to ASCII conversion
|
|
LAT @ $0259 10 ;Kernal Table: Active logical File numbers
|
|
FAT @ $0263 10 ;Kernal Table: Active File First Addresses
|
|
SAT @ $026d 10 ;Kernal Table: Active File Secondary Addresses
|
|
KEYD @ $0277 10 ;Keyboard Buffer Queue (FIFO)
|
|
MEMSTR @ $0281 2 ;Pointer: Bottom of Memory for Operating System ($0800)
|
|
MEMSIZ2 @ $0283 2 ;Pointer: Top of Memory for Operating System ($a000)
|
|
TIMOUT @ $0285 ;Serial IEEE Bus timeout defeat Flag
|
|
COLOR @ $0286 ;Current Character Colour code
|
|
GDCOL @ $0287 ;Background Colour under Cursor
|
|
HIBASE @ $0288 ;High Byte of Screen Memory Address ($04)
|
|
XMAX @ $0289 ;Maximum number of Bytes in Keyboard Buffer ($0a)
|
|
RPTFLG @ $028a ;Flag: Repeat keys setting
|
|
KOUNT @ $028b ;Repeat Key: Speed Counter ($04)
|
|
DELAY @ $028c ;Repeat Key: First repeat delay Counter ($10)
|
|
SHFLAG @ $028d ;flags for shift, CBM, CTRL
|
|
LSTSHF @ $028e ;Last Shift Key used for debouncing
|
|
KEYLOG @ $028f 2 ;Vector: Routine to determine Keyboard table to use
|
|
MODE @ $0291 ;Flag: Upper/Lower Case change
|
|
AUTODN @ $0292 ;Flag: Auto scroll down: $00 = Disabled ($00)
|
|
M51CTR @ $0293 ;RS232 Pseudo 6551 control Register Image
|
|
M51CDR @ $0294 ;RS232 Pseudo 6551 command Register Image
|
|
M51AJB @ $0295 ;RS232 Non-standard Bits/Second
|
|
RSSTAT @ $0297 ;RS232 Pseudo 6551 Status Register Image
|
|
BITNUM @ $0298 ;RS232 Number of Bits left to send
|
|
BAUDOF @ $0299 ;RS232 Baud Rate; Full Bit time microseconds
|
|
RIDBE @ $029b ;RS232 Index to End of Input Buffer
|
|
RIDBS @ $029c 2 ;RS232 Pointer: High Byte of Address of Input Buffer
|
|
RODBS @ $029d 2 ;RS232 Pointer: High Byte of Address of Output Buffer
|
|
RODBE @ $029e ;RS232 Index to End of Output Buffer
|
|
IRQTMP @ $029f 2 ;Temporary store for IRQ Vector during Tape operations
|
|
ENABL @ $02a1 ;RS232 Enables
|
|
TODSNS @ $02a2 ;TOD sense during Tape I/O
|
|
TRDTMP @ $02a3 ;Temporary storage during Tape READ
|
|
TD1IRQ @ $02a4 ;Temporary D1IRQ Indicator during Tape READ
|
|
TLNIDX @ $02a5 ;Temporary for Line Index
|
|
TVSFLG @ $02a6 ;Flag: TV Standard: $00 = NTSC, $01 = PAL
|
|
CINV @ $0314 2 ;Vector: Hardware IRQ Interrupt ($ea31)
|
|
CNBINV @ $0316 2 ;Vector: BRK Instruction Interrupt ($fe66)
|
|
NMINV @ $0318 2 ;Vector: Hardware NMI Interrupt ($fe47)
|
|
IOPEN2 @ $031a 2 ;Vector: Kernal OPEN Routine ($f34a)
|
|
ICLOSE2 @ $031c 2 ;Vector: Kernal CLOSE Routine ($f291)
|
|
ICHKIN2 @ $031e 2 ;Vector: Kernal CHKIN Routine ($f20e)
|
|
ICKOUT2 @ $0320 2 ;Vector: Kernal CHKOUT Routine ($f250)
|
|
ICLRCH2 @ $0322 2 ;Vector: Kernal CLRCHN Routine ($f333)
|
|
IBASIN2 @ $0324 2 ;Vector: Kernal CHRIN Routine ($f157)
|
|
IBSOUT2 @ $0326 2 ;Vector: Kernal CHROUT Routine ($f1ca)
|
|
ISTOP2 @ $0328 2 ;Vector: Kernal STOP Routine ($f6ed)
|
|
IGETIN2 @ $032a 2 ;Vector: Kernal GETIN Routine ($f13e)
|
|
ICLALL2 @ $032c 2 ;Vector: Kernal CLALL Routine ($f32f)
|
|
USRCMD2 @ $032e 2 ;User Defined Vector ($fe66)
|
|
ILOAD2 @ $0330 2 ;Vector: Kernal LOAD Routine ($f4a5)
|
|
ISAVE2 @ $0332 2 ;Vector: Kernal SAVE Routine ($f5ed)
|
|
TBUFFR @ $033c 192 ;start of Tape I/O Buffer
|
|
VICSCN @ $0400 1024 ;start of Default Screen Video Matrix
|