libsidplayfp
2.0.2
|
#include <mos6526.h>
Public Member Functions | |
void | setModel (bool newModel) |
virtual void | reset () |
void | setDayOfTimeRate (unsigned int clock) |
Static Public Member Functions | |
static const char * | credits () |
Protected Member Functions | |
MOS6526 (EventScheduler &scheduler) | |
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 | |
EventScheduler & | eventScheduler |
Event context. | |
uint8_t & | pra |
Ports. | |
uint8_t & | prb |
uint8_t & | ddra |
uint8_t & | ddrb |
uint8_t | regs [0x10] |
These are all CIA registers. | |
TimerA | timerA |
Timers A and B. | |
TimerB | timerB |
std::unique_ptr< InterruptSource > | interruptSource |
Interrupt Source. | |
Tod | tod |
TOD. | |
SerialPort | serialPort |
Serial Data Registers. | |
EventCallback< MOS6526 > | bTickEvent |
Events. | |
Friends | |
class | InterruptSource6526 |
class | InterruptSource8521 |
class | SerialPort |
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 |
|
static |
Get the credits.
|
protectedpure virtual |
Signal interrupt.
state | interrupt state |
Implemented in libsidplayfp::c64cia2, and libsidplayfp::c64cia1.
|
protected |
Read CIA register.
addr | register address to read (lowest 4 bits) |
|
virtual |
Reset CIA.
Reimplemented in libsidplayfp::c64cia1.
|
inline |
Set day-of-time event occurence of rate.
clock |
void libsidplayfp::MOS6526::setModel | ( | bool | newModel | ) |
Select chip model.
newModel | true for new model 8521, false for old 6526 |
|
protected |
Write CIA register.
addr | register address to write (lowest 4 bits) |
data | value to write |