31 #include "interrupt.h" 34 #include "SerialPort.h" 35 #include "EventScheduler.h" 58 void underFlow()
override;
60 void serialPort()
override;
67 Timer(
"CIA Timer A", scheduler, parent) {}
79 void underFlow()
override;
86 Timer(
"CIA Timer B", scheduler, parent) {}
117 void trigger(uint8_t interruptMask)
override;
119 uint8_t clear()
override;
123 throw "8521 event called unexpectedly";
134 event_clock_t last_clear;
150 eventScheduler.schedule(*
this, 1, EVENT_CLOCK_PHI1);
163 void trigger(uint8_t interruptMask)
override;
165 uint8_t clear()
override;
170 void event()
override;
172 void reset()
override;
191 static const char *credit;
199 uint8_t &pra, &
prb, &ddra, &ddrb;
261 void handleSerialPort();
277 virtual void interrupt(
bool state) = 0;
279 virtual void portA() {}
280 virtual void portB() {}
288 uint8_t read(uint_least8_t addr);
298 void write(uint_least8_t addr, uint8_t data);
306 void setModel(
bool newModel);
311 virtual void reset();
318 static const char *credits();
Definition: mos6526.h:110
void reset()
Definition: timer.cpp:131
bool started() const
Definition: mos6526.h:104
Definition: mos6526.h:181
Definition: EventCallback.h:35
Definition: exsid-emu.cpp:29
MOS6526 & parent
Pointer to the MOS6526 which this Timer belongs to.
Definition: timer.h:92
uint8_t & prb
Ports.
Definition: mos6526.h:199
TimerB(EventScheduler &scheduler, MOS6526 &parent)
Definition: mos6526.h:85
Definition: interrupt.h:41
SerialPort serialPort
Serial Data Registers.
Definition: mos6526.h:218
void syncWithCpu()
Definition: timer.cpp:37
void event() override
Definition: mos6526.h:121
void setDayOfTimeRate(unsigned int clock)
Definition: mos6526.h:325
TimerA timerA
Timers A and B.
Definition: mos6526.h:207
int_least32_t state
CRA/CRB control register / state.
Definition: timer.h:95
Definition: SerialPort.h:36
TimerA(EventScheduler &scheduler, MOS6526 &parent)
Definition: mos6526.h:66
void wakeUpAfterSyncWithCpu()
Definition: timer.cpp:60
Definition: EventScheduler.h:61
Definition: mos6526.h:130
Tod tod
TOD.
Definition: mos6526.h:215
void cascade()
Definition: mos6526.h:91
std::unique_ptr< InterruptSource > interruptSource
Interrupt Source.
Definition: mos6526.h:212
EventScheduler & eventScheduler
Event context.
Definition: mos6526.h:195
TimerB timerB
Timers A and B.
Definition: mos6526.h:208
void setPeriod(event_clock_t clock)
Definition: tod.h:118
EventCallback< MOS6526 > bTickEvent
Events.
Definition: mos6526.h:222