libsidplayfp 2.15.0
Public Member Functions | Protected Member Functions | List of all members
libsidplayfp::InterruptSource8521 Class Referencefinal

#include <mos652x.h>

Inheritance diagram for libsidplayfp::InterruptSource8521:
Inheritance graph
[legend]
Collaboration diagram for libsidplayfp::InterruptSource8521:
Collaboration graph
[legend]

Public Member Functions

 InterruptSource8521 (EventScheduler &scheduler, MOS652X &parent)
 
void trigger (uint8_t interruptMask) override
 
- Public Member Functions inherited from libsidplayfp::InterruptSource
virtual uint8_t clear ()
 
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 new CIA

Member Function Documentation

◆ trigger()

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

Trigger an interrupt.

Parameters
interruptMaskInterrupt flag number

Implements libsidplayfp::InterruptSource.

◆ triggerInterrupt()

void libsidplayfp::InterruptSource8521::triggerInterrupt ( )
inlineoverrideprotectedvirtual

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