comparison controller.s16 @ 34:4a093f15fb1b

Finish controller test for controller 1
author Michael Pavone <pavone@retrodev.com>
date Sun, 03 Apr 2016 19:03:35 -0700
parents 8642cb2ceb89
children 5a5e02d1acf1
comparison
equal deleted inserted replaced
33:eda4919d955f 34:4a093f15fb1b
14 ldim copy_data, r12 14 ldim copy_data, r12
15 ldimh copy_data, r12 15 ldimh copy_data, r12
16 call r12, r13 16 call r12, r13
17 17
18 ;setup writes to 2nd palette 18 ;setup writes to 2nd palette
19 ldim $10, r0 19 ldim $20, r0
20 ldimh $FF,r0 20 ldimh $FF,r0
21 outi $E, r0 21 outi $E, r0
22 22
23 ;copy 3 colors for 2nd palette 23 ;copy 3 colors for 2nd palette
24 ldim 3, r3 24 ldim 3, r3
156 outi $E, r0 156 outi $E, r0
157 ;copy third row 157 ;copy third row
158 ldim 9, r3 158 ldim 9, r3
159 call r12, r13 159 call r12, r13
160 160
161 ;update map for next frame
162
163 ;read controller 1
164 ini $0, r0
165 ;r1 = map
166 ldim offsets, r2
167 ldimh offsets, r2
168 ;index
169 ldim 0, r3
170 ;mask to test bits
171 ldim 1, r4
172 ;constant $2000
173 ldim 0, r9
174 ldimh $20, r9
175 ;limit
176 ldim 12, r5
177 modify_loop
178 ;load offset
179 ld8 r2, r3, r6
180 ;load existing value
181 ld16 r1, r6, r7
182 ;test for button pressed
183 and r0, r4, r8
184 beq not_pressed
185 or r9, r7, r7
186 bra store_modified
187 not_pressed
188 not r9, r9
189 and r9, r7, r7
190 not r9, r9
191 store_modified
192 str16 r1, r6, r7
193 ;shift mask to the left
194 add r4, r4, r4
195 addi 1, r3
196 cmp r3, r5
197 bne modify_loop
198
199
161 reti r13 200 reti r13
162 201
163 offsets: 202 offsets:
164 dc.w 52 ;C 203 dc.b 34 ;Z
165 dc.w 50 ;B 204 dc.b 32 ;Y
166 dc.w 48 ;A 205 dc.b 30 ;X
167 dc.w 34 ;Z 206 dc.b 52 ;C
168 dc.w 32 ;Y 207 dc.b 50 ;B
169 dc.w 30 ;X 208 dc.b 48 ;A
170 dc.w 44 ;Mode 209 dc.b 44 ;Mode
171 dc.w 26 ;Start 210 dc.b 26 ;Start
172 211
173 dc.w 22 ;Right 212 dc.b 22 ;Right
174 dc.w 18 ;Left 213 dc.b 18 ;Left
175 dc.w 38 ;Down 214 dc.b 38 ;Down
176 dc.w 2 ;Up 215 dc.b 2 ;Up
177 216
178 colors: 217 colors:
179 dc.w $000 218 dc.w $000
180 dc.w $777 219 dc.w $777
181 dc.w $333 220 dc.w $333