notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
handle dbra wait loops, update cyclone
[picodrive.git]
/
pico
/
cd
/
memory.c
diff --git
a/pico/cd/memory.c
b/pico/cd/memory.c
index
b15e9c8
..
47553f5
100644
(file)
--- a/
pico/cd/memory.c
+++ b/
pico/cd/memory.c
@@
-75,9
+75,10
@@
static void remap_word_ram(u32 r3);
void m68k_comm_check(u32 a)
\r
{
\r
pcd_sync_s68k(SekCyclesDone(), 0);
\r
void m68k_comm_check(u32 a)
\r
{
\r
pcd_sync_s68k(SekCyclesDone(), 0);
\r
- if (a != Pico_mcd->m.m68k_poll_a) {
\r
+ if (
SekNotPolling ||
a != Pico_mcd->m.m68k_poll_a) {
\r
Pico_mcd->m.m68k_poll_a = a;
\r
Pico_mcd->m.m68k_poll_cnt = 0;
\r
Pico_mcd->m.m68k_poll_a = a;
\r
Pico_mcd->m.m68k_poll_cnt = 0;
\r
+ SekNotPolling = 0;
\r
return;
\r
}
\r
Pico_mcd->m.m68k_poll_cnt++;
\r
return;
\r
}
\r
Pico_mcd->m.m68k_poll_cnt++;
\r
@@
-246,7
+247,7
@@
u32 s68k_poll_detect(u32 a, u32 d)
return d;
\r
\r
cycles = SekCyclesDoneS68k();
\r
return d;
\r
\r
cycles = SekCyclesDoneS68k();
\r
- if (a == Pico_mcd->m.s68k_poll_a) {
\r
+ if (
!SekNotPolling &&
a == Pico_mcd->m.s68k_poll_a) {
\r
u32 clkdiff = cycles - Pico_mcd->m.s68k_poll_clk;
\r
if (clkdiff <= POLL_CYCLES) {
\r
cnt = Pico_mcd->m.s68k_poll_cnt + 1;
\r
u32 clkdiff = cycles - Pico_mcd->m.s68k_poll_clk;
\r
if (clkdiff <= POLL_CYCLES) {
\r
cnt = Pico_mcd->m.s68k_poll_cnt + 1;
\r
@@
-261,6
+262,7
@@
u32 s68k_poll_detect(u32 a, u32 d)
Pico_mcd->m.s68k_poll_a = a;
\r
Pico_mcd->m.s68k_poll_clk = cycles;
\r
Pico_mcd->m.s68k_poll_cnt = cnt;
\r
Pico_mcd->m.s68k_poll_a = a;
\r
Pico_mcd->m.s68k_poll_clk = cycles;
\r
Pico_mcd->m.s68k_poll_cnt = cnt;
\r
+ SekNotPollingS68k = 0;
\r
#endif
\r
return d;
\r
}
\r
#endif
\r
return d;
\r
}
\r