/* * Reset emulator */ static void do_reset_machine (int hardreset) { #ifdef SAVESTATE if (savestate_state == STATE_RESTORE) restore_state (savestate_fname); else if (savestate_state == STATE_REWIND) savestate_rewind (); #endif /* following three lines must not be reordered or * fastram state restore breaks */ reset_all_systems (); customreset (); m68k_reset (); if (hardreset) { memset (chipmemory, 0, allocated_chipmem); write_log ("chipmem cleared\n"); } #ifdef SAVESTATE /* We may have been restoring state, but we're done now. */ if (savestate_state == STATE_RESTORE || savestate_state == STATE_REWIND) { map_overlay (1); fill_prefetch_slow (®s); /* compatibility with old state saves */ } savestate_restore_finish (); #endif fill_prefetch_slow (®s); if (currprefs.produce_sound == 0) eventtab[ev_audio].active = 0; handle_active_events (); inputdevice_updateconfig (&currprefs); }
LOCALPROC EmulatedHardwareZap(void) { Memory_Reset(); ICT_Zap(); IWM_Reset(); SCC_Reset(); SCSI_Reset(); VIA1_Zap(); #if EmVIA2 VIA2_Zap(); #endif Sony_Reset(); Extn_Reset(); m68k_reset(); }
static int process_cmd (const char *line) { RESULT[0] = '\0'; if (matchstr (&line, "EJECT")) return EJECT (line); else if (matchstr (&line, "INSERT")) return INSERT (line); else if (matchstr (&line, "QUERY")) return QUERY (line); else if (matchstr (&line, "FEEDBACK")) return FEEDBACK (line); else if (matchstr (&line, "VERSION")) return GET_VERSION (line); else if (matchstr (&line, "BYE")) QUIT (); else if (matchstr (&line, "QUIT")) QUIT (); else if (matchstr (&line, "DEBUG")) return DEBUG (); else if (matchstr (&line, "RESET")) m68k_reset (0); else if (matchstr (&line, "DISPLAY")) return DISPLAY (line); else if (matchstr (&line, "FRAMERATE")) return FRAMERATE( line); else if (matchstr (&line, "FAKEJOYSTICK")) return FAKEJOYSTICK (line); else if (matchstr (&line, "SOUND")) return SOUND (line); else if (matchstr (&line, "UAEEXE")) return UAEEXE (line); else return RC_ERROR; return RC_OK; }
static void uae4all_reset(void) { int i; #if !defined(USE_CYCLONE_CORE) && !defined(USE_FAME_CORE_ARM2) m68k_set_context(&micontexto); #endif m68k_reset(); for(i=1; i<8; i++) #if defined(DEBUG_INTERRUPTS) M68KCONTEXT.interrupts[i]=0xFF; #else M68KCONTEXT.interrupts[i]=0x18+i; #endif M68KCONTEXT.interrupts[0]=0; m68k_irq_update(0); mispcflags=0; _68k_areg(7) = get_long (0x00f80000); _68k_setpc(get_long (0x00f80004)); //_68k_sreg = 0x2700; // already done by m68k_reset() mispcflags=0; #ifdef DEBUG_FRAMERATE uae4all_update_time(); #endif }