void cartridge_reset(void) { switch (mem_cartridge_type) { case CARTRIDGE_VIC20_GENERIC: generic_reset(); break; case CARTRIDGE_VIC20_UM: vic_um_reset(); break; case CARTRIDGE_VIC20_FP: vic_fp_reset(); break; case CARTRIDGE_VIC20_MEGACART: megacart_reset(); break; case CARTRIDGE_VIC20_FINAL_EXPANSION: finalexpansion_reset(); break; } #ifdef HAVE_TFE if (tfe_cart_enabled()) { tfe_reset(); } #endif if (aciacart_cart_enabled()) { aciacart_reset(); } if (digimax_cart_enabled()) { digimax_reset(); } if (ds12c887rtc_cart_enabled()) { ds12c887rtc_reset(); } if (sfx_soundexpander_cart_enabled()) { sfx_soundexpander_reset(); } if (sfx_soundsampler_cart_enabled()) { sfx_soundsampler_reset(); } if (georam_cart_enabled()) { georam_reset(); } }
/* C64-specific reset sequence. */ void machine_specific_reset(void) { serial_traps_reset(); ciacore_reset(machine_context.cia1); ciacore_reset(machine_context.cia2); sid_reset(); if (!vsid_mode) { tpicore_reset(machine_context.tpi1); acia1_reset(); rs232drv_reset(); rsuser_reset(); printer_reset(); /* FIXME */ /* reset_reu(); */ } /* The VIC-II must be the *last* to be reset. */ vicii_reset(); if (vsid_mode) { psid_init_tune(); return; } cartridge_reset(); drive_reset(); datasette_reset(); reu_reset(); georam_reset(); ramcart_reset(); plus60k_reset(); plus256k_reset(); c64_256k_reset(); mmc64_reset(); }