Пример #1
0
bool retro_load_game(const struct retro_game_info *game)
{ 
   int loaded;
   struct retro_memory_map map;

   init_descriptors();
   memorydesc_c = 0;
   map.descriptors    = memorydesc + MAX_MAPS - memorydesc_c;
   map.num_descriptors = memorydesc_c;

   /* Hack. S9x cannot do stuff from RAM. <_< */
   memstream_set_buffer((uint8_t*)game->data, game->size);

   loaded = LoadROM("");
   if (!loaded)
   {
      if (log_cb)
         log_cb(RETRO_LOG_ERROR, "ROM loading failed...\n");
      return FALSE;
   }

   check_variables();


   environ_cb(RETRO_ENVIRONMENT_SET_MEMORY_MAPS, &map);

   return TRUE;
}
Пример #2
0
EXPORT bool snes_load_cartridge_normal(const char * a, const uint8_t *rom_data, unsigned rom_size)
{
	int loaded;
   /* Hack. S9x cannot do stuff from RAM. <_< */
   memstream_set_buffer((uint8_t*)rom_data, rom_size);

   loaded = LoadROM("foo");
   if (!loaded)
   {
      fprintf(stderr, "[libsnes]: Rom loading failed...\n");
      return FALSE;
   }

   if (environ_cb)
   {
	   struct snes_system_timing timing;
	   timing.sample_rate = 32040.5;
	   if (!Settings.PAL)
		   timing.fps = 21477272.0 / 357366.0;
	   else
		   timing.fps = 21281370.0 / 425568.0;

	   environ_cb(SNES_ENVIRONMENT_SET_TIMING, &timing);
   }
   
   return TRUE;
}
Пример #3
0
void MainWindow::slotLoad()
{
    QString filename = QFileDialog::getOpenFileName(this,"Select the C64 ROM");
    if (filename.isEmpty() || filename.isNull())
        return;

    if (!_recentFiles.contains(filename))
        _recentFiles.push_front(filename);

    LoadROM(filename);
}
Пример #4
0
void GMainWindow::BootGame(const QString& filename) {
    LOG_INFO(Frontend, "Citra starting...");
    StoreRecentFile(filename); // Put the filename on top of the list

    if (!LoadROM(filename))
        return;

    // Create and start the emulation thread
    emu_thread = std::make_unique<EmuThread>(render_window);
    emit EmulationStarting(emu_thread.get());
    render_window->moveContext();
    emu_thread->start();

    connect(render_window, SIGNAL(Closed()), this, SLOT(OnStopGame()));
    // BlockingQueuedConnection is important here, it makes sure we've finished refreshing our views
    // before the CPU continues
    connect(emu_thread.get(), SIGNAL(DebugModeEntered()), disasmWidget, SLOT(OnDebugModeEntered()),
            Qt::BlockingQueuedConnection);
    connect(emu_thread.get(), SIGNAL(DebugModeEntered()), registersWidget,
            SLOT(OnDebugModeEntered()), Qt::BlockingQueuedConnection);
    connect(emu_thread.get(), SIGNAL(DebugModeEntered()), callstackWidget,
            SLOT(OnDebugModeEntered()), Qt::BlockingQueuedConnection);
    connect(emu_thread.get(), SIGNAL(DebugModeEntered()), waitTreeWidget,
            SLOT(OnDebugModeEntered()), Qt::BlockingQueuedConnection);
    connect(emu_thread.get(), SIGNAL(DebugModeLeft()), disasmWidget, SLOT(OnDebugModeLeft()),
            Qt::BlockingQueuedConnection);
    connect(emu_thread.get(), SIGNAL(DebugModeLeft()), registersWidget, SLOT(OnDebugModeLeft()),
            Qt::BlockingQueuedConnection);
    connect(emu_thread.get(), SIGNAL(DebugModeLeft()), callstackWidget, SLOT(OnDebugModeLeft()),
            Qt::BlockingQueuedConnection);
    connect(emu_thread.get(), SIGNAL(DebugModeLeft()), waitTreeWidget, SLOT(OnDebugModeLeft()),
            Qt::BlockingQueuedConnection);

    // Update the GUI
    registersWidget->OnDebugModeEntered();
    callstackWidget->OnDebugModeEntered();
    if (ui.action_Single_Window_Mode->isChecked()) {
        game_list->hide();
    }
    status_bar_update_timer.start(2000);

    render_window->show();
    render_window->setFocus();

    emulation_running = true;
    OnStartGame();
}
Пример #5
0
void EmuSettings::loadROM()
    {    
    __DEBUG_IN
    QDir dir(gpspsettings.iLastROM);
    QString rom = QFileDialog::getOpenFileName(this,
                    tr("Open File"),
                    dir.absolutePath(),
                    tr("ROMs (*.GBA *.gba *.zip *.ZIP);;"));
    if( rom.isEmpty() )
        {
		return;
        }
    
    gpspsettings.iLastROM = rom;
    savecurrentSettings();
    fileview->setRomLabel( rom );
    emit( LoadROM( rom,gpspsettings ));
    romloaded = true;
    __DEBUG_OUT
    }
