Change the polarity of the stereo default. I used to default to "bad stereo" which matched the behaviour of mame, GSPlus and the 4soniq card but was against the Apple standard. The mame code has since been fixed and it seems like all other stereo cards are correct (I am unaware of any others that are backwards). So, by default, BuGS will start in the Apple standard L/R mode. If you have saved your settings previously, your option will be preserved correctly. Also, the display considers Apple standard stereo to be L:R while the non-standard to be R:L in the UI.

This commit is contained in:
Jeremy Rand 2021-07-23 23:59:11 -04:00
parent a7aeb5c142
commit e5b0432991
4 changed files with 14 additions and 11 deletions

View File

@ -7,12 +7,12 @@
<key>Archive.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>2</integer>
<integer>1</integer>
</dict>
<key>Binary.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>1</integer>
<integer>4</integer>
</dict>
<key>BuGS.xcscheme_^#shared#^_</key>
<dict>
@ -22,12 +22,12 @@
<key>DiskImage.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>4</integer>
<integer>3</integer>
</dict>
<key>doNotBuild.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>3</integer>
<integer>2</integer>
</dict>
</dict>
</dict>

View File

@ -1170,7 +1170,7 @@ staticGameBoard_Options anop
_setGameTile TILE_EMPTY
lda settings+SETTINGS_SWAP_STEREO_OFFSET
bne staticGameBoard_swapped
beq staticGameBoard_swapped
_setGameTile TILE_LETTER_L
_setGameTile TILE_SYMBOL_COLON
_setGameTile TILE_LETTER_R

View File

@ -33,8 +33,11 @@ SOUND_ONE_SHOT_MODE equ 2
; $10 should be the left. But based on GSPlus and mame, I see the opposite. Still need
; to check on my HW. But in the end, it could be that some HW demultiplexed them backwards
; so there could be either out there in the wild.
SOUND_RIGHT_SPEAKER equ $10
SOUND_LEFT_SPEAKER equ $00
;
; Now I am changing my mind about this. mame has been fixed. I think the 4soniq and GSplus
; are the only ones which are wrong. So, going with the Apple standard here.
SOUND_RIGHT_SPEAKER equ $00
SOUND_LEFT_SPEAKER equ $10
; OSC 16 - 19 for L/R channels in swap mode
SPIDER_SOUND_ADDR equ $0000

View File

@ -26,7 +26,7 @@ typedef struct tSettingsData
{
char magic[4];
int version;
Boolean swapStereo;
Boolean stereoCorrect;
tHighScore highScores[NUM_HIGH_SCORES];
} tSettingsData;
@ -36,7 +36,7 @@ typedef struct tSettingsData
tSettingsData settings = {
{ 'B', 'u', 'G', 'S' },
0,
FALSE,
TRUE,
{
{ { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '0'}, { 'A', 'A', 'A' }, 0},
{ { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '0'}, { 'A', 'A', 'A' }, 0},
@ -183,7 +183,7 @@ BOOLEAN loadSettings(void)
if (success)
{
if (settings.swapStereo)
if (!settings.stereoCorrect)
{
swapStereoChannels();
}
@ -196,6 +196,6 @@ BOOLEAN loadSettings(void)
void swapStereoSettings(void)
{
swapStereoChannels();
settings.swapStereo = !settings.swapStereo;
settings.stereoCorrect = !settings.stereoCorrect;
saveSettings();
}