]> git.sur5r.net Git - cc65/blobdiff - asminc/vic20.inc
Some variables from TELEMON 2.4 added
[cc65] / asminc / vic20.inc
index 40176257714387b95ecdbdf64260981b0618f5a6..6ac7ef35ce573cf553d8a9d15abe5aa7ad4be4b3 100644 (file)
@@ -6,30 +6,34 @@
 ; ---------------------------------------------------------------------------
 ; Zero page, Commodore stuff
 
-ST                     := $90          ; IEC status byte
-
+VARTAB          := $2D          ; Pointer to start of BASIC variables
+MEMSIZE         := $37          ; Pointer to highest BASIC RAM location (+1)
+TXTPTR          := $7A          ; Pointer into BASIC source code
 TIME            := $A0          ; 60HZ clock
-FNAM_LEN               := $B7          ; Length of filename
-SECADR                 := $B9          ; Secondary address
-DEVNUM                 := $BA          ; Device number
+FNAM_LEN        := $B7          ; Length of filename
+SECADR          := $B9          ; Secondary address
+DEVNUM          := $BA          ; Device number
 FNAM            := $BB          ; Pointer to filename
-KEY_COUNT              := $C6          ; Number of keys in input buffer
-RVS                    := $C7          ; Reverse flag
-CURS_FLAG              := $CC          ; 1 = cursor off
-CURS_BLINK             := $CD          ; Blink counter
-CURS_CHAR              := $CE          ; Character under the cursor
-CURS_STATE             := $CF          ; Cursor blink state
-SCREEN_PTR             := $D1          ; Pointer to current char in text screen
-CURS_X                 := $D3          ; Cursor column
-CURS_Y                 := $D6          ; Cursor row
-CRAM_PTR               := $F3          ; Pointer to current char in color RAM
-
-BASIC_BUF              := $200         ; Location of command-line
-BASIC_BUF_LEN  = 89            ; Maximum length of command-line
+KEY_COUNT       := $C6          ; Number of keys in input buffer
+RVS             := $C7          ; Reverse flag
+CURS_FLAG       := $CC          ; 1 = cursor off
+CURS_BLINK      := $CD          ; Blink counter
+CURS_CHAR       := $CE          ; Character under the cursor
+CURS_STATE      := $CF          ; Cursor blink state
+SCREEN_PTR      := $D1          ; Pointer to current char in text screen
+CURS_X          := $D3          ; Cursor column
+CURS_Y          := $D6          ; Cursor row
+CRAM_PTR        := $F3          ; Pointer to current char in color RAM
+
+BASIC_BUF       := $200         ; Location of command-line
+BASIC_BUF_LEN   = 89            ; Maximum length of command-line
 
 CHARCOLOR       := $286
-CURS_COLOR      := $287                ; Color under the cursor
+CURS_COLOR      := $287         ; Color under the cursor
 
+KBDREPEAT       := $28a
+KBDREPEATRATE   := $28b
+KBDREPEATDELAY  := $28c
 
 ; ---------------------------------------------------------------------------
 ; Screen size
@@ -41,37 +45,64 @@ YSIZE           = 23
 ; Kernal routines
 
 ; Direct entries
-CLRSCR                 := $E55F
-KBDREAD                := $E5CF
+CLRSCR          := $E55F
+KBDREAD         := $E5CF
 
 ; ---------------------------------------------------------------------------
 ; Vector and other locations
 
-IRQVec                 := $0314
-BRKVec                 := $0316
-NMIVec                 := $0318
+IRQVec          := $0314
+BRKVec          := $0316
+NMIVec          := $0318
 
 ; ---------------------------------------------------------------------------
 ; I/O: 6560 VIC
 
-VIC                    := $9000
+VIC             := $9000
 VIC_LINES       := $9003        ; Screen lines, bit 7 is bit 0 from VIC_HLINE
 VIC_HLINE       := $9004        ; Rasterline, bits 1-8
-VIC_COLOR              := $900F        ; Border and background color
+VIC_COLOR       := $900F        ; Border and background color
 
 ; ---------------------------------------------------------------------------
 ; I/O: 6522 VIA1
 
-VIA1                   := $9110
-VIA1_JOY               := $9111
-VIA1_DDRB              := $9112
-VIA1_DDRA              := $9113
+VIA1            := $9110        ; VIA1 base address
+VIA1_JOY        := VIA1+$0      ; *** Deprecated ***
+VIA1_PB         := VIA1+$0      ; Port register B
+VIA1_PA1        := VIA1+$1      ; Port register A
+VIA1_DDRB       := VIA1+$2      ; Data direction register B
+VIA1_DDRA       := VIA1+$3      ; Data direction register A
+VIA1_T1CL       := VIA1+$4      ; Timer 1, low byte
+VIA1_T1CH       := VIA1+$5      ; Timer 1, high byte
+VIA1_T1LL       := VIA1+$6      ; Timer 1 latch, low byte
+VIA1_T1LH       := VIA1+$7      ; Timer 1 latch, high byte
+VIA1_T2CL       := VIA1+$8      ; Timer 2, low byte
+VIA1_T2CH       := VIA1+$9      ; Timer 2, high byte
+VIA1_SR         := VIA1+$A      ; Shift register
+VIA1_CR         := VIA1+$B      ; Auxiliary control register
+VIA1_PCR        := VIA1+$C      ; Peripheral control register
+VIA1_IFR        := VIA1+$D      ; Interrupt flag register
+VIA1_IER        := VIA1+$E      ; Interrupt enable register
+VIA1_PA2        := VIA1+$F      ; Port register A w/o handshake
 
 ; ---------------------------------------------------------------------------
 ; I/O: 6522 VIA2
 
-VIA2                   := $9120
-VIA2_JOY               := $9120
-VIA2_DDRB              := $9122
-VIA2_DDRA              := $9123
-
+VIA2            := $9120        ; VIA2 base address
+VIA2_JOY        := VIA2+$0      ; *** Deprecated ***
+VIA2_PB         := VIA2+$0      ; Port register B
+VIA2_PA1        := VIA2+$1      ; Port register A
+VIA2_DDRB       := VIA2+$2      ; Data direction register B
+VIA2_DDRA       := VIA2+$3      ; Data direction register A
+VIA2_T1CL       := VIA2+$4      ; Timer 1, low byte
+VIA2_T1CH       := VIA2+$5      ; Timer 1, high byte
+VIA2_T1LL       := VIA2+$6      ; Timer 1 latch, low byte
+VIA2_T1LH       := VIA2+$7      ; Timer 1 latch, high byte
+VIA2_T2CL       := VIA2+$8      ; Timer 2, low byte
+VIA2_T2CH       := VIA2+$9      ; Timer 2, high byte
+VIA2_SR         := VIA2+$A      ; Shift register
+VIA2_CR         := VIA2+$B      ; Auxiliary control register
+VIA2_PCR        := VIA2+$C      ; Peripheral control register
+VIA2_IFR        := VIA2+$D      ; Interrupt flag register
+VIA2_IER        := VIA2+$E      ; Interrupt enable register
+VIA2_PA2        := VIA2+$F      ; Port register A w/o handshake