notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
more accuracy fixes
[picodrive.git]
/
Pico
/
cd
/
Pico.c
diff --git
a/Pico/cd/Pico.c
b/Pico/cd/Pico.c
index
d29469b
..
a0f2880
100644
(file)
--- a/
Pico/cd/Pico.c
+++ b/
Pico/cd/Pico.c
@@
-1,10
+1,4
@@
-// This is part of Pico Library
-
-// (c) Copyright 2004 Dave, All rights reserved.
// (c) Copyright 2007 notaz, All rights reserved.
// (c) Copyright 2007 notaz, All rights reserved.
-// Free for non-commercial use.
-
-// For commercial use, separate licencing terms must be obtained.
#include "../PicoInt.h"
#include "../PicoInt.h"
@@
-81,6
+75,12
@@
int PicoResetMCD(int hard)
//PicoMemResetCDdecode(1); // don't have to call this in 2M mode
#endif
//PicoMemResetCDdecode(1); // don't have to call this in 2M mode
#endif
+ // use SRam.data for RAM cart
+ if (SRam.data) free(SRam.data);
+ SRam.data = NULL;
+ if (PicoOpt&0x8000)
+ SRam.data = calloc(1, 0x12000);
+
return 0;
}
return 0;
}
@@
-216,13
+216,15
@@
static __inline void update_chips(void)
// delayed setting of DMNA bit (needed for Silpheed)
if (Pico_mcd->m.state_flags & 2) {
Pico_mcd->m.state_flags &= ~2;
// delayed setting of DMNA bit (needed for Silpheed)
if (Pico_mcd->m.state_flags & 2) {
Pico_mcd->m.state_flags &= ~2;
- Pico_mcd->s68k_regs[3] |= 2;
- Pico_mcd->s68k_regs[3] &= ~1;
+ if (!(Pico_mcd->s68k_regs[3] & 4)) {
+ Pico_mcd->s68k_regs[3] |= 2;
+ Pico_mcd->s68k_regs[3] &= ~1;
#ifdef USE_POLL_DETECT
#ifdef USE_POLL_DETECT
- if ((s68k_poll_adclk&0xfe) == 2) {
- SekSetStopS68k(0); s68k_poll_adclk = 0;
- }
+
if ((s68k_poll_adclk&0xfe) == 2) {
+
SekSetStopS68k(0); s68k_poll_adclk = 0;
+
}
#endif
#endif
+ }
}
}
}
}