fix operator spr change ARM code bugs
authornotaz <notasas@gmail.com>
Wed, 20 May 2009 22:14:42 +0000 (22:14 +0000)
committernotaz <notasas@gmail.com>
Wed, 20 May 2009 22:14:42 +0000 (22:14 +0000)
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@694 be3aeb3a-fb24-0410-a615-afba39da0efa

pico/draw_arm.s

index 8ecf85a..9ca1f57 100644 (file)
     cmp     r4, #0xe\r
     ldrgeb  r4, [r1,#\ofs]\r
     orrlt   r4, r3, r4\r
-    orrge   r4, r3, #0x80\r
+    orrge   r4, r4, #0x80\r
     strb    r4, [r1,#\ofs]\r
 0:\r
 .endm\r
 \r
-.macro TileFlipSh_noop\r
+.macro TileFlipSh_markop\r
     TileDoShGenPixel_markop 16,  0 @ #0x000f0000\r
     TileDoShGenPixel_markop 20,  1 @ #0x00f00000\r
     TileDoShGenPixel_markop 24,  2 @ #0x0f000000\r
     TileDoShGenPixel_markop 12,  7 @ #0x0000f000\r
 .endm\r
 \r
-.macro TileNormSh_noop\r
+.macro TileNormSh_markop\r
     TileDoShGenPixel_markop 12,  0 @ #0x0000f000\r
     TileDoShGenPixel_markop  8,  1 @ #0x00000f00\r
     TileDoShGenPixel_markop  4,  2 @ #0x000000f0\r
@@ -991,7 +991,7 @@ DrawSpriteSHi:
     orr     r9, r9, r4, lsl #16\r
     orr     r9, r9, #0x90000000 @ r9=scc1 ???? ... <code> (s=shadow/hilight, cc=pal)\r
     cmp     r12,r9, lsr #28 @ sh/hi with pal3?\r
-    cmpne   r3, #1          @ if not, is ir hi prio?\r
+    cmpne   r3, #1          @ if not, is it hi prio?\r
     bne     DrawSpriteSHi   @ non-operator low sprite, already drawn\r
 \r
     ldr     r3, [r0]        @ sprite[0]\r
@@ -1089,7 +1089,7 @@ DrawSpriteSHi:
     tst     r9, #0x0800\r
     bne     .dsprShi_TileFlip_sh\r
 \r
-    @ (r1=pdest, r2=pixels8, r3=pal) r4: scratch, r12: helper pattern\r
+    @ (r1=pdest, r2=pixels8, r3=pal) r4, r7: scratch, r12: helper pattern\r
 .dsprShi_TileNorm_sh:\r
     TileNormSh\r
     b       .dsprShi_loop\r
@@ -1271,7 +1271,7 @@ DrawSprite: @ was: unsigned int *sprite, int sh, int acc_sprites
 \r
 .dspr_singlec_sh:\r
     cmp     r2, #0xe0000000\r
-    bcs     .dspr_loop          @ operator tileline, ignore\r
+    bcs     .dspr_TileNorm_sh   @ op. tileline, markop. XXX: maybe add a spec. handler?\r
 \r
 .dspr_SingleColor:\r
     and     r4, r2, #0xf\r
@@ -1295,11 +1295,11 @@ DrawSprite: @ was: unsigned int *sprite, int sh, int acc_sprites
 \r
     @ (r1=pdest, r2=pixels8, r3=pal) r4: scratch, r12: helper pattern\r
 .dspr_TileNorm_sh:\r
-    TileNormSh_noop\r
+    TileNormSh_markop\r
     b       .dspr_loop\r
 \r
 .dspr_TileFlip_sh:\r
-    TileFlipSh_noop\r
+    TileFlipSh_markop\r
     b       .dspr_loop\r
 \r
 \r