diff --git a/src/engine/platform/opl.cpp b/src/engine/platform/opl.cpp index e6912cefb..55086c71d 100644 --- a/src/engine/platform/opl.cpp +++ b/src/engine/platform/opl.cpp @@ -646,7 +646,7 @@ void DivPlatformOPL::acquire_ymfm4(short** buf, size_t len) { chOut+=pcmChan[i]->debug_output(1); chOut+=pcmChan[i]->debug_output(2); chOut+=pcmChan[i]->debug_output(3); - oscBuf[oscOffs]->data[oscBuf[oscOffs]->needle++]=CLAMP(chOut,-32768,32767); + oscBuf[oscOffs]->data[oscBuf[oscOffs]->needle++]=CLAMP(chOut<<1,-32768,32767); } } } diff --git a/src/gui/presets.cpp b/src/gui/presets.cpp index 274e2d7c5..e135ad847 100644 --- a/src/gui/presets.cpp +++ b/src/gui/presets.cpp @@ -1847,6 +1847,30 @@ void FurnaceGUI::initSystemPresets() { } ); + ENTRY( + "Psikyo", {} + ); + SUB_ENTRY( + "Psikyo 68EC020 hardware with OPL4", { + CH(DIV_SYSTEM_OPL4, 1.0f, 0, "") + } + ); + SUB_ENTRY( + "Psikyo 68EC020 hardware with OPL4 (drums mode)", { + CH(DIV_SYSTEM_OPL4_DRUMS, 1.0f, 0, "") + } + ); + SUB_ENTRY( + "Psikyo SH-2 hardware", { + CH(DIV_SYSTEM_OPL4, 1.0f, 0, "clockSel=1") + } + ); + SUB_ENTRY( + "Psikyo SH-2 hardware (drums mode)", { + CH(DIV_SYSTEM_OPL4_DRUMS, 1.0f, 0, "clockSel=1") + } + ); + ENTRY( "Sega", {} );