PicoVideoRead optimization
[picodrive.git] / Pico / Memory.s
index dbe76ac..cf2036d 100644 (file)
@@ -389,11 +389,7 @@ m_read8_misc2:
     ldr     r1, =PicoOpt\r
     ldr     r1, [r1]\r
     tst     r1, #1\r
-\r
-    ldrne   r1, =ym2612_st\r
-    ldrne   r1, [r1]\r
-    ldrneb  r0, [r1, #0x11]   @ ym2612_st->status\r
-    bxne    lr\r
+    bne     ym2612_read_local_68k\r
 \r
 m_read8_fake_ym2612:\r
     ldr     r3, =(Pico+0x22200)\r
@@ -419,13 +415,7 @@ m_read8_vdp:
     tst     r0, #0x70000\r
     tsteq   r0, #0x000e0\r
     bxne    lr              @ invalid read\r
-    stmfd   sp!,{r0,lr}\r
-    bic     r0, r0, #1\r
-    bl      PicoVideoRead\r
-    ldmfd   sp!,{r1,lr}\r
-    tst     r1, #1\r
-    moveq   r0, r0, lsr #8\r
-    bx      lr\r
+    b       PicoVideoRead8\r
 \r
 m_read8_ram:\r
     ldr     r1, =Pico\r
@@ -872,7 +862,11 @@ m_write8_misc2:
     bic     r0, r0, #0xff0000\r
     bic     r0, r0, #0x00e000\r
     tst     r2, #1\r
+    ldr     r2, =SekCycleCnt\r
     streqb  r1, [r3, r0]     @ zram\r
+    ldr     r0, [r2]\r
+    add     r0, r0, #2       @ hack?\r
+    str     r0, [r2]\r
     bx      lr\r
 \r
 m_write8_z80_not_ram:\r