OPL3: Pass waveform select enable for OPL2s. OPL2 is not officially supported for playback, but since it is detected as OPL3, we pass this flag to allow it to play back OPL2 music nevertheless.
1 files changed, 10 insertions(+), 1 deletions(-) M src/drivers/OPL3.asm
M src/drivers/OPL3.asm +10 -1
@@ 36,7 36,14 @@ OPL3: MACRO ?base = OPL3_BASE_PORT, ?nam MaskControl: cp 8H jr z,WriteRegister - ret + cp 1H + ret nz + MaskTest: + ld a,d + and 00100000B ; pass waveform select enable for OPL2s + ld d,a + ld a,e + jr WriteRegister ; e = register ; d = value @@ 136,6 143,8 @@ OPL3_Reset: ld b,0D6H ld de,0020H call OPL3_FillRegisterPairs + ld de,0001H + call OPL3_WriteRegister ld de,0008H call OPL3_WriteRegister ld de,0004H