예제 #1
0
파일: C64.cpp 프로젝트: paulscode/FrodoC64
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();
}
예제 #2
0
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();
}