notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cd: rewrite pcm
[picodrive.git]
/
pico
/
cd
/
memory_arm.s
diff --git
a/pico/cd/memory_arm.s
b/pico/cd/memory_arm.s
index
380258c
..
db5b8a2
100644
(file)
--- a/
pico/cd/memory_arm.s
+++ b/
pico/cd/memory_arm.s
@@
-11,10
+11,10
@@
.text
.align 2
.text
.align 2
-.global PicoRead
M68k8
_io
-.global PicoRead
M68k16
_io
-.global PicoWrite
M68k8
_io
-.global PicoWrite
M68k16
_io
+.global PicoRead
8_mcd
_io
+.global PicoRead
16_mcd
_io
+.global PicoWrite
8_mcd
_io
+.global PicoWrite
16_mcd
_io
.global PicoReadS68k8_pr
.global PicoReadS68k16_pr
.global PicoReadS68k8_pr
.global PicoReadS68k16_pr
@@
-56,6
+56,8
@@
.extern s68k_poll_detect
.extern gfx_cd_read
.extern gfx_cd_write16
.extern s68k_poll_detect
.extern gfx_cd_read
.extern gfx_cd_write16
+.extern pcd_pcm_write
+.extern pcd_pcm_read
.extern PicoCpuCS68k
.extern PicoRead8_io
.extern PicoRead16_io
.extern PicoCpuCS68k
.extern PicoRead8_io
.extern PicoRead16_io
@@
-134,7
+136,7
@@
PicoReadM68k8_cell1: @ 0x220000 - 0x23ffff, cell arranged
bx lr
bx lr
-PicoRead
M68k8
_io:
+PicoRead
8_mcd
_io:
and r1, r0, #0xff00
cmp r1, #0x2000 @ a120xx?
bne PicoRead8_io
and r1, r0, #0xff00
cmp r1, #0x2000 @ a120xx?
bne PicoRead8_io
@@
-244,7
+246,7
@@
PicoReadM68k16_cell1: @ 0x220000 - 0x23ffff, cell arranged
bx lr
bx lr
-PicoRead
M68k16
_io:
+PicoRead
16_mcd
_io:
and r1, r0, #0xff00
cmp r1, #0x2000 @ a120xx
bne PicoRead16_io
and r1, r0, #0xff00
cmp r1, #0x2000 @ a120xx
bne PicoRead16_io
@@
-335,7
+337,7
@@
PicoWriteM68k8_cell1: @ 0x220000 - 0x23ffff, cell arranged
bx lr
bx lr
-PicoWrite
M68k8
_io:
+PicoWrite
8_mcd
_io:
and r2, r0, #0xff00
cmp r2, #0x2000 @ a120xx?
beq m68k_reg_write8
and r2, r0, #0xff00
cmp r2, #0x2000 @ a120xx?
beq m68k_reg_write8
@@
-362,7
+364,7
@@
PicoWriteM68k16_cell1: @ 0x220000 - 0x23ffff, cell arranged
bx lr
bx lr
-PicoWrite
M68k16
_io:
+PicoWrite
16_mcd
_io:
and r2, r0, #0xff00
cmp r2, #0x2000 @ a120xx?
bne PicoWrite16_io
and r2, r0, #0xff00
cmp r2, #0x2000 @ a120xx?
bne PicoWrite16_io
@@
-447,23
+449,15
@@
m_s68k_read8_pcm:
@ must not trash r3 and r12
ldr r1, =(Pico+0x22200)
bic r0, r0, #0xff0000
@ must not trash r3 and r12
ldr r1, =(Pico+0x22200)
bic r0, r0, #0xff0000
-@ bic r0, r0, #0x008000
ldr r1, [r1]
mov r2, #0x110000
orr r2, r2, #0x002200
cmp r0, #0x2000
bge m_s68k_read8_pcm_ram
cmp r0, #0x20
ldr r1, [r1]
mov r2, #0x110000
orr r2, r2, #0x002200
cmp r0, #0x2000
bge m_s68k_read8_pcm_ram
cmp r0, #0x20
- movlt r0, #0
- bxlt lr
- orr r2, r2, #(0x48+8) @ pcm.ch + addr_offset
- add r1, r1, r2
- and r2, r0, #0x1c
- ldr r1, [r1, r2, lsl #2]
- tst r0, #2
- moveq r0, r1, lsr #PCM_STEP_SHIFT
- movne r0, r1, lsr #(PCM_STEP_SHIFT+8)
- and r0, r0, #0xff
+ movge r0, r0, lsr #1
+ bge pcd_pcm_read
+ mov r0, #0
bx lr
m_s68k_read8_pcm_ram:
bx lr
m_s68k_read8_pcm_ram:
@@
-600,7
+594,7
@@
m_s68k_write8_pcm:
bic r0, r0, #0xff0000
cmp r0, #0x12
movlt r0, r0, lsr #1
bic r0, r0, #0xff0000
cmp r0, #0x12
movlt r0, r0, lsr #1
- blt pcm_write
+ blt pc
d_pc
m_write
cmp r0, #0x2000
bxlt lr
cmp r0, #0x2000
bxlt lr