mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-06 23:58:04 -04:00
core z80, fix cycle counting if z80 in hold on frame change
This commit is contained in:
parent
25559e5417
commit
2f0c5639c1
2 changed files with 6 additions and 3 deletions
|
@ -530,7 +530,8 @@ void NOINLINE ctl_write_z80busreq(u32 d)
|
||||||
{
|
{
|
||||||
if (d)
|
if (d)
|
||||||
{
|
{
|
||||||
Pico.t.z80c_aim = Pico.t.z80c_cnt = z80_cycles_from_68k() + (Pico.t.z80_busdelay >> 8) + 2;
|
Pico.t.z80c_aim = Pico.t.z80c_cnt = z80_cycles_from_68k() + 2;
|
||||||
|
Pico.t.z80c_cnt += Pico.t.z80_busdelay >> 8;
|
||||||
Pico.t.z80_busdelay &= 0xff;
|
Pico.t.z80_busdelay &= 0xff;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -201,8 +201,10 @@ extern struct DrZ80 drZ80;
|
||||||
|
|
||||||
#define Z80_STATE_SIZE 0x60
|
#define Z80_STATE_SIZE 0x60
|
||||||
|
|
||||||
#define z80_resetCycles() \
|
#define z80_resetCycles() { \
|
||||||
Pico.t.z80c_cnt -= Pico.t.z80c_aim, Pico.t.z80c_aim = Pico.t.z80_scanline = 0
|
Pico.t.z80c_cnt -= Pico.t.z80c_aim, Pico.t.z80c_aim = Pico.t.z80_scanline = 0; \
|
||||||
|
if (!Pico.m.z80Run | Pico.m.z80_reset) Pico.t.z80c_cnt = 0; \
|
||||||
|
}
|
||||||
|
|
||||||
#define z80_cyclesDone() \
|
#define z80_cyclesDone() \
|
||||||
(Pico.t.z80c_aim - z80_cyclesLeft)
|
(Pico.t.z80c_aim - z80_cyclesLeft)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue