libsidplayfp 2.12.0
libsidplayfp::InterruptSource6526 Class Referencefinal

#include <mos652x.h>

Inheritance diagram for libsidplayfp::InterruptSource6526:
Collaboration diagram for libsidplayfp::InterruptSource6526:

Public Member Functions

 InterruptSource6526 (EventScheduler &scheduler, MOS652X &parent)
void trigger (uint8_t interruptMask) override
uint8_t clear () override
Public Member Functions inherited from libsidplayfp::InterruptSource
virtual void reset ()
void set (uint8_t interruptMask)

Protected Member Functions

void triggerInterrupt () override
Protected Member Functions inherited from libsidplayfp::InterruptSource
bool interruptTriggered () const
bool interruptMasked (uint8_t interruptMask) const
bool ack0 () const
bool write0 () const
void interrupt ()
void updateIdr ()
void setIrq ()
void clearIrq ()
 InterruptSource (EventScheduler &scheduler, MOS652X &parent)
void schedule (int delay)
void scheduleIrq ()
bool isTriggered (uint8_t interruptMask)

Additional Inherited Members

Public Types inherited from libsidplayfp::InterruptSource
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
}
Protected Attributes inherited from libsidplayfp::InterruptSource
EventSchedulereventScheduler
 Event scheduler.
event_clock_t last_clear = 0
 Clock when clear was called last.
event_clock_t last_set = 0
uint8_t icr = 0
 Interrupt control register.
uint8_t idr = 0
 Interrupt data register.
uint8_t idrTemp = 0
bool scheduled = false
 Have we already scheduled CIA->CPU interrupt transition?
bool asserted = false
 is the irq pin asserted?

Detailed Description

InterruptSource that acts like old CIA

Member Function Documentation

◆ clear()

uint8_t libsidplayfp::InterruptSource6526::clear ( )
overridevirtual

Clear interrupt state.

Returns
old interrupt state

Reimplemented from libsidplayfp::InterruptSource.

◆ trigger()

void libsidplayfp::InterruptSource6526::trigger ( uint8_t interruptMask)
overridevirtual

Trigger an interrupt.

Parameters
interruptMaskInterrupt flag number

Implements libsidplayfp::InterruptSource.

◆ triggerInterrupt()

void libsidplayfp::InterruptSource6526::triggerInterrupt ( )
inlineoverrideprotectedvirtual

The documentation for this class was generated from the following files: