From c07cd52717c29edb3df10e621fd632ec0cf522f6 Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Mon, 15 Mar 2004 14:54:59 +0000 Subject: [PATCH] Changed OPL and CMS functions to also use the soundblaster base Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1729 --- src/hardware/adlib.cpp | 12 +++++++++--- src/hardware/gameblaster.cpp | 10 +++++----- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/hardware/adlib.cpp b/src/hardware/adlib.cpp index 86d1fd7a..40505abf 100644 --- a/src/hardware/adlib.cpp +++ b/src/hardware/adlib.cpp @@ -144,7 +144,7 @@ void OPL_Write(Bit32u port,Bit8u val) { } } -void OPL_Init(Section* sec,OPL_Mode oplmode,Bitu rate) { +void OPL_Init(Section* sec,Bitu base,OPL_Mode oplmode,Bitu rate) { Bitu i; Section_prop * section=static_cast(sec); if (OPL2::YM3812Init(2,OPL2_INTERNAL_FREQ,rate)) { @@ -159,9 +159,15 @@ void OPL_Init(Section* sec,OPL_Mode oplmode,Bitu rate) { for (i=0;i<4;i++) { IO_RegisterWriteHandler(0x388+i,OPL_Write,"OPL Write"); IO_RegisterReadHandler(0x388+i,OPL_Read,"OPL read"); - IO_RegisterWriteHandler(0x220+i,OPL_Write,"OPL Write"); - IO_RegisterReadHandler(0x220+i,OPL_Read,"OPL read"); + IO_RegisterWriteHandler(base+i,OPL_Write,"OPL Write"); + IO_RegisterReadHandler(base+i,OPL_Read,"OPL read"); } + IO_RegisterWriteHandler(base+8,OPL_Write,"OPL Write"); + IO_RegisterWriteHandler(base+9,OPL_Write,"OPL Write"); + IO_RegisterReadHandler(base+8,OPL_Read,"OPL read"); + IO_RegisterReadHandler(base+9,OPL_Read,"OPL read"); + + opl.active=false; opl.last_used=0; opl.mode=oplmode; diff --git a/src/hardware/gameblaster.cpp b/src/hardware/gameblaster.cpp index 0f98d8ae..a051a870 100644 --- a/src/hardware/gameblaster.cpp +++ b/src/hardware/gameblaster.cpp @@ -420,14 +420,14 @@ static void write_cms(Bit32u port,Bit8u val) { } - void CMS_Init(Section* sec,Bitu rate) { + void CMS_Init(Section* sec,Bitu base,Bitu rate) { Section_prop * section=static_cast(sec); sample_rate=rate; - IO_RegisterWriteHandler(0x220,write_cms,"CMS"); - IO_RegisterWriteHandler(0x221,write_cms,"CMS"); - IO_RegisterWriteHandler(0x222,write_cms,"CMS"); - IO_RegisterWriteHandler(0x223,write_cms,"CMS"); + IO_RegisterWriteHandler(base+0x0,write_cms,"CMS"); + IO_RegisterWriteHandler(base+0x1,write_cms,"CMS"); + IO_RegisterWriteHandler(base+0x2,write_cms,"CMS"); + IO_RegisterWriteHandler(base+0x3,write_cms,"CMS"); /* Register the Mixer CallBack */