{\r
if (PicoOpt & POPT_EN_MCD_RAMCART) {\r
sram_size = 0x12000;\r
- sram_data = SRam.data;\r
+ sram_data = Pico.sv.data;\r
if (sram_data)\r
- memcpy32((int *)sram_data, (int *)Pico_mcd->bram, 0x2000/4);\r
+ memcpy(sram_data, Pico_mcd->bram, 0x2000);\r
} else {\r
sram_size = 0x2000;\r
sram_data = Pico_mcd->bram;\r
truncate = 0; // the .brm may contain RAM cart data after normal brm\r
}\r
} else {\r
- sram_size = SRam.size;\r
- sram_data = SRam.data;\r
+ sram_size = Pico.sv.size;\r
+ sram_data = Pico.sv.data;\r
}\r
if (sram_data == NULL)\r
- return 0; // SRam forcefully disabled for this game\r
+ return 0; // cart saves forcefully disabled for this game\r
\r
if (load)\r
{\r
ret = ret > 0 ? 0 : -1;\r
fclose(sramFile);\r
if ((PicoAHW & PAHW_MCD) && (PicoOpt&POPT_EN_MCD_RAMCART))\r
- memcpy32((int *)Pico_mcd->bram, (int *)sram_data, 0x2000/4);\r
+ memcpy(Pico_mcd->bram, sram_data, 0x2000);\r
} else {\r
// sram save needs some special processing\r
// see if we have anything to save\r
currentConfig.EmuOpt = set_EmuOpt;\r
PsndRerate(1);\r
is_on = 0;\r
+ // mainly to unbreak pcm\r
+ if (PicoAHW & PAHW_MCD)\r
+ pcd_state_loaded();\r
}\r
}\r
\r
emu_status_msg("SAVE SLOT %i [%s]", state_slot,\r
emu_check_save_file(state_slot, NULL) ? "USED" : "FREE");\r
}\r
+ if (which & PEV_RESET)\r
+ emu_reset_game();\r
if (which & PEV_MENU)\r
engineState = PGS_Menu;\r
}\r
void emu_finish(void)\r
{\r
// save SRAM\r
- if ((currentConfig.EmuOpt & EOPT_EN_SRAM) && SRam.changed) {\r
+ if ((currentConfig.EmuOpt & EOPT_EN_SRAM) && Pico.sv.changed) {\r
emu_save_load_game(0, 1);\r
- SRam.changed = 0;\r
+ Pico.sv.changed = 0;\r
}\r
\r
if (!(currentConfig.EmuOpt & EOPT_NO_AUTOSVCFG)) {\r
printf("%s\n", fpsbuff);\r
#else\r
if (currentConfig.EmuOpt & EOPT_SHOW_FPS)\r
- sprintf(fpsbuff, "%02i/%02i ", frames_shown, frames_done);\r
+ snprintf(fpsbuff, 8, "%02i/%02i ", frames_shown, frames_done);\r
#endif\r
frames_shown = frames_done = 0;\r
timestamp_fps_x3 += ms_to_ticks(1000) * 3;\r
emu_set_fastforward(0);\r
\r
// save SRAM\r
- if ((currentConfig.EmuOpt & EOPT_EN_SRAM) && SRam.changed) {\r
+ if ((currentConfig.EmuOpt & EOPT_EN_SRAM) && Pico.sv.changed) {\r
plat_status_msg_busy_first("Writing SRAM/BRAM...");\r
emu_save_load_game(0, 1);\r
- SRam.changed = 0;\r
+ Pico.sv.changed = 0;\r
}\r
\r
pemu_loop_end();\r