public abstract class XSID extends SIDEmu
Confirmed by Warren Pilkington using the tune Turbo Outrun: A new sample must interrupt an existing sample running on the same channel.
Confirmed by Michael Schwendt and Antonia Vera using the tune Game Over: A Galway Sample or Noise sequence cannot interrupt any other. However the last of these new requested sequences will be played after the current sequence ends.
Lastly playing samples through the SIDs volume is not as clean as playing them on their own channel. Playing through the SID will effect the volume of the other channels and this will be most noticable at low frequencies. These effects are however present in the original SID music.
Some SIDs put values directly into the volume register. Others play samples with respect to the current volume. We can't for definate know which the author has chosen originally. We must just make a guess based on what the volume is initially at the start of a sample sequence and from the details xSID has been programmed with.
| Modifier and Type | Class and Description |
|---|---|
static class |
XSID.Channel |
| Constructor and Description |
|---|
XSID(IEventContext context) |
| Modifier and Type | Method and Description |
|---|---|
String |
credits() |
boolean |
isMuted() |
void |
mute(boolean enable)
By muting samples they will start and play the at the appropriate time
but no sound is produced.
|
long |
output(short bits) |
short |
read(int addr) |
short |
read(short addr) |
protected abstract short |
readMemByte(int addr) |
void |
reset() |
void |
reset(short volume) |
void |
sidSamples(boolean enable) |
boolean |
storeSidData0x18(short data)
Return whether we care it was changed.
|
void |
suppress(boolean enable)
Use Suppress to delay the samples and start them later.
|
void |
write(int addr,
short data) |
void |
write(short addr,
short data) |
protected abstract void |
writeMemByte(short data) |
builder, gain, optimisation, voiceclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waiterrorpublic XSID(IEventContext context)
protected abstract short readMemByte(int addr)
protected abstract void writeMemByte(short data)
public void reset()
reset in interface IComponentreset in class SIDEmupublic short read(short addr)
read in interface IComponentread in class SIDEmupublic void write(short addr,
short data)
write in interface IComponentwrite in class SIDEmupublic final String credits()
credits in interface IComponentcredits in class SIDEmupublic short read(int addr)
public void write(int addr,
short data)
public void mute(boolean enable)
enable - public boolean isMuted()
public void suppress(boolean enable)
enable - public void sidSamples(boolean enable)
public boolean storeSidData0x18(short data)
data - Copyright © 2014. All rights reserved.