32x, fix startup crash

This commit is contained in:
kub 2023-06-07 21:21:58 +00:00
parent a18d5e22b3
commit 3d7abd6905
3 changed files with 11 additions and 4 deletions

View file

@ -120,6 +120,7 @@ void Pico32xStartup(void)
rendstatus_old = -1; rendstatus_old = -1;
Pico32xPrepare();
emu_32x_startup(); emu_32x_startup();
} }
@ -580,10 +581,6 @@ void sync_sh2s_lockstep(unsigned int m68k_target)
void PicoFrame32x(void) void PicoFrame32x(void)
{ {
// XXX this is somehow misplaced here
sh2_execute_prepare(&msh2, PicoIn.opt & POPT_EN_DRC);
sh2_execute_prepare(&ssh2, PicoIn.opt & POPT_EN_DRC);
if (PicoIn.AHW & PAHW_MCD) if (PicoIn.AHW & PAHW_MCD)
pcd_prepare_frame(); pcd_prepare_frame();
@ -627,4 +624,10 @@ void Pico32xStateLoaded(int is_early)
p32x_run_events(SekCyclesDone()); p32x_run_events(SekCyclesDone());
} }
void Pico32xPrepare(void)
{
sh2_execute_prepare(&msh2, PicoIn.opt & POPT_EN_DRC);
sh2_execute_prepare(&ssh2, PicoIn.opt & POPT_EN_DRC);
}
// vim:shiftwidth=2:ts=2:expandtab // vim:shiftwidth=2:ts=2:expandtab

View file

@ -227,6 +227,9 @@ void PicoLoopPrepare(void)
Pico.m.dirtyPal = 1; Pico.m.dirtyPal = 1;
rendstatus_old = -1; rendstatus_old = -1;
if (PicoIn.AHW & PAHW_32X)
Pico32xPrepare();
} }
#include "pico_cmn.c" #include "pico_cmn.c"

View file

@ -996,6 +996,7 @@ void Pico32xStartup(void);
void PicoUnload32x(void); void PicoUnload32x(void);
void PicoFrame32x(void); void PicoFrame32x(void);
void Pico32xStateLoaded(int is_early); void Pico32xStateLoaded(int is_early);
void Pico32xPrepare(void);
void p32x_sync_sh2s(unsigned int m68k_target); void p32x_sync_sh2s(unsigned int m68k_target);
void p32x_sync_other_sh2(SH2 *sh2, unsigned int m68k_target); void p32x_sync_other_sh2(SH2 *sh2, unsigned int m68k_target);
void p32x_update_irls(SH2 *active_sh2, unsigned int m68k_cycles); void p32x_update_irls(SH2 *active_sh2, unsigned int m68k_cycles);