notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bugfixes, adjusted famec timing
[picodrive.git]
/
Pico
/
Sek.c
diff --git
a/Pico/Sek.c
b/Pico/Sek.c
index
449a4d7
..
ddce558
100644
(file)
--- a/
Pico/Sek.c
+++ b/
Pico/Sek.c
@@
-104,6
+104,7
@@
PICO_INTERNAL int SekInit()
PicoCpuCM68k.IrqCallback=SekIntAck;
\r
PicoCpuCM68k.ResetCallback=SekResetAck;
\r
PicoCpuCM68k.UnrecognizedCallback=SekUnrecognizedOpcode;
\r
PicoCpuCM68k.IrqCallback=SekIntAck;
\r
PicoCpuCM68k.ResetCallback=SekResetAck;
\r
PicoCpuCM68k.UnrecognizedCallback=SekUnrecognizedOpcode;
\r
+ PicoCpuCM68k.flags=4; // Z set
\r
#endif
\r
#ifdef EMU_M68K
\r
{
\r
#endif
\r
#ifdef EMU_M68K
\r
{
\r
@@
-122,7
+123,7
@@
PICO_INTERNAL int SekInit()
void *oldcontext = g_m68kcontext;
\r
g_m68kcontext = &PicoCpuFM68k;
\r
memset(&PicoCpuFM68k, 0, sizeof(PicoCpuFM68k));
\r
void *oldcontext = g_m68kcontext;
\r
g_m68kcontext = &PicoCpuFM68k;
\r
memset(&PicoCpuFM68k, 0, sizeof(PicoCpuFM68k));
\r
- m68k_init();
\r
+
f
m68k_init();
\r
PicoCpuFM68k.iack_handler = SekIntAckF68K;
\r
g_m68kcontext = oldcontext;
\r
}
\r
PicoCpuFM68k.iack_handler = SekIntAckF68K;
\r
g_m68kcontext = oldcontext;
\r
}
\r
@@
-141,7
+142,6
@@
PICO_INTERNAL int SekReset()
PicoCpuCM68k.state_flags=0;
\r
PicoCpuCM68k.osp=0;
\r
PicoCpuCM68k.srh =0x27; // Supervisor mode
\r
PicoCpuCM68k.state_flags=0;
\r
PicoCpuCM68k.osp=0;
\r
PicoCpuCM68k.srh =0x27; // Supervisor mode
\r
- PicoCpuCM68k.flags=4; // Z set
\r
PicoCpuCM68k.irq=0;
\r
PicoCpuCM68k.a[7]=PicoCpuCM68k.read32(0); // Stack Pointer
\r
PicoCpuCM68k.membase=0;
\r
PicoCpuCM68k.irq=0;
\r
PicoCpuCM68k.a[7]=PicoCpuCM68k.read32(0); // Stack Pointer
\r
PicoCpuCM68k.membase=0;
\r
@@
-156,7
+156,7
@@
PICO_INTERNAL int SekReset()
#ifdef EMU_F68K
\r
{
\r
g_m68kcontext = &PicoCpuFM68k;
\r
#ifdef EMU_F68K
\r
{
\r
g_m68kcontext = &PicoCpuFM68k;
\r
- m68k_reset();
\r
+
f
m68k_reset();
\r
}
\r
#endif
\r
\r
}
\r
#endif
\r
\r
@@
-166,7
+166,7
@@
PICO_INTERNAL int SekReset()
\r
PICO_INTERNAL int SekInterrupt(int irq)
\r
{
\r
\r
PICO_INTERNAL int SekInterrupt(int irq)
\r
{
\r
-#if
defined(EMU_C68K) && defined(EMU_M68K)
\r
+#if
def EMU_CORE_DEBUG
\r
{
\r
extern unsigned int dbg_irq_level;
\r
dbg_irq_level=irq;
\r
{
\r
extern unsigned int dbg_irq_level;
\r
dbg_irq_level=irq;
\r
@@
-195,9
+195,9
@@
PICO_INTERNAL int SekInterrupt(int irq)
PICO_INTERNAL void SekState(int *data)
\r
{
\r
#ifdef EMU_C68K
\r
PICO_INTERNAL void SekState(int *data)
\r
{
\r
#ifdef EMU_C68K
\r
- memcpy32(data,PicoCpuCM68k.d,0x44/4);
\r
+ memcpy32(data,
(int *)
PicoCpuCM68k.d,0x44/4);
\r
#elif defined(EMU_M68K)
\r
#elif defined(EMU_M68K)
\r
- memcpy32(data, PicoCpuMM68k.dar, 0x40/4);
\r
+ memcpy32(data,
(int *)
PicoCpuMM68k.dar, 0x40/4);
\r
data[0x10] = PicoCpuMM68k.pc;
\r
#elif defined(EMU_F68K)
\r
memcpy32(data, (int *)PicoCpuFM68k.dreg, 0x40/4);
\r
data[0x10] = PicoCpuMM68k.pc;
\r
#elif defined(EMU_F68K)
\r
memcpy32(data, (int *)PicoCpuFM68k.dreg, 0x40/4);
\r