if (fmode_inuse != fmode) {
fetchmode_size = 16 << fetchmode;
fetchmode_mask = fetchmode_size - 1;
- // Fetch mode/modulo change is delayed by 2 CCK
- event2_newevent_xx(-1, 2 * CYCLE_UNIT, fmode, setup_fmodes_delayed);
+ if (!savestate_state) {
+ // Fetch mode/modulo change is delayed by 2 CCK
+ event2_newevent_xx(-1, 2 * CYCLE_UNIT, fmode, setup_fmodes_delayed);
+ } else {
+ setup_fmodes_delayed(fmode);
+ }
}
fmode_inuse = fmode;
}
if (imm || fmode != fmode_saved) {
denise_update_reg_queue(0x1fc, fmode, rga_denise_cycle_line);
setup_fmodes(bplcon0);
- setup_fmodes_delayed(bplcon0);
+ setup_fmodes_delayed(fmode);
}
}
CLXCON(0);
CLXCON2(0);
setup_fmodes(bplcon0);
- setup_fmodes_delayed(bplcon0);
+ setup_fmodes_delayed(fmode);
beamcon0 = new_beamcon0 = beamcon0_saved = currprefs.ntscmode ? 0x00 : BEAMCON0_PAL;
blt_info.blit_main = 0;
blt_info.blit_pending = 0;
BPLCON0(v);
FMODE(fmode);
setup_fmodes(bplcon0);
- setup_fmodes_delayed(bplcon0);
+ setup_fmodes_delayed(fmode);
if (!aga_mode) {
for(int i = 0 ; i < 32 ; i++) {
vv = denise_colors.color_regs_ecs[i];
sprite_width = GET_SPRITEWIDTH(fmode);
setup_fmodes(bplcon0);
- setup_fmodes_delayed(bplcon0);
+ setup_fmodes_delayed(fmode);
setmaxhpos();
resetfulllinestate();
updateprghpostable();