Amiga: better emulation, part 6
This commit is contained in:
parent
8fc6a71882
commit
1a80fb262d
|
@ -338,7 +338,6 @@ void DivPlatformAmiga::tick(bool sysTick) {
|
|||
if (chan[i].wave!=chan[i].std.wave.val || chan[i].ws.activeChanged()) {
|
||||
chan[i].wave=chan[i].std.wave.val;
|
||||
chan[i].ws.changeWave1(chan[i].wave);
|
||||
if (!chan[i].keyOff) chan[i].keyOn=true;
|
||||
}
|
||||
}
|
||||
if (chan[i].useWave && chan[i].active) {
|
||||
|
@ -585,7 +584,8 @@ void DivPlatformAmiga::forceIns() {
|
|||
chan[i].insChanged=true;
|
||||
chan[i].freqChanged=true;
|
||||
chan[i].audPos=131072;
|
||||
chan[i].audDat=0;
|
||||
chan[i].keyOn=false;
|
||||
chan[i].keyOff=false;
|
||||
chan[i].sample=-1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,33 +26,21 @@
|
|||
|
||||
class DivPlatformAmiga: public DivDispatch {
|
||||
struct Channel: public SharedChannel<signed char> {
|
||||
unsigned int audLoc;
|
||||
unsigned short audLen;
|
||||
unsigned int audPos;
|
||||
unsigned int dmaLoc;
|
||||
unsigned short dmaLen;
|
||||
int audSub;
|
||||
signed char audDat;
|
||||
signed char audDat2;
|
||||
unsigned char volPos;
|
||||
int sample, wave;
|
||||
int busClock;
|
||||
bool useWave, setPos, useV, useP, dmaOn, audDatClock, writeVol;
|
||||
DivWaveSynth ws;
|
||||
Channel():
|
||||
SharedChannel<signed char>(64),
|
||||
audLoc(0),
|
||||
audLen(0),
|
||||
audPos(0),
|
||||
dmaLoc(0),
|
||||
dmaLen(0),
|
||||
audSub(0),
|
||||
audDat(0),
|
||||
audDat2(0),
|
||||
volPos(0),
|
||||
sample(-1),
|
||||
wave(-1),
|
||||
busClock(0),
|
||||
useWave(false),
|
||||
setPos(false),
|
||||
useV(false),
|
||||
|
|
Loading…
Reference in New Issue