fix cell scroll drawing
[picodrive.git] / pico / draw2_arm.S
index 1575653..6b110b3 100644 (file)
@@ -73,8 +73,17 @@ BackFillFull:
 \r
 @ -------- some macros --------\r
 \r
+@ helpers\r
+.macro add_c24 d s c\r
+    add     \d, \s, #(\c & 0x00ff00)\r
+.if \c & 0x0000ff\r
+    add     \d, \d, #(\c & 0x0000ff)\r
+.endif\r
+.if \c & 0xff0000\r
+    add     \d, \d, #(\c & 0xff0000)\r
+.endif\r
+.endm\r
 \r
-@ helper\r
 @ TileLineSinglecol (r1=pdest, r2=pixels8, r3=pal) r4: scratch, r0: pixels8_old\r
 .macro TileLineSinglecol notsinglecol=0\r
     and     r2, r2, #0xf        @ #0x0000000f\r
@@ -411,8 +420,7 @@ DrawLayerFull:
     mla     r11, r4, r7, r11      @ scrpos+=8*328*(planestart-START_ROW);\r
 \r
     @ Get vertical scroll value:\r
-    add     r7, r10, #0x012000\r
-    add     r7, r7,  #0x000180    @ r7=Pico.vsram (Pico+0x22180)\r
+    add_c24 r7, r10, (OFS_PMEM_vsram-OFS_PMEM_vram)\r
     ldr     r7, [r7]\r
     tst     r0, r0\r
     moveq   r7, r7, lsl #22\r