aboutsummaryrefslogtreecommitdiff
path: root/src/chips/dosbox/dbopl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/chips/dosbox/dbopl.h')
-rw-r--r--src/chips/dosbox/dbopl.h6
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);