Пример #6
0
void EmuSettings::continueClicked()
	{
    if( settingsChanged )
    	{
		savecurrentSettings();
		emit( updateSettings(gpspsettings) );
		settingsChanged = false;
    	}
    
	//if there was no ROM loaded, load previous ROM
	if( !romloaded )
		{
		emit( LoadROM( gpspsettings.iLastROM, gpspsettings ));
	    romloaded = true;
		}
	//just continue the game
	else
		{
		emit( continueGame() );
		}
	}
Пример #7
0
bool retro_load_game(const struct retro_game_info *game)
{ 
   int loaded;
   struct retro_memory_map map;

   init_descriptors();
   memorydesc_c = 0;
   map.descriptors    = memorydesc + MAX_MAPS - memorydesc_c;
   map.num_descriptors = memorydesc_c;

   /* Hack. S9x cannot do stuff from RAM. <_< */
   memstream_set_buffer((uint8_t*)game->data, game->size);

   loaded = LoadROM("");
   if (!loaded)
   {
      struct retro_message msg; 
      char msg_local[256];

      snprintf(msg_local,
            sizeof(msg_local), "ROM loading failed...");
      if (log_cb)
         log_cb(RETRO_LOG_ERROR, "ROM loading failed...\n");
      msg.msg    = msg_local;
      msg.frames = 360;
      if (environ_cb)
         environ_cb(RETRO_ENVIRONMENT_SET_MESSAGE, (void*)&msg);
      return FALSE;
   }

   check_variables();


   environ_cb(RETRO_ENVIRONMENT_SET_MEMORY_MAPS, &map);

   return TRUE;
}
Пример #8
0
void EmuSettings::continueClicked()
	{
    if( settingsChanged )
    	{
		savecurrentSettings();
		emit( updateSettings(gpspsettings) );
		settingsChanged = false;
    	}
    
	//if there was no ROM loaded, load previous ROM
	if( !romloaded )
		{
                //sanitycheck that we actually have a ROM to load
                if(  gpspsettings.iLastROM.length() < 3 )
                    return;
		emit( LoadROM( gpspsettings.iLastROM, gpspsettings ));
                romloaded = true;
		}
	//just continue the game
	else
		{
		emit( continueGame() );
		}
	}
Пример #9
0
void MainWindow::loadCartridge(std::string path)
{
    cartridge = LoadROM(path);
    mapper = std::shared_ptr<Mapper>(new Mapper(cartridge));
    cpu = std::shared_ptr<CPU_6502>(new CPU_6502(mapper, bridgeCPU));
}
Пример #10
0
void MainWindow::slotRecentTriggered()
{
    QAction* sndr = reinterpret_cast<QAction*>(sender());
    LoadROM(sndr->text());
}