|
libsidplayfp
2.0.2
|
#include <interrupt.h>


Public Types | |
| enum | { INTERRUPT_NONE = 0, INTERRUPT_UNDERFLOW_A = 1 << 0, INTERRUPT_UNDERFLOW_B = 1 << 1, INTERRUPT_ALARM = 1 << 2, INTERRUPT_SP = 1 << 3, INTERRUPT_FLAG = 1 << 4, INTERRUPT_REQUEST = 1 << 7 } |
Public Member Functions | |
| virtual void | trigger (uint8_t interruptMask) |
| virtual uint8_t | clear () |
| virtual void | reset () |
| void | set (uint8_t interruptMask) |
Protected Member Functions | |
| bool | interruptMasked () const |
| bool | interruptTriggered () const |
| void | triggerInterrupt () |
| void | triggerBug () |
| InterruptSource (EventScheduler &scheduler, MOS6526 &parent) | |
| Event (const char *const name) | |
| virtual void | event ()=0 |
Protected Attributes | |
| MOS6526 & | parent |
| Pointer to the MOS6526 which this Interrupt belongs to. | |
| EventScheduler & | eventScheduler |
| Event scheduler. | |
This is the base class for the MOS6526 interrupt sources.
| anonymous enum |
|
inlineprotected |
Create a new InterruptSource.
| scheduler | event scheduler |
| parent | the MOS6526 which this Interrupt belongs to |
|
inlinevirtual |
Clear interrupt state.
Reimplemented in libsidplayfp::InterruptSource6526, and libsidplayfp::InterruptSource8521.
|
inlinevirtual |
Clear pending interrupts, but do not signal to CPU we lost them. It is assumed that all components get reset() calls in synchronous manner.
Reimplemented in libsidplayfp::InterruptSource6526.
|
inline |
Set interrupt control mask bits.
| interruptMask | control mask bits |
|
inlinevirtual |
Trigger an interrupt.
| interruptMask | Interrupt flag number |
Reimplemented in libsidplayfp::InterruptSource6526, and libsidplayfp::InterruptSource8521.
1.8.18