29 #include "Banks/Bank.h" 30 #include "c64/c64env.h" 31 #include "sidendian.h" 32 #include "CIA/mos6526.h" 36 namespace libsidplayfp
50 uint_least16_t last_ta;
55 m_env.interruptIRQ(state);
60 m_env.lightpen((
prb | ~
ddrb) & 0x10);
64 c64cia1(c64env &env) :
68 void poke(uint_least16_t address, uint8_t value)
override 70 write(endian_16lo8(address), value);
73 if (address == 0xDC04 || address == 0xDC05)
80 uint8_t
peek(uint_least16_t address)
override 82 return read(endian_16lo8(address));
91 uint_least16_t getTimerA()
const {
return last_ta; }
110 m_env.interruptNMI();
118 void poke(uint_least16_t address, uint8_t value)
override 120 write(endian_16lo8(address), value);
123 uint8_t
peek(uint_least16_t address)
override 125 return read(endian_16lo8(address));
Definition: mos6526.h:181
virtual void reset()
Definition: mos6526.cpp:202
void interrupt(bool state) override
Definition: c64cia.h:53
uint_least16_t getTimer() const
Definition: timer.h:212
void interrupt(bool state) override
Definition: c64cia.h:107
uint8_t & prb
Ports.
Definition: mos6526.h:199
MOS6526(EventScheduler &scheduler)
Definition: mos6526.cpp:178
void reset() override
Definition: c64cia.h:85
TimerA timerA
Timers A and B.
Definition: mos6526.h:207
uint8_t peek(uint_least16_t address) override
Definition: c64cia.h:80
void poke(uint_least16_t address, uint8_t value) override
Definition: c64cia.h:68
uint8_t read(uint_least8_t addr)
Definition: mos6526.cpp:221
uint8_t & ddrb
Ports.
Definition: mos6526.h:199
void write(uint_least8_t addr, uint8_t data)
Definition: mos6526.cpp:276
void poke(uint_least16_t address, uint8_t value) override
Definition: c64cia.h:118
uint8_t peek(uint_least16_t address) override
Definition: c64cia.h:123