26 #include "residfp-config.h"
45 SIDError(
const char* msg) : message(msg) {}
46 const char* getMessage() {
return message; }
66 static const int BUS_TTL;
111 unsigned char delayedValue;
114 unsigned char busValue;
119 void writeImmediate(
const int offset,
const unsigned char value);
121 void ageBusValue(
const int n);
134 void voiceSync(
const bool sync);
151 ChipModel getChipModel() {
return model; }
166 void input(
const int value);
180 unsigned char read(
const int offset);
188 void write(
const int offset,
const unsigned char value);
216 void setSamplingParameters(
const double clockFrequency,
const SamplingMethod method,
const double samplingFrequency,
const double highestAccurateFrequency);
225 int clock(
int cycles,
short* buf);
256 #if RESID_INLINING || defined(SID_CPP)
261 #include "ExternalFilter.h"
263 #include "resample/Resampler.h"
270 muted[channel] = enable;
274 int SID::output()
const {
275 return externalFilter->
clock(
289 while (cycles != 0) {
290 int delta_t = std::min(nextVoiceSync, cycles);
292 if (delayedOffset != -1) {
296 for (
int i = 0; i < delta_t; i ++) {
297 if (resampler->
input(output())) {
312 if (delayedOffset != -1) {
313 writeImmediate(delayedOffset, delayedValue);
318 nextVoiceSync -= delta_t;
321 if (nextVoiceSync == 0) {