psp readme, some adjustments
[picodrive.git] / Pico / Draw_amips.s
CommitLineData
70357ce5 1# vim:filetype=mips
2
70357ce5 3
4.set noreorder # don't reorder any instructions
5.set noat # don't use $at
6
81fda4e8 7.text
8.align 4
70357ce5 9
10# void amips_clut(unsigned short *dst, unsigned char *src, unsigned short *pal, int count)
11
12.global amips_clut
13
14amips_clut:
15 srl $a3, 2
16amips_clut_loop:
17 lbu $t0, 0($a1) # tried lw here, no improvement noticed
18 lbu $t1, 1($a1)
19 lbu $t2, 2($a1)
20 lbu $t3, 3($a1)
21 sll $t0, 1
22 sll $t1, 1
23 sll $t2, 1
24 sll $t3, 1
25 addu $t0, $a2
26 addu $t1, $a2
27 addu $t2, $a2
28 addu $t3, $a2
29 lhu $t0, 0($t0)
30 lhu $t1, 0($t1)
31 lhu $t2, 0($t2)
32 lhu $t3, 0($t3)
33 ins $t0, $t1, 16, 16 # ins rt, rs, pos, size - Insert size bits starting
34 ins $t2, $t3, 16, 16 # from the LSB of rs into rt starting at position pos
35 sw $t0, 0($a0)
36 sw $t2, 4($a0)
37 addiu $a0, 8
38 addiu $a3, -1
39 bnez $a3, amips_clut_loop
40 addiu $a1, 4
41 jr $ra
42 nop
43
8ef001cc 44
45# $a0 - pd, $a1 - tile word, $a2 - pal
46# ext rt, rs, pos, size // Extract size bits from position pos in rs and store in rt
47
48.macro TilePixelPrep shift dreg offs
49.if \shift
50 ext \dreg, $a1, \shift, 4
51.else
52 andi \dreg, $a1, 0xf
53.endif
54.if \offs
55 sltu $t8, $0, \dreg
56 ins $t9, $t8, \offs, 1
57.else
58 sltu $t9, $0, \dreg
59.endif
60.endm
61
62.macro TileStartCode
63 sll $a1, $a1, 1
64 lui $t1, %hi(Pico+0x10000)
65 addu $a1, $a1, $t1
66 lw $a1, %lo(Pico+0x10000)($a1) # Pico.vram + addr
67 beqz $a1, TileEmpty
68 rotr $t1, $a1, 4
69 beq $t1, $a1, SingleColor
70 and $v0, $0 # not empty tile
71.endm
72
73.macro TileEndCode
74 xori $t8, $t9, 0xff
75 beqz $t8, tile11111111 # common case
76 lui $v1, %hi(HighCol)
77 lui $t8, %hi(TileTable)
78 ins $t8, $t9, 2, 8
79 lw $t8, %lo(TileTable)($t8)
80 lw $v1, %lo(HighCol)($v1)
81 jr $t8
82 addu $a0, $v1
83.endm
84
85
86.global TileNorm
87
88TileNorm:
89 TileStartCode
90 TilePixelPrep 12, $t0, 0
91 TilePixelPrep 8, $t1, 1
92 TilePixelPrep 4, $t2, 2
93 TilePixelPrep 0, $t3, 3
94 TilePixelPrep 28, $t4, 4
95 TilePixelPrep 24, $t5, 5
96 TilePixelPrep 20, $t6, 6
97 TilePixelPrep 16, $t7, 7
98 TileEndCode
99
100
101.global TileFlip
102
103TileFlip:
104 TileStartCode
105 TilePixelPrep 16, $t0, 0
106 TilePixelPrep 20, $t1, 1
107 TilePixelPrep 24, $t2, 2
108 TilePixelPrep 28, $t3, 3
109 TilePixelPrep 0, $t4, 4
110 TilePixelPrep 4, $t5, 5
111 TilePixelPrep 8, $t6, 6
112 TilePixelPrep 12, $t7, 7
113 TileEndCode
114
115
116SingleColor:
117 lui $t9, %hi(HighCol)
118 lw $t9, %lo(HighCol)($t9)
119 andi $t0, $a1, 0xf
120 or $t0, $t0, $a2
121 addu $a0, $t9
122 sb $t0, 0($a0)
123 sb $t0, 1($a0)
124 sb $t0, 2($a0)
125 sb $t0, 3($a0)
126 sb $t0, 4($a0)
127 sb $t0, 5($a0)
128 sb $t0, 6($a0)
129 jr $ra
130 sb $t0, 7($a0)
131
132TileEmpty:
133 jr $ra
134 or $v0, $0, 1 # empty tile
135
136tile11111111:
137 lw $v1, %lo(HighCol)($v1)
138 or $t0, $t0, $a2
139 addu $a0, $v1
140 sb $t0, 0($a0)
141tile11111110:
142 or $t1, $t1, $a2
143 sb $t1, 1($a0)
144tile11111100:
145 or $t2, $t2, $a2
146 sb $t2, 2($a0)
147tile11111000:
148 or $t3, $t3, $a2
149 sb $t3, 3($a0)
150tile11110000:
151 or $t4, $t4, $a2
152 sb $t4, 4($a0)
153tile11100000:
154 or $t5, $t5, $a2
155 sb $t5, 5($a0)
156tile11000000:
157 or $t6, $t6, $a2
158 sb $t6, 6($a0)
159tile10000000:
160 or $t7, $t7, $a2
161 jr $ra
162 sb $t7, 7($a0)
163tile11111101:
164 or $t0, $t0, $a2
165 sb $t0, 0($a0)
166 or $t2, $t2, $a2
167 sb $t2, 2($a0)
168 or $t3, $t3, $a2
169 sb $t3, 3($a0)
170 or $t4, $t4, $a2
171 sb $t4, 4($a0)
172 or $t5, $t5, $a2
173 sb $t5, 5($a0)
174 or $t6, $t6, $a2
175 sb $t6, 6($a0)
176 or $t7, $t7, $a2
177 jr $ra
178 sb $t7, 7($a0)
179tile11111011:
180 or $t0, $t0, $a2
181 sb $t0, 0($a0)
182tile11111010:
183 or $t1, $t1, $a2
184 sb $t1, 1($a0)
185 or $t3, $t3, $a2
186 sb $t3, 3($a0)
187 or $t4, $t4, $a2
188 sb $t4, 4($a0)
189 or $t5, $t5, $a2
190 sb $t5, 5($a0)
191 or $t6, $t6, $a2
192 sb $t6, 6($a0)
193 or $t7, $t7, $a2
194 jr $ra
195 sb $t7, 7($a0)
196tile11111001:
197 or $t0, $t0, $a2
198 sb $t0, 0($a0)
199 or $t3, $t3, $a2
200 sb $t3, 3($a0)
201 or $t4, $t4, $a2
202 sb $t4, 4($a0)
203 or $t5, $t5, $a2
204 sb $t5, 5($a0)
205 or $t6, $t6, $a2
206 sb $t6, 6($a0)
207 or $t7, $t7, $a2
208 jr $ra
209 sb $t7, 7($a0)
210tile11110111:
211 or $t0, $t0, $a2
212 sb $t0, 0($a0)
213tile11110110:
214 or $t1, $t1, $a2
215 sb $t1, 1($a0)
216tile11110100:
217 or $t2, $t2, $a2
218 sb $t2, 2($a0)
219 or $t4, $t4, $a2
220 sb $t4, 4($a0)
221 or $t5, $t5, $a2
222 sb $t5, 5($a0)
223 or $t6, $t6, $a2
224 sb $t6, 6($a0)
225 or $t7, $t7, $a2
226 jr $ra
227 sb $t7, 7($a0)
228tile11110101:
229 or $t0, $t0, $a2
230 sb $t0, 0($a0)
231 or $t2, $t2, $a2
232 sb $t2, 2($a0)
233 or $t4, $t4, $a2
234 sb $t4, 4($a0)
235 or $t5, $t5, $a2
236 sb $t5, 5($a0)
237 or $t6, $t6, $a2
238 sb $t6, 6($a0)
239 or $t7, $t7, $a2
240 jr $ra
241 sb $t7, 7($a0)
242tile11110011:
243 or $t0, $t0, $a2
244 sb $t0, 0($a0)
245tile11110010:
246 or $t1, $t1, $a2
247 sb $t1, 1($a0)
248 or $t4, $t4, $a2
249 sb $t4, 4($a0)
250 or $t5, $t5, $a2
251 sb $t5, 5($a0)
252 or $t6, $t6, $a2
253 sb $t6, 6($a0)
254 or $t7, $t7, $a2
255 jr $ra
256 sb $t7, 7($a0)
257tile11110001:
258 or $t0, $t0, $a2
259 sb $t0, 0($a0)
260 or $t4, $t4, $a2
261 sb $t4, 4($a0)
262 or $t5, $t5, $a2
263 sb $t5, 5($a0)
264 or $t6, $t6, $a2
265 sb $t6, 6($a0)
266 or $t7, $t7, $a2
267 jr $ra
268 sb $t7, 7($a0)
269tile11101111:
270 or $t0, $t0, $a2
271 sb $t0, 0($a0)
272tile11101110:
273 or $t1, $t1, $a2
274 sb $t1, 1($a0)
275tile11101100:
276 or $t2, $t2, $a2
277 sb $t2, 2($a0)
278tile11101000:
279 or $t3, $t3, $a2
280 sb $t3, 3($a0)
281 or $t5, $t5, $a2
282 sb $t5, 5($a0)
283 or $t6, $t6, $a2
284 sb $t6, 6($a0)
285 or $t7, $t7, $a2
286 jr $ra
287 sb $t7, 7($a0)
288tile11101101:
289 or $t0, $t0, $a2
290 sb $t0, 0($a0)
291 or $t2, $t2, $a2
292 sb $t2, 2($a0)
293 or $t3, $t3, $a2
294 sb $t3, 3($a0)
295 or $t5, $t5, $a2
296 sb $t5, 5($a0)
297 or $t6, $t6, $a2
298 sb $t6, 6($a0)
299 or $t7, $t7, $a2
300 jr $ra
301 sb $t7, 7($a0)
302tile11101011:
303 or $t0, $t0, $a2
304 sb $t0, 0($a0)
305tile11101010:
306 or $t1, $t1, $a2
307 sb $t1, 1($a0)
308 or $t3, $t3, $a2
309 sb $t3, 3($a0)
310 or $t5, $t5, $a2
311 sb $t5, 5($a0)
312 or $t6, $t6, $a2
313 sb $t6, 6($a0)
314 or $t7, $t7, $a2
315 jr $ra
316 sb $t7, 7($a0)
317tile11101001:
318 or $t0, $t0, $a2
319 sb $t0, 0($a0)
320 or $t3, $t3, $a2
321 sb $t3, 3($a0)
322 or $t5, $t5, $a2
323 sb $t5, 5($a0)
324 or $t6, $t6, $a2
325 sb $t6, 6($a0)
326 or $t7, $t7, $a2
327 jr $ra
328 sb $t7, 7($a0)
329tile11100111:
330 or $t0, $t0, $a2
331 sb $t0, 0($a0)
332tile11100110:
333 or $t1, $t1, $a2
334 sb $t1, 1($a0)
335tile11100100:
336 or $t2, $t2, $a2
337 sb $t2, 2($a0)
338 or $t5, $t5, $a2
339 sb $t5, 5($a0)
340 or $t6, $t6, $a2
341 sb $t6, 6($a0)
342 or $t7, $t7, $a2
343 jr $ra
344 sb $t7, 7($a0)
345tile11100101:
346 or $t0, $t0, $a2
347 sb $t0, 0($a0)
348 or $t2, $t2, $a2
349 sb $t2, 2($a0)
350 or $t5, $t5, $a2
351 sb $t5, 5($a0)
352 or $t6, $t6, $a2
353 sb $t6, 6($a0)
354 or $t7, $t7, $a2
355 jr $ra
356 sb $t7, 7($a0)
357tile11100011:
358 or $t0, $t0, $a2
359 sb $t0, 0($a0)
360tile11100010:
361 or $t1, $t1, $a2
362 sb $t1, 1($a0)
363 or $t5, $t5, $a2
364 sb $t5, 5($a0)
365 or $t6, $t6, $a2
366 sb $t6, 6($a0)
367 or $t7, $t7, $a2
368 jr $ra
369 sb $t7, 7($a0)
370tile11100001:
371 or $t0, $t0, $a2
372 sb $t0, 0($a0)
373 or $t5, $t5, $a2
374 sb $t5, 5($a0)
375 or $t6, $t6, $a2
376 sb $t6, 6($a0)
377 or $t7, $t7, $a2
378 jr $ra
379 sb $t7, 7($a0)
380tile11011111:
381 or $t0, $t0, $a2
382 sb $t0, 0($a0)
383tile11011110:
384 or $t1, $t1, $a2
385 sb $t1, 1($a0)
386tile11011100:
387 or $t2, $t2, $a2
388 sb $t2, 2($a0)
389tile11011000:
390 or $t3, $t3, $a2
391 sb $t3, 3($a0)
392tile11010000:
393 or $t4, $t4, $a2
394 sb $t4, 4($a0)
395 or $t6, $t6, $a2
396 sb $t6, 6($a0)
397 or $t7, $t7, $a2
398 jr $ra
399 sb $t7, 7($a0)
400tile11011101:
401 or $t0, $t0, $a2
402 sb $t0, 0($a0)
403 or $t2, $t2, $a2
404 sb $t2, 2($a0)
405 or $t3, $t3, $a2
406 sb $t3, 3($a0)
407 or $t4, $t4, $a2
408 sb $t4, 4($a0)
409 or $t6, $t6, $a2
410 sb $t6, 6($a0)
411 or $t7, $t7, $a2
412 jr $ra
413 sb $t7, 7($a0)
414tile11011011:
415 or $t0, $t0, $a2
416 sb $t0, 0($a0)
417tile11011010:
418 or $t1, $t1, $a2
419 sb $t1, 1($a0)
420 or $t3, $t3, $a2
421 sb $t3, 3($a0)
422 or $t4, $t4, $a2
423 sb $t4, 4($a0)
424 or $t6, $t6, $a2
425 sb $t6, 6($a0)
426 or $t7, $t7, $a2
427 jr $ra
428 sb $t7, 7($a0)
429tile11011001:
430 or $t0, $t0, $a2
431 sb $t0, 0($a0)
432 or $t3, $t3, $a2
433 sb $t3, 3($a0)
434 or $t4, $t4, $a2
435 sb $t4, 4($a0)
436 or $t6, $t6, $a2
437 sb $t6, 6($a0)
438 or $t7, $t7, $a2
439 jr $ra
440 sb $t7, 7($a0)
441tile11010111:
442 or $t0, $t0, $a2
443 sb $t0, 0($a0)
444tile11010110:
445 or $t1, $t1, $a2
446 sb $t1, 1($a0)
447tile11010100:
448 or $t2, $t2, $a2
449 sb $t2, 2($a0)
450 or $t4, $t4, $a2
451 sb $t4, 4($a0)
452 or $t6, $t6, $a2
453 sb $t6, 6($a0)
454 or $t7, $t7, $a2
455 jr $ra
456 sb $t7, 7($a0)
457tile11010101:
458 or $t0, $t0, $a2
459 sb $t0, 0($a0)
460 or $t2, $t2, $a2
461 sb $t2, 2($a0)
462 or $t4, $t4, $a2
463 sb $t4, 4($a0)
464 or $t6, $t6, $a2
465 sb $t6, 6($a0)
466 or $t7, $t7, $a2
467 jr $ra
468 sb $t7, 7($a0)
469tile11010011:
470 or $t0, $t0, $a2
471 sb $t0, 0($a0)
472tile11010010:
473 or $t1, $t1, $a2
474 sb $t1, 1($a0)
475 or $t4, $t4, $a2
476 sb $t4, 4($a0)
477 or $t6, $t6, $a2
478 sb $t6, 6($a0)
479 or $t7, $t7, $a2
480 jr $ra
481 sb $t7, 7($a0)
482tile11010001:
483 or $t0, $t0, $a2
484 sb $t0, 0($a0)
485 or $t4, $t4, $a2
486 sb $t4, 4($a0)
487 or $t6, $t6, $a2
488 sb $t6, 6($a0)
489 or $t7, $t7, $a2
490 jr $ra
491 sb $t7, 7($a0)
492tile11001111:
493 or $t0, $t0, $a2
494 sb $t0, 0($a0)
495tile11001110:
496 or $t1, $t1, $a2
497 sb $t1, 1($a0)
498tile11001100:
499 or $t2, $t2, $a2
500 sb $t2, 2($a0)
501tile11001000:
502 or $t3, $t3, $a2
503 sb $t3, 3($a0)
504 or $t6, $t6, $a2
505 sb $t6, 6($a0)
506 or $t7, $t7, $a2
507 jr $ra
508 sb $t7, 7($a0)
509tile11001101:
510 or $t0, $t0, $a2
511 sb $t0, 0($a0)
512 or $t2, $t2, $a2
513 sb $t2, 2($a0)
514 or $t3, $t3, $a2
515 sb $t3, 3($a0)
516 or $t6, $t6, $a2
517 sb $t6, 6($a0)
518 or $t7, $t7, $a2
519 jr $ra
520 sb $t7, 7($a0)
521tile11001011:
522 or $t0, $t0, $a2
523 sb $t0, 0($a0)
524tile11001010:
525 or $t1, $t1, $a2
526 sb $t1, 1($a0)
527 or $t3, $t3, $a2
528 sb $t3, 3($a0)
529 or $t6, $t6, $a2
530 sb $t6, 6($a0)
531 or $t7, $t7, $a2
532 jr $ra
533 sb $t7, 7($a0)
534tile11001001:
535 or $t0, $t0, $a2
536 sb $t0, 0($a0)
537 or $t3, $t3, $a2
538 sb $t3, 3($a0)
539 or $t6, $t6, $a2
540 sb $t6, 6($a0)
541 or $t7, $t7, $a2
542 jr $ra
543 sb $t7, 7($a0)
544tile11000111:
545 or $t0, $t0, $a2
546 sb $t0, 0($a0)
547tile11000110:
548 or $t1, $t1, $a2
549 sb $t1, 1($a0)
550tile11000100:
551 or $t2, $t2, $a2
552 sb $t2, 2($a0)
553 or $t6, $t6, $a2
554 sb $t6, 6($a0)
555 or $t7, $t7, $a2
556 jr $ra
557 sb $t7, 7($a0)
558tile11000101:
559 or $t0, $t0, $a2
560 sb $t0, 0($a0)
561 or $t2, $t2, $a2
562 sb $t2, 2($a0)
563 or $t6, $t6, $a2
564 sb $t6, 6($a0)
565 or $t7, $t7, $a2
566 jr $ra
567 sb $t7, 7($a0)
568tile11000011:
569 or $t0, $t0, $a2
570 sb $t0, 0($a0)
571tile11000010:
572 or $t1, $t1, $a2
573 sb $t1, 1($a0)
574 or $t6, $t6, $a2
575 sb $t6, 6($a0)
576 or $t7, $t7, $a2
577 jr $ra
578 sb $t7, 7($a0)
579tile11000001:
580 or $t0, $t0, $a2
581 sb $t0, 0($a0)
582 or $t6, $t6, $a2
583 sb $t6, 6($a0)
584 or $t7, $t7, $a2
585 jr $ra
586 sb $t7, 7($a0)
587tile10111111:
588 or $t0, $t0, $a2
589 sb $t0, 0($a0)
590tile10111110:
591 or $t1, $t1, $a2
592 sb $t1, 1($a0)
593tile10111100:
594 or $t2, $t2, $a2
595 sb $t2, 2($a0)
596tile10111000:
597 or $t3, $t3, $a2
598 sb $t3, 3($a0)
599tile10110000:
600 or $t4, $t4, $a2
601 sb $t4, 4($a0)
602tile10100000:
603 or $t5, $t5, $a2
604 sb $t5, 5($a0)
605 or $t7, $t7, $a2
606 jr $ra
607 sb $t7, 7($a0)
608tile10111101:
609 or $t0, $t0, $a2
610 sb $t0, 0($a0)
611 or $t2, $t2, $a2
612 sb $t2, 2($a0)
613 or $t3, $t3, $a2
614 sb $t3, 3($a0)
615 or $t4, $t4, $a2
616 sb $t4, 4($a0)
617 or $t5, $t5, $a2
618 sb $t5, 5($a0)
619 or $t7, $t7, $a2
620 jr $ra
621 sb $t7, 7($a0)
622tile10111011:
623 or $t0, $t0, $a2
624 sb $t0, 0($a0)
625tile10111010:
626 or $t1, $t1, $a2
627 sb $t1, 1($a0)
628 or $t3, $t3, $a2
629 sb $t3, 3($a0)
630 or $t4, $t4, $a2
631 sb $t4, 4($a0)
632 or $t5, $t5, $a2
633 sb $t5, 5($a0)
634 or $t7, $t7, $a2
635 jr $ra
636 sb $t7, 7($a0)
637tile10111001:
638 or $t0, $t0, $a2
639 sb $t0, 0($a0)
640 or $t3, $t3, $a2
641 sb $t3, 3($a0)
642 or $t4, $t4, $a2
643 sb $t4, 4($a0)
644 or $t5, $t5, $a2
645 sb $t5, 5($a0)
646 or $t7, $t7, $a2
647 jr $ra
648 sb $t7, 7($a0)
649tile10110111:
650 or $t0, $t0, $a2
651 sb $t0, 0($a0)
652tile10110110:
653 or $t1, $t1, $a2
654 sb $t1, 1($a0)
655tile10110100:
656 or $t2, $t2, $a2
657 sb $t2, 2($a0)
658 or $t4, $t4, $a2
659 sb $t4, 4($a0)
660 or $t5, $t5, $a2
661 sb $t5, 5($a0)
662 or $t7, $t7, $a2
663 jr $ra
664 sb $t7, 7($a0)
665tile10110101:
666 or $t0, $t0, $a2
667 sb $t0, 0($a0)
668 or $t2, $t2, $a2
669 sb $t2, 2($a0)
670 or $t4, $t4, $a2
671 sb $t4, 4($a0)
672 or $t5, $t5, $a2
673 sb $t5, 5($a0)
674 or $t7, $t7, $a2
675 jr $ra
676 sb $t7, 7($a0)
677tile10110011:
678 or $t0, $t0, $a2
679 sb $t0, 0($a0)
680tile10110010:
681 or $t1, $t1, $a2
682 sb $t1, 1($a0)
683 or $t4, $t4, $a2
684 sb $t4, 4($a0)
685 or $t5, $t5, $a2
686 sb $t5, 5($a0)
687 or $t7, $t7, $a2
688 jr $ra
689 sb $t7, 7($a0)
690tile10110001:
691 or $t0, $t0, $a2
692 sb $t0, 0($a0)
693 or $t4, $t4, $a2
694 sb $t4, 4($a0)
695 or $t5, $t5, $a2
696 sb $t5, 5($a0)
697 or $t7, $t7, $a2
698 jr $ra
699 sb $t7, 7($a0)
700tile10101111:
701 or $t0, $t0, $a2
702 sb $t0, 0($a0)
703tile10101110:
704 or $t1, $t1, $a2
705 sb $t1, 1($a0)
706tile10101100:
707 or $t2, $t2, $a2
708 sb $t2, 2($a0)
709tile10101000:
710 or $t3, $t3, $a2
711 sb $t3, 3($a0)
712 or $t5, $t5, $a2
713 sb $t5, 5($a0)
714 or $t7, $t7, $a2
715 jr $ra
716 sb $t7, 7($a0)
717tile10101101:
718 or $t0, $t0, $a2
719 sb $t0, 0($a0)
720 or $t2, $t2, $a2
721 sb $t2, 2($a0)
722 or $t3, $t3, $a2
723 sb $t3, 3($a0)
724 or $t5, $t5, $a2
725 sb $t5, 5($a0)
726 or $t7, $t7, $a2
727 jr $ra
728 sb $t7, 7($a0)
729tile10101011:
730 or $t0, $t0, $a2
731 sb $t0, 0($a0)
732tile10101010:
733 or $t1, $t1, $a2
734 sb $t1, 1($a0)
735 or $t3, $t3, $a2
736 sb $t3, 3($a0)
737 or $t5, $t5, $a2
738 sb $t5, 5($a0)
739 or $t7, $t7, $a2
740 jr $ra
741 sb $t7, 7($a0)
742tile10101001:
743 or $t0, $t0, $a2
744 sb $t0, 0($a0)
745 or $t3, $t3, $a2
746 sb $t3, 3($a0)
747 or $t5, $t5, $a2
748 sb $t5, 5($a0)
749 or $t7, $t7, $a2
750 jr $ra
751 sb $t7, 7($a0)
752tile10100111:
753 or $t0, $t0, $a2
754 sb $t0, 0($a0)
755tile10100110:
756 or $t1, $t1, $a2
757 sb $t1, 1($a0)
758tile10100100:
759 or $t2, $t2, $a2
760 sb $t2, 2($a0)
761 or $t5, $t5, $a2
762 sb $t5, 5($a0)
763 or $t7, $t7, $a2
764 jr $ra
765 sb $t7, 7($a0)
766tile10100101:
767 or $t0, $t0, $a2
768 sb $t0, 0($a0)
769 or $t2, $t2, $a2
770 sb $t2, 2($a0)
771 or $t5, $t5, $a2
772 sb $t5, 5($a0)
773 or $t7, $t7, $a2
774 jr $ra
775 sb $t7, 7($a0)
776tile10100011:
777 or $t0, $t0, $a2
778 sb $t0, 0($a0)
779tile10100010:
780 or $t1, $t1, $a2
781 sb $t1, 1($a0)
782 or $t5, $t5, $a2
783 sb $t5, 5($a0)
784 or $t7, $t7, $a2
785 jr $ra
786 sb $t7, 7($a0)
787tile10100001:
788 or $t0, $t0, $a2
789 sb $t0, 0($a0)
790 or $t5, $t5, $a2
791 sb $t5, 5($a0)
792 or $t7, $t7, $a2
793 jr $ra
794 sb $t7, 7($a0)
795tile10011111:
796 or $t0, $t0, $a2
797 sb $t0, 0($a0)
798tile10011110:
799 or $t1, $t1, $a2
800 sb $t1, 1($a0)
801tile10011100:
802 or $t2, $t2, $a2
803 sb $t2, 2($a0)
804tile10011000:
805 or $t3, $t3, $a2
806 sb $t3, 3($a0)
807tile10010000:
808 or $t4, $t4, $a2
809 sb $t4, 4($a0)
810 or $t7, $t7, $a2
811 jr $ra
812 sb $t7, 7($a0)
813tile10011101:
814 or $t0, $t0, $a2
815 sb $t0, 0($a0)
816 or $t2, $t2, $a2
817 sb $t2, 2($a0)
818 or $t3, $t3, $a2
819 sb $t3, 3($a0)
820 or $t4, $t4, $a2
821 sb $t4, 4($a0)
822 or $t7, $t7, $a2
823 jr $ra
824 sb $t7, 7($a0)
825tile10011011:
826 or $t0, $t0, $a2
827 sb $t0, 0($a0)
828tile10011010:
829 or $t1, $t1, $a2
830 sb $t1, 1($a0)
831 or $t3, $t3, $a2
832 sb $t3, 3($a0)
833 or $t4, $t4, $a2
834 sb $t4, 4($a0)
835 or $t7, $t7, $a2
836 jr $ra
837 sb $t7, 7($a0)
838tile10011001:
839 or $t0, $t0, $a2
840 sb $t0, 0($a0)
841 or $t3, $t3, $a2
842 sb $t3, 3($a0)
843 or $t4, $t4, $a2
844 sb $t4, 4($a0)
845 or $t7, $t7, $a2
846 jr $ra
847 sb $t7, 7($a0)
848tile10010111:
849 or $t0, $t0, $a2
850 sb $t0, 0($a0)
851tile10010110:
852 or $t1, $t1, $a2
853 sb $t1, 1($a0)
854tile10010100:
855 or $t2, $t2, $a2
856 sb $t2, 2($a0)
857 or $t4, $t4, $a2
858 sb $t4, 4($a0)
859 or $t7, $t7, $a2
860 jr $ra
861 sb $t7, 7($a0)
862tile10010101:
863 or $t0, $t0, $a2
864 sb $t0, 0($a0)
865 or $t2, $t2, $a2
866 sb $t2, 2($a0)
867 or $t4, $t4, $a2
868 sb $t4, 4($a0)
869 or $t7, $t7, $a2
870 jr $ra
871 sb $t7, 7($a0)
872tile10010011:
873 or $t0, $t0, $a2
874 sb $t0, 0($a0)
875tile10010010:
876 or $t1, $t1, $a2
877 sb $t1, 1($a0)
878 or $t4, $t4, $a2
879 sb $t4, 4($a0)
880 or $t7, $t7, $a2
881 jr $ra
882 sb $t7, 7($a0)
883tile10010001:
884 or $t0, $t0, $a2
885 sb $t0, 0($a0)
886 or $t4, $t4, $a2
887 sb $t4, 4($a0)
888 or $t7, $t7, $a2
889 jr $ra
890 sb $t7, 7($a0)
891tile10001111:
892 or $t0, $t0, $a2
893 sb $t0, 0($a0)
894tile10001110:
895 or $t1, $t1, $a2
896 sb $t1, 1($a0)
897tile10001100:
898 or $t2, $t2, $a2
899 sb $t2, 2($a0)
900tile10001000:
901 or $t3, $t3, $a2
902 sb $t3, 3($a0)
903 or $t7, $t7, $a2
904 jr $ra
905 sb $t7, 7($a0)
906tile10001101:
907 or $t0, $t0, $a2
908 sb $t0, 0($a0)
909 or $t2, $t2, $a2
910 sb $t2, 2($a0)
911 or $t3, $t3, $a2
912 sb $t3, 3($a0)
913 or $t7, $t7, $a2
914 jr $ra
915 sb $t7, 7($a0)
916tile10001011:
917 or $t0, $t0, $a2
918 sb $t0, 0($a0)
919tile10001010:
920 or $t1, $t1, $a2
921 sb $t1, 1($a0)
922 or $t3, $t3, $a2
923 sb $t3, 3($a0)
924 or $t7, $t7, $a2
925 jr $ra
926 sb $t7, 7($a0)
927tile10001001:
928 or $t0, $t0, $a2
929 sb $t0, 0($a0)
930 or $t3, $t3, $a2
931 sb $t3, 3($a0)
932 or $t7, $t7, $a2
933 jr $ra
934 sb $t7, 7($a0)
935tile10000111:
936 or $t0, $t0, $a2
937 sb $t0, 0($a0)
938tile10000110:
939 or $t1, $t1, $a2
940 sb $t1, 1($a0)
941tile10000100:
942 or $t2, $t2, $a2
943 sb $t2, 2($a0)
944 or $t7, $t7, $a2
945 jr $ra
946 sb $t7, 7($a0)
947tile10000101:
948 or $t0, $t0, $a2
949 sb $t0, 0($a0)
950 or $t2, $t2, $a2
951 sb $t2, 2($a0)
952 or $t7, $t7, $a2
953 jr $ra
954 sb $t7, 7($a0)
955tile10000011:
956 or $t0, $t0, $a2
957 sb $t0, 0($a0)
958tile10000010:
959 or $t1, $t1, $a2
960 sb $t1, 1($a0)
961 or $t7, $t7, $a2
962 jr $ra
963 sb $t7, 7($a0)
964tile10000001:
965 or $t0, $t0, $a2
966 sb $t0, 0($a0)
967 or $t7, $t7, $a2
968 jr $ra
969 sb $t7, 7($a0)
970tile01111111:
971 or $t0, $t0, $a2
972 sb $t0, 0($a0)
973tile01111110:
974 or $t1, $t1, $a2
975 sb $t1, 1($a0)
976tile01111100:
977 or $t2, $t2, $a2
978 sb $t2, 2($a0)
979tile01111000:
980 or $t3, $t3, $a2
981 sb $t3, 3($a0)
982tile01110000:
983 or $t4, $t4, $a2
984 sb $t4, 4($a0)
985tile01100000:
986 or $t5, $t5, $a2
987 sb $t5, 5($a0)
988tile01000000:
989 or $t6, $t6, $a2
990 jr $ra
991 sb $t6, 6($a0)
992tile00000000:
993tile01111101:
994 or $t0, $t0, $a2
995 sb $t0, 0($a0)
996 or $t2, $t2, $a2
997 sb $t2, 2($a0)
998 or $t3, $t3, $a2
999 sb $t3, 3($a0)
1000 or $t4, $t4, $a2
1001 sb $t4, 4($a0)
1002 or $t5, $t5, $a2
1003 sb $t5, 5($a0)
1004 or $t6, $t6, $a2
1005 jr $ra
1006 sb $t6, 6($a0)
1007tile01111011:
1008 or $t0, $t0, $a2
1009 sb $t0, 0($a0)
1010tile01111010:
1011 or $t1, $t1, $a2
1012 sb $t1, 1($a0)
1013 or $t3, $t3, $a2
1014 sb $t3, 3($a0)
1015 or $t4, $t4, $a2
1016 sb $t4, 4($a0)
1017 or $t5, $t5, $a2
1018 sb $t5, 5($a0)
1019 or $t6, $t6, $a2
1020 jr $ra
1021 sb $t6, 6($a0)
1022tile01111001:
1023 or $t0, $t0, $a2
1024 sb $t0, 0($a0)
1025 or $t3, $t3, $a2
1026 sb $t3, 3($a0)
1027 or $t4, $t4, $a2
1028 sb $t4, 4($a0)
1029 or $t5, $t5, $a2
1030 sb $t5, 5($a0)
1031 or $t6, $t6, $a2
1032 jr $ra
1033 sb $t6, 6($a0)
1034tile01110111:
1035 or $t0, $t0, $a2
1036 sb $t0, 0($a0)
1037tile01110110:
1038 or $t1, $t1, $a2
1039 sb $t1, 1($a0)
1040tile01110100:
1041 or $t2, $t2, $a2
1042 sb $t2, 2($a0)
1043 or $t4, $t4, $a2
1044 sb $t4, 4($a0)
1045 or $t5, $t5, $a2
1046 sb $t5, 5($a0)
1047 or $t6, $t6, $a2
1048 jr $ra
1049 sb $t6, 6($a0)
1050tile01110101:
1051 or $t0, $t0, $a2
1052 sb $t0, 0($a0)
1053 or $t2, $t2, $a2
1054 sb $t2, 2($a0)
1055 or $t4, $t4, $a2
1056 sb $t4, 4($a0)
1057 or $t5, $t5, $a2
1058 sb $t5, 5($a0)
1059 or $t6, $t6, $a2
1060 jr $ra
1061 sb $t6, 6($a0)
1062tile01110011:
1063 or $t0, $t0, $a2
1064 sb $t0, 0($a0)
1065tile01110010:
1066 or $t1, $t1, $a2
1067 sb $t1, 1($a0)
1068 or $t4, $t4, $a2
1069 sb $t4, 4($a0)
1070 or $t5, $t5, $a2
1071 sb $t5, 5($a0)
1072 or $t6, $t6, $a2
1073 jr $ra
1074 sb $t6, 6($a0)
1075tile01110001:
1076 or $t0, $t0, $a2
1077 sb $t0, 0($a0)
1078 or $t4, $t4, $a2
1079 sb $t4, 4($a0)
1080 or $t5, $t5, $a2
1081 sb $t5, 5($a0)
1082 or $t6, $t6, $a2
1083 jr $ra
1084 sb $t6, 6($a0)
1085tile01101111:
1086 or $t0, $t0, $a2
1087 sb $t0, 0($a0)
1088tile01101110:
1089 or $t1, $t1, $a2
1090 sb $t1, 1($a0)
1091tile01101100:
1092 or $t2, $t2, $a2
1093 sb $t2, 2($a0)
1094tile01101000:
1095 or $t3, $t3, $a2
1096 sb $t3, 3($a0)
1097 or $t5, $t5, $a2
1098 sb $t5, 5($a0)
1099 or $t6, $t6, $a2
1100 jr $ra
1101 sb $t6, 6($a0)
1102tile01101101:
1103 or $t0, $t0, $a2
1104 sb $t0, 0($a0)
1105 or $t2, $t2, $a2
1106 sb $t2, 2($a0)
1107 or $t3, $t3, $a2
1108 sb $t3, 3($a0)
1109 or $t5, $t5, $a2
1110 sb $t5, 5($a0)
1111 or $t6, $t6, $a2
1112 jr $ra
1113 sb $t6, 6($a0)
1114tile01101011:
1115 or $t0, $t0, $a2
1116 sb $t0, 0($a0)
1117tile01101010:
1118 or $t1, $t1, $a2
1119 sb $t1, 1($a0)
1120 or $t3, $t3, $a2
1121 sb $t3, 3($a0)
1122 or $t5, $t5, $a2
1123 sb $t5, 5($a0)
1124 or $t6, $t6, $a2
1125 jr $ra
1126 sb $t6, 6($a0)
1127tile01101001:
1128 or $t0, $t0, $a2
1129 sb $t0, 0($a0)
1130 or $t3, $t3, $a2
1131 sb $t3, 3($a0)
1132 or $t5, $t5, $a2
1133 sb $t5, 5($a0)
1134 or $t6, $t6, $a2
1135 jr $ra
1136 sb $t6, 6($a0)
1137tile01100111:
1138 or $t0, $t0, $a2
1139 sb $t0, 0($a0)
1140tile01100110:
1141 or $t1, $t1, $a2
1142 sb $t1, 1($a0)
1143tile01100100:
1144 or $t2, $t2, $a2
1145 sb $t2, 2($a0)
1146 or $t5, $t5, $a2
1147 sb $t5, 5($a0)
1148 or $t6, $t6, $a2
1149 jr $ra
1150 sb $t6, 6($a0)
1151tile01100101:
1152 or $t0, $t0, $a2
1153 sb $t0, 0($a0)
1154 or $t2, $t2, $a2
1155 sb $t2, 2($a0)
1156 or $t5, $t5, $a2
1157 sb $t5, 5($a0)
1158 or $t6, $t6, $a2
1159 jr $ra
1160 sb $t6, 6($a0)
1161tile01100011:
1162 or $t0, $t0, $a2
1163 sb $t0, 0($a0)
1164tile01100010:
1165 or $t1, $t1, $a2
1166 sb $t1, 1($a0)
1167 or $t5, $t5, $a2
1168 sb $t5, 5($a0)
1169 or $t6, $t6, $a2
1170 jr $ra
1171 sb $t6, 6($a0)
1172tile01100001:
1173 or $t0, $t0, $a2
1174 sb $t0, 0($a0)
1175 or $t5, $t5, $a2
1176 sb $t5, 5($a0)
1177 or $t6, $t6, $a2
1178 jr $ra
1179 sb $t6, 6($a0)
1180tile01011111:
1181 or $t0, $t0, $a2
1182 sb $t0, 0($a0)
1183tile01011110:
1184 or $t1, $t1, $a2
1185 sb $t1, 1($a0)
1186tile01011100:
1187 or $t2, $t2, $a2
1188 sb $t2, 2($a0)
1189tile01011000:
1190 or $t3, $t3, $a2
1191 sb $t3, 3($a0)
1192tile01010000:
1193 or $t4, $t4, $a2
1194 sb $t4, 4($a0)
1195 or $t6, $t6, $a2
1196 jr $ra
1197 sb $t6, 6($a0)
1198tile01011101:
1199 or $t0, $t0, $a2
1200 sb $t0, 0($a0)
1201 or $t2, $t2, $a2
1202 sb $t2, 2($a0)
1203 or $t3, $t3, $a2
1204 sb $t3, 3($a0)
1205 or $t4, $t4, $a2
1206 sb $t4, 4($a0)
1207 or $t6, $t6, $a2
1208 jr $ra
1209 sb $t6, 6($a0)
1210tile01011011:
1211 or $t0, $t0, $a2
1212 sb $t0, 0($a0)
1213tile01011010:
1214 or $t1, $t1, $a2
1215 sb $t1, 1($a0)
1216 or $t3, $t3, $a2
1217 sb $t3, 3($a0)
1218 or $t4, $t4, $a2
1219 sb $t4, 4($a0)
1220 or $t6, $t6, $a2
1221 jr $ra
1222 sb $t6, 6($a0)
1223tile01011001:
1224 or $t0, $t0, $a2
1225 sb $t0, 0($a0)
1226 or $t3, $t3, $a2
1227 sb $t3, 3($a0)
1228 or $t4, $t4, $a2
1229 sb $t4, 4($a0)
1230 or $t6, $t6, $a2
1231 jr $ra
1232 sb $t6, 6($a0)
1233tile01010111:
1234 or $t0, $t0, $a2
1235 sb $t0, 0($a0)
1236tile01010110:
1237 or $t1, $t1, $a2
1238 sb $t1, 1($a0)
1239tile01010100:
1240 or $t2, $t2, $a2
1241 sb $t2, 2($a0)
1242 or $t4, $t4, $a2
1243 sb $t4, 4($a0)
1244 or $t6, $t6, $a2
1245 jr $ra
1246 sb $t6, 6($a0)
1247tile01010101:
1248 or $t0, $t0, $a2
1249 sb $t0, 0($a0)
1250 or $t2, $t2, $a2
1251 sb $t2, 2($a0)
1252 or $t4, $t4, $a2
1253 sb $t4, 4($a0)
1254 or $t6, $t6, $a2
1255 jr $ra
1256 sb $t6, 6($a0)
1257tile01010011:
1258 or $t0, $t0, $a2
1259 sb $t0, 0($a0)
1260tile01010010:
1261 or $t1, $t1, $a2
1262 sb $t1, 1($a0)
1263 or $t4, $t4, $a2
1264 sb $t4, 4($a0)
1265 or $t6, $t6, $a2
1266 jr $ra
1267 sb $t6, 6($a0)
1268tile01010001:
1269 or $t0, $t0, $a2
1270 sb $t0, 0($a0)
1271 or $t4, $t4, $a2
1272 sb $t4, 4($a0)
1273 or $t6, $t6, $a2
1274 jr $ra
1275 sb $t6, 6($a0)
1276tile01001111:
1277 or $t0, $t0, $a2
1278 sb $t0, 0($a0)
1279tile01001110:
1280 or $t1, $t1, $a2
1281 sb $t1, 1($a0)
1282tile01001100:
1283 or $t2, $t2, $a2
1284 sb $t2, 2($a0)
1285tile01001000:
1286 or $t3, $t3, $a2
1287 sb $t3, 3($a0)
1288 or $t6, $t6, $a2
1289 jr $ra
1290 sb $t6, 6($a0)
1291tile01001101:
1292 or $t0, $t0, $a2
1293 sb $t0, 0($a0)
1294 or $t2, $t2, $a2
1295 sb $t2, 2($a0)
1296 or $t3, $t3, $a2
1297 sb $t3, 3($a0)
1298 or $t6, $t6, $a2
1299 jr $ra
1300 sb $t6, 6($a0)
1301tile01001011:
1302 or $t0, $t0, $a2
1303 sb $t0, 0($a0)
1304tile01001010:
1305 or $t1, $t1, $a2
1306 sb $t1, 1($a0)
1307 or $t3, $t3, $a2
1308 sb $t3, 3($a0)
1309 or $t6, $t6, $a2
1310 jr $ra
1311 sb $t6, 6($a0)
1312tile01001001:
1313 or $t0, $t0, $a2
1314 sb $t0, 0($a0)
1315 or $t3, $t3, $a2
1316 sb $t3, 3($a0)
1317 or $t6, $t6, $a2
1318 jr $ra
1319 sb $t6, 6($a0)
1320tile01000111:
1321 or $t0, $t0, $a2
1322 sb $t0, 0($a0)
1323tile01000110:
1324 or $t1, $t1, $a2
1325 sb $t1, 1($a0)
1326tile01000100:
1327 or $t2, $t2, $a2
1328 sb $t2, 2($a0)
1329 or $t6, $t6, $a2
1330 jr $ra
1331 sb $t6, 6($a0)
1332tile01000101:
1333 or $t0, $t0, $a2
1334 sb $t0, 0($a0)
1335 or $t2, $t2, $a2
1336 sb $t2, 2($a0)
1337 or $t6, $t6, $a2
1338 jr $ra
1339 sb $t6, 6($a0)
1340tile01000011:
1341 or $t0, $t0, $a2
1342 sb $t0, 0($a0)
1343tile01000010:
1344 or $t1, $t1, $a2
1345 sb $t1, 1($a0)
1346 or $t6, $t6, $a2
1347 jr $ra
1348 sb $t6, 6($a0)
1349tile01000001:
1350 or $t0, $t0, $a2
1351 sb $t0, 0($a0)
1352 or $t6, $t6, $a2
1353 jr $ra
1354 sb $t6, 6($a0)
1355tile00111111:
1356 or $t0, $t0, $a2
1357 sb $t0, 0($a0)
1358tile00111110:
1359 or $t1, $t1, $a2
1360 sb $t1, 1($a0)
1361tile00111100:
1362 or $t2, $t2, $a2
1363 sb $t2, 2($a0)
1364tile00111000:
1365 or $t3, $t3, $a2
1366 sb $t3, 3($a0)
1367tile00110000:
1368 or $t4, $t4, $a2
1369 sb $t4, 4($a0)
1370tile00100000:
1371 or $t5, $t5, $a2
1372 jr $ra
1373 sb $t5, 5($a0)
1374tile00111101:
1375 or $t0, $t0, $a2
1376 sb $t0, 0($a0)
1377 or $t2, $t2, $a2
1378 sb $t2, 2($a0)
1379 or $t3, $t3, $a2
1380 sb $t3, 3($a0)
1381 or $t4, $t4, $a2
1382 sb $t4, 4($a0)
1383 or $t5, $t5, $a2
1384 jr $ra
1385 sb $t5, 5($a0)
1386tile00111011:
1387 or $t0, $t0, $a2
1388 sb $t0, 0($a0)
1389tile00111010:
1390 or $t1, $t1, $a2
1391 sb $t1, 1($a0)
1392 or $t3, $t3, $a2
1393 sb $t3, 3($a0)
1394 or $t4, $t4, $a2
1395 sb $t4, 4($a0)
1396 or $t5, $t5, $a2
1397 jr $ra
1398 sb $t5, 5($a0)
1399tile00111001:
1400 or $t0, $t0, $a2
1401 sb $t0, 0($a0)
1402 or $t3, $t3, $a2
1403 sb $t3, 3($a0)
1404 or $t4, $t4, $a2
1405 sb $t4, 4($a0)
1406 or $t5, $t5, $a2
1407 jr $ra
1408 sb $t5, 5($a0)
1409tile00110111:
1410 or $t0, $t0, $a2
1411 sb $t0, 0($a0)
1412tile00110110:
1413 or $t1, $t1, $a2
1414 sb $t1, 1($a0)
1415tile00110100:
1416 or $t2, $t2, $a2
1417 sb $t2, 2($a0)
1418 or $t4, $t4, $a2
1419 sb $t4, 4($a0)
1420 or $t5, $t5, $a2
1421 jr $ra
1422 sb $t5, 5($a0)
1423tile00110101:
1424 or $t0, $t0, $a2
1425 sb $t0, 0($a0)
1426 or $t2, $t2, $a2
1427 sb $t2, 2($a0)
1428 or $t4, $t4, $a2
1429 sb $t4, 4($a0)
1430 or $t5, $t5, $a2
1431 jr $ra
1432 sb $t5, 5($a0)
1433tile00110011:
1434 or $t0, $t0, $a2
1435 sb $t0, 0($a0)
1436tile00110010:
1437 or $t1, $t1, $a2
1438 sb $t1, 1($a0)
1439 or $t4, $t4, $a2
1440 sb $t4, 4($a0)
1441 or $t5, $t5, $a2
1442 jr $ra
1443 sb $t5, 5($a0)
1444tile00110001:
1445 or $t0, $t0, $a2
1446 sb $t0, 0($a0)
1447 or $t4, $t4, $a2
1448 sb $t4, 4($a0)
1449 or $t5, $t5, $a2
1450 jr $ra
1451 sb $t5, 5($a0)
1452tile00101111:
1453 or $t0, $t0, $a2
1454 sb $t0, 0($a0)
1455tile00101110:
1456 or $t1, $t1, $a2
1457 sb $t1, 1($a0)
1458tile00101100:
1459 or $t2, $t2, $a2
1460 sb $t2, 2($a0)
1461tile00101000:
1462 or $t3, $t3, $a2
1463 sb $t3, 3($a0)
1464 or $t5, $t5, $a2
1465 jr $ra
1466 sb $t5, 5($a0)
1467tile00101101:
1468 or $t0, $t0, $a2
1469 sb $t0, 0($a0)
1470 or $t2, $t2, $a2
1471 sb $t2, 2($a0)
1472 or $t3, $t3, $a2
1473 sb $t3, 3($a0)
1474 or $t5, $t5, $a2
1475 jr $ra
1476 sb $t5, 5($a0)
1477tile00101011:
1478 or $t0, $t0, $a2
1479 sb $t0, 0($a0)
1480tile00101010:
1481 or $t1, $t1, $a2
1482 sb $t1, 1($a0)
1483 or $t3, $t3, $a2
1484 sb $t3, 3($a0)
1485 or $t5, $t5, $a2
1486 jr $ra
1487 sb $t5, 5($a0)
1488tile00101001:
1489 or $t0, $t0, $a2
1490 sb $t0, 0($a0)
1491 or $t3, $t3, $a2
1492 sb $t3, 3($a0)
1493 or $t5, $t5, $a2
1494 jr $ra
1495 sb $t5, 5($a0)
1496tile00100111:
1497 or $t0, $t0, $a2
1498 sb $t0, 0($a0)
1499tile00100110:
1500 or $t1, $t1, $a2
1501 sb $t1, 1($a0)
1502tile00100100:
1503 or $t2, $t2, $a2
1504 sb $t2, 2($a0)
1505 or $t5, $t5, $a2
1506 jr $ra
1507 sb $t5, 5($a0)
1508tile00100101:
1509 or $t0, $t0, $a2
1510 sb $t0, 0($a0)
1511 or $t2, $t2, $a2
1512 sb $t2, 2($a0)
1513 or $t5, $t5, $a2
1514 jr $ra
1515 sb $t5, 5($a0)
1516tile00100011:
1517 or $t0, $t0, $a2
1518 sb $t0, 0($a0)
1519tile00100010:
1520 or $t1, $t1, $a2
1521 sb $t1, 1($a0)
1522 or $t5, $t5, $a2
1523 jr $ra
1524 sb $t5, 5($a0)
1525tile00100001:
1526 or $t0, $t0, $a2
1527 sb $t0, 0($a0)
1528 or $t5, $t5, $a2
1529 jr $ra
1530 sb $t5, 5($a0)
1531tile00011111:
1532 or $t0, $t0, $a2
1533 sb $t0, 0($a0)
1534tile00011110:
1535 or $t1, $t1, $a2
1536 sb $t1, 1($a0)
1537tile00011100:
1538 or $t2, $t2, $a2
1539 sb $t2, 2($a0)
1540tile00011000:
1541 or $t3, $t3, $a2
1542 sb $t3, 3($a0)
1543tile00010000:
1544 or $t4, $t4, $a2
1545 jr $ra
1546 sb $t4, 4($a0)
1547tile00011101:
1548 or $t0, $t0, $a2
1549 sb $t0, 0($a0)
1550 or $t2, $t2, $a2
1551 sb $t2, 2($a0)
1552 or $t3, $t3, $a2
1553 sb $t3, 3($a0)
1554 or $t4, $t4, $a2
1555 jr $ra
1556 sb $t4, 4($a0)
1557tile00011011:
1558 or $t0, $t0, $a2
1559 sb $t0, 0($a0)
1560tile00011010:
1561 or $t1, $t1, $a2
1562 sb $t1, 1($a0)
1563 or $t3, $t3, $a2
1564 sb $t3, 3($a0)
1565 or $t4, $t4, $a2
1566 jr $ra
1567 sb $t4, 4($a0)
1568tile00011001:
1569 or $t0, $t0, $a2
1570 sb $t0, 0($a0)
1571 or $t3, $t3, $a2
1572 sb $t3, 3($a0)
1573 or $t4, $t4, $a2
1574 jr $ra
1575 sb $t4, 4($a0)
1576tile00010111:
1577 or $t0, $t0, $a2
1578 sb $t0, 0($a0)
1579tile00010110:
1580 or $t1, $t1, $a2
1581 sb $t1, 1($a0)
1582tile00010100:
1583 or $t2, $t2, $a2
1584 sb $t2, 2($a0)
1585 or $t4, $t4, $a2
1586 jr $ra
1587 sb $t4, 4($a0)
1588tile00010101:
1589 or $t0, $t0, $a2
1590 sb $t0, 0($a0)
1591 or $t2, $t2, $a2
1592 sb $t2, 2($a0)
1593 or $t4, $t4, $a2
1594 jr $ra
1595 sb $t4, 4($a0)
1596tile00010011:
1597 or $t0, $t0, $a2
1598 sb $t0, 0($a0)
1599tile00010010:
1600 or $t1, $t1, $a2
1601 sb $t1, 1($a0)
1602 or $t4, $t4, $a2
1603 jr $ra
1604 sb $t4, 4($a0)
1605tile00010001:
1606 or $t0, $t0, $a2
1607 sb $t0, 0($a0)
1608 or $t4, $t4, $a2
1609 jr $ra
1610 sb $t4, 4($a0)
1611tile00001111:
1612 or $t0, $t0, $a2
1613 sb $t0, 0($a0)
1614tile00001110:
1615 or $t1, $t1, $a2
1616 sb $t1, 1($a0)
1617tile00001100:
1618 or $t2, $t2, $a2
1619 sb $t2, 2($a0)
1620tile00001000:
1621 or $t3, $t3, $a2
1622 jr $ra
1623 sb $t3, 3($a0)
1624tile00001101:
1625 or $t0, $t0, $a2
1626 sb $t0, 0($a0)
1627 or $t2, $t2, $a2
1628 sb $t2, 2($a0)
1629 or $t3, $t3, $a2
1630 jr $ra
1631 sb $t3, 3($a0)
1632tile00001011:
1633 or $t0, $t0, $a2
1634 sb $t0, 0($a0)
1635tile00001010:
1636 or $t1, $t1, $a2
1637 sb $t1, 1($a0)
1638 or $t3, $t3, $a2
1639 jr $ra
1640 sb $t3, 3($a0)
1641tile00001001:
1642 or $t0, $t0, $a2
1643 sb $t0, 0($a0)
1644 or $t3, $t3, $a2
1645 jr $ra
1646 sb $t3, 3($a0)
1647tile00000111:
1648 or $t0, $t0, $a2
1649 sb $t0, 0($a0)
1650tile00000110:
1651 or $t1, $t1, $a2
1652 sb $t1, 1($a0)
1653tile00000100:
1654 or $t2, $t2, $a2
1655 jr $ra
1656 sb $t2, 2($a0)
1657tile00000101:
1658 or $t0, $t0, $a2
1659 sb $t0, 0($a0)
1660 or $t2, $t2, $a2
1661 jr $ra
1662 sb $t2, 2($a0)
1663tile00000011:
1664 or $t0, $t0, $a2
1665 sb $t0, 0($a0)
1666tile00000010:
1667 or $t1, $t1, $a2
1668 jr $ra
1669 sb $t1, 1($a0)
1670tile00000001:
1671 or $t0, $t0, $a2
1672 jr $ra
1673 sb $t0, 0($a0)
1674
81fda4e8 1675.data
1676.align 4
1677
8ef001cc 1678TileTable:
1679 .long 000000000000, tile00000001, tile00000010, tile00000011, tile00000100, tile00000101, tile00000110, tile00000111
1680 .long tile00001000, tile00001001, tile00001010, tile00001011, tile00001100, tile00001101, tile00001110, tile00001111
1681 .long tile00010000, tile00010001, tile00010010, tile00010011, tile00010100, tile00010101, tile00010110, tile00010111
1682 .long tile00011000, tile00011001, tile00011010, tile00011011, tile00011100, tile00011101, tile00011110, tile00011111
1683 .long tile00100000, tile00100001, tile00100010, tile00100011, tile00100100, tile00100101, tile00100110, tile00100111
1684 .long tile00101000, tile00101001, tile00101010, tile00101011, tile00101100, tile00101101, tile00101110, tile00101111
1685 .long tile00110000, tile00110001, tile00110010, tile00110011, tile00110100, tile00110101, tile00110110, tile00110111
1686 .long tile00111000, tile00111001, tile00111010, tile00111011, tile00111100, tile00111101, tile00111110, tile00111111
1687 .long tile01000000, tile01000001, tile01000010, tile01000011, tile01000100, tile01000101, tile01000110, tile01000111
1688 .long tile01001000, tile01001001, tile01001010, tile01001011, tile01001100, tile01001101, tile01001110, tile01001111
1689 .long tile01010000, tile01010001, tile01010010, tile01010011, tile01010100, tile01010101, tile01010110, tile01010111
1690 .long tile01011000, tile01011001, tile01011010, tile01011011, tile01011100, tile01011101, tile01011110, tile01011111
1691 .long tile01100000, tile01100001, tile01100010, tile01100011, tile01100100, tile01100101, tile01100110, tile01100111
1692 .long tile01101000, tile01101001, tile01101010, tile01101011, tile01101100, tile01101101, tile01101110, tile01101111
1693 .long tile01110000, tile01110001, tile01110010, tile01110011, tile01110100, tile01110101, tile01110110, tile01110111
1694 .long tile01111000, tile01111001, tile01111010, tile01111011, tile01111100, tile01111101, tile01111110, tile01111111
1695 .long tile10000000, tile10000001, tile10000010, tile10000011, tile10000100, tile10000101, tile10000110, tile10000111
1696 .long tile10001000, tile10001001, tile10001010, tile10001011, tile10001100, tile10001101, tile10001110, tile10001111
1697 .long tile10010000, tile10010001, tile10010010, tile10010011, tile10010100, tile10010101, tile10010110, tile10010111
1698 .long tile10011000, tile10011001, tile10011010, tile10011011, tile10011100, tile10011101, tile10011110, tile10011111
1699 .long tile10100000, tile10100001, tile10100010, tile10100011, tile10100100, tile10100101, tile10100110, tile10100111
1700 .long tile10101000, tile10101001, tile10101010, tile10101011, tile10101100, tile10101101, tile10101110, tile10101111
1701 .long tile10110000, tile10110001, tile10110010, tile10110011, tile10110100, tile10110101, tile10110110, tile10110111
1702 .long tile10111000, tile10111001, tile10111010, tile10111011, tile10111100, tile10111101, tile10111110, tile10111111
1703 .long tile11000000, tile11000001, tile11000010, tile11000011, tile11000100, tile11000101, tile11000110, tile11000111
1704 .long tile11001000, tile11001001, tile11001010, tile11001011, tile11001100, tile11001101, tile11001110, tile11001111
1705 .long tile11010000, tile11010001, tile11010010, tile11010011, tile11010100, tile11010101, tile11010110, tile11010111
1706 .long tile11011000, tile11011001, tile11011010, tile11011011, tile11011100, tile11011101, tile11011110, tile11011111
1707 .long tile11100000, tile11100001, tile11100010, tile11100011, tile11100100, tile11100101, tile11100110, tile11100111
1708 .long tile11101000, tile11101001, tile11101010, tile11101011, tile11101100, tile11101101, tile11101110, tile11101111
1709 .long tile11110000, tile11110001, tile11110010, tile11110011, tile11110100, tile11110101, tile11110110, tile11110111
1710 .long tile11111000, tile11111001, tile11111010, tile11111011, tile11111100, tile11111101, tile11111110, tile11111111
1711
1712