# HG changeset patch # User Laurens Holst # Date 1595676609 -7200 # Sat Jul 25 13:30:09 2020 +0200 # Node ID 56b8b53f1198261a6fcbc32803658e1236856421 # Parent 14802ff424bf7a37e90da1a7b7ea8292f29588ee OPL3/OPNFMOnSFG: Correctly round the clock for multiples of 315 / 88 MHz. diff --git a/src/drivers/OPL3.asm b/src/drivers/OPL3.asm --- a/src/drivers/OPL3.asm +++ b/src/drivers/OPL3.asm @@ -8,7 +8,7 @@ OPL3_FM2_ADDRESS: equ 02H OPL3_FM2_DATA: equ 03H OPL3_FM2_NEW: equ 05H -OPL3_CLOCK: equ 14318181 +OPL3_CLOCK: equ 14318182 OPL3_TIMER_1: equ 02H OPL3_FLAG_CONTROL: equ 04H diff --git a/src/drivers/emulations/OPNFMOnSFG.asm b/src/drivers/emulations/OPNFMOnSFG.asm --- a/src/drivers/emulations/OPNFMOnSFG.asm +++ b/src/drivers/emulations/OPNFMOnSFG.asm @@ -330,7 +330,7 @@ ld bc,OPNFMOnSFG.WriteRegister.WriteSFGRegister jp Utils_JumpIXOffsetBC -; de = offset; 65536 * (log2((7159090 / 2^11 / 144) / 27.5) + 8/12 + 0.5/12/64) +; de = offset; 65536 * (log2((7159091 / 2^11 / 144) / 27.5) + 8/12 + 0.5/12/64) ; frequency A0 A-C# rounding ; ix = this OPNFMOnSFG_SetFrequencyOffset: @@ -359,7 +359,7 @@ ld b,a ret -; de = offset; 65536 * (log2((7159090 / 2^11 / 144) / 27.5) + 8/12 + 0.5/12/64) +; de = offset; 65536 * (log2((7159091 / 2^11 / 144) / 27.5) + 8/12 + 0.5/12/64) ; frequency A0 A-C# rounding ; b.hl = octave.fraction (OPN) ; b.hl <- octave.fraction (OPM)