comparison tmss.s68 @ 2331:f500831f7fb4

Fix missing init in fake TMSS
author Michael Pavone <pavone@retrodev.com>
date Wed, 23 Aug 2023 22:20:48 -0700
parents 5b51f03b2227
children
comparison
equal deleted inserted replaced
2330:959a3e9aaac5 2331:f500831f7fb4
93 dc.b " " 93 dc.b " "
94 dc.b " " 94 dc.b " "
95 dc.b " " 95 dc.b " "
96 dc.b " " 96 dc.b " "
97 dc.b "JUE " 97 dc.b "JUE "
98 98
99 frame_counter equ $FFFF8000 99 frame_counter equ $FFFF8000
100 ram_code equ $FFFF8002 100 ram_code equ $FFFF8002
101 101
102 empty_handler: 102 empty_handler:
103 rte 103 rte
116 move.w #$8B00, (a1) ;full screen scroll 116 move.w #$8B00, (a1) ;full screen scroll
117 move.w #$8C81, (a1) ;40 cell mode, no interlace 117 move.w #$8C81, (a1) ;40 cell mode, no interlace
118 move.w #$8D00, (a1) ;hscroll table at 0 118 move.w #$8D00, (a1) ;hscroll table at 0
119 move.w #$8F02, (a1) ;autoinc 2 119 move.w #$8F02, (a1) ;autoinc 2
120 move.w #$9011, (a1) ;64x64 scroll size 120 move.w #$9011, (a1) ;64x64 scroll size
121
122 moveq.l #0, d0
123 ;init palette
121 move.l #$C0000000, (a1) 124 move.l #$C0000000, (a1)
122 move.w #$000, (a0) 125 move.w d0, (a0)
123 move.w #$EEE, (a0) 126 move.w #$EEE, (a0)
124 127
125 ;clear scroll table 128 ;clear scroll table
126 move.l #$40000000, (a1) 129 move.l #$40000000, (a1)
127 move.l #0, (a0) 130 move.l d0, (a0)
131
132 ;clear vsram
133 move.l #$40000010, (a1)
134 move.l d0, (a0)
135
136 ;clear SAT
137 move.l #$40000003, (a1)
138 move.l d0, (a0)
139 move.l d0, (a0)
128 140
129 ;load tiles 141 ;load tiles
130 move.l #$44000000, (a1) 142 move.l #$44000000, (a1)
131 lea font, a2 143 lea font, a2
132 move.w #((fontend-font)/4 - 1), d0 144 move.w #((fontend-font)/4 - 1), d0
142 move.w d0, (a0) 154 move.w d0, (a0)
143 dbra d1, ploop 155 dbra d1, ploop
144 move.l #$45960002, d7 156 move.l #$45960002, d7
145 move.l d7, (a1) 157 move.l d7, (a1)
146 move.l #$800000, d6 158 move.l #$800000, d6
147 159
148 lea ram_code_src(pc), a6 160 lea ram_code_src(pc), a6
149 lea ram_code.w, a5 161 lea ram_code.w, a5
150 moveq #(font-ram_code_src)/2-1, d0 162 moveq #(font-ram_code_src)/2-1, d0
151 copy: 163 copy:
152 move.w (a6)+, (a5)+ 164 move.w (a6)+, (a5)+
172 bne.s is_bad 184 bne.s is_bad
173 is_good: 185 is_good:
174 move.b d0, (a4) 186 move.b d0, (a4)
175 lea good(pc), a6 187 lea good(pc), a6
176 bsr.s print_string 188 bsr.s print_string
177 189
178 add.l d6, d7 190 add.l d6, d7
179 move.l d7, (a1) 191 move.l d7, (a1)
180 bsr.s print_string 192 bsr.s print_string
181 193
182 add.l d6, d7 194 add.l d6, d7
183 move.l d7, (a1) 195 move.l d7, (a1)
184 bsr.s print_string 196 bsr.s print_string
185 197
198 move.w #0, frame_counter.w
186 move.w #$8164, (a1) 199 move.w #$8164, (a1)
187 move #$2500, SR 200 move #$2500, SR
188 wait: 201 wait:
189 cmp.w frame_counter.w, d3 202 cmp.w frame_counter.w, d3
190 bne.s wait 203 bne.s wait
193 move.l $0.w, a7 206 move.l $0.w, a7
194 move.l $4.w, a6 207 move.l $4.w, a6
195 move.w #$8104, (a1) 208 move.w #$8104, (a1)
196 move.l d0, (a3) 209 move.l d0, (a3)
197 jmp (a6) 210 jmp (a6)
198 211
199 is_bad: 212 is_bad:
200 move.b d0, (a4) 213 move.b d0, (a4)
201 lea bad(pc), a6 214 lea bad(pc), a6
202 bsr.s print_string 215 bsr.s print_string
203 216
204 add.l d6, d7 217 add.l d6, d7
205 move.l d7, (a1) 218 move.l d7, (a1)
206 bsr.s print_string 219 bsr.s print_string
207 220
208 add.l d6, d7 221 add.l d6, d7
209 move.l d7, (a1) 222 move.l d7, (a1)
210 bsr.s print_string 223 bsr.s print_string
211 224
212 move.w #$8144, (a1) 225 move.w #$8144, (a1)
213 forever: 226 forever:
214 bra.s forever 227 bra.s forever
215 228
216 229
232 add.w d0, d1 245 add.w d0, d1
233 move.w d1, (a0) 246 move.w d1, (a0)
234 bra .loop 247 bra .loop
235 .end 248 .end
236 rts 249 rts
237 250
238 good: 251 good:
239 dc.b " BLASTEM THINKS", 0 252 dc.b " BLASTEM THINKS", 0
240 dc.b " THAT THIS CART", 0 253 dc.b " THAT THIS CART", 0
241 dc.b " TASTES DELICIOUS!", 0 254 dc.b " TASTES DELICIOUS!", 0
242 255
243 bad: 256 bad:
244 dc.b " *sniff* *sniff*", 0 257 dc.b " *sniff* *sniff*", 0
245 dc.b " something doesn't", 0 258 dc.b " something doesn't", 0
246 dc.b " smell right...", 0 259 dc.b " smell right...", 0
247 260