notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
z80/ym2612 reset handling improved
[picodrive.git]
/
Pico
/
PicoFrameHints.c
diff --git
a/Pico/PicoFrameHints.c
b/Pico/PicoFrameHints.c
index
4386299
..
84db382
100644
(file)
--- a/
Pico/PicoFrameHints.c
+++ b/
Pico/PicoFrameHints.c
@@
-124,7
+124,7
@@
static int PicoFrameHints(void)
emustatus &= ~1;
else if ((y == 224 || y == line_sample) && PsndOut)
{
emustatus &= ~1;
else if ((y == 224 || y == line_sample) && PsndOut)
{
- if (Pico.m.z80Run && (PicoOpt&POPT_EN_Z80))
+ if (Pico.m.z80Run &&
!Pico.m.z80_reset &&
(PicoOpt&POPT_EN_Z80))
PicoSyncZ80(SekCycleCnt);
if (ym2612.dacen && PsndDacLine <= y)
PsndDoDAC(y);
PicoSyncZ80(SekCycleCnt);
if (ym2612.dacen && PsndDacLine <= y)
PsndDoDAC(y);
@@
-139,7
+139,7
@@
static int PicoFrameHints(void)
#ifdef PICO_CD
update_chips();
#else
#ifdef PICO_CD
update_chips();
#else
- if (PicoLineHook) PicoLineHook(
1
);
+ if (PicoLineHook) PicoLineHook();
#endif
}
#endif
}
@@
-188,7
+188,7
@@
static int PicoFrameHints(void)
elprintf(EL_INTS, "vint: @ %06x [%i]", SekPc, SekCycleCnt);
SekInterrupt(6);
}
elprintf(EL_INTS, "vint: @ %06x [%i]", SekPc, SekCycleCnt);
SekInterrupt(6);
}
- if (Pico.m.z80Run && (PicoOpt&POPT_EN_Z80)) {
+ if (Pico.m.z80Run &&
!Pico.m.z80_reset &&
(PicoOpt&POPT_EN_Z80)) {
PicoSyncZ80(SekCycleCnt);
elprintf(EL_INTS, "zint");
z80_int();
PicoSyncZ80(SekCycleCnt);
elprintf(EL_INTS, "zint");
z80_int();
@@
-213,7
+213,7
@@
static int PicoFrameHints(void)
#ifdef PICO_CD
update_chips();
#else
#ifdef PICO_CD
update_chips();
#else
- if (PicoLineHook) PicoLineHook(
1
);
+ if (PicoLineHook) PicoLineHook();
#endif
// PAL line count might actually be 313 according to Steve Snake, but that would complicate things.
#endif
// PAL line count might actually be 313 according to Steve Snake, but that would complicate things.
@@
-241,12
+241,12
@@
static int PicoFrameHints(void)
#ifdef PICO_CD
update_chips();
#else
#ifdef PICO_CD
update_chips();
#else
- if (PicoLineHook) PicoLineHook(
1
);
+ if (PicoLineHook) PicoLineHook();
#endif
}
// sync z80
#endif
}
// sync z80
- if (Pico.m.z80Run && (PicoOpt&POPT_EN_Z80))
+ if (Pico.m.z80Run &&
!Pico.m.z80_reset &&
(PicoOpt&POPT_EN_Z80))
PicoSyncZ80(Pico.m.pal ? 151809 : 127671); // cycles adjusted for converter
if (PsndOut && ym2612.dacen && PsndDacLine <= lines-1)
PsndDoDAC(lines-1);
PicoSyncZ80(Pico.m.pal ? 151809 : 127671); // cycles adjusted for converter
if (PsndOut && ym2612.dacen && PsndDacLine <= lines-1)
PsndDoDAC(lines-1);