SCC: VGM export, forceIns bug fix and 10xx
This commit is contained in:
parent
0c0a97c21b
commit
35ff5430d3
3 changed files with 65 additions and 9 deletions
|
|
@ -598,6 +598,36 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write
|
|||
break;
|
||||
}
|
||||
break;
|
||||
case DIV_SYSTEM_SCC:
|
||||
if (write.addr<0x80) {
|
||||
w->writeC(0xd2);
|
||||
w->writeC(0);
|
||||
w->writeC(baseAddr2|(write.addr&0x7f));
|
||||
w->writeC(write.val&0xff);
|
||||
} else if (write.addr<0x8a) {
|
||||
w->writeC(0xd2);
|
||||
w->writeC(1);
|
||||
w->writeC(baseAddr2|((write.addr-0x80)&0x7f));
|
||||
w->writeC(write.val&0xff);
|
||||
} else if (write.addr<0x8f) {
|
||||
w->writeC(0xd2);
|
||||
w->writeC(2);
|
||||
w->writeC(baseAddr2|((write.addr-0x8a)&0x7f));
|
||||
w->writeC(write.val&0xff);
|
||||
} else if (write.addr<0x90) {
|
||||
w->writeC(0xd2);
|
||||
w->writeC(3);
|
||||
w->writeC(baseAddr2|((write.addr-0x8f)&0x7f));
|
||||
w->writeC(write.val&0xff);
|
||||
} else if (write.addr>=0xe0) {
|
||||
w->writeC(0xd2);
|
||||
w->writeC(5);
|
||||
w->writeC(baseAddr2|((write.addr-0xe0)&0x7f));
|
||||
w->writeC(write.val&0xff);
|
||||
} else {
|
||||
logW("SCC: writing to unmapped address %.2x!",write.addr);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
logW("write not handled!");
|
||||
break;
|
||||
|
|
@ -988,6 +1018,24 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version) {
|
|||
howManyChips++;
|
||||
}
|
||||
break;
|
||||
case DIV_SYSTEM_SCC:
|
||||
case DIV_SYSTEM_SCC_PLUS:
|
||||
if (!hasK051649) {
|
||||
hasK051649=disCont[i].dispatch->chipClock;
|
||||
if (song.system[i]==DIV_SYSTEM_SCC_PLUS) {
|
||||
hasK051649|=0x80000000;
|
||||
}
|
||||
willExport[i]=true;
|
||||
} else if (!(hasK051649&0x40000000)) {
|
||||
isSecond[i]=true;
|
||||
willExport[i]=true;
|
||||
hasK051649|=0x40000000;
|
||||
if (song.system[i]==DIV_SYSTEM_SCC_PLUS) {
|
||||
hasK051649|=0x80000000;
|
||||
}
|
||||
howManyChips++;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue