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.c
diff --git
a/pico/cd/memory.c
b/pico/cd/memory.c
index
af455f2
..
8fce606
100644
(file)
--- a/
pico/cd/memory.c
+++ b/
pico/cd/memory.c
@@
-10,7
+10,6
@@
#include "../memory.h"
\r
\r
#include "gfx_cd.h"
\r
#include "../memory.h"
\r
\r
#include "gfx_cd.h"
\r
-#include "pcm.h"
\r
\r
uptr s68k_read8_map [0x1000000 >> M68K_MEM_SHIFT];
\r
uptr s68k_read16_map [0x1000000 >> M68K_MEM_SHIFT];
\r
\r
uptr s68k_read8_map [0x1000000 >> M68K_MEM_SHIFT];
\r
uptr s68k_read16_map [0x1000000 >> M68K_MEM_SHIFT];
\r
@@
-834,13
+833,10
@@
regs_done:
a &= 0x7fff;
\r
if (a >= 0x2000)
\r
d = Pico_mcd->pcm_ram_b[Pico_mcd->pcm.bank][(a >> 1) & 0xfff];
\r
a &= 0x7fff;
\r
if (a >= 0x2000)
\r
d = Pico_mcd->pcm_ram_b[Pico_mcd->pcm.bank][(a >> 1) & 0xfff];
\r
- else if (a >= 0x20) {
\r
- a &= 0x1e;
\r
- d = Pico_mcd->pcm.ch[a>>2].addr >> PCM_STEP_SHIFT;
\r
- if (a & 2)
\r
- d >>= 8;
\r
- }
\r
- return d & 0xff;
\r
+ else if (a >= 0x20)
\r
+ d = pcd_pcm_read(a >> 1);
\r
+
\r
+ return d;
\r
}
\r
\r
return s68k_unmapped_read8(a);
\r
}
\r
\r
return s68k_unmapped_read8(a);
\r
@@
-864,16
+860,12
@@
static u32 PicoReadS68k16_pr(u32 a)
\r
// PCM
\r
if ((a & 0x8000) == 0x0000) {
\r
\r
// PCM
\r
if ((a & 0x8000) == 0x0000) {
\r
- //elprintf(EL_ANOMALY, "FIXME: s68k_pcm r16: [%06x] @%06x", a, SekPcS68k);
\r
a &= 0x7fff;
\r
if (a >= 0x2000)
\r
a &= 0x7fff;
\r
if (a >= 0x2000)
\r
- d = Pico_mcd->pcm_ram_b[Pico_mcd->pcm.bank][(a>>1)&0xfff];
\r
- else if (a >= 0x20) {
\r
- a &= 0x1e;
\r
- d = Pico_mcd->pcm.ch[a>>2].addr >> PCM_STEP_SHIFT;
\r
- if (a & 2) d >>= 8;
\r
- }
\r
- elprintf(EL_CDREGS, "ret = %04x", d);
\r
+ d = Pico_mcd->pcm_ram_b[Pico_mcd->pcm.bank][(a >> 1) & 0xfff];
\r
+ else if (a >= 0x20)
\r
+ d = pcd_pcm_read(a >> 1);
\r
+
\r
return d;
\r
}
\r
\r
return d;
\r
}
\r
\r
@@
-898,7
+890,7
@@
static void PicoWriteS68k8_pr(u32 a, u32 d)
if (a >= 0x2000)
\r
Pico_mcd->pcm_ram_b[Pico_mcd->pcm.bank][(a>>1)&0xfff] = d;
\r
else if (a < 0x12)
\r
if (a >= 0x2000)
\r
Pico_mcd->pcm_ram_b[Pico_mcd->pcm.bank][(a>>1)&0xfff] = d;
\r
else if (a < 0x12)
\r
- pcm_write(a>>1, d);
\r
+ pc
d_pc
m_write(a>>1, d);
\r
return;
\r
}
\r
\r
return;
\r
}
\r
\r
@@
-932,7
+924,7
@@
static void PicoWriteS68k16_pr(u32 a, u32 d)
if (a >= 0x2000)
\r
Pico_mcd->pcm_ram_b[Pico_mcd->pcm.bank][(a>>1)&0xfff] = d;
\r
else if (a < 0x12)
\r
if (a >= 0x2000)
\r
Pico_mcd->pcm_ram_b[Pico_mcd->pcm.bank][(a>>1)&0xfff] = d;
\r
else if (a < 0x12)
\r
- pcm_write(a>>1, d & 0xff);
\r
+ pc
d_pc
m_write(a>>1, d & 0xff);
\r
return;
\r
}
\r
\r
return;
\r
}
\r
\r