1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-26 23:52:26 +00:00

Having farmed out the bus, the Atari itself no longer is/owns a 6502.

This commit is contained in:
Thomas Harte 2017-03-18 16:34:41 -04:00
parent bb3daaa99b
commit e8d34f2eb4
2 changed files with 3 additions and 5 deletions

View File

@ -27,7 +27,6 @@ const unsigned int number_of_upcoming_events = 6;
const unsigned int number_of_recorded_counters = 7; const unsigned int number_of_recorded_counters = 7;
class Machine: class Machine:
public CPU6502::Processor<Machine>,
public CRTMachine::Machine, public CRTMachine::Machine,
public ConfigurationTarget::Machine, public ConfigurationTarget::Machine,
public Outputs::CRT::Delegate { public Outputs::CRT::Delegate {
@ -41,10 +40,7 @@ class Machine:
void set_digital_input(Atari2600DigitalInput input, bool state); void set_digital_input(Atari2600DigitalInput input, bool state);
void set_switch_is_enabled(Atari2600Switch input, bool state); void set_switch_is_enabled(Atari2600Switch input, bool state);
void set_reset_line(bool state) { bus_->set_reset_line(state); }
// to satisfy CPU6502::Processor
unsigned int perform_bus_operation(CPU6502::BusOperation operation, uint16_t address, uint8_t *value);
void synchronise();
// to satisfy CRTMachine::Machine // to satisfy CRTMachine::Machine
virtual void setup_output(float aspect_ratio); virtual void setup_output(float aspect_ratio);

View File

@ -22,6 +22,7 @@ class Bus {
cycles_since_6532_update_(0) {} cycles_since_6532_update_(0) {}
virtual void run_for_cycles(int number_of_cycles) = 0; virtual void run_for_cycles(int number_of_cycles) = 0;
virtual void set_reset_line(bool state) = 0;
// the RIOT, TIA and speaker // the RIOT, TIA and speaker
PIA mos6532_; PIA mos6532_;
@ -64,6 +65,7 @@ template<class T> class Cartridge:
rom_(rom) {} rom_(rom) {}
void run_for_cycles(int number_of_cycles) { CPU6502::Processor<Cartridge<T>>::run_for_cycles(number_of_cycles); } void run_for_cycles(int number_of_cycles) { CPU6502::Processor<Cartridge<T>>::run_for_cycles(number_of_cycles); }
void set_reset_line(bool state) { CPU6502::Processor<Cartridge<T>>::set_reset_line(state); }
// to satisfy CPU6502::Processor // to satisfy CPU6502::Processor
unsigned int perform_bus_operation(CPU6502::BusOperation operation, uint16_t address, uint8_t *value) { unsigned int perform_bus_operation(CPU6502::BusOperation operation, uint16_t address, uint8_t *value) {