X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Flibretro%2Fpsp%2Fdraw_amips.s;fp=platform%2Flibretro%2Fpsp%2Fdraw_amips.s;h=fa7906ee3edba827cbd0768f7ddf36bc70a47550;hb=7612bf90bef4f54e60865db057040b62c289ea34;hp=0000000000000000000000000000000000000000;hpb=126eb5f46978a7e97aae210971f1364ee548a646;p=picodrive.git diff --git a/platform/libretro/psp/draw_amips.s b/platform/libretro/psp/draw_amips.s new file mode 100644 index 0000000..fa7906e --- /dev/null +++ b/platform/libretro/psp/draw_amips.s @@ -0,0 +1,1756 @@ +#* +#* several drawing related functions for Allegrex MIPS +#* (C) notaz, 2007-2008 +#* +#* This work is licensed under the terms of MAME license. +#* See COPYING file in the top-level directory. +#* +#* this is highly specialized, be careful if changing related C code! +#* + +.set noreorder # don't reorder any instructions +.set noat # don't use $at + +.text +.align 4 + +# void amips_clut(unsigned short *dst, unsigned char *src, unsigned short *pal, int count) + +.global amips_clut + +amips_clut: + srl $a3, 2 +amips_clut_loop: + lbu $t0, 0($a1) # tried lw here, no improvement noticed + lbu $t1, 1($a1) + lbu $t2, 2($a1) + lbu $t3, 3($a1) + sll $t0, 1 + sll $t1, 1 + sll $t2, 1 + sll $t3, 1 + addu $t0, $a2 + addu $t1, $a2 + addu $t2, $a2 + addu $t3, $a2 + lhu $t0, 0($t0) + lhu $t1, 0($t1) + lhu $t2, 0($t2) + lhu $t3, 0($t3) + ins $t0, $t1, 16, 16 # ins rt, rs, pos, size - Insert size bits starting + ins $t2, $t3, 16, 16 # from the LSB of rs into rt starting at position pos + sw $t0, 0($a0) + sw $t2, 4($a0) + addiu $a0, 8 + addiu $a3, -1 + bnez $a3, amips_clut_loop + addiu $a1, 4 + jr $ra + nop + + +.global amips_clut_6bit + +amips_clut_6bit: + srl $a3, 2 + li $t4, 0 + li $t5, 0 + li $t6, 0 + li $t7, 0 +amips_clut_loop6: + lbu $t0, 0($a1) # tried lw here, no improvement noticed + lbu $t1, 1($a1) + lbu $t2, 2($a1) + lbu $t3, 3($a1) + ins $t4, $t0, 1, 6 + ins $t5, $t1, 1, 6 + ins $t6, $t2, 1, 6 + ins $t7, $t3, 1, 6 + addu $t0, $t4, $a2 + addu $t1, $t5, $a2 + addu $t2, $t6, $a2 + addu $t3, $t7, $a2 + lhu $t0, 0($t0) + lhu $t1, 0($t1) + lhu $t2, 0($t2) + lhu $t3, 0($t3) + ins $t0, $t1, 16, 16 # ins rt, rs, pos, size - Insert size bits starting + ins $t2, $t3, 16, 16 # from the LSB of rs into rt starting at position pos + sw $t0, 0($a0) + sw $t2, 4($a0) + addiu $a0, 8 + addiu $a3, -1 + bnez $a3, amips_clut_loop6 + addiu $a1, 4 + jr $ra + nop + + +# $a0 - pd, $a1 - tile word, $a2 - pal +# ext rt, rs, pos, size // Extract size bits from position pos in rs and store in rt + +.macro TilePixelPrep shift dreg offs +.if \shift + ext \dreg, $a1, \shift, 4 +.else + andi \dreg, $a1, 0xf +.endif +.if \offs + sltu $t8, $0, \dreg + ins $t9, $t8, \offs, 1 +.else + sltu $t9, $0, \dreg +.endif +.endm + +.macro TileStartCode + sll $a1, $a1, 1 + lui $t1, %hi(Pico+0x10000) + addu $a1, $a1, $t1 + lw $a1, %lo(Pico+0x10000)($a1) # Pico.vram + addr + beqz $a1, TileEmpty + rotr $t1, $a1, 4 + beq $t1, $a1, SingleColor + and $v0, $0 # not empty tile +.endm + +.macro TileEndCode + xori $t8, $t9, 0xff + beqz $t8, tile11111111 # common case + lui $v1, %hi(HighCol) + lui $t8, %hi(TileTable) + ins $t8, $t9, 2, 8 + lw $t8, %lo(TileTable)($t8) + lw $v1, %lo(HighCol)($v1) + jr $t8 + addu $a0, $v1 +.endm + + +.global TileNorm + +TileNorm: + TileStartCode + TilePixelPrep 12, $t0, 0 + TilePixelPrep 8, $t1, 1 + TilePixelPrep 4, $t2, 2 + TilePixelPrep 0, $t3, 3 + TilePixelPrep 28, $t4, 4 + TilePixelPrep 24, $t5, 5 + TilePixelPrep 20, $t6, 6 + TilePixelPrep 16, $t7, 7 + TileEndCode + + +.global TileFlip + +TileFlip: + TileStartCode + TilePixelPrep 16, $t0, 0 + TilePixelPrep 20, $t1, 1 + TilePixelPrep 24, $t2, 2 + TilePixelPrep 28, $t3, 3 + TilePixelPrep 0, $t4, 4 + TilePixelPrep 4, $t5, 5 + TilePixelPrep 8, $t6, 6 + TilePixelPrep 12, $t7, 7 + TileEndCode + + +SingleColor: + lui $t9, %hi(HighCol) + lw $t9, %lo(HighCol)($t9) + andi $t0, $a1, 0xf + or $t0, $t0, $a2 + addu $a0, $t9 + sb $t0, 0($a0) + sb $t0, 1($a0) + sb $t0, 2($a0) + sb $t0, 3($a0) + sb $t0, 4($a0) + sb $t0, 5($a0) + sb $t0, 6($a0) + jr $ra + sb $t0, 7($a0) + +TileEmpty: + jr $ra + or $v0, $0, 1 # empty tile + +tile11111111: + lw $v1, %lo(HighCol)($v1) + or $t0, $t0, $a2 + addu $a0, $v1 + sb $t0, 0($a0) +tile11111110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile11111100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile11111000: + or $t3, $t3, $a2 + sb $t3, 3($a0) +tile11110000: + or $t4, $t4, $a2 + sb $t4, 4($a0) +tile11100000: + or $t5, $t5, $a2 + sb $t5, 5($a0) +tile11000000: + or $t6, $t6, $a2 + sb $t6, 6($a0) +tile10000000: + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11111101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11111011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile11111010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11111001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11110111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile11110110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile11110100: + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11110101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11110011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile11110010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11110001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11101111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile11101110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile11101100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile11101000: + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11101101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11101011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile11101010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11101001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11100111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile11100110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile11100100: + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11100101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11100011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile11100010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11100001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11011111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile11011110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile11011100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile11011000: + or $t3, $t3, $a2 + sb $t3, 3($a0) +tile11010000: + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11011101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11011011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile11011010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11011001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11010111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile11010110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile11010100: + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11010101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11010011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile11010010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11010001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11001111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile11001110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile11001100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile11001000: + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11001101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11001011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile11001010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11001001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11000111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile11000110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile11000100: + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11000101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11000011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile11000010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile11000001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t6, $t6, $a2 + sb $t6, 6($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10111111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10111110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile10111100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile10111000: + or $t3, $t3, $a2 + sb $t3, 3($a0) +tile10110000: + or $t4, $t4, $a2 + sb $t4, 4($a0) +tile10100000: + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10111101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10111011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10111010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10111001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10110111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10110110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile10110100: + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10110101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10110011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10110010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10110001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10101111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10101110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile10101100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile10101000: + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10101101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10101011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10101010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10101001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10100111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10100110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile10100100: + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10100101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10100011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10100010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10100001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10011111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10011110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile10011100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile10011000: + or $t3, $t3, $a2 + sb $t3, 3($a0) +tile10010000: + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10011101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10011011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10011010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10011001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10010111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10010110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile10010100: + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10010101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10010011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10010010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10010001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10001111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10001110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile10001100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile10001000: + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10001101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10001011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10001010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10001001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10000111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10000110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile10000100: + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10000101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10000011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile10000010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile10000001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t7, $t7, $a2 + jr $ra + sb $t7, 7($a0) +tile01111111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01111110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile01111100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile01111000: + or $t3, $t3, $a2 + sb $t3, 3($a0) +tile01110000: + or $t4, $t4, $a2 + sb $t4, 4($a0) +tile01100000: + or $t5, $t5, $a2 + sb $t5, 5($a0) +tile01000000: + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile00000000: +tile01111101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01111011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01111010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01111001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01110111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01110110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile01110100: + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01110101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01110011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01110010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01110001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01101111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01101110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile01101100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile01101000: + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01101101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01101011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01101010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01101001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01100111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01100110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile01100100: + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01100101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01100011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01100010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01100001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t5, $t5, $a2 + sb $t5, 5($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01011111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01011110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile01011100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile01011000: + or $t3, $t3, $a2 + sb $t3, 3($a0) +tile01010000: + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01011101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01011011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01011010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01011001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01010111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01010110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile01010100: + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01010101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01010011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01010010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01010001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01001111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01001110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile01001100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile01001000: + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01001101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01001011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01001010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01001001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01000111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01000110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile01000100: + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01000101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01000011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile01000010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile01000001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t6, $t6, $a2 + jr $ra + sb $t6, 6($a0) +tile00111111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00111110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile00111100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile00111000: + or $t3, $t3, $a2 + sb $t3, 3($a0) +tile00110000: + or $t4, $t4, $a2 + sb $t4, 4($a0) +tile00100000: + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00111101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00111011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00111010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00111001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00110111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00110110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile00110100: + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00110101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00110011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00110010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00110001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t4, $t4, $a2 + sb $t4, 4($a0) + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00101111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00101110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile00101100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile00101000: + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00101101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00101011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00101010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00101001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00100111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00100110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile00100100: + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00100101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00100011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00100010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00100001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t5, $t5, $a2 + jr $ra + sb $t5, 5($a0) +tile00011111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00011110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile00011100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile00011000: + or $t3, $t3, $a2 + sb $t3, 3($a0) +tile00010000: + or $t4, $t4, $a2 + jr $ra + sb $t4, 4($a0) +tile00011101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + jr $ra + sb $t4, 4($a0) +tile00011011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00011010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + jr $ra + sb $t4, 4($a0) +tile00011001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + sb $t3, 3($a0) + or $t4, $t4, $a2 + jr $ra + sb $t4, 4($a0) +tile00010111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00010110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile00010100: + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + jr $ra + sb $t4, 4($a0) +tile00010101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t4, $t4, $a2 + jr $ra + sb $t4, 4($a0) +tile00010011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00010010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t4, $t4, $a2 + jr $ra + sb $t4, 4($a0) +tile00010001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t4, $t4, $a2 + jr $ra + sb $t4, 4($a0) +tile00001111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00001110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile00001100: + or $t2, $t2, $a2 + sb $t2, 2($a0) +tile00001000: + or $t3, $t3, $a2 + jr $ra + sb $t3, 3($a0) +tile00001101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + sb $t2, 2($a0) + or $t3, $t3, $a2 + jr $ra + sb $t3, 3($a0) +tile00001011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00001010: + or $t1, $t1, $a2 + sb $t1, 1($a0) + or $t3, $t3, $a2 + jr $ra + sb $t3, 3($a0) +tile00001001: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t3, $t3, $a2 + jr $ra + sb $t3, 3($a0) +tile00000111: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00000110: + or $t1, $t1, $a2 + sb $t1, 1($a0) +tile00000100: + or $t2, $t2, $a2 + jr $ra + sb $t2, 2($a0) +tile00000101: + or $t0, $t0, $a2 + sb $t0, 0($a0) + or $t2, $t2, $a2 + jr $ra + sb $t2, 2($a0) +tile00000011: + or $t0, $t0, $a2 + sb $t0, 0($a0) +tile00000010: + or $t1, $t1, $a2 + jr $ra + sb $t1, 1($a0) +tile00000001: + or $t0, $t0, $a2 + jr $ra + sb $t0, 0($a0) + +.data +.align 4 + +TileTable: + .long 000000000000, tile00000001, tile00000010, tile00000011, tile00000100, tile00000101, tile00000110, tile00000111 + .long tile00001000, tile00001001, tile00001010, tile00001011, tile00001100, tile00001101, tile00001110, tile00001111 + .long tile00010000, tile00010001, tile00010010, tile00010011, tile00010100, tile00010101, tile00010110, tile00010111 + .long tile00011000, tile00011001, tile00011010, tile00011011, tile00011100, tile00011101, tile00011110, tile00011111 + .long tile00100000, tile00100001, tile00100010, tile00100011, tile00100100, tile00100101, tile00100110, tile00100111 + .long tile00101000, tile00101001, tile00101010, tile00101011, tile00101100, tile00101101, tile00101110, tile00101111 + .long tile00110000, tile00110001, tile00110010, tile00110011, tile00110100, tile00110101, tile00110110, tile00110111 + .long tile00111000, tile00111001, tile00111010, tile00111011, tile00111100, tile00111101, tile00111110, tile00111111 + .long tile01000000, tile01000001, tile01000010, tile01000011, tile01000100, tile01000101, tile01000110, tile01000111 + .long tile01001000, tile01001001, tile01001010, tile01001011, tile01001100, tile01001101, tile01001110, tile01001111 + .long tile01010000, tile01010001, tile01010010, tile01010011, tile01010100, tile01010101, tile01010110, tile01010111 + .long tile01011000, tile01011001, tile01011010, tile01011011, tile01011100, tile01011101, tile01011110, tile01011111 + .long tile01100000, tile01100001, tile01100010, tile01100011, tile01100100, tile01100101, tile01100110, tile01100111 + .long tile01101000, tile01101001, tile01101010, tile01101011, tile01101100, tile01101101, tile01101110, tile01101111 + .long tile01110000, tile01110001, tile01110010, tile01110011, tile01110100, tile01110101, tile01110110, tile01110111 + .long tile01111000, tile01111001, tile01111010, tile01111011, tile01111100, tile01111101, tile01111110, tile01111111 + .long tile10000000, tile10000001, tile10000010, tile10000011, tile10000100, tile10000101, tile10000110, tile10000111 + .long tile10001000, tile10001001, tile10001010, tile10001011, tile10001100, tile10001101, tile10001110, tile10001111 + .long tile10010000, tile10010001, tile10010010, tile10010011, tile10010100, tile10010101, tile10010110, tile10010111 + .long tile10011000, tile10011001, tile10011010, tile10011011, tile10011100, tile10011101, tile10011110, tile10011111 + .long tile10100000, tile10100001, tile10100010, tile10100011, tile10100100, tile10100101, tile10100110, tile10100111 + .long tile10101000, tile10101001, tile10101010, tile10101011, tile10101100, tile10101101, tile10101110, tile10101111 + .long tile10110000, tile10110001, tile10110010, tile10110011, tile10110100, tile10110101, tile10110110, tile10110111 + .long tile10111000, tile10111001, tile10111010, tile10111011, tile10111100, tile10111101, tile10111110, tile10111111 + .long tile11000000, tile11000001, tile11000010, tile11000011, tile11000100, tile11000101, tile11000110, tile11000111 + .long tile11001000, tile11001001, tile11001010, tile11001011, tile11001100, tile11001101, tile11001110, tile11001111 + .long tile11010000, tile11010001, tile11010010, tile11010011, tile11010100, tile11010101, tile11010110, tile11010111 + .long tile11011000, tile11011001, tile11011010, tile11011011, tile11011100, tile11011101, tile11011110, tile11011111 + .long tile11100000, tile11100001, tile11100010, tile11100011, tile11100100, tile11100101, tile11100110, tile11100111 + .long tile11101000, tile11101001, tile11101010, tile11101011, tile11101100, tile11101101, tile11101110, tile11101111 + .long tile11110000, tile11110001, tile11110010, tile11110011, tile11110100, tile11110101, tile11110110, tile11110111 + .long tile11111000, tile11111001, tile11111010, tile11111011, tile11111100, tile11111101, tile11111110, tile11111111 + +# vim:filetype=mips