mirror of
https://github.com/erkyrath/infocom-zcode-terps.git
synced 2026-01-27 20:27:54 +00:00
190 lines
5.2 KiB
Plaintext
190 lines
5.2 KiB
Plaintext
PAGE
|
|
SBTTL "--- HARDWARE EQUATES: CBM64 ---"
|
|
|
|
; ---------
|
|
; CONSTANTS
|
|
; ---------
|
|
|
|
XSIZE EQU 39 ; X-SIZE OF SCREEN
|
|
YSIZE EQU 24 ; Y-SIZE OF SCREEN
|
|
|
|
EOL EQU $0D ; EOL CHAR
|
|
SPACE EQU $20 ; SPACE CHAR
|
|
BACKSP EQU $14 ; BACKSPACE
|
|
|
|
; ---------
|
|
; ZERO-PAGE
|
|
; ---------
|
|
|
|
D6510 EQU $00 ; 6510 DATA DIRECTION REGISTER
|
|
R6510 EQU $01 ; 6510 I/O PORT
|
|
FAST EQU $02 ; FAST-READ AVAILABLE FLAG
|
|
STKEY EQU $91 ; STOP KEY FLAG
|
|
MSGFLG EQU $9D ; KERNAL MESSAGE CONTROL FLAG
|
|
TIME EQU $A2 ; SYSTEM JIFFY TIMER
|
|
LSTX EQU $C5 ; LAST KEY PRESSED
|
|
NDX EQU $C6 ; # CHARS IN KEYBOARD BUFFER
|
|
RVS EQU $C7 ; REVERSE CHARACTER FLAG
|
|
SFDX EQU $CB ; CURRENT KEYPRESS
|
|
BLNSW EQU $CC ; CURSOR BLINK SWITCH
|
|
PNTR EQU $D3 ; CURSOR COLUMN IN LOGICAL LINE
|
|
TBLX EQU $D6 ; CURRENT CURSOR ROW
|
|
LDTB1 EQU $D9 ; 25-BYTE LINE LINK TABLE
|
|
KEYTAB EQU $F5 ; KEYBOARD DECODE TABLE VECTOR
|
|
|
|
FDATA EQU $FB ; FAST-READ DATA BUFFER
|
|
FINDEX EQU $FC ; FAST-READ BUFFER INDEX
|
|
FASTEN EQU $FD ; FAST-READ ENABLED FLAG
|
|
|
|
; -----------
|
|
; PAGES 2 & 3
|
|
; -----------
|
|
|
|
LBUFF EQU $0200 ; 89-BYTE LINE BUFFER
|
|
KEYD EQU $0277 ; KEYBOARD QUEUE
|
|
COLOR EQU $0286 ; FOREGROUND COLOR FOR TEXT
|
|
HIBASE EQU $0288 ; TOP PAGE OF SCREEN RAM
|
|
XMAX EQU $0289 ; MAXIMUM KEYBOARD QUEUE SIZE
|
|
RPTFLG EQU $028A ; KEY REPEAT FLAG
|
|
SHFLAG EQU $028D ; SHIFT KEY FLAG
|
|
KEYLOG EQU $028F ; VECTOR TO KEY-TABLE SETUP ROUTINE
|
|
MODE EQU $0291 ; CHARSET MODE SWITCH
|
|
CINV EQU $0314 ; SYSTEM 60HZ IRQ VECTOR
|
|
CBINV EQU $0316 ; BRK INSTRUCTION VECTOR
|
|
NMINV EQU $0318 ; NMI INTERRUPT VECTOR
|
|
SPRT13 EQU $0340 ; SPRITE #13 DATA
|
|
SPRT14 EQU $0380 ; SPRITE #14 DATA
|
|
SPRT15 EQU $03C0 ; SPRITE #15 DATA
|
|
|
|
CURSOR EQU SPRT13 ; CURSOR RAM
|
|
SCREEN EQU $0400 ; SCREEN RAM
|
|
COLRAM EQU $D800 ; COLOR RAM
|
|
SPT0 EQU $07F8 ; SPRITE #0 PNTR
|
|
SPT1 EQU $07F9 ; SPRITE #1 PNTR
|
|
SPT2 EQU $07FA ; SPRITE #2 PNTR
|
|
SPT3 EQU $07FB ; SPRITE #3 PNTR
|
|
SPT4 EQU $07FC ; SPRITE #4 PNTR
|
|
SPT5 EQU $07FD ; SPRITE #5 PNTR
|
|
SPT6 EQU $07FE ; SPRITE #6 PNTR
|
|
SPT7 EQU $07FF ; SPRITE #7 PNTR
|
|
|
|
; ------
|
|
; VIC-II
|
|
; ------
|
|
|
|
; SPRITE POSITION REGISTERS
|
|
|
|
SP0X EQU $D000 ; SPRITE #0 X-POS
|
|
SP0Y EQU $D001 ; SPRITE #0 Y-POS
|
|
SP1X EQU $D002 ; SPRITE #1 X-POS
|
|
SP1Y EQU $D003 ; SPRITE #1 Y-POS
|
|
SP2X EQU $D004 ; SPRITE #2 X-POS
|
|
SP2Y EQU $D005 ; SPRITE #2 Y-POS
|
|
SP3X EQU $D006 ; SPRITE #3 X-POS
|
|
SP3Y EQU $D007 ; SPRITE #3 Y-POS
|
|
SP4X EQU $D008 ; SPRITE #4 X-POS
|
|
SP4Y EQU $D009 ; SPRITE #4 Y-POS
|
|
SP5X EQU $D00A ; SPRITE #5 X-POS
|
|
SP5Y EQU $D00B ; SPRITE #5 Y-POS
|
|
SP6X EQU $D00C ; SPRITE #6 X-POS
|
|
SP6Y EQU $D00D ; SPRITE #6 Y-POS
|
|
SP7X EQU $D00E ; SPRITE #7 X-POS
|
|
SP7Y EQU $D00F ; SPRITE #7 Y-POS
|
|
MSIGX EQU $D010 ; HIGH BITS OF SPRITE X-POSITIONS
|
|
|
|
; VARIOUS CONTROL REGISTERS
|
|
|
|
SCROLY EQU $D011 ; Y-SCROLL & VIDEO CONTROL
|
|
RASTER EQU $D012 ; RASTER COMPARE
|
|
SPENA EQU $D015 ; SPRITE ENABLE
|
|
SCROLX EQU $D016 ; X-SCROLL & VIDEO CONTROL
|
|
YXPAND EQU $D017 ; SPRITE Y-EXPANSION
|
|
VMCSB EQU $D018 ; MEMORY CONTROL
|
|
VICIRQ EQU $D019 ; CHIP INTERRUPT FLAGS
|
|
IRQMSK EQU $D01A ; IRQ MASKS
|
|
SPBGPR EQU $D01B ; SPRITE/FOREGROUND PRIORITY
|
|
SPMC EQU $D01C ; MULTICOLOR SPRITE CONTROL
|
|
XXPAND EQU $D01D ; SPRITE X-EXPANSION
|
|
|
|
; COLOR REGISTERS
|
|
|
|
EXTCOL EQU $D020 ; BORDER COLOR
|
|
BGCOLO EQU $D021 ; BACKGROUND COLOR
|
|
SP0COL EQU $D027 ; SPRITE #0 COLOR
|
|
SP1COL EQU $D028 ; SPRITE #1 COLOR
|
|
SP2COL EQU $D029 ; SPRITE #2 COLOR
|
|
SP3COL EQU $D02A ; SPRITE #3 COLOR
|
|
SP4COL EQU $D02B ; SPRITE #4 COLOR
|
|
SP5COL EQU $D02C ; SPRITE #5 COLOR
|
|
SP6COL EQU $D02D ; SPRITE #6 COLOR
|
|
SP7COL EQU $D02E ; SPRITE #7 COLOR
|
|
|
|
; ---
|
|
; SID
|
|
; ---
|
|
|
|
; VOICE #1 REGISTERS
|
|
|
|
FRELO1 EQU $D400 ; FREQ
|
|
FREHI1 EQU $D401 ; FREQ HIGH BIT
|
|
PWLO1 EQU $D402 ; PULSE WIDTH
|
|
PWHI1 EQU $D403 ; PULSE WIDTH HIGH NIBBLE
|
|
VCREG1 EQU $D404 ; CONTROL
|
|
ATDCY1 EQU $D405 ; ATTACK/DECAY
|
|
SUREL1 EQU $D406 ; SUSTAIN/RELEASE
|
|
|
|
; VOICE #2 REGISTERS
|
|
|
|
FRELO2 EQU $D407 ; FREQ
|
|
FREHI2 EQU $D408 ; FREQ HIGH BIT
|
|
PWLO2 EQU $D409 ; PULSE WIDTH
|
|
PWHI2 EQU $D40A ; PULSE WIDTH HIGH NIBBLE
|
|
VCREG2 EQU $D40B ; CONTROL
|
|
ATDCY2 EQU $D40C ; ATTACK/DECAY
|
|
SUREL2 EQU $D40D ; SUSTAIN/RELEASE
|
|
|
|
; VOICE #3 REGISTERS
|
|
|
|
FRELO3 EQU $D40E ; FREQ
|
|
FREHI3 EQU $D40F ; FREQ HIGH BIT
|
|
PWLO3 EQU $D410 ; PULSE WIDTH
|
|
PWHI3 EQU $D411 ; PULSE WIDTH HIGH NIBBLE
|
|
VCREG3 EQU $D412 ; VOICE CONTROL
|
|
ATDCY3 EQU $D413 ; ATTACK/DECAY
|
|
SUREL3 EQU $D414 ; SUSTAIN/RELEASE
|
|
|
|
; MISCELLANEOUS REGISTERS
|
|
|
|
CUTLO EQU $D415 ; FILTER CUTOFF, LOW BITS
|
|
CUTHI EQU $D416 ; FILTER CUTOFF, HIGH BYTE
|
|
RESON EQU $D417 ; RESONANCE CONTROL
|
|
SIGVOL EQU $D418 ; VOLUME/FILTER CONTROL
|
|
RAND EQU $D41B ; RANDOM NUMBER
|
|
CI2PRA EQU $DD00 ; DATA PORT A
|
|
|
|
; -------------------
|
|
; KERNAL JUMP VECTORS
|
|
; -------------------
|
|
|
|
CHKIN EQU $FFC6 ; OPEN CHANNEL FOR INPUT
|
|
CHKOUT EQU $FFC9 ; OPEN CHANNEL FOR OUTPUT
|
|
CHRIN EQU $FFCF ; INPUT CHARACTER FROM CHANNEL
|
|
CHROUT EQU $FFD2 ; OUTPUT CHARACTER TO CHANNEL
|
|
CINT EQU $FF81 ; INIT SCREEN EDITOR
|
|
CLALL EQU $FFE7 ; CLOSE ALL CHANNELS & FILES
|
|
CLOSE EQU $FFC3 ; CLOSE A FILE
|
|
CLRCHN EQU $FFCC ; CLEAR CHANNEL
|
|
GETIN EQU $FFE4 ; GET CHAR FROM KEYBOARD QUEUE
|
|
IOINIT EQU $FF84 ; INIT I/O
|
|
OPEN EQU $FFC0 ; OPEN A FILE
|
|
PLOT EQU $FFF0 ; READ/SET CURSOR POSITION
|
|
RAMTAS EQU $FF87 ; INIT RAM
|
|
READST EQU $FFB7 ; READ I/O STATUS
|
|
SCNKEY EQU $FF9F ; SCAN KEYBOARD
|
|
SETLFS EQU $FFBA ; SET FILE ATTRIBUTES
|
|
SETMSG EQU $FF90 ; SET KERNAL MESSAGES
|
|
SETNAM EQU $FFBD ; SET FILENAME
|
|
|
|
END
|
|
|