VGM export: write resets and GD3 tag
may be non-standard compliant (yet) also it crashes foobar2000 for some reason but this will be fixed
This commit is contained in:
parent
c7ee0ce642
commit
8bcab6e139
17 changed files with 388 additions and 6 deletions
|
|
@ -556,6 +556,9 @@ void DivPlatformArcade::reset() {
|
|||
memset(&fm,0,sizeof(opm_t));
|
||||
OPM_Reset(&fm);
|
||||
}
|
||||
if (dumpWrites) {
|
||||
addWrite(0xffffffff,0);
|
||||
}
|
||||
for (int i=0; i<13; i++) {
|
||||
chan[i]=DivPlatformArcade::Channel();
|
||||
chan[i].vol=0x7f;
|
||||
|
|
|
|||
|
|
@ -297,6 +297,9 @@ void DivPlatformAY8910::reset() {
|
|||
chan[i]=DivPlatformAY8910::Channel();
|
||||
chan[i].vol=0x0f;
|
||||
}
|
||||
if (dumpWrites) {
|
||||
addWrite(0xffffffff,0);
|
||||
}
|
||||
|
||||
for (int i=0; i<16; i++) {
|
||||
oldWrites[i]=-1;
|
||||
|
|
|
|||
|
|
@ -339,6 +339,9 @@ void DivPlatformAY8930::reset() {
|
|||
ayEnvSlide[i]=0;
|
||||
ayEnvSlideLow[i]=0;
|
||||
}
|
||||
if (dumpWrites) {
|
||||
addWrite(0xffffffff,0);
|
||||
}
|
||||
|
||||
for (int i=0; i<32; i++) {
|
||||
oldWrites[i]=-1;
|
||||
|
|
|
|||
|
|
@ -305,6 +305,9 @@ void DivPlatformGB::reset() {
|
|||
for (int i=0; i<4; i++) {
|
||||
chan[i]=DivPlatformGB::Channel();
|
||||
}
|
||||
if (dumpWrites) {
|
||||
addWrite(0xffffffff,0);
|
||||
}
|
||||
memset(gb,0,sizeof(GB_gameboy_t));
|
||||
gb->model=GB_MODEL_DMG_B;
|
||||
GB_apu_init(gb);
|
||||
|
|
|
|||
|
|
@ -538,6 +538,7 @@ void DivPlatformGenesis::forceIns() {
|
|||
rWrite(0x2b,0x80);
|
||||
}
|
||||
immWrite(0x22,lfoValue);
|
||||
psg.forceIns();
|
||||
}
|
||||
|
||||
void DivPlatformGenesis::toggleRegisterDump(bool enable) {
|
||||
|
|
@ -548,6 +549,9 @@ void DivPlatformGenesis::toggleRegisterDump(bool enable) {
|
|||
void DivPlatformGenesis::reset() {
|
||||
while (!writes.empty()) writes.pop();
|
||||
OPN2_Reset(&fm);
|
||||
if (dumpWrites) {
|
||||
addWrite(0xffffffff,0);
|
||||
}
|
||||
for (int i=0; i<10; i++) {
|
||||
chan[i]=DivPlatformGenesis::Channel();
|
||||
chan[i].vol=0x7f;
|
||||
|
|
@ -576,6 +580,7 @@ void DivPlatformGenesis::reset() {
|
|||
|
||||
// PSG
|
||||
psg.reset();
|
||||
psg.getRegisterWrites().clear();
|
||||
psgClocks=0;
|
||||
psgOut=0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -348,6 +348,9 @@ void DivPlatformNES::reset() {
|
|||
for (int i=0; i<5; i++) {
|
||||
chan[i]=DivPlatformNES::Channel();
|
||||
}
|
||||
if (dumpWrites) {
|
||||
addWrite(0xffffffff,0);
|
||||
}
|
||||
|
||||
dacPeriod=0;
|
||||
dacPos=0;
|
||||
|
|
|
|||
|
|
@ -345,6 +345,9 @@ void DivPlatformPCE::reset() {
|
|||
for (int i=0; i<6; i++) {
|
||||
chan[i]=DivPlatformPCE::Channel();
|
||||
}
|
||||
if (dumpWrites) {
|
||||
addWrite(0xffffffff,0);
|
||||
}
|
||||
pce->Power(0);
|
||||
lastPan=0xff;
|
||||
memset(tempL,0,32*sizeof(int));
|
||||
|
|
|
|||
|
|
@ -262,6 +262,9 @@ void DivPlatformSAA1099::reset() {
|
|||
chan[i]=DivPlatformSAA1099::Channel();
|
||||
chan[i].vol=0x0f;
|
||||
}
|
||||
if (dumpWrites) {
|
||||
addWrite(0xffffffff,0);
|
||||
}
|
||||
|
||||
lastBusy=60;
|
||||
dacMode=0;
|
||||
|
|
|
|||
|
|
@ -191,6 +191,9 @@ void DivPlatformSMS::reset() {
|
|||
for (int i=0; i<4; i++) {
|
||||
chan[i]=DivPlatformSMS::Channel();
|
||||
}
|
||||
if (dumpWrites) {
|
||||
addWrite(0xffffffff,0);
|
||||
}
|
||||
sn->device_start();
|
||||
snNoiseMode=3;
|
||||
updateSNMode=false;
|
||||
|
|
|
|||
|
|
@ -572,6 +572,9 @@ void DivPlatformYM2610::forceIns() {
|
|||
|
||||
void DivPlatformYM2610::reset() {
|
||||
while (!writes.empty()) writes.pop();
|
||||
if (dumpWrites) {
|
||||
addWrite(0xffffffff,0);
|
||||
}
|
||||
fm->reset();
|
||||
for (int i=0; i<13; i++) {
|
||||
chan[i]=DivPlatformYM2610::Channel();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue