From 708c0e359ae46ea1eb7c786e80672a6b5b3c1afd Mon Sep 17 00:00:00 2001 From: freq-mod <32672779+freq-mod@users.noreply.github.com> Date: Thu, 9 Mar 2023 21:39:32 +0100 Subject: [PATCH 1/7] n163: macro removal part 2 --- src/gui/insEdit.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 6237a4392..8badcf2f9 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -271,9 +271,9 @@ const char* x1_010EnvBits[8]={ "enable", "oneshot", "split L/R", "HinvR", "VinvR", "HinvL", "VinvL", NULL }; -const char* n163UpdateBits[8]={ +/*const char* n163UpdateBits[8]={ "now", "every waveform changed", NULL -}; +};*/ const char* suControlBits[5]={ "ring mod", "low pass", "high pass", "band pass", NULL @@ -5149,10 +5149,10 @@ void FurnaceGUI::drawInsEdit() { dutyLabel="Duty"; dutyMax=63; } - if (ins->type==DIV_INS_N163) { + /*if (ins->type==DIV_INS_N163) { dutyLabel="Waveform pos."; dutyMax=255; - } + }*/ if (ins->type==DIV_INS_VRC6) { dutyLabel="Duty"; dutyMax=ins->amiga.useSample?0:7; @@ -5432,8 +5432,8 @@ void FurnaceGUI::drawInsEdit() { macroList.push_back(FurnaceGUIMacroDesc("Envelope",&ins->std.ex1Macro,0,ex1Max,160,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,saaEnvBits)); } else if (ins->type==DIV_INS_X1_010 && !ins->amiga.useSample) { macroList.push_back(FurnaceGUIMacroDesc("Envelope Mode",&ins->std.ex1Macro,0,ex1Max,160,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,x1_010EnvBits)); - } else if (ins->type==DIV_INS_N163) { - macroList.push_back(FurnaceGUIMacroDesc("Wave Length",&ins->std.ex1Macro,0,ex1Max,160,uiColors[GUI_COLOR_MACRO_OTHER])); + /*} else if (ins->type==DIV_INS_N163) { + macroList.push_back(FurnaceGUIMacroDesc("Wave Length",&ins->std.ex1Macro,0,ex1Max,160,uiColors[GUI_COLOR_MACRO_OTHER]));*/ } else if (ins->type==DIV_INS_FDS) { macroList.push_back(FurnaceGUIMacroDesc("Mod Depth",&ins->std.ex1Macro,0,ex1Max,160,uiColors[GUI_COLOR_MACRO_OTHER])); } else if (ins->type==DIV_INS_SU) { @@ -5455,8 +5455,8 @@ void FurnaceGUI::drawInsEdit() { if (ex2Max>0) { if (ins->type==DIV_INS_C64) { macroList.push_back(FurnaceGUIMacroDesc("Resonance",&ins->std.ex2Macro,0,ex2Max,64,uiColors[GUI_COLOR_MACRO_OTHER])); - } else if (ins->type==DIV_INS_N163) { - macroList.push_back(FurnaceGUIMacroDesc("Wave Update",&ins->std.ex2Macro,0,ex2Max,64,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,n163UpdateBits)); + /*} else if (ins->type==DIV_INS_N163) { + macroList.push_back(FurnaceGUIMacroDesc("Wave Update",&ins->std.ex2Macro,0,ex2Max,64,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,n163UpdateBits));*/ } else if (ins->type==DIV_INS_FDS) { macroList.push_back(FurnaceGUIMacroDesc("Mod Speed",&ins->std.ex2Macro,0,ex2Max,160,uiColors[GUI_COLOR_MACRO_OTHER])); } else if (ins->type==DIV_INS_SU) { From c2761e4f417b8c0dfc323c9bedfbc445b3b5bb57 Mon Sep 17 00:00:00 2001 From: freq-mod <32672779+freq-mod@users.noreply.github.com> Date: Fri, 10 Mar 2023 15:42:58 +0100 Subject: [PATCH 2/7] fix the legendary chiptune moment it still distorts on the first key on, but not later on --- src/gui/insEdit.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 8badcf2f9..32dd44cc4 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -4420,11 +4420,11 @@ void FurnaceGUI::drawInsEdit() { } if (ImGui::InputInt("Offset##WAVEPOS",&ins->n163.wavePos,1,16)) { PARAMETER if (ins->n163.wavePos<0) ins->n163.wavePos=0; - if (ins->n163.wavePos>255) ins->n163.wavePos=255; + if (ins->n163.wavePos>236) ins->n163.wavePos=236; } if (ImGui::InputInt("Length##WAVELEN",&ins->n163.waveLen,4,16)) { PARAMETER if (ins->n163.waveLen<0) ins->n163.waveLen=0; - if (ins->n163.waveLen>252) ins->n163.waveLen=252; + if (ins->n163.waveLen>240) ins->n163.waveLen=240; ins->n163.waveLen&=0xfc; } From 9b92b118c624ae420c85b18140292cc8d347e876 Mon Sep 17 00:00:00 2001 From: freq-mod <32672779+freq-mod@users.noreply.github.com> Date: Fri, 10 Mar 2023 22:54:09 +0100 Subject: [PATCH 3/7] fix this for real sorry for indentation --- src/gui/insEdit.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 32dd44cc4..f6813fd32 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -4423,9 +4423,14 @@ void FurnaceGUI::drawInsEdit() { if (ins->n163.wavePos>236) ins->n163.wavePos=236; } if (ImGui::InputInt("Length##WAVELEN",&ins->n163.waveLen,4,16)) { PARAMETER + int n163origLen = ins->n163.waveLen; if (ins->n163.waveLen<0) ins->n163.waveLen=0; if (ins->n163.waveLen>240) ins->n163.waveLen=240; - ins->n163.waveLen&=0xfc; + if (ins->n163.waveLen > n163origLen) { + ins->n163.waveLen = ((ins->n163.waveLen+3)&~2); + } + else ins->n163.waveLen = (ins->n163.waveLen & (~2)); + //ins->n163.waveLen&=0xfc; } bool preLoad=ins->n163.waveMode&0x1; From b289d4ac1d193b647942e626b81827c454ea8ea3 Mon Sep 17 00:00:00 2001 From: freq-mod <32672779+freq-mod@users.noreply.github.com> Date: Fri, 10 Mar 2023 23:33:50 +0100 Subject: [PATCH 4/7] fix offset beyond that point, i can't improve --- src/gui/insEdit.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index f6813fd32..e3a580c2e 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -4420,7 +4420,10 @@ void FurnaceGUI::drawInsEdit() { } if (ImGui::InputInt("Offset##WAVEPOS",&ins->n163.wavePos,1,16)) { PARAMETER if (ins->n163.wavePos<0) ins->n163.wavePos=0; - if (ins->n163.wavePos>236) ins->n163.wavePos=236; + if (ins->n163.wavePos>240) ins->n163.wavePos=240; + if (ins->n163.wavePos + ins->n163.waveLen > 240) { + ins->n163.wavePos -= ins->n163.waveLen; + } } if (ImGui::InputInt("Length##WAVELEN",&ins->n163.waveLen,4,16)) { PARAMETER int n163origLen = ins->n163.waveLen; From c33d5876226986a926900e6ecd15cd98b26d19eb Mon Sep 17 00:00:00 2001 From: freq-mod Date: Sun, 12 Mar 2023 13:06:34 +0100 Subject: [PATCH 5/7] Revert "fix offset" This reverts commit b289d4ac1d193b647942e626b81827c454ea8ea3. --- src/gui/insEdit.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index e3a580c2e..f6813fd32 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -4420,10 +4420,7 @@ void FurnaceGUI::drawInsEdit() { } if (ImGui::InputInt("Offset##WAVEPOS",&ins->n163.wavePos,1,16)) { PARAMETER if (ins->n163.wavePos<0) ins->n163.wavePos=0; - if (ins->n163.wavePos>240) ins->n163.wavePos=240; - if (ins->n163.wavePos + ins->n163.waveLen > 240) { - ins->n163.wavePos -= ins->n163.waveLen; - } + if (ins->n163.wavePos>236) ins->n163.wavePos=236; } if (ImGui::InputInt("Length##WAVELEN",&ins->n163.waveLen,4,16)) { PARAMETER int n163origLen = ins->n163.waveLen; From 0db4dc01791caf2c0011c82a8f6521fae3271467 Mon Sep 17 00:00:00 2001 From: freq-mod Date: Sun, 12 Mar 2023 13:07:14 +0100 Subject: [PATCH 6/7] Revert "fix this for real" This reverts commit 9b92b118c624ae420c85b18140292cc8d347e876. --- src/gui/insEdit.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index f6813fd32..32dd44cc4 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -4423,14 +4423,9 @@ void FurnaceGUI::drawInsEdit() { if (ins->n163.wavePos>236) ins->n163.wavePos=236; } if (ImGui::InputInt("Length##WAVELEN",&ins->n163.waveLen,4,16)) { PARAMETER - int n163origLen = ins->n163.waveLen; if (ins->n163.waveLen<0) ins->n163.waveLen=0; if (ins->n163.waveLen>240) ins->n163.waveLen=240; - if (ins->n163.waveLen > n163origLen) { - ins->n163.waveLen = ((ins->n163.waveLen+3)&~2); - } - else ins->n163.waveLen = (ins->n163.waveLen & (~2)); - //ins->n163.waveLen&=0xfc; + ins->n163.waveLen&=0xfc; } bool preLoad=ins->n163.waveMode&0x1; From f29867a655e31a94e4f9b3c6da63dcacb95c6511 Mon Sep 17 00:00:00 2001 From: freq-mod Date: Sun, 12 Mar 2023 13:07:21 +0100 Subject: [PATCH 7/7] Revert "fix the legendary chiptune moment" This reverts commit c2761e4f417b8c0dfc323c9bedfbc445b3b5bb57. --- src/gui/insEdit.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 32dd44cc4..8badcf2f9 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -4420,11 +4420,11 @@ void FurnaceGUI::drawInsEdit() { } if (ImGui::InputInt("Offset##WAVEPOS",&ins->n163.wavePos,1,16)) { PARAMETER if (ins->n163.wavePos<0) ins->n163.wavePos=0; - if (ins->n163.wavePos>236) ins->n163.wavePos=236; + if (ins->n163.wavePos>255) ins->n163.wavePos=255; } if (ImGui::InputInt("Length##WAVELEN",&ins->n163.waveLen,4,16)) { PARAMETER if (ins->n163.waveLen<0) ins->n163.waveLen=0; - if (ins->n163.waveLen>240) ins->n163.waveLen=240; + if (ins->n163.waveLen>252) ins->n163.waveLen=252; ins->n163.waveLen&=0xfc; }