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 const uint8_t pb = prb | ~ddrb;
63 m_env.lightpen(pb & 0x10);
67 c64cia1(c64env &env) :
71 void poke(uint_least16_t address, uint8_t value)
override
73 const uint8_t addr = endian_16lo8(address);
77 if ((addr == 0x04) || (addr == 0x05))
84 uint8_t
peek(uint_least16_t address)
override
86 return read(endian_16lo8(address));
95 uint_least16_t getTimerA()
const {
return last_ta; }
114 m_env.interruptNMI();
122 void poke(uint_least16_t address, uint8_t value)
override
124 write(endian_16lo8(address), value);
127 uint8_t
peek(uint_least16_t address)
override
129 return read(endian_16lo8(address));
void write(uint_least8_t addr, uint8_t data)
Definition: mos6526.cpp:269
uint8_t read(uint_least8_t addr)
Definition: mos6526.cpp:230
Definition: mos6526.h:156
TimerA timerA
Timers A and B.
Definition: mos6526.h:180
void poke(uint_least16_t address, uint8_t value) override
Definition: c64cia.h:122
void poke(uint_least16_t address, uint8_t value) override
Definition: c64cia.h:71
uint_least16_t getTimer() const
Definition: timer.h:212
uint8_t peek(uint_least16_t address) override
Definition: c64cia.h:84
uint8_t peek(uint_least16_t address) override
Definition: c64cia.h:127
void interrupt(bool state) override
Definition: c64cia.h:111
void interrupt(bool state) override
Definition: c64cia.h:53
virtual void reset()
Definition: mos6526.cpp:194
MOS6526(EventScheduler &scheduler)
Definition: mos6526.cpp:170
void reset() override
Definition: c64cia.h:89