/* DivIDE does not page in immediately on a reset condition (we do that by trapping PC instead); however, it needs to perform housekeeping tasks upon reset */ static void divide_reset( int hard_reset ) { divide_active = 0; if( !settings_current.divide_enabled ) return; if( hard_reset ) { divide_control = 0; } else { divide_control &= DIVIDE_CONTROL_MAPRAM; } divide_automap = 0; divide_refresh_page_state(); libspectrum_ide_reset( divide_idechn0 ); libspectrum_ide_reset( divide_idechn1 ); }
static void zxcf_reset( int hard_reset GCC_UNUSED ) { if( !settings_current.zxcf_active ) return; machine_current->ram.romcs = 1; set_zxcf_bank( 0 ); zxcf_writeenable = 0; machine_current->memory_map(); libspectrum_ide_reset( zxcf_idechn ); }