aboutsummaryrefslogtreecommitdiff
path: root/source/soundux.cpp
diff options
context:
space:
mode:
authorNebuleon Fumika2013-01-11 23:21:41 -0500
committerNebuleon Fumika2013-01-11 23:21:41 -0500
commit575e93abdcf6ca037f72943dca22d04861215e42 (patch)
tree0eef8db62f89853928179076094cfe6ac3707915 /source/soundux.cpp
parente0259e54c2413c9fd24713e4abde4a49c1f329dc (diff)
downloadsnesemu-575e93abdcf6ca037f72943dca22d04861215e42.tar.gz
snesemu-575e93abdcf6ca037f72943dca22d04861215e42.tar.bz2
snesemu-575e93abdcf6ca037f72943dca22d04861215e42.zip
Reduce memory access in noise generation.
Diffstat (limited to 'source/soundux.cpp')
-rw-r--r--source/soundux.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/source/soundux.cpp b/source/soundux.cpp
index ae5bbad..329f3bd 100644
--- a/source/soundux.cpp
+++ b/source/soundux.cpp
@@ -142,6 +142,8 @@ extern int Loop [16];
extern long FilterValues[4][2];
extern int NoiseFreq [32];
+static int noise_gen;
+
#undef ABS
#define ABS(a) ((a) < 0 ? -(a) : (a))
@@ -1134,9 +1136,9 @@ void MixStereo (int sample_count)
else
{
for (;VL > 0; VL--)
- if ((so.noise_gen <<= 1) & 0x80000000L)
- so.noise_gen ^= 0x0040001L;
- ch->sample = (so.noise_gen << 17) >> 17;
+ if ((noise_gen <<= 1) & 0x80000000L)
+ noise_gen ^= 0x0040001L;
+ ch->sample = (noise_gen << 17) >> 17;
ch->interpolate = 0;
}
@@ -1833,7 +1835,7 @@ void S9xResetSound (bool8 full)
FilterTaps [6] = 0;
FilterTaps [7] = 0;
so.mute_sound = TRUE;
- so.noise_gen = 1;
+ noise_gen = 1;
so.sound_switch = 255;
so.samples_mixed_so_far = 0;
so.play_position = 0;