24 #include "Banks/Bank.h"
33 namespace libsidplayfp
42 uint8_t lastpoke[0x20];
45 virtual ~
c64sid() =
default;
47 virtual uint8_t read(uint_least8_t addr) = 0;
48 virtual void writeReg(uint_least8_t addr, uint8_t data) = 0;
51 virtual void reset(uint8_t volume) = 0;
55 std::fill(std::begin(lastpoke), std::end(lastpoke), 0);
60 void poke(uint_least16_t address, uint8_t value)
override
62 lastpoke[address & 0x1f] = value;
63 writeReg(address & 0x1f, value);
65 uint8_t
peek(uint_least16_t address)
override {
return read(address & 0x1f); }
67 void getStatus(uint8_t regs[0x20])
const { std::memcpy(regs, lastpoke, 0x20); }
void poke(uint_least16_t address, uint8_t value) override
Definition: c64sid.h:60
uint8_t peek(uint_least16_t address) override
Definition: c64sid.h:65