aboutsummaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorNebuleon Fumika2013-01-17 18:52:48 -0500
committerNebuleon Fumika2013-01-17 18:52:48 -0500
commit1bc1dfc1abf71795c43fe7abb2db487a70c524b2 (patch)
tree68b67c8028f2db48baba1c1fbf2d8f7cd807a30d /source
parent944d9a729455de435c3d200752308ceedf250196 (diff)
downloadsnes9x2005-1bc1dfc1abf71795c43fe7abb2db487a70c524b2.tar.gz
snes9x2005-1bc1dfc1abf71795c43fe7abb2db487a70c524b2.tar.bz2
snes9x2005-1bc1dfc1abf71795c43fe7abb2db487a70c524b2.zip
Reinstate the interrupt time setting.
This reverts commit 27d2911fb09ad81849c5df1958143c6878589450.
Diffstat (limited to 'source')
-rw-r--r--source/nds/ds2sound.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/source/nds/ds2sound.h b/source/nds/ds2sound.h
index f51a6e1..d8cfe09 100644
--- a/source/nds/ds2sound.h
+++ b/source/nds/ds2sound.h
@@ -5,6 +5,20 @@
#define DS2_BUFFER_SIZE_6 1024 /* tested working, slow because of upsampling */
#define DS2_BUFFER_SIZE_7 1024 /* tested working, slow because of upsampling */
+// In microseconds.
+// (512 samples / 22050 samples/sec) = 23000 microseconds.
+// The value needs to be:
+// * not too low, because then every time a new batch of close to 512 samples
+// is created anew, and that's EXPENSIVE.
+// * not too high, because then missing the end of the buffer creates audible
+// underflows.
+// * not exactly 16667 (NTSC 60 FPS) or 20000 (PAL 50 FPS), because then
+// the automatic frame skipper will be extremely messed up.
+#define INTERRUPT_TIME_4 15360 /* 15360 tested working */
+#define INTERRUPT_TIME_5 8000 /* like the SNES! tested working, but slow */
+#define INTERRUPT_TIME_6 4000 /* tested working, slow because of upsampling */
+#define INTERRUPT_TIME_7 4000 /* tested working, slow because of upsampling */
+
// The sampling rate for the sound, in Hz, for each value of
// Settings.SoundPlaybackRate.
#define SND_SAMPLE_RATE_1 8000
@@ -16,6 +30,7 @@
#define SND_SAMPLE_RATE_7 48000
// Settings in use. The number should match in all three settings.
+#define INTERRUPT_TIME INTERRUPT_TIME_4
#define DS2_BUFFER_SIZE DS2_BUFFER_SIZE_4
#define SND_SAMPLE_RATE SND_SAMPLE_RATE_4
#define SNES9X_SRATE_ID 4