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