Public Types |
| enum | model_t { MOS6567R56A = 0,
MOS6567R8,
MOS6569,
MOS6572
} |
Public Member Functions |
|
void | chip (model_t model) |
|
void | lightpen () |
|
void | reset () |
|
const char * | credits () const |
|
uint_least16_t | getCyclesPerLine () const |
|
uint_least16_t | getRasterLines () const |
|
virtual void | reset ()=0 |
|
virtual const char * | credits () const =0 |
|
virtual const char * | error () const =0 |
Protected Member Functions |
|
| MOS656X (EventContext *context) |
|
void | event () |
| void | badLineStateChange () |
| void | activateIRQFlag (int flag) |
| bool | readDEN () const |
|
bool | evaluateIsBadLine () const |
|
virtual void | interrupt (bool state)=0 |
|
virtual void | setBA (bool state)=0 |
| uint8_t | read (uint_least8_t addr) |
| void | write (uint_least8_t addr, uint8_t data) |
|
virtual uint8_t | read (uint_least8_t addr)=0 |
|
virtual void | write (uint_least8_t addr, uint8_t data)=0 |
Additional Inherited Members |
| | Event (const char *const name) |
| virtual void | event ()=0 |
Member Function Documentation
| void MOS656X::activateIRQFlag |
( |
int |
flag | ) |
|
|
inlineprotected |
Set an IRQ flag and trigger an IRQ if the corresponding IRQ mask is set. The IRQ only gets activated, i.e. flag 0x80 gets set, if it was not active before.
| void MOS656X::badLineStateChange |
( |
| ) |
|
|
inlineprotected |
| uint8_t MOS656X::read |
( |
uint_least8_t |
addr | ) |
|
|
protected |
Read VIC register.
- Parameters
-
| bool MOS656X::readDEN |
( |
| ) |
const |
|
inlineprotected |
Read the DEN flag which tells whether the display is enabled
- Returns
- true if DEN is set, otherwise false
| void MOS656X::write |
( |
uint_least8_t |
addr, |
|
|
uint8_t |
data |
|
) |
| |
|
protected |
Write to VIC register.
- Parameters
-
| addr | Register to write to. |
| data | Data byte to write. |
Member Data Documentation
| bool MOS656X::areBadLinesEnabled |
|
protected |
are bad lines enabled for this frame?
| uint_least16_t MOS656X::cyclesPerLine |
|
protected |
Number of cycles per line.
| const int MOS656X::FIRST_DMA_LINE = 0x30 |
|
staticprotected |
First line when we check for bad lines
| uint8_t MOS656X::irqFlags |
|
protected |
is the current line a bad line
| const int MOS656X::LAST_DMA_LINE = 0xf7 |
|
staticprotected |
Last line when we check for bad lines
| uint_least16_t MOS656X::lineCycle |
|
protected |
| bool MOS656X::lp_triggered |
|
protected |
Has light pen IRQ been triggered in this frame already?
| uint_least16_t MOS656X::rasterY |
|
protected |
| uint8_t MOS656X::regs[0x40] |
|
protected |
memory for chip registers
| uint8_t MOS656X::sprite_dma |
|
protected |
| uint8_t& MOS656X::sprite_enable |
|
protected |
| uint8_t MOS656X::sprite_expand_y |
|
protected |
| uint8_t MOS656X::sprite_mc_base[8] |
|
protected |
| uint8_t & MOS656X::sprite_y_expansion |
|
protected |
Set when new frame starts.
| uint_least16_t MOS656X::yscroll |
|
protected |
The documentation for this class was generated from the following files: