27 #include "EventScheduler.h"
33 namespace libsidplayfp
77 bool interruptMasked()
const {
return icr &
idr; }
91 Event(
"CIA Interrupt"),
112 void interrupt(
bool state);
122 virtual void trigger(uint8_t interruptMask) {
idr |= interruptMask; }
129 virtual uint8_t
clear();
148 void set(uint8_t interruptMask)
150 if (interruptMask & 0x80)
157 icr &= ~interruptMask;
164 void event()
override;
169 #endif // INTERRUPT_H
void cancel(Event &event)
Definition: EventScheduler.cpp:35
virtual uint8_t clear()
Definition: interrupt.cpp:44
void schedule()
Definition: interrupt.h:103
Definition: mos6526.h:153
@ INTERRUPT_SP
serial port
Definition: interrupt.h:50
Definition: EventScheduler.h:62
void set(uint8_t interruptMask)
Definition: interrupt.h:148
@ INTERRUPT_REQUEST
control bit
Definition: interrupt.h:52
@ INTERRUPT_UNDERFLOW_B
underflow Timer B
Definition: interrupt.h:48
@ INTERRUPT_NONE
no interrupt
Definition: interrupt.h:46
Definition: interrupt.h:42
void event() override
Definition: interrupt.cpp:31
@ INTERRUPT_UNDERFLOW_A
underflow Timer A
Definition: interrupt.h:47
virtual void reset()
Definition: interrupt.h:135
InterruptSource(EventScheduler &scheduler, MOS6526 &parent)
Definition: interrupt.h:90
@ INTERRUPT_FLAG
external flag
Definition: interrupt.h:51
uint8_t icr
Interrupt control register.
Definition: interrupt.h:67
virtual void trigger(uint8_t interruptMask)
Definition: interrupt.h:122
EventScheduler & eventScheduler
Event scheduler.
Definition: interrupt.h:61
@ INTERRUPT_ALARM
alarm clock
Definition: interrupt.h:49
uint8_t idr
Interrupt data register.
Definition: interrupt.h:70
event_clock_t last_clear
Clock when clear was called last.
Definition: interrupt.h:64