Serialize broadcast, cable and region. Signal EOR after loading a state.

broadcast, cable and region must be restored when loading a state of a
crash is likely to happen.
After loading a state, the emulator may hang waiting for an end of
render interrupt. This happens if a render was done right before saving
the state but before the EOR interrupt is raised. So we signal an EOR
after loading a state just in case.
This commit is contained in:
Flyinghead 2018-09-29 16:34:58 +02:00
parent d81a3cd720
commit ac4a98ec85
2 changed files with 9 additions and 1 deletions

View File

@ -709,6 +709,7 @@ void* dc_loadstate_thread(void* p)
cleanup_serialize(data) ;
printf("Loaded state from %s size %d\n", filename.c_str(), total_size) ;
rend_cancel_emu_wait();
return NULL;
}

View File

@ -1160,7 +1160,9 @@ bool dc_serialize(void **data, unsigned int *total_size)
REICAST_SA(joyx,4);
REICAST_SA(joyy,4);
REICAST_S(settings.dreamcast.broadcast);
REICAST_S(settings.dreamcast.cable);
REICAST_S(settings.dreamcast.region);
return true ;
}
@ -1538,6 +1540,11 @@ bool dc_unserialize(void **data, unsigned int *total_size)
REICAST_USA(joyx,4);
REICAST_USA(joyy,4);
REICAST_US(settings.dreamcast.broadcast);
REICAST_US(settings.dreamcast.cable);
REICAST_US(settings.dreamcast.region);
return true ;
}
#endif