libsidplayfp
1.8.7
|
#include <mos6526.h>
Public Member Functions | |
virtual void | reset () |
void | setDayOfTimeRate (unsigned int clock) |
Static Public Member Functions | |
static const char * | credits () |
Protected Member Functions | |
MOS6526 (EventContext *context) | |
void | bTick () |
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] |
These are all CIA registers. | |
uint8_t | icr |
Interrupt control register. | |
uint8_t | idr |
Interrupt data register. | |
EventContext & | event_context |
Event context. | |
Tod | tod |
TOD. | |
bool | triggerScheduled |
Have we already scheduled CIA->CPU interrupt transition? | |
uint8_t & | pra |
Ports. | |
uint8_t & | prb |
Ports. | |
uint8_t & | ddra |
Ports. | |
uint8_t & | ddrb |
Ports. | |
TimerA | timerA |
Timers A and B. | |
TimerB | timerB |
Timers A and B. | |
uint8_t | sdr_out |
Serial Data Registers. | |
bool | sdr_buffered |
Serial Data Registers. | |
int | sdr_count |
Serial Data Registers. | |
EventCallback< MOS6526 > | bTickEvent |
Events. | |
EventCallback< MOS6526 > | triggerEvent |
Events. | |
Friends | |
class | TimerA |
class | TimerB |
class | Tod |
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.
context | 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.
|
inlinestatic |
Get the credits.
|
protectedpure virtual |
|
protectedvirtual |
|
protected |
Handle the serial port.
|
inline |
Set day-of-time event occurence of rate.
clock |
|
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.