optimizations, fixes, hacks, psp, ...

git-svn-id: file:///home/notaz/opt/svn/PicoDrive@295 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2007-11-15 23:01:20 +00:00
parent 8022f53da6
commit b542be4686
37 changed files with 928 additions and 548 deletions

View file

@ -21,14 +21,10 @@
.endif
.if DRZ80_FOR_PICODRIVE
.include "port_config.s"
.extern YM2612Read_
.if EXTERNAL_YM2612
.extern YM2612Read_940
.endif
.extern PicoRead8
.extern Pico
.extern z80_write
.extern ym2612_st
.endif
DrZ80Ver: .long 0x0001
@ -111,37 +107,18 @@ DrZ80Ver: .long 0x0001
.if DRZ80_FOR_PICODRIVE
.macro YM2612Read_and_ret8
stmfd sp!,{r3,r12,lr}
.if EXTERNAL_YM2612
ldr r1,=PicoOpt
ldr r1,[r1]
tst r1,#0x200
ldrne r2, =YM2612Read_940
ldreq r2, =YM2612Read_
mov lr,pc
bx r2
.else
bl YM2612Read_
.endif
ldmfd sp!,{r3,r12,pc}
ldr r0, =ym2612_st
ldr r0, [r0]
ldrb r0, [r0, #0x11] ;@ ym2612_st->status
bx lr
.endm
.macro YM2612Read_and_ret16
stmfd sp!,{r3,r12,lr}
.if EXTERNAL_YM2612
ldr r0,=PicoOpt
ldr r0,[r0]
tst r0,#0x200
ldrne r2, =YM2612Read_940
ldreq r2, =YM2612Read_
mov lr,pc
bx r2
ldr r0, =ym2612_st
ldr r0, [r0]
ldrb r0, [r0, #0x11] ;@ ym2612_st->status
orr r0,r0,r0,lsl #8
.else
bl YM2612Read_
orr r0,r0,r0,lsl #8
.endif
ldmfd sp!,{r3,r12,pc}
bx lr
.endm
pico_z80_read8: @ addr
@ -214,13 +191,13 @@ pico_z80_read16: @ addr
add r0,r4,#1
bl PicoRead8
orr r0,r5,r0,lsl #8
ldmfd sp!,{r3-r5,r12,pc}
ldmfd sp!,{r3-r5,r12,pc}
1:
mov r1,r0,lsr #13
cmp r1,#2 @ YM2612 (0x4000-0x5fff)
bne 0f
and r0,r0,#3
YM2612Read_and_ret16
YM2612Read_and_ret16
0:
cmp r0,#0x4000
movge r0,#0xff