2 ; C64 generic definitions. Stolen from Elite128
6 ; ---------------------------------------------------------------------------
7 ; Zero page, Commodore stuff
9 ST = $90 ; IEC status byte
11 TIME = $A0 ; 60 HZ clock
12 FNAM_LEN = $B7 ; Length of filename
13 SECADR = $B9 ; Secondary address
14 DEVNUM = $BA ; Device number
15 FNAM = $BB ; Pointer to filename
16 KEY_COUNT = $C6 ; Number of keys in input buffer
17 RVS = $C7 ; Reverse flag
18 CURS_FLAG = $CC ; 1 = cursor off
19 CURS_BLINK = $CD ; Blink counter
20 CURS_CHAR = $CE ; Character under the cursor
21 CURS_STATE = $CF ; Cursor blink state
22 SCREEN_PTR = $D1 ; Pointer to current char in text screen
23 CURS_X = $D3 ; Cursor column
24 CURS_Y = $D6 ; Cursor row
25 CRAM_PTR = $F3 ; Pointer to current char in color RAM
28 CURS_COLOR = $287 ; Color under the cursor
29 PALFLAG = $2A6 ; $01 = PAL, $00 = NTSC
32 ; ---------------------------------------------------------------------------
39 ; ---------------------------------------------------------------------------
40 ; Vector and other locations
46 ; ---------------------------------------------------------------------------
52 ; ---------------------------------------------------------------------------
76 VIC_SPR_MCOLOR = $D01C
77 VIC_SPR_BG_PRIO = $D01B
79 VIC_SPR_MCOLOR0 = $D025
80 VIC_SPR_MCOLOR1 = $D026
82 VIC_SPR0_COLOR = $D027
83 VIC_SPR1_COLOR = $D028
84 VIC_SPR2_COLOR = $D029
85 VIC_SPR3_COLOR = $D02A
86 VIC_SPR4_COLOR = $D02B
87 VIC_SPR5_COLOR = $D02C
88 VIC_SPR6_COLOR = $D02D
89 VIC_SPR7_COLOR = $D02E
98 VIC_IRR = $D019 ; Interrupt request register
99 VIC_IMR = $D01A ; Interrupt mask register
101 VIC_BORDERCOLOR = $D020
102 VIC_BG_COLOR0 = $D021
103 VIC_BG_COLOR1 = $D022
104 VIC_BG_COLOR2 = $D023
105 VIC_BG_COLOR3 = $D024
108 VIC_KBD_128 = $D02F ; Extended kbd bits (visible in 64 mode)
109 VIC_CLK_128 = $D030 ; Clock rate register (visible in 64 mode)
112 ; ---------------------------------------------------------------------------
149 ; ---------------------------------------------------------------------------
150 ; I/O: VDC (128 only)
155 ; ---------------------------------------------------------------------------
176 ; ---------------------------------------------------------------------------
179 SCPU_VIC_Bank1 = $D075
182 SCPU_EnableRegs = $D07E
183 SCPU_DisableRegs= $D07F
187 ; ---------------------------------------------------------------------------
188 ; Processor Port at $01
190 LORAM = $01 ; Enable the basic rom
191 HIRAM = $02 ; Enable the kernal rom
192 IOEN = $04 ; Enable I/O
193 CASSDATA = $08 ; Cassette data
194 CASSPLAY = $10 ; Cassette: Play
195 CASSMOT = $20 ; Cassette motor on
196 TP_FAST = $80 ; Switch Rossmoeller TurboProcess to fast mode
198 RAMONLY = $F8 ; (~(LORAM | HIRAM | IOEN)) & $FF