annotate controller.s16 @ 35:5a5e02d1acf1

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