mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 07:17:45 -04:00
add 68k overclocking support
This commit is contained in:
parent
93f9619ed8
commit
35f2b65ef7
8 changed files with 33 additions and 2 deletions
|
@ -81,7 +81,7 @@ static void do_timing_hacks_as(struct PicoVideo *pv, int vdp_slots)
|
|||
|
||||
static void do_timing_hacks_vb(void)
|
||||
{
|
||||
if (Pico.m.dma_xfers)
|
||||
if (unlikely(Pico.m.dma_xfers))
|
||||
SekCyclesBurn(CheckDMA());
|
||||
}
|
||||
|
||||
|
@ -272,7 +272,7 @@ static int PicoFrameHints(void)
|
|||
|
||||
PAD_DELAY();
|
||||
|
||||
if ((pv->status & PVS_ACTIVE) && --hint < 0)
|
||||
if (unlikely(pv->status & PVS_ACTIVE) && --hint < 0)
|
||||
{
|
||||
hint = pv->reg[10]; // Reload H-Int counter
|
||||
do_hint(pv);
|
||||
|
@ -287,6 +287,15 @@ static int PicoFrameHints(void)
|
|||
pevt_log_m68k_o(EVT_NEXT_LINE);
|
||||
}
|
||||
|
||||
if (unlikely(PicoIn.overclockM68k)) {
|
||||
unsigned int l = PicoIn.overclockM68k * lines / 100;
|
||||
while (l-- > 0) {
|
||||
Pico.t.m68c_cnt -= CYCLES_M68K_LINE;
|
||||
do_timing_hacks_vb();
|
||||
SekSyncM68k();
|
||||
}
|
||||
}
|
||||
|
||||
pv->status &= ~(SR_VB | PVS_VB2);
|
||||
pv->status |= ((pv->reg[1] >> 3) ^ SR_VB) & SR_VB; // forced blanking
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue