From 7c67adc360829b10d23ba57ce8350994706e11ff Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Wed, 14 Apr 2004 20:50:50 +0000 Subject: [PATCH] Correctly support 16 bit write again Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1768 --- src/hardware/gus.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/hardware/gus.cpp b/src/hardware/gus.cpp index 2184ba51..9c319651 100644 --- a/src/hardware/gus.cpp +++ b/src/hardware/gus.cpp @@ -800,7 +800,8 @@ static Bitu read_gus(Bitu port,Bitu iolen) { case 0x303: return myGUS.gRegSelect; case 0x304: - return ExecuteReadRegister() & 0xff; + if (iolen==2) return ExecuteReadRegister() & 0xffff; + else return ExecuteReadRegister() & 0xff; case 0x305: return ExecuteReadRegister() >> 8; case 0x307: @@ -858,7 +859,8 @@ static void write_gus(Bitu port,Bitu val,Bitu iolen) { myGUS.gRegData = 0; break; case 0x304: - myGUS.gRegData = (0xff00 & myGUS.gRegData) | val; + if (iolen==2) myGUS.gRegData=val; + else myGUS.gRegData = (0xff00 & myGUS.gRegData) | val; ExecuteGlobRegister(); break; case 0x305: