コード例 #1
0
ファイル: copro-lib6502.c プロジェクト: dp111/PiTubeDirect
static void copro_lib6502_reset(M6502 *mpu) {
  // Log ARM performance counters
  tube_log_performance_counters();
  // Re-instate the Tube ROM on reset
  memcpy(mpu->memory + 0xf800, tuberom_6502_orig, 0x800);
  // Reset lib6502
  M6502_reset(mpu);
  // Wait for rst become inactive before continuing to execute
  tube_wait_for_rst_release();
  // Reset ARM performance counters
  tube_reset_performance_counters();
}
コード例 #2
0
ファイル: copro-65tube.c プロジェクト: dp111/PiTubeDirect
void copro_65tube_emulator() {
   // Remember the current copro so we can exit if it changes
   int last_copro = copro;

   copro_65tube_poweron_reset();
   copro_65tube_reset();

   while (copro == last_copro) {
      tube_reset_performance_counters();
      exec_65tube(mpu_memory);
      tube_log_performance_counters();
      copro_65tube_reset();
   }
}
コード例 #3
0
ファイル: copro-z80.c プロジェクト: hoglet67/PiTubeDirect
static void copro_z80_reset() {
  // Log ARM performance counters
  tube_log_performance_counters();

  // Re-instate the Tube ROM on reset
  overlay_rom = 1;

  // Reset the processor
  simz80_reset();

  // Wait for rst become inactive before continuing to execute
  tube_wait_for_rst_release();

  // Reset ARM performance counters
  tube_reset_performance_counters();
}