2010-02-28 09:55:12 +00:00
|
|
|
;
|
|
|
|
; PET generic definitions.
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
; Zero page, Commodore stuff
|
|
|
|
|
2015-09-28 15:27:39 +00:00
|
|
|
VARTAB := $2A ; Pointer to start of BASIC variables
|
2013-05-09 11:56:54 +00:00
|
|
|
MEMSIZE := $34 ; Size of memory installed
|
2013-08-25 04:43:23 +00:00
|
|
|
TXTPTR := $77 ; Pointer into BASIC source code
|
2010-02-28 09:55:12 +00:00
|
|
|
TIME := $8D ; 60HZ clock
|
2013-05-09 11:56:54 +00:00
|
|
|
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
|
2010-02-28 09:55:12 +00:00
|
|
|
FNLEN := $D1 ; Length of filename
|
|
|
|
LFN := $D2 ; Current Logical File Number
|
2013-05-09 11:56:54 +00:00
|
|
|
SECADR := $D3 ; Secondary address
|
|
|
|
DEVNUM := $D4 ; Device number
|
|
|
|
SCR_LINELEN := $D5 ; Screen line length
|
|
|
|
CURS_Y := $D8 ; Cursor row
|
2010-02-28 09:55:12 +00:00
|
|
|
FNADR := $DA ; Pointer to file name
|
|
|
|
|
2017-09-05 07:40:34 +00:00
|
|
|
; 80-Column CBMs
|
|
|
|
KBDREPEAT80 := $E4
|
|
|
|
KBDRPTRATE80 := $E5
|
|
|
|
KBDRPTDELAY80 := $E6
|
|
|
|
|
2013-08-25 04:43:23 +00:00
|
|
|
BASIC_BUF := $200 ; Location of command-line
|
|
|
|
BASIC_BUF_LEN = 81 ; Maximum length of command-line
|
|
|
|
|
2013-05-09 11:56:54 +00:00
|
|
|
KEY_BUF := $26F ; Keyboard buffer
|
2010-02-28 09:55:12 +00:00
|
|
|
|
2017-09-05 07:40:34 +00:00
|
|
|
; 40-Column PETs/CBMs
|
|
|
|
KBDRPTDELAY40 := $3E9
|
|
|
|
KBDRPTRATE40 := $3EA
|
|
|
|
KBDREPEAT40 := $3EE
|
|
|
|
KBDREPEAT40B := $3F8
|
2017-06-17 00:37:34 +00:00
|
|
|
|
2010-02-28 09:55:12 +00:00
|
|
|
;----------------------------------------------------------------------------
|
|
|
|
; PET ROM type detection
|
|
|
|
|
|
|
|
PET_DETECT := $FFFB
|
|
|
|
PET_2000 = $CA
|
|
|
|
PET_3000 = $FC
|
|
|
|
PET_4000 = $FD
|
|
|
|
|
|
|
|
|
|
|
|
;----------------------------------------------------------------------------
|
|
|
|
; Vector and other locations
|
|
|
|
|
2013-05-09 11:56:54 +00:00
|
|
|
IRQVec := $0090
|
|
|
|
BRKVec := $0092
|
|
|
|
NMIVec := $0094
|
2010-02-28 09:55:12 +00:00
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
; I/O: 6522 VIA2
|
|
|
|
|
2013-05-09 11:56:54 +00:00
|
|
|
VIA := $E840
|
2010-02-28 09:55:12 +00:00
|
|
|
VIA_PRB := $E840
|
|
|
|
VIA_PRA := $E841
|
2013-05-09 11:56:54 +00:00
|
|
|
VIA_DDRB := $E842
|
|
|
|
VIA_DDRA := $E843
|