annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
32
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
1 ldim vectors, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
2 ldimh vectors, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
3 setvbr r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
4 ;load palette
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
5 ldim 0, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
6 ldimh $FF,r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
7 outi $E, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
8 ldim colors, r1
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
9 ldimh colors, r1
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
10
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
11 ;copy 3 colors for 1st palette
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
12 ldim 0, r2
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
13 ldim 3, r3
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
14 ldim copy_data, r12
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
15 ldimh copy_data, r12
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
16 call r12, r13
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
17
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
18 ;setup writes to 2nd palette
34
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
19 ldim $20, r0
32
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
20 ldimh $FF,r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
21 outi $E, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
22
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
23 ;copy 3 colors for 2nd palette
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
24 ldim 3, r3
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
25 call r12, r13
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
26
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
27 ;setup writes for first map row
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
28 ldim 0, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
29 ldimh $60, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
30 outi $E, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
31
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
32 ldim write_zeros, r11
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
33 ldimh write_zeros, r11
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
34 ;offset by one row and two columns
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
35 ldim 66, r3
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
36 call r11, r13
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
37
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
38 ldim 3, r5
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
39 row_loop:
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
40 ;copy 9 table entries for first row
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
41 ldim 9, r3
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
42 call r12, r13
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
43
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
44 ;zero out rest of row
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
45
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
46 ldim 55, r3
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
47 call r11, r13
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
48
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
49 addi -1, r5
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
50 bne row_loop
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
51
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
52 ;setup writes to tile data area
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
53 ldim 0, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
54 outi $E, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
55
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
56 ;zero out first tile
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
57 ldim $10, r3
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
58 call r11, r13
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
59
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
60 ;copy tiles
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
61 ldim $C0, r3
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
62 ldimh 0, r3
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
63 call r12, r13
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
64
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
65
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
66
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
67 ;copy tile map to ram
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
68 ldim 0, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
69 ldimh $C0, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
70
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
71 ldim map, r1
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
72 ldimh map, r1
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
73
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
74 ldim 0, r2
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
75 ldim 27, r3
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
76
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
77 ldim memcpy16, r10
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
78 ldimh memcpy16, r10
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
79 call r10, r13
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
80
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
81 ;enable vertical interrupts
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
82 ori 2, sr
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
83
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
84 ;vscroll reg
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
85 ldim 0, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
86 ldimh $C6, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
87 outi $C, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
88 ;hscroll reg + enable display
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
89 ldim 0, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
90 ldimh $80, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
91 outi $D, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
92
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
93 forever:
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
94 bra forever
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
95
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
96 copy_data:
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
97 ld16 r1, r2, r4
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
98 outi $F, r4
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
99
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
100 addi 2, r2
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
101 addi -1, r3
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
102 bne copy_data
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
103 mov r13, pc
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
104
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
105 memcpy16:
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
106 ld16 r1, r2, r4
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
107 str16 r0, r2, r4
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
108
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
109 addi 2, r2
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
110 addi -1, r3
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
111 bne memcpy16
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
112 mov r13, pc
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
113
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
114 write_zeros:
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
115 ldim 0, r4
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
116 zloop:
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
117 outi $f, r4
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
118
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
119 addi -1, r3
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
120 bne zloop
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
121 mov r13, pc
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
122
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
123
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
124
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
125 vectors:
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
126 dc.w 0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
127 dc.w vint_handler
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
128
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
129 vint_handler
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
130 setuer r13
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
131 ;handler code goes here
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
132
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
133 ;setup writes to first element of diagram
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
134 ldim $84, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
135 ldimh $60, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
136 outi $E, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
137
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
138 ;copy first row of updated tile map
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
139 ldim 0, r1
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
140 ldimh $C0, r1
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
141 ldim 0, r2
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
142 ldim 9, r3
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
143 call r12, r13
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
144
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
145 ;setup writes to second row of diagram
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
146 ldim $04, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
147 ldimh $61, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
148 outi $E, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
149 ;copy second row
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
150 ldim 9, r3
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
151 call r12, r13
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
152
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
153 ;setup writes to third row of diagram
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
154 ldim $84, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
155 ldimh $61, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
156 outi $E, r0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
157 ;copy third row
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
158 ldim 9, r3
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
159 call r12, r13
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
160
34
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
161 ;update map for next frame
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
162
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
163 ;read controller 1
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
164 ini $0, r0
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
165 ;r1 = map
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
166 ldim offsets, r2
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
167 ldimh offsets, r2
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
168 ;index
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
169 ldim 0, r3
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
170 ;mask to test bits
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
171 ldim 1, r4
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
172 ;constant $2000
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
173 ldim 0, r9
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
174 ldimh $20, r9
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
175 ;limit
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
176 ldim 12, r5
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
177 modify_loop
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
178 ;load offset
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
179 ld8 r2, r3, r6
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
180 ;load existing value
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
181 ld16 r1, r6, r7
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
182 ;test for button pressed
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
183 and r0, r4, r8
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
184 beq not_pressed
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
185 or r9, r7, r7
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
186 bra store_modified
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
187 not_pressed
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
188 not r9, r9
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
189 and r9, r7, r7
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
190 not r9, r9
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
191 store_modified
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
192 str16 r1, r6, r7
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
193 ;shift mask to the left
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
194 add r4, r4, r4
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
195 addi 1, r3
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
196 cmp r3, r5
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
197 bne modify_loop
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
198
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
199
32
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
200 reti r13
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
201
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
202 offsets:
34
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
203 dc.b 34 ;Z
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
204 dc.b 32 ;Y
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
205 dc.b 30 ;X
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
206 dc.b 52 ;C
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
207 dc.b 50 ;B
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
208 dc.b 48 ;A
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
209 dc.b 44 ;Mode
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
210 dc.b 26 ;Start
32
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
211
34
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
212 dc.b 22 ;Right
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
213 dc.b 18 ;Left
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
214 dc.b 38 ;Down
4a093f15fb1b Finish controller test for controller 1
Michael Pavone <pavone@retrodev.com>
parents: 32
diff changeset
215 dc.b 2 ;Up
32
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
216
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
217 colors:
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
218 dc.w $000
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
219 dc.w $777
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
220 dc.w $333
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
221 ;second palette
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
222 dc.w $000
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
223 dc.w $FFF
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
224 dc.w $00F
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
225 map:
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
226 dc.w 0, 1, 0, 0, 0, 0, 0, 0, 0
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
227 dc.w 3, 0, 4, 0, 5, 0, 7, 8, 9
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
228 dc.w 0, 2, 0, 0, 6, 0, 10, 11, 12
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
229
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
230 tiles:
8642cb2ceb89 WIP button test ROM
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
231 incbin buttons.tiles