void devices_reset(int hardreset) { gayle_reset (hardreset); idecontroller_reset(); a1000_reset (); DISK_reset (); CIA_reset (); gayle_reset (0); soft_scsi_reset(); #ifdef A2091 a2091_reset (); gvp_reset (); #endif #ifdef GFXBOARD gfxboard_reset (); #endif #ifdef WITH_TOCCATA sndboard_reset(); #endif #ifdef NCR ncr_reset(); #endif #ifdef NCR9X ncr9x_reset(); #endif #ifdef WITH_PCI pci_reset(); #endif #ifdef JIT compemu_reset (); #endif #ifdef AUTOCONFIG expamem_reset (); #endif }
/** * Show and process the memory dialog. * @return true if a memory snapshot has been loaded, false otherwise */ bool Dialog_MemDlg(void) { int32_t i; int32_t but; SDLGui_CenterDlg(memorydlg); for (i = DLGMEMC_512KB; i <= DLGMEMC_8MB; i++) { memorydlg[i].state &= ~SG_SELECTED; } for (i = DLGMEMB_512KB; i <= DLGMEMB_1MB; i++) { memorydlg[i].state &= ~SG_SELECTED; } for (i = DLGMEMF_512KB; i <= DLGMEMF_8MB; i++) { memorydlg[i].state &= ~SG_SELECTED; } printf("chip:%x fast:%x bogo:%x \n",currprefs.chipmem_size,currprefs.fastmem_size,currprefs.bogomem_size); switch (currprefs.chipmem_size){ case 0x80000:memorydlg[DLGMEMC_512KB].state |= SG_SELECTED; break; case 0x100000:memorydlg[DLGMEMC_1MB].state |= SG_SELECTED; break; case 0x200000:memorydlg[DLGMEMC_2MB].state |= SG_SELECTED; break; case 0x300000:memorydlg[DLGMEMC_3MB].state |= SG_SELECTED; break; case 0x400000:memorydlg[DLGMEMC_4MB].state |= SG_SELECTED; break; case 0x500000:memorydlg[DLGMEMC_5MB].state |= SG_SELECTED; break; case 0x600000:memorydlg[DLGMEMC_6MB].state |= SG_SELECTED; break; case 0x700000:memorydlg[DLGMEMC_7MB].state |= SG_SELECTED; break; default: memorydlg[DLGMEMC_8MB].state |= SG_SELECTED; break; } switch (currprefs.fastmem_size){ case 0: break; case 0x80000:memorydlg[DLGMEMF_512KB].state |= SG_SELECTED; break; case 0x100000:memorydlg[DLGMEMF_1MB].state |= SG_SELECTED; break; case 0x200000:memorydlg[DLGMEMF_2MB].state |= SG_SELECTED; break; case 0x300000:memorydlg[DLGMEMF_3MB].state |= SG_SELECTED; break; case 0x400000:memorydlg[DLGMEMF_4MB].state |= SG_SELECTED; break; case 0x500000:memorydlg[DLGMEMF_5MB].state |= SG_SELECTED; break; case 0x600000:memorydlg[DLGMEMF_6MB].state |= SG_SELECTED; break; case 0x700000:memorydlg[DLGMEMF_7MB].state |= SG_SELECTED; break; default: memorydlg[DLGMEMF_8MB].state |= SG_SELECTED; break; } switch (currprefs.bogomem_size){ case 0x80000:memorydlg[DLGMEMB_512KB].state |= SG_SELECTED; break; default:memorydlg[DLGMEMB_1MB].state |= SG_SELECTED; break; } do { but = SDLGui_DoDialog(memorydlg, NULL); switch (but) { } gui_poll_events(); } while (but != DLGMEM_EXIT && but != SDLGUI_QUIT && but != SDLGUI_ERROR && !bQuitProgram ); for (i = DLGMEMC_512KB; i <= DLGMEMC_8MB; i++) { if(memorydlg[i].state & SG_SELECTED){ changed_prefs.chipmem_size=chipm[i-DLGMEMC_512KB]; if (currprefs.fastmem_size != 0 && changed_prefs.chipmem_size > 0x200000) changed_prefs.chipmem_size=0x200000; if(changed_prefs.chipmem_size!=currprefs.chipmem_size)memory_reset(); break; } } for (i = DLGMEMB_512KB; i <= DLGMEMB_1MB; i++) { if(memorydlg[i].state & SG_SELECTED){ changed_prefs.bogomem_size=chipm[i-DLGMEMB_512KB]; if(changed_prefs.bogomem_size!=currprefs.bogomem_size)memory_reset(); break; } } for (i = DLGMEMF_512KB; i <= DLGMEMF_8MB; i++) { if(memorydlg[i].state & SG_SELECTED){ changed_prefs.fastmem_size=chipm[i-DLGMEMF_512KB]; if(changed_prefs.fastmem_size!=currprefs.fastmem_size){ if (changed_prefs.fastmem_size > 0 && currprefs.chipmem_size > 0x200000) changed_prefs.chipmem_size = 0x200000; expamem_reset(); memory_reset(); } break; } } return false; }