Go to the source code of this file.
|
void | cia_reset (struct Cia6526 *cia) |
|
void | cia_flag (struct Cia6526 *cia) |
|
void | cia_init (struct Cia6526 *cia, const char *name, void(*outa)(Uint8 data), void(*outb)(Uint8 data), void(*outsr)(Uint8 data), Uint8(*ina)(void), Uint8(*inb)(void), Uint8(*insr)(void), void(*setint)(int level)) |
|
Uint8 | cia_read (struct Cia6526 *cia, int addr) |
|
void | cia_write (struct Cia6526 *cia, int addr, Uint8 data) |
|
void | cia_ugly_tod_updater (struct Cia6526 *cia, const struct tm *t, Uint8 sec10, int hour_offset) |
|
void | cia_tick (struct Cia6526 *cia, int ticks) |
|
void | cia_dump_state (struct Cia6526 *cia) |
|
◆ ICR_CHECK
Value: do { \
if (cia->ICRmask & cia->ICRdata & 31) { \
cia->ICRdata |= 128; \
if (!cia->intLevel) { cia->intLevel = 1; cia->setint(1);
DEBUG(
"%s IRQ to 1" NL, cia->name); } \
} else { \
cia->ICRdata &= 127; \
if ( cia->intLevel) { cia->intLevel = 0; cia->setint(0);
DEBUG(
"%s IRQ to 0" NL, cia->name); } \
} \
} while(0)
Definition at line 39 of file cia6526.c.
◆ ICR_CLEAR
#define ICR_CLEAR |
( |
|
mask | ) |
|
Value: do { \
cia->ICRdata &= 255 - (
mask); \
ICR_CHECK(); \
} while(0)
Definition at line 55 of file cia6526.c.
◆ ICR_SET
Value: do { \
cia->ICRdata |= (
mask) & 31; \
DEBUG(
"%s ICR set to data $%02X, mask is $%02X" NL, cia->name, cia->ICRdata, cia->ICRmask); \
ICR_CHECK(); \
} while(0)
Definition at line 49 of file cia6526.c.
◆ cia_dump_state()
void cia_dump_state |
( |
struct Cia6526 * |
cia | ) |
|
◆ cia_flag()
void cia_flag |
( |
struct Cia6526 * |
cia | ) |
|
◆ cia_init()
◆ cia_read()
◆ cia_reset()
void cia_reset |
( |
struct Cia6526 * |
cia | ) |
|
◆ cia_tick()
void cia_tick |
( |
struct Cia6526 * |
cia, |
|
|
int |
ticks |
|
) |
| |
◆ cia_ugly_tod_updater()
void cia_ugly_tod_updater |
( |
struct Cia6526 * |
cia, |
|
|
const struct tm * |
t, |
|
|
Uint8 |
sec10, |
|
|
int |
hour_offset |
|
) |
| |
◆ cia_write()
void cia_write |
( |
struct Cia6526 * |
cia, |
|
|
int |
addr, |
|
|
Uint8 |
data |
|
) |
| |