int LoadManager () { int loadROM = OpenROM(GCSettings.LoadMethod); if (loadROM) { // load UPS/IPS/PPF patch LoadPatch(GCSettings.LoadMethod); Memory.LoadROM ("BLANK.SMC"); Memory.LoadSRAM ("BLANK"); // load SRAM or snapshot if ( GCSettings.AutoLoad == 1 ) LoadSRAM(GCSettings.SaveMethod, SILENT); else if ( GCSettings.AutoLoad == 2 ) NGCUnfreezeGame (GCSettings.SaveMethod, SILENT); // setup cheats SetupCheats(); } return loadROM; }
/* Start application */ int start_application(char *filename) { rb->strcpy( szRomName, filename ); if(InfoNES_Load(szRomName)==0) { LoadSRAM(); return 1; } return 0; }
void reloadrom(int size, char *name) { LOG_DBG("reloadrom(%d, %s)\n", size, current_rom); bool hotswap = config.hot_swap && cart.romsize; /* load ROM file */ LOG_DBG("cart.romsize = %d\n", size); cart.romsize = size; LOG_DBG("load_rom(%s)\n", name); load_rom(name); LOG_DBG("hotswap: %d\n", hotswap); LOG_DBG("region detect: %d\n", config.region_detect); if(hotswap) { cart_hw_init(); cart_hw_reset(1); } /* initialize audio back-end */ /* 60hz video mode requires synchronization with Video Interrupt. */ /* Framerate is 59.94 fps in interlaced/progressive modes, ~59.825 fps in non-interlaced mode */ LOG_DBG("vdp_pal: %d\n", vdp_pal); LOG_DBG("config.tv_mode: %d\n", config.tv_mode); LOG_DBG("config.render: %d\n", config.render); float framerate; if (vdp_pal) { framerate = 49.82; } else { framerate = ((config.tv_mode == 0) || (config.tv_mode == 2)) ? (1000000.0/16715.0) : 60.0; } LOG_DBG("audio_init(%d, %f)\n", SAMPLERATE_48_3KHZ, framerate); LOG_DBG("framerate: %f\n", framerate); audio_init(SAMPLERATE_48_3KHZ, framerate); /* System Power ON */ LOG_DBG("system_init()\n"); system_init(); LOG_DBG("system_reset()\n"); system_reset(); /* load SRAM */ LoadSRAM(); //FIXME: TODO /* load State */ }
int LoadManager () { int loadROM = OpenROM(GCSettings.LoadMethod); /*** * check for autoloadsram / freeze ***/ if ( loadROM == 1 ) // if ROM was loaded, load the SRAM & settings { if ( GCSettings.AutoLoad == 1 ) LoadSRAM(GCSettings.SaveMethod, SILENT); else if ( GCSettings.AutoLoad == 2 ) NGCUnfreezeGame (GCSettings.SaveMethod, SILENT); // setup cheats SetupCheats(); // reset zoom zoom_reset (); } return loadROM; }
int GameMenu () { int gamemenuCount = 10; char gamemenu[][50] = { "Return to Game", "Reset Game", "ROM Information", "Cheats", "Load SRAM", "Save SRAM", "Load Game Snapshot", "Save Game Snapshot", "Reset Zoom", "Back to Main Menu" }; int ret, retval = 0; int quit = 0; int oldmenu = menu; menu = 0; while (quit == 0) { // disable SRAM/SNAPSHOT saving/loading if AUTO is on if (GCSettings.AutoLoad == 1) // Auto Load SRAM gamemenu[4][0] = '\0'; else if (GCSettings.AutoLoad == 2) // Auto Load SNAPSHOT gamemenu[6][0] = '\0'; if (GCSettings.AutoSave == 1) // Auto Save SRAM gamemenu[5][0] = '\0'; else if (GCSettings.AutoSave == 2) // Auto Save SNAPSHOT gamemenu[7][0] = '\0'; else if (GCSettings.AutoSave == 3) // Auto Save BOTH { gamemenu[5][0] = '\0'; gamemenu[7][0] = '\0'; } // hide cheats menu if cheats file not present if(Cheat.num_cheats == 0) gamemenu[3][0] = '\0'; ret = RunMenu (gamemenu, gamemenuCount, (char*)"Game Menu"); switch (ret) { case 0: // Return to Game quit = retval = 1; break; case 1: // Reset Game zoom_reset (); S9xSoftReset (); quit = retval = 1; break; case 2: // ROM Information RomInfo(); WaitButtonA (); break; case 3: // load cheats CheatMenu(); break; case 4: // Load SRAM zoom_reset (); quit = retval = LoadSRAM(GCSettings.SaveMethod, NOTSILENT); break; case 5: // Save SRAM SaveSRAM(GCSettings.SaveMethod, NOTSILENT); break; case 6: // Load Freeze zoom_reset (); quit = retval = NGCUnfreezeGame (GCSettings.SaveMethod, NOTSILENT); break; case 7: // Save Freeze NGCFreezeGame (GCSettings.SaveMethod, NOTSILENT); break; case 8: // Reset Zoom zoom_reset (); quit = retval = 1; break; case -1: // Button B case 9: // Return to previous menu retval = 0; quit = 1; break; } } menu = oldmenu; return retval; }