]> git.sur5r.net Git - cc65/blob - asminc/cbm510.inc
Initialize _curunit from the zeropage value DEVNUM (aka First Address) in a construct...
[cc65] / asminc / cbm510.inc
1 ;
2 ; Zero page variables and I/O definitions for the CBM 510
3 ;
4 ; Taken from a kernal disassembly done by myself in 2000/2001.
5 ;
6 ; Ullrich von Bassewitz, 13.09.2001
7
8
9 ;-----------------------------------------------------------------------------
10 ; Zeropage stuff
11
12 ExecReg         = $00
13 IndReg          = $01
14 DEVNUM          = $9F
15
16 ; ---------------------------------------------------------------------------
17 ; Screen size
18
19 XSIZE           = 40
20 YSIZE           = 25
21
22 ;-----------------------------------------------------------------------------
23 ; I/O Definitions
24
25 ; I/O  $d800: VIC
26
27 VIC_SPR0_X      = $00
28 VIC_SPR0_Y      = $01
29 VIC_SPR1_X      = $02
30 VIC_SPR1_Y      = $03
31 VIC_SPR2_X      = $04
32 VIC_SPR2_Y      = $05
33 VIC_SPR3_X      = $06
34 VIC_SPR3_Y      = $07
35 VIC_SPR4_X      = $08
36 VIC_SPR4_Y      = $09
37 VIC_SPR5_X      = $0A
38 VIC_SPR5_Y      = $0B
39 VIC_SPR6_X      = $0C
40 VIC_SPR6_Y      = $0D
41 VIC_SPR7_X      = $0E
42 VIC_SPR7_Y      = $0F
43 VIC_SPR_HI_X    = $10
44 VIC_SPR_ENA     = $15
45 VIC_SPR_EXP_Y   = $17
46 VIC_SPR_EXP_X   = $1D
47 VIC_SPR_MCOLOR  = $1C
48 VIC_SPR_BG_PRIO = $1B
49
50 VIC_SPR_MCOLOR0 = $25
51 VIC_SPR_MCOLOR1 = $26
52
53 VIC_SPR0_COLOR  = $27
54 VIC_SPR1_COLOR  = $28
55 VIC_SPR2_COLOR  = $29
56 VIC_SPR3_COLOR  = $2A
57 VIC_SPR4_COLOR  = $2B
58 VIC_SPR5_COLOR  = $2C
59 VIC_SPR6_COLOR  = $2D
60 VIC_SPR7_COLOR  = $2E
61
62 VIC_CTRL1       = $11
63 VIC_CTRL2       = $16
64
65 VIC_HLINE       = $12
66
67 VIC_VIDEO_ADR   = $18
68
69 VIC_IRR         = $19           ; Interrupt request register
70 VIC_IMR         = $1A           ; Interrupt mask register
71
72 VIC_BORDERCOLOR = $20
73 VIC_BG_COLOR0   = $21
74 VIC_BG_COLOR1   = $22
75 VIC_BG_COLOR2   = $23
76 VIC_BG_COLOR3   = $24
77
78
79
80 ; I/O  $da00: SID 6581
81
82 SID_S1Lo        = $00
83 SID_S1Hi        = $01
84 SID_PB1Lo       = $02
85 SID_PB1Hi       = $03
86 SID_Ctl1        = $04
87 SID_AD1         = $05
88 SID_SUR1        = $06
89
90 SID_S2Lo        = $07
91 SID_S2Hi        = $08
92 SID_PB2Lo       = $09
93 SID_PB2Hi       = $0A
94 SID_Ctl2        = $0B
95 SID_AD2         = $0C
96 SID_SUR2        = $0D
97
98 SID_S3Lo        = $0E
99 SID_S3Hi        = $0F
100 SID_PB3Lo       = $10
101 SID_PB3Hi       = $11
102 SID_Ctl3        = $12
103 SID_AD3         = $13
104 SID_SUR3        = $14
105
106 SID_FltLo       = $15
107 SID_FltHi       = $16
108 SID_FltCtl      = $17
109 SID_Amp         = $18
110 SID_ADConv1     = $19
111 SID_ADConv2     = $1A
112 SID_Noise       = $1B
113 SID_Read3       = $1C
114
115
116 ; I/O  $db00: CIA 6526 Inter Process Communication
117 ; I/O  $dc00: CIA 6526
118
119 .struct CIA
120         PRA     .byte
121         PRB     .byte
122         DDRA    .byte
123         DDRB    .byte
124         .union
125             .struct
126                 TALO    .byte
127                 TAHI    .byte
128             .endstruct
129             TA          .word
130         .endunion
131         .union
132             .struct
133                 TBLO    .byte
134                 TBHI    .byte
135             .endstruct
136             TB          .word
137         .endunion
138         TOD10   .byte
139         TODSEC  .byte
140         TODMIN  .byte
141         TODHR   .byte
142         SDR     .byte
143         ICR     .byte
144         CRA     .byte
145         CRB     .byte
146 .endstruct
147
148
149 ; I/O  $dd00: ACIA 6551
150
151 .struct ACIA
152         DATA    .byte
153         STATUS  .byte
154         CMD     .byte
155         CTRL    .BYTE
156 .endstruct
157
158
159 ; I/O  $de00: Triport #1 6525
160 ; I/O  $df00: Triport #2 6525
161
162 .struct TPI
163         PRA     .byte
164         PRB     .byte
165         .union
166                 PRC     .byte
167                 INT     .byte
168         .endunion
169         DDRA    .byte
170         DDRB    .byte
171         .union
172                 DDRC    .byte
173                 IMR     .byte
174         .endunion
175         CR      .byte
176         AIR     .byte
177 .endstruct
178
179
180 ; Out video memory address
181
182 COLOR_RAM   = $D400                     ; System bank
183