X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=cpu%2FDrZ80%2Fdrz80.s;h=53f4c988047eb313e28ac8f7a7beb263e11a4b57;hb=e5503e2f4fe1c7ccc46c493a1596fb0e416f678e;hp=eba8b955ee9b0ba05ebec1366f946995d2eb2b8f;hpb=a5ccbfbaf07e1d91c71b08485a1bd3ee8a06128f;p=picodrive.git diff --git a/cpu/DrZ80/drz80.s b/cpu/DrZ80/drz80.s index eba8b95..53f4c98 100644 --- a/cpu/DrZ80/drz80.s +++ b/cpu/DrZ80/drz80.s @@ -111,40 +111,37 @@ DrZ80Ver: .long 0x0001 .if DRZ80_FOR_PICODRIVE .macro YM2612Read_and_ret8 - stmfd sp!,{r3,r12,lr} + stmfd sp!,{r3,r12,lr} .if EXTERNAL_YM2612 ldr r1,=PicoOpt ldr r1,[r1] tst r1,#0x200 - bne 10f - bl YM2612Read_ - ldmfd sp!,{r3,r12,pc} -10: - bl YM2612Read_940 + ldrne r2, =YM2612Read_940 + ldreq r2, =YM2612Read_ + mov lr,pc + bx r2 .else bl YM2612Read_ .endif - ldmfd sp!,{r3,r12,pc} + ldmfd sp!,{r3,r12,pc} .endm .macro YM2612Read_and_ret16 - stmfd sp!,{r3,r12,lr} + stmfd sp!,{r3,r12,lr} .if EXTERNAL_YM2612 ldr r0,=PicoOpt ldr r0,[r0] tst r0,#0x200 - bne 10f - bl YM2612Read_ - orr r0,r0,r0,lsl #8 - ldmfd sp!,{r3,r12,pc} -10: - bl YM2612Read_940 + ldrne r2, =YM2612Read_940 + ldreq r2, =YM2612Read_ + mov lr,pc + bx r2 orr r0,r0,r0,lsl #8 .else bl YM2612Read_ orr r0,r0,r0,lsl #8 .endif - ldmfd sp!,{r3,r12,pc} + ldmfd sp!,{r3,r12,pc} .endm pico_z80_read8: @ addr @@ -173,7 +170,7 @@ pico_z80_read8: @ addr cmp r1,#2 @ YM2612 (0x4000-0x5fff) bne 0f and r0,r0,#3 - YM2612Read_and_ret8 + YM2612Read_and_ret8 0: cmp r0,#0x4000 movge r0,#0xff