notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
famec: split fm68k_emulate
[picodrive.git]
/
pico
/
sek.c
diff --git
a/pico/sek.c
b/pico/sek.c
index
031c549
..
c76a3e8
100644
(file)
--- a/
pico/sek.c
+++ b/
pico/sek.c
@@
-34,6
+34,7
@@
static int do_ack(int level)
// the VDP doesn't look at the 68k level
\r
if (pv->pending_ints & pv->reg[1] & 0x20) {
\r
pv->pending_ints &= ~0x20;
\r
// the VDP doesn't look at the 68k level
\r
if (pv->pending_ints & pv->reg[1] & 0x20) {
\r
pv->pending_ints &= ~0x20;
\r
+ pv->status &= ~SR_F;
\r
return (pv->reg[0] & pv->pending_ints & 0x10) >> 2;
\r
}
\r
else if (pv->pending_ints & pv->reg[0] & 0x10)
\r
return (pv->reg[0] & pv->pending_ints & 0x10) >> 2;
\r
}
\r
else if (pv->pending_ints & pv->reg[0] & 0x10)
\r
@@
-156,10
+157,7
@@
PICO_INTERNAL int SekReset(void)
REG_USP = 0; // ?
\r
#endif
\r
#ifdef EMU_F68K
\r
REG_USP = 0; // ?
\r
#endif
\r
#ifdef EMU_F68K
\r
- {
\r
- g_m68kcontext = &PicoCpuFM68k;
\r
- fm68k_reset();
\r
- }
\r
+ fm68k_reset(&PicoCpuFM68k);
\r
#endif
\r
\r
return 0;
\r
#endif
\r
\r
return 0;
\r
@@
-177,7
+175,7
@@
void SekStepM68k(void)
#elif defined(EMU_M68K)
\r
Pico.t.m68c_cnt += m68k_execute(1);
\r
#elif defined(EMU_F68K)
\r
#elif defined(EMU_M68K)
\r
Pico.t.m68c_cnt += m68k_execute(1);
\r
#elif defined(EMU_F68K)
\r
- Pico.t.m68c_cnt += fm68k_emulate(1, 0);
\r
+ Pico.t.m68c_cnt += fm68k_emulate(
&PicoCpuFM68k,
1, 0);
\r
#endif
\r
}
\r
\r
#endif
\r
}
\r
\r
@@
-319,7
+317,7
@@
void SekInitIdleDet(void)
CycloneInitIdle();
\r
#endif
\r
#ifdef EMU_F68K
\r
CycloneInitIdle();
\r
#endif
\r
#ifdef EMU_F68K
\r
- fm68k_
emulate(0, 1
);
\r
+ fm68k_
idle_install(
);
\r
#endif
\r
}
\r
\r
#endif
\r
}
\r
\r
@@
-430,7
+428,7
@@
void SekFinishIdleDet(void)
CycloneFinishIdle();
\r
#endif
\r
#ifdef EMU_F68K
\r
CycloneFinishIdle();
\r
#endif
\r
#ifdef EMU_F68K
\r
- fm68k_
emulate(0, 2
);
\r
+ fm68k_
idle_remove(
);
\r
#endif
\r
while (idledet_count > 0)
\r
{
\r
#endif
\r
while (idledet_count > 0)
\r
{
\r