void C64::NewPrefs(Prefs *prefs) { open_close_joysticks(ThePrefs.Joystick1Port, ThePrefs.Joystick2Port, prefs->Joystick1Port, prefs->Joystick2Port); PatchKernal(prefs->FastReset, prefs->Emul1541Proc); TheDisplay->NewPrefs(prefs); #ifdef __riscos__ // Changed order of calls. If 1541 mode hasn't changed the order is insignificant. if (prefs->Emul1541Proc) { // New prefs have 1541 enabled ==> if old prefs had disabled free drives FIRST TheIEC->NewPrefs(prefs); TheJob1541->NewPrefs(prefs); } else { // New prefs has 1541 disabled ==> if old prefs had enabled free job FIRST TheJob1541->NewPrefs(prefs); TheIEC->NewPrefs(prefs); } #else TheIEC->NewPrefs(prefs); TheJob1541->NewPrefs(prefs); #endif TheREU->NewPrefs(prefs); TheSID->NewPrefs(prefs); // Reset 1541 processor if turned on if (!ThePrefs.Emul1541Proc && prefs->Emul1541Proc) TheCPU1541->AsyncReset(); }
void C64::NewPrefs(Prefs *prefs) { open_close_joysticks(ThePrefs.Joystick1On, ThePrefs.Joystick2On, prefs->Joystick1On, prefs->Joystick2On); PatchKernal(prefs->FastReset, prefs->Emul1541Proc); TheDisplay->NewPrefs(prefs); TheIEC->NewPrefs(prefs); TheJob1541->NewPrefs(prefs); TheREU->NewPrefs(prefs); TheSID->NewPrefs(prefs); // Reset 1541 processor if turned on if (!ThePrefs.Emul1541Proc && prefs->Emul1541Proc) TheCPU1541->AsyncReset(); }