mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-01 10:32:40 +00:00
Amiga: fix loop
This commit is contained in:
parent
01f731ef65
commit
a3ea20bfec
1 changed files with 10 additions and 9 deletions
|
@ -204,11 +204,6 @@ void DivPlatformAmiga::irq(int ch) {
|
|||
if (chan[ch].irLocL==0x400 && chan[ch].irLocH==0 && chan[ch].irLen==1) {
|
||||
// turn off DMA
|
||||
rWrite(0x96,1<<ch);
|
||||
} else {
|
||||
// write latched loc/len
|
||||
chWrite(ch,0,chan[ch].irLocH);
|
||||
chWrite(ch,2,chan[ch].irLocL);
|
||||
chWrite(ch,4,chan[ch].irLen);
|
||||
}
|
||||
|
||||
// acknowledge interrupt
|
||||
|
@ -529,9 +524,16 @@ void DivPlatformAmiga::tick(bool sysTick) {
|
|||
if (dmaOn) rWrite(0x96,0x8000|dmaOn);
|
||||
|
||||
for (int i=0; i<4; i++) {
|
||||
if ((dmaOn&(1<<i)) && !chan[i].useWave && dumpWrites) {
|
||||
addWrite(0x200+i,(chan[i].irLocH<<16)|chan[i].irLocL);
|
||||
addWrite(0x204+i,chan[i].irLen);
|
||||
if ((dmaOn&(1<<i)) && !chan[i].useWave) {
|
||||
// write latched loc/len
|
||||
if (dumpWrites) {
|
||||
addWrite(0x200+i,(chan[i].irLocH<<16)|chan[i].irLocL);
|
||||
addWrite(0x204+i,chan[i].irLen);
|
||||
} else {
|
||||
chWrite(i,0,chan[i].irLocH);
|
||||
chWrite(i,2,chan[i].irLocL);
|
||||
chWrite(i,4,chan[i].irLen);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -733,7 +735,6 @@ void DivPlatformAmiga::muteChannel(int ch, bool mute) {
|
|||
}
|
||||
|
||||
void DivPlatformAmiga::forceIns() {
|
||||
logV("at time of clear: %d",writes.size());
|
||||
for (int i=0; i<4; i++) {
|
||||
chan[i].insChanged=true;
|
||||
chan[i].freqChanged=true;
|
||||
|
|
Loading…
Reference in a new issue