libsidplayfp
1.0.3
|
#include <mos6526.h>
Public Member Functions | |
virtual void | reset () |
const char * | credits () const |
void | setDayOfTimeRate (unsigned int clock) |
![]() | |
virtual const char * | error () const =0 |
Protected Member Functions | |
MOS6526 (EventContext *context) | |
void | bTick () |
void | tod () |
void | trigger () |
void | underflowA () |
void | underflowB () |
void | trigger (uint8_t interruptMask) |
void | clear () |
void | serialPort () |
virtual void | interrupt (bool state)=0 |
virtual void | portA () |
virtual void | portB () |
uint8_t | read (uint_least8_t addr) |
void | write (uint_least8_t addr, uint8_t data) |
Protected Attributes | |
uint8_t | regs [0x10] |
uint8_t & | pra |
uint8_t & | prb |
uint8_t & | ddra |
uint8_t & | ddrb |
TimerA | timerA |
TimerB | timerB |
uint8_t | sdr_out |
bool | sdr_buffered |
int | sdr_count |
uint8_t | icr |
uint8_t | idr |
EventContext & | event_context |
bool | m_todlatched |
bool | m_todstopped |
uint8_t | m_todclock [4] |
uint8_t | m_todalarm [4] |
uint8_t | m_todlatch [4] |
event_clock_t | m_todCycles |
event_clock_t | m_todPeriod |
bool | triggerScheduled |
EventCallback< MOS6526 > | bTickEvent |
EventCallback< MOS6526 > | todEvent |
EventCallback< MOS6526 > | triggerEvent |
Friends | |
class | TimerA |
class | TimerB |
This class is heavily based on the ciacore/ciatimer source code from VICE. The CIA state machine is lifted as-is. Big thanks to VICE project!
|
protected |
Create a new CIA.
ctx | the event context |
|
protected |
This event exists solely to break the ambiguity of what scheduling on top of PHI1 causes, because there is no ordering between events on same phase. Thus it is scheduled in PHI2 to ensure the b.event() is run once before the value changes.
|
protected |
Clear interrupt state.
|
inlinevirtual |
|
protectedpure virtual |
|
protectedvirtual |
|
protected |
Handle the serial port.
void MOS6526::setDayOfTimeRate | ( | unsigned int | clock) |
Set day-of-time event occurence of rate.
clock |
|
protected |
TOD event.
|
protected |
Signal interrupt to CPU.
|
protected |
Trigger an interrupt.
interruptMask | Interrupt flag number |
|
protected |
Timer A underflow
|
protected |
Timer B underflow.
|
protectedvirtual |
Write CIA register.
addr | register address to write (lowest 4 bits) |
data | value to write |
Implements component.
|
protected |
Event context.
|
protected |
Interrupt control register
|
protected |
Interrupt data register
|
protected |
These are all CIA registers.
|
protected |
Timers A and B.
|
protected |
Have we already scheduled CIA->CPU interrupt transition?