void dc_term() { sh4_cpu.Term(); plugins_Term(); _vmem_release(); SaveSettings(); SaveRomFiles(GetPath("/data/")); }
void dc_term() { sh4_cpu.Term(); plugins_Term(); _vmem_release(); #ifndef _ANDROID SaveSettings(); #endif SaveRomFiles(GetPath("/data/")); }
void Term_DC() { if (dc_inited) { Stop_DC(); aica_Term(); pvr_Term(); mem_Term(); sh4_cpu->Term(); plugins_Term(); Release_Sh4If(sh4_cpu); sh4_cpu=NULL; dc_inited=false; dc_reseted=false; } }
//Init mainly means allocate //Reset is called before first run //Init is called olny once //When Init is called , cpu interface and all plugins configurations myst be finished //Plugins/Cpu core must not change after this call is made. bool Init_DC() { if (dc_inited) return true; if(settings.dynarec.Enable) { sh4_cpu=Get_Sh4Recompiler(); log("Using Recompiler\n"); } else { sh4_cpu=Get_Sh4Interpreter(); log("Using Interpreter\n"); } if (!plugins_Load()) return false; if (!plugins_Init()) { //log("Emulation thread : Plugin init failed\n"); plugins_Term(); return false; } sh4_cpu->Init(); mem_Init(); pvr_Init(); aica_Init(); mem_map_defualt(); dc_inited=true; return true; }