// Write savegame and synchronize IDBFS contents to IndexedDB. Must be a C-function. void FCEM_OnSaveGameInterval() { if (GameInterface) { GameInterface(GI_SAVE); } EM_ASM({ FS.syncfs(FCEM.onSyncToIDB); });
void ResetNES(void) { FCEUMOV_AddCommand(FCEUNPCMD_RESET); if (!FCEUGameInfo) return; GameInterface(GI_RESETM2); FCEUSND_Reset(); FCEUPPU_Reset(); X6502_Reset(); }
void ResetNES(void) { if(!FCEUGameInfo) return; GameInterface(GI_RESETM2); FCEUSND_Reset(); FCEUPPU_Reset(); X6502_Reset(); }
static void CloseGame(void) { if(FCEUGameInfo) { if(FCEUGameInfo->name) { free(FCEUGameInfo->name); FCEUGameInfo->name=0; } FCEU_FlushGameCheats(0,0); GameInterface(GI_CLOSE); ResetExState(0,0); CloseGenie(); free(FCEUGameInfo); FCEUGameInfo = 0; } }
static void CloseGame(void) { if (FCEUGameInfo) { if (FCEUnetplay) FCEUD_NetworkClose(); if (FCEUGameInfo->name) { free(FCEUGameInfo->name); FCEUGameInfo->name = 0; } if (FCEUGameInfo->type != GIT_NSF) FCEU_FlushGameCheats(0, 0); GameInterface(GI_CLOSE); ResetExState(0, 0); FCEU_CloseGenie(); free(FCEUGameInfo); FCEUGameInfo = 0; } }
void PowerNES(void) { if(!FCEUGameInfo) return; FCEU_CheatResetRAM(); FCEU_CheatAddRAM(2,0,RAM); GeniePower(); #ifndef COPYFAMI FCEU_MemoryRand(RAM,0x800); #endif SetReadHandler(0x0000,0xFFFF,ANull); SetWriteHandler(0x0000,0xFFFF,BNull); #ifdef COPYFAMI SetReadHandler(0,0x3FFF,ARAML); SetWriteHandler(0,0x3FFF,BRAML); #else SetReadHandler(0,0x7FF,ARAML); SetWriteHandler(0,0x7FF,BRAML); SetReadHandler(0x800,0x1FFF,ARAMH); /* Part of a little */ SetWriteHandler(0x800,0x1FFF,BRAMH); /* hack for a small speed boost. */ #endif InitializeInput(); FCEUSND_Power(); FCEUPPU_Power(); /* Have the external game hardware "powered" after the internal NES stuff. Needed for the NSF code and VS System code. */ GameInterface(GI_POWER); if(FCEUGameInfo->type==GIT_VSUNI) FCEU_VSUniPower(); timestampbase=0; X6502_Power(); FCEU_PowerCheats(); }