2 ; C64 generic definitions. Stolen from Elite128
6 ; ---------------------------------------------------------------------------
7 ; Zero page, Commodore stuff
9 TXTPTR := $7A ; Pointer into BASIC source code
10 TIME := $A0 ; 60 HZ clock
11 FNAM_LEN := $B7 ; Length of filename
12 SECADR := $B9 ; Secondary address
13 DEVNUM := $BA ; Device number
14 FNAM := $BB ; Pointer to filename
15 KEY_COUNT := $C6 ; Number of keys in input buffer
16 RVS := $C7 ; Reverse flag
17 CURS_FLAG := $CC ; 1 = cursor off
18 CURS_BLINK := $CD ; Blink counter
19 CURS_CHAR := $CE ; Character under the cursor
20 CURS_STATE := $CF ; Cursor blink state
21 SCREEN_PTR := $D1 ; Pointer to current char in text screen
22 CURS_X := $D3 ; Cursor column
23 CURS_Y := $D6 ; Cursor row
24 CRAM_PTR := $F3 ; Pointer to current char in color RAM
26 BASIC_BUF := $200 ; Location of command-line
27 BASIC_BUF_LEN = 89 ; Maximum length of command-line
30 CURS_COLOR := $287 ; Color under the cursor
31 PALFLAG := $2A6 ; $01 = PAL, $00 = NTSC
34 ; ---------------------------------------------------------------------------
42 ; ---------------------------------------------------------------------------
43 ; Vector and other locations
49 ; ---------------------------------------------------------------------------
55 ; ---------------------------------------------------------------------------
77 VIC_SPR_EXP_Y := $D017
78 VIC_SPR_EXP_X := $D01D
79 VIC_SPR_MCOLOR := $D01C
80 VIC_SPR_BG_PRIO := $D01B
82 VIC_SPR_MCOLOR0 := $D025
83 VIC_SPR_MCOLOR1 := $D026
85 VIC_SPR0_COLOR := $D027
86 VIC_SPR1_COLOR := $D028
87 VIC_SPR2_COLOR := $D029
88 VIC_SPR3_COLOR := $D02A
89 VIC_SPR4_COLOR := $D02B
90 VIC_SPR5_COLOR := $D02C
91 VIC_SPR6_COLOR := $D02D
92 VIC_SPR7_COLOR := $D02E
102 VIC_VIDEO_ADR := $D018
104 VIC_IRR := $D019 ; Interrupt request register
105 VIC_IMR := $D01A ; Interrupt mask register
107 VIC_BORDERCOLOR := $D020
108 VIC_BG_COLOR0 := $D021
109 VIC_BG_COLOR1 := $D022
110 VIC_BG_COLOR2 := $D023
111 VIC_BG_COLOR3 := $D024
114 VIC_KBD_128 := $D02F ; Extended kbd bits (visible in 64 mode)
115 VIC_CLK_128 := $D030 ; Clock rate register (visible in 64 mode)
118 ; ---------------------------------------------------------------------------
155 ; ---------------------------------------------------------------------------
156 ; I/O: VDC (128 only)
161 ; ---------------------------------------------------------------------------
190 ; ---------------------------------------------------------------------------
193 SCPU_VIC_Bank1 := $D075
196 SCPU_EnableRegs := $D07E
197 SCPU_DisableRegs:= $D07F
201 ; ---------------------------------------------------------------------------
202 ; Processor Port at $01
204 LORAM = $01 ; Enable the basic rom
205 HIRAM = $02 ; Enable the kernal rom
206 IOEN = $04 ; Enable I/O
207 CASSDATA = $08 ; Cassette data
208 CASSPLAY = $10 ; Cassette: Play
209 CASSMOT = $20 ; Cassette motor on
210 TP_FAST = $80 ; Switch Rossmoeller TurboProcess to fast mode
212 RAMONLY = $F8 ; (~(LORAM | HIRAM | IOEN)) & $FF