memhandlers slightly improved
[picodrive.git] / cpu / DrZ80 / drz80.s
index 4760650..53f4c98 100644 (file)
       .global DrZ80Run\r
       .global DrZ80Ver\r
 \r
-         .equiv INTERRUPT_MODE,                0               ;@0 = Use internal int handler, 1 = Use Mames int handler\r
-         .equiv FAST_Z80SP,                    1               ;@0 = Use mem functions for stack pointer, 1 = Use direct mem pointer\r
-         .equiv UPDATE_CONTEXT,            0\r
-         .equiv DRZ80_FOR_PICODRIVE,   1\r
+      .equiv INTERRUPT_MODE,        0  ;@0 = Use internal int handler, 1 = Use Mames int handler\r
+      .equiv FAST_Z80SP,            1  ;@0 = Use mem functions for stack pointer, 1 = Use direct mem pointer\r
+      .equiv UPDATE_CONTEXT,        0\r
+      .equiv DRZ80_FOR_PICODRIVE,   1\r
 \r
 .if INTERRUPT_MODE\r
-         .extern Interrupt\r
+      .extern Interrupt\r
 .endif\r
 \r
 .if DRZ80_FOR_PICODRIVE\r
-         .extern YM2612Read_\r
-         .extern YM2612Read_940\r
+.include "port_config.s"\r
+      .extern YM2612Read_\r
+.if EXTERNAL_YM2612\r
+      .extern YM2612Read_940\r
+.endif\r
       .extern PicoRead8\r
       .extern Pico\r
       .extern z80_write\r
@@ -106,43 +109,39 @@ DrZ80Ver: .long 0x0001
 .text\r
 \r
 .if DRZ80_FOR_PICODRIVE\r
-.include "port_config.s"\r
 \r
 .macro YM2612Read_and_ret8\r
-       stmfd sp!,{r3,r12,lr}\r
+    stmfd sp!,{r3,r12,lr}\r
 .if EXTERNAL_YM2612\r
     ldr r1,=PicoOpt\r
     ldr r1,[r1]\r
     tst r1,#0x200\r
-    bne 10f\r
-    bl YM2612Read_\r
-       ldmfd sp!,{r3,r12,pc}\r
-10:\r
-    bl YM2612Read_940\r
+    ldrne r2, =YM2612Read_940\r
+    ldreq r2, =YM2612Read_\r
+    mov lr,pc\r
+    bx r2\r
 .else\r
     bl YM2612Read_\r
 .endif\r
-       ldmfd sp!,{r3,r12,pc}\r
+    ldmfd sp!,{r3,r12,pc}\r
 .endm\r
 \r
 .macro YM2612Read_and_ret16\r
-       stmfd sp!,{r3,r12,lr}\r
+    stmfd sp!,{r3,r12,lr}\r
 .if EXTERNAL_YM2612\r
     ldr r0,=PicoOpt\r
     ldr r0,[r0]\r
     tst r0,#0x200\r
-    bne 10f\r
-    bl YM2612Read_\r
-    orr r0,r0,r0,lsl #8\r
-       ldmfd sp!,{r3,r12,pc}\r
-10:\r
-    bl YM2612Read_940\r
+    ldrne r2, =YM2612Read_940\r
+    ldreq r2, =YM2612Read_\r
+    mov lr,pc\r
+    bx r2\r
     orr r0,r0,r0,lsl #8\r
 .else\r
     bl YM2612Read_\r
     orr r0,r0,r0,lsl #8\r
 .endif\r
-       ldmfd sp!,{r3,r12,pc}\r
+    ldmfd sp!,{r3,r12,pc}\r
 .endm\r
 \r
 pico_z80_read8: @ addr\r
@@ -171,7 +170,7 @@ pico_z80_read8: @ addr
     cmp r1,#2              @ YM2612 (0x4000-0x5fff)\r
     bne 0f\r
     and r0,r0,#3\r
-       YM2612Read_and_ret8\r
+    YM2612Read_and_ret8\r
 0:\r
     cmp r0,#0x4000\r
     movge r0,#0xff\r