mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-04 23:07:46 -04:00
mcd, add poll detection for gfx busy
This commit is contained in:
parent
e61dbac103
commit
4985bad0fb
2 changed files with 7 additions and 3 deletions
|
@ -409,6 +409,8 @@ void gfx_start(uint32 base)
|
||||||
|
|
||||||
/* start graphics operation */
|
/* start graphics operation */
|
||||||
Pico_mcd->s68k_regs[0x58] = 0x80;
|
Pico_mcd->s68k_regs[0x58] = 0x80;
|
||||||
|
Pico_mcd->m.state_flags &= ~PCD_ST_S68K_POLL;
|
||||||
|
Pico_mcd->m.s68k_poll_cnt = 0;
|
||||||
|
|
||||||
gfx_schedule();
|
gfx_schedule();
|
||||||
}
|
}
|
||||||
|
@ -451,6 +453,8 @@ void gfx_update(unsigned int cycles)
|
||||||
Pico_mcd->s68k_regs[0x64] =
|
Pico_mcd->s68k_regs[0x64] =
|
||||||
Pico_mcd->s68k_regs[0x65] = 0;
|
Pico_mcd->s68k_regs[0x65] = 0;
|
||||||
|
|
||||||
|
Pico_mcd->m.state_flags &= ~PCD_ST_S68K_POLL;
|
||||||
|
Pico_mcd->m.s68k_poll_cnt = 0;
|
||||||
if (Pico_mcd->s68k_regs[0x33] & PCDS_IEN1) {
|
if (Pico_mcd->s68k_regs[0x33] & PCDS_IEN1) {
|
||||||
elprintf(EL_INTS|EL_CD, "s68k: gfx_cd irq 1");
|
elprintf(EL_INTS|EL_CD, "s68k: gfx_cd irq 1");
|
||||||
pcd_irq_s68k(1, 1);
|
pcd_irq_s68k(1, 1);
|
||||||
|
|
|
@ -366,8 +366,8 @@ u32 s68k_reg_read16(u32 a)
|
||||||
|
|
||||||
d = (Pico_mcd->s68k_regs[a]<<8) | Pico_mcd->s68k_regs[a+1];
|
d = (Pico_mcd->s68k_regs[a]<<8) | Pico_mcd->s68k_regs[a+1];
|
||||||
|
|
||||||
if (a >= 0x0e && a < 0x30)
|
if ((a >= 0x0e && a < 0x30) || a == 0x58)
|
||||||
return s68k_poll_detect(a, d);
|
d = s68k_poll_detect(a, d);
|
||||||
|
|
||||||
end:
|
end:
|
||||||
return d;
|
return d;
|
||||||
|
@ -995,7 +995,7 @@ static u32 PicoReadS68k8_pr(u32 a)
|
||||||
a &= 0x1ff;
|
a &= 0x1ff;
|
||||||
if (a >= 0x0e && a < 0x30) {
|
if (a >= 0x0e && a < 0x30) {
|
||||||
d = Pico_mcd->s68k_regs[a];
|
d = Pico_mcd->s68k_regs[a];
|
||||||
s68k_poll_detect(a & ~1, d);
|
d = s68k_poll_detect(a & ~1, d);
|
||||||
goto regs_done;
|
goto regs_done;
|
||||||
}
|
}
|
||||||
d = s68k_reg_read16(a & ~1);
|
d = s68k_reg_read16(a & ~1);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue