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