Experimental Mikey VGM 1.72 export.

This commit is contained in:
Waldemar Pawlaszek 2023-01-15 16:27:20 +01:00
parent 1ab80379e1
commit e42ab1b847
5 changed files with 10 additions and 9 deletions

View File

@ -1400,7 +1400,7 @@ void DivEngine::registerSystems() {
}
sysDefs[DIV_SYSTEM_LYNX]=new DivSysDef(
"Atari Lynx", NULL, 0xa8, 0, 4, false, true, 0, false, 1U<<DIV_SAMPLE_DEPTH_8BIT,
"Atari Lynx", NULL, 0xa8, 0, 4, false, true, 0x172, false, 1U<<DIV_SAMPLE_DEPTH_8BIT,
"a portable console made by Atari. it has all of Atari's trademark waveforms.",
{"Channel 1", "Channel 2", "Channel 3", "Channel 4"},
{"CH1", "CH2", "CH3", "CH4"},

View File

@ -341,14 +341,14 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write
}
break;
case DIV_SYSTEM_LYNX:
w->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;

View File

@ -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];
}

View File

@ -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]={

View File

@ -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];