From e42ab1b84759e651e302714b652d95c5e2c0c750 Mon Sep 17 00:00:00 2001 From: Waldemar Pawlaszek Date: Sun, 15 Jan 2023 16:27:20 +0100 Subject: [PATCH] Experimental Mikey VGM 1.72 export. --- src/engine/sysDef.cpp | 2 +- src/engine/vgmOps.cpp | 8 ++++---- src/gui/gui.cpp | 2 +- src/gui/guiConst.cpp | 5 +++-- src/gui/guiConst.h | 2 +- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/engine/sysDef.cpp b/src/engine/sysDef.cpp index da899ae8..5c55ab27 100644 --- a/src/engine/sysDef.cpp +++ b/src/engine/sysDef.cpp @@ -1400,7 +1400,7 @@ void DivEngine::registerSystems() { } sysDefs[DIV_SYSTEM_LYNX]=new DivSysDef( - "Atari Lynx", NULL, 0xa8, 0, 4, false, true, 0, false, 1U<writeC(0x4e); + w->writeC(0x40); w->writeC(0x44); w->writeC(0xff); //stereo attenuation select - w->writeC(0x4e); + w->writeC(0x40); w->writeC(0x50); w->writeC(0x00); //stereo channel disable for (int i=0; i<4; i++) { //stereo attenuation value - w->writeC(0x4e); + w->writeC(0x40); w->writeC(0x40+i); w->writeC(0xff); } @@ -731,7 +731,7 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write w->writeC(write.val&0xff); break; case DIV_SYSTEM_LYNX: - w->writeC(0x4e); + w->writeC(0x40); w->writeC(write.addr&0xff); w->writeC(write.val&0xff); break; diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index c22a1c2b..c0e8cd53 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3493,7 +3493,7 @@ bool FurnaceGUI::loop() { if (ImGui::BeginMenu("export VGM...")) { ImGui::Text("settings:"); if (ImGui::BeginCombo("format version",fmt::sprintf("%d.%.2x",vgmExportVersion>>8,vgmExportVersion&0xff).c_str())) { - for (int i=0; i<6; i++) { + for (int i=0; i<7; i++) { if (ImGui::Selectable(fmt::sprintf("%d.%.2x",vgmVersions[i]>>8,vgmVersions[i]&0xff).c_str(),vgmExportVersion==vgmVersions[i])) { vgmExportVersion=vgmVersions[i]; } diff --git a/src/gui/guiConst.cpp b/src/gui/guiConst.cpp index d19070fd..51ac5241 100644 --- a/src/gui/guiConst.cpp +++ b/src/gui/guiConst.cpp @@ -70,13 +70,14 @@ const int altValues[24]={ 0, 10, 1, 11, 2, 3, 12, 4, 13, 5, 14, 6, 7, 15, 8, -1, 9, -1, -1, -1, -1, -1, -1, -1 }; -const int vgmVersions[6]={ +const int vgmVersions[7]={ 0x150, 0x151, 0x160, 0x161, 0x170, - 0x171 + 0x171, + 0x172 }; const char* insTypes[DIV_INS_MAX+1]={ diff --git a/src/gui/guiConst.h b/src/gui/guiConst.h index cb5eb540..3eca6e15 100644 --- a/src/gui/guiConst.h +++ b/src/gui/guiConst.h @@ -54,5 +54,5 @@ extern const int* chipCategories[]; extern const FurnaceGUIActionDef guiActions[]; extern const FurnaceGUIColorDef guiColors[]; extern const int altValues[24]; -extern const int vgmVersions[6]; +extern const int vgmVersions[7]; extern const FurnaceGUIColors fxColors[256]; \ No newline at end of file