#include <timer.h>
List of all members.
Public Member Functions |
void | setControlRegister (uint8_t cr) |
void | syncWithCpu () |
void | wakeUpAfterSyncWithCpu () |
void | reset () |
void | latchLo (uint8_t data) |
void | latchHi (uint8_t data) |
void | setPbToggle (bool state) |
int_least32_t | getState () const |
uint_least16_t | getTimer () const |
bool | getPb (uint8_t reg) const |
Protected Member Functions |
| Timer (const char *name, EventContext *context, MOS6526 *parent) |
Protected Attributes |
MOS6526 *const | parent |
int_least32_t | state |
Static Protected Attributes |
static const int_least32_t | CIAT_CR_START = 0x01 |
static const int_least32_t | CIAT_STEP = 0x04 |
static const int_least32_t | CIAT_CR_ONESHOT = 0x08 |
static const int_least32_t | CIAT_CR_FLOAD = 0x10 |
static const int_least32_t | CIAT_PHI2IN = 0x20 |
static const int_least32_t | CIAT_CR_MASK = CIAT_CR_START | CIAT_CR_ONESHOT | CIAT_CR_FLOAD | CIAT_PHI2IN |
static const int_least32_t | CIAT_COUNT2 = 0x100 |
static const int_least32_t | CIAT_COUNT3 = 0x200 |
static const int_least32_t | CIAT_ONESHOT0 = 0x08 << 8 |
static const int_least32_t | CIAT_ONESHOT = 0x08 << 16 |
static const int_least32_t | CIAT_LOAD1 = 0x10 << 8 |
static const int_least32_t | CIAT_LOAD = 0x10 << 16 |
static const int_least32_t | CIAT_OUT = 0x80000000 |
Detailed Description
This is the base class for the MOS6526 timers.
- Author:
- Ken Händel
Constructor & Destructor Documentation
Timer::Timer |
( |
const char * |
name, |
|
|
EventContext * |
context, |
|
|
MOS6526 * |
parent |
|
) |
| [inline, protected] |
Create a new timer.
- Parameters:
-
name | component name |
context | event context |
parent | the MOS6526 which this Timer belongs to |
Member Function Documentation
bool Timer::getPb |
( |
uint8_t |
reg | ) |
const [inline] |
Get PB6/PB7 Flipflop state.
- Parameters:
-
reg | value of the control register |
- Returns:
- PB6/PB7 flipflop state
int_least32_t Timer::getState |
( |
| ) |
const [inline] |
Get current state value.
- Returns:
- current state value
uint_least16_t Timer::getTimer |
( |
| ) |
const [inline] |
Get current timer value.
- Returns:
- current timer value
void Timer::latchHi |
( |
uint8_t |
data | ) |
|
Set high byte of Timer start value (Latch).
- Parameters:
-
void Timer::latchLo |
( |
uint8_t |
data | ) |
|
Set low byte of Timer start value (Latch).
- Parameters:
-
void Timer::setControlRegister |
( |
uint8_t |
cr | ) |
|
Set CRA/CRB control register.
- Parameters:
-
void Timer::setPbToggle |
( |
bool |
state | ) |
[inline] |
Set PB6/PB7 Flipflop state.
- Parameters:
-
state | PB6/PB7 flipflop state |
void Timer::syncWithCpu |
( |
| ) |
|
Perform cycle skipping manually.
Clocks the CIA up to the state it should be in, and stops all events.
void Timer::wakeUpAfterSyncWithCpu |
( |
| ) |
|
Counterpart of syncWithCpu(), starts the event ticking if it is needed. No clock() call or anything such is permissible here!
Member Data Documentation
CRA/CRB control register / state.
The documentation for this class was generated from the following files: