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(); }
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(); } }
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(); }