23 #include "sidplayfp/c64env.h"
24 #include "sidplayfp/sidbuilder.h"
25 #include "../xsid/xsid.h"
34 uint8_t readMemByte (uint_least16_t addr)
36 const uint8_t data = m_env.readMemRamByte (addr);
40 void writeMemByte (uint8_t data)
41 { m_sid->write (0x18, data);}
45 :
XSID(&env->context ()),
46 m_env(*env), m_sid(sid)
50 const char *error (
void) {
return "";}
51 void reset () { sidemu::reset (); }
52 void reset (uint8_t volume)
55 m_sid->reset (volume);
58 uint8_t read (uint_least8_t addr)
59 {
return m_sid->read (addr); }
61 void write (uint_least8_t addr, uint8_t data)
64 XSID::storeSidData0x18 (data);
66 m_sid->write (addr, data);
69 void write16 (uint_least16_t addr, uint8_t data)
71 XSID::write (addr, data);
75 void clock() { m_sid->clock(); }
77 void voice (uint_least8_t num,
bool mute)
82 m_sid->voice (num, mute);
86 return m_sid->buffer();
89 return m_sid->bufferpos();
91 void bufferpos(
int val) {
92 m_sid->bufferpos(val);
94 void sampling(
float systemclock,
float freq,
95 const sampling_method_t method,
const bool fast) {
96 m_sid->sampling(systemclock, freq, method, fast);
100 void emulation (
sidemu *sid) {
103 sidemu *emulation (
void) {
return m_sid; }