]> git.sur5r.net Git - cc65/blobdiff - asminc/pet.inc
cfg/atari-xex.cfg: fix typo in comment
[cc65] / asminc / pet.inc
index 1950046cc4b84e064de3ecad3f67c80e643b8d12..d165bb336cb74b603351d667df1db41e6a48f2e7 100644 (file)
@@ -6,25 +6,41 @@
 ; ---------------------------------------------------------------------------
 ; Zero page, Commodore stuff
 
-MEMSIZE                := $34          ; Size of memory installed
+VARTAB          := $2A          ; Pointer to start of BASIC variables
+MEMSIZE         := $34          ; Size of memory installed
+TXTPTR          := $77          ; Pointer into BASIC source code
 TIME            := $8D          ; 60HZ clock
-KEY_COUNT              := $9E          ; Number of keys in input buffer
-RVS            := $9F          ; Reverse flag
-CURS_FLAG      := $A7          ; 1 = cursor off
-CURS_BLINK     := $A8          ; Blink counter
-CURS_CHAR      := $A9          ; Character under the cursor
-CURS_STATE             := $AA          ; Cursor blink state
-SCREEN_PTR             := $C4          ; Pointer to current char in text screen
-CURS_X                 := $C6          ; Cursor column
+KEY_COUNT       := $9E          ; Number of keys in input buffer
+RVS             := $9F          ; Reverse flag
+CURS_FLAG       := $A7          ; 1 = cursor off
+CURS_BLINK      := $A8          ; Blink counter
+CURS_CHAR       := $A9          ; Character under the cursor
+CURS_STATE      := $AA          ; Cursor blink state
+SCREEN_PTR      := $C4          ; Pointer to current char in text screen
+CURS_X          := $C6          ; Cursor column
 FNLEN           := $D1          ; Length of filename
 LFN             := $D2          ; Current Logical File Number
-SECADR         := $D3          ; Secondary address
-DEVNUM         := $D4          ; Device number
-SCR_LINELEN    := $D5          ; Screen line length
-CURS_Y                 := $D8          ; Cursor row
+SECADR          := $D3          ; Secondary address
+DEVNUM          := $D4          ; Device number
+SCR_LINELEN     := $D5          ; Screen line length
+CURS_Y          := $D8          ; Cursor row
 FNADR           := $DA          ; Pointer to file name
 
-KEY_BUF                := $26F         ; Keyboard buffer
+; 80-Column CBMs
+KBDREPEAT80     := $E4
+KBDRPTRATE80    := $E5
+KBDRPTDELAY80   := $E6
+
+BASIC_BUF       := $200         ; Location of command-line
+BASIC_BUF_LEN   = 81            ; Maximum length of command-line
+
+KEY_BUF         := $26F         ; Keyboard buffer
+
+; 40-Column PETs/CBMs
+KBDRPTDELAY40   := $3E9
+KBDRPTRATE40    := $3EA
+KBDREPEAT40     := $3EE
+KBDREPEAT40B    := $3F8
 
 ;----------------------------------------------------------------------------
 ; PET ROM type detection
@@ -38,17 +54,29 @@ PET_4000        = $FD
 ;----------------------------------------------------------------------------
 ; Vector and other locations
 
-IRQVec         := $0090
-BRKVec         := $0092
-NMIVec         := $0094
+IRQVec          := $0090
+BRKVec          := $0092
+NMIVec          := $0094
 
 ; ---------------------------------------------------------------------------
 ; I/O: 6522 VIA2
 
-VIA            := $E840
-VIA_PRB         := $E840
-VIA_PRA         := $E841
-VIA_DDRB       := $E842
-VIA_DDRA       := $E843
-
-
+VIA             := $E840        ; VIA base address
+VIA_PB          := VIA+$0       ; Port register B
+VIA_PA1         := VIA+$1       ; Port register A
+VIA_PRB         := VIA+$0       ; *** Deprecated ***
+VIA_PRA         := VIA+$1       ; *** Deprecated ***
+VIA_DDRB        := VIA+$2       ; Data direction register B
+VIA_DDRA        := VIA+$3       ; Data direction register A
+VIA_T1CL        := VIA+$4       ; Timer 1, low byte
+VIA_T1CH        := VIA+$5       ; Timer 1, high byte
+VIA_T1LL        := VIA+$6       ; Timer 1 latch, low byte
+VIA_T1LH        := VIA+$7       ; Timer 1 latch, high byte
+VIA_T2CL        := VIA+$8       ; Timer 2, low byte
+VIA_T2CH        := VIA+$9       ; Timer 2, high byte
+VIA_SR          := VIA+$A       ; Shift register
+VIA_CR          := VIA+$B       ; Auxiliary control register
+VIA_PCR         := VIA+$C       ; Peripheral control register
+VIA_IFR         := VIA+$D       ; Interrupt flag register
+VIA_IER         := VIA+$E       ; Interrupt enable register
+VIA_PA2         := VIA+$F       ; Port register A w/o handshake