Esempio n. 1
0
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 */
    }
Esempio n. 4
0
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;
}
Esempio n. 5
0
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;
}