diff options
author | Christopher Snowhill <kode54@gmail.com> | 2018-07-29 20:52:26 -0700 |
---|---|---|
committer | Christopher Snowhill <kode54@gmail.com> | 2018-07-29 20:52:26 -0700 |
commit | 0f69d504792776967b61f8987ad458c48b4a322f (patch) | |
tree | 0884f6008b6433b3f25d454884d8c9f6b9f7fac1 /src/chips/dosbox/dbopl.h | |
parent | b5a38c540d5a2b5b6750a49eb25ca3c7388b099c (diff) | |
download | libADLMIDI-0f69d504792776967b61f8987ad458c48b4a322f.tar.gz libADLMIDI-0f69d504792776967b61f8987ad458c48b4a322f.tar.bz2 libADLMIDI-0f69d504792776967b61f8987ad458c48b4a322f.zip |
Implemented optional soft panning support for the included chip emulators, disabled by default.
Diffstat (limited to 'src/chips/dosbox/dbopl.h')
-rw-r--r-- | src/chips/dosbox/dbopl.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/chips/dosbox/dbopl.h b/src/chips/dosbox/dbopl.h index 73c0aa9..c265fc6 100644 --- a/src/chips/dosbox/dbopl.h +++ b/src/chips/dosbox/dbopl.h @@ -192,6 +192,9 @@ struct Channel { Bit8s maskLeft; //Sign extended values for both channel's panning Bit8s maskRight; + Bit16u panLeft; // Extended behavior, scale values for soft panning + Bit16u panRight; + //Forward the channel data to the operators of the channel void SetChanData( const Chip* chip, Bit32u data ); //Change in the chandata, check for new values and if we have to forward to operators @@ -201,6 +204,8 @@ struct Channel { void WriteB0( const Chip* chip, Bit8u val ); void WriteC0( const Chip* chip, Bit8u val ); + void WritePan( Bit8u val ); + //call this for the first channel template< bool opl3Mode > void GeneratePercussion( Chip* chip, Bit32s* output ); @@ -271,6 +276,7 @@ struct Chip { struct Handler { DBOPL::Chip chip; + void WritePan( Bit32u port, Bit8u val ); Bit32u WriteAddr( Bit32u port, Bit8u val ); void WriteReg( Bit32u addr, Bit8u val ); void GenerateArr(Bit32s *out, Bitu *samples); |