From 39846310d79e75faf55482a239ec5ca8eaf34c2b Mon Sep 17 00:00:00 2001 From: Max Horn Date: Tue, 3 Aug 2010 00:02:46 +0000 Subject: SOUND: Constify waveform table; slightly simplify code svn-id: r51671 --- sound/softsynth/sid.cpp | 13 ++++--------- sound/softsynth/sid.h | 13 ++++--------- sound/softsynth/wave6581.cpp | 15 +++++---------- 3 files changed, 13 insertions(+), 28 deletions(-) (limited to 'sound/softsynth') diff --git a/sound/softsynth/sid.cpp b/sound/softsynth/sid.cpp index d600ac28f5..e925f4a447 100644 --- a/sound/softsynth/sid.cpp +++ b/sound/softsynth/sid.cpp @@ -46,11 +46,6 @@ const int SID::FIXP_MASK = 0xffff; WaveformGenerator::WaveformGenerator() { sync_source = this; - wave__ST = wave6581__ST; - wave_P_T = wave6581_P_T; - wave_PS_ = wave6581_PS_; - wave_PST = wave6581_PST; - reset(); } @@ -226,19 +221,19 @@ RESID_INLINE reg12 WaveformGenerator::outputN___() { // Combined waveforms: RESID_INLINE reg12 WaveformGenerator::output__ST() { - return wave__ST[output__S_()] << 4; + return wave6581__ST[output__S_()] << 4; } RESID_INLINE reg12 WaveformGenerator::output_P_T() { - return (wave_P_T[output___T() >> 1] << 4) & output_P__(); + return (wave6581_P_T[output___T() >> 1] << 4) & output_P__(); } RESID_INLINE reg12 WaveformGenerator::output_PS_() { - return (wave_PS_[output__S_()] << 4) & output_P__(); + return (wave6581_PS_[output__S_()] << 4) & output_P__(); } RESID_INLINE reg12 WaveformGenerator::output_PST() { - return (wave_PST[output__S_()] << 4) & output_P__(); + return (wave6581_PST[output__S_()] << 4) & output_P__(); } // Combined waveforms including noise: diff --git a/sound/softsynth/sid.h b/sound/softsynth/sid.h index d57ec73bad..c78f538441 100644 --- a/sound/softsynth/sid.h +++ b/sound/softsynth/sid.h @@ -118,15 +118,10 @@ protected: reg12 outputNPST(); // Sample data for combinations of waveforms. - static reg8 wave6581__ST[]; - static reg8 wave6581_P_T[]; - static reg8 wave6581_PS_[]; - static reg8 wave6581_PST[]; - - reg8* wave__ST; - reg8* wave_P_T; - reg8* wave_PS_; - reg8* wave_PST; + static const reg8 wave6581__ST[]; + static const reg8 wave6581_P_T[]; + static const reg8 wave6581_PS_[]; + static const reg8 wave6581_PST[]; friend class Voice; friend class SID; diff --git a/sound/softsynth/wave6581.cpp b/sound/softsynth/wave6581.cpp index 29998dcd0a..d1ddad1623 100644 --- a/sound/softsynth/wave6581.cpp +++ b/sound/softsynth/wave6581.cpp @@ -32,11 +32,9 @@ #include "sid.h" -namespace Resid -{ +namespace Resid { -reg8 WaveformGenerator::wave6581__ST[] = -{ +const reg8 WaveformGenerator::wave6581__ST[] = { /* 0x000: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x008: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x010: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -551,8 +549,7 @@ reg8 WaveformGenerator::wave6581__ST[] = /* 0xff8: */ 0x3e, 0x3e, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, }; -reg8 WaveformGenerator::wave6581_P_T[] = -{ +const reg8 WaveformGenerator::wave6581_P_T[] = { /* 0x000: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x008: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x010: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1067,8 +1064,7 @@ reg8 WaveformGenerator::wave6581_P_T[] = /* 0xff8: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -reg8 WaveformGenerator::wave6581_PS_[] = -{ +const reg8 WaveformGenerator::wave6581_PS_[] = { /* 0x000: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x008: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x010: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1583,8 +1579,7 @@ reg8 WaveformGenerator::wave6581_PS_[] = /* 0xff8: */ 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, }; -reg8 WaveformGenerator::wave6581_PST[] = -{ +const reg8 WaveformGenerator::wave6581_PST[] = { /* 0x000: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x008: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x010: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -- cgit v1.2.3