diff --git a/CHANGES b/CHANGES index c9957574c..0b7e7babd 100644 --- a/CHANGES +++ b/CHANGES @@ -55,6 +55,7 @@ Misc: - GBA Savedata: Remove ability to disable realistic timing - Qt: Add load alternate save option - GB Audio: Improved audio quality + - GB, GBA Audio: Increase max audio volume 0.6.3: (2017-04-14) Bugfixes: diff --git a/src/gb/audio.c b/src/gb/audio.c index d06b70165..afacc6fdd 100644 --- a/src/gb/audio.c +++ b/src/gb/audio.c @@ -627,7 +627,7 @@ void GBAudioSamplePSG(struct GBAudio* audio, int16_t* left, int16_t* right) { } } - int dcOffset = audio->style == GB_AUDIO_GBA ? 0 : 0x1FC; + int dcOffset = audio->style == GB_AUDIO_GBA ? 0 : 0x20A; *left = (sampleLeft - dcOffset) * (1 + audio->volumeLeft); *right = (sampleRight - dcOffset) * (1 + audio->volumeRight); } @@ -637,8 +637,8 @@ static void _sample(struct mTiming* timing, void* user, uint32_t cyclesLate) { int16_t sampleLeft = 0; int16_t sampleRight = 0; GBAudioSamplePSG(audio, &sampleLeft, &sampleRight); - sampleLeft = (sampleLeft * audio->masterVolume) >> 6; - sampleRight = (sampleRight * audio->masterVolume) >> 6; + sampleLeft = (sampleLeft * audio->masterVolume * 9) >> 7; + sampleRight = (sampleRight * audio->masterVolume * 9) >> 7; mCoreSyncLockAudio(audio->p->sync); unsigned produced; diff --git a/src/gba/audio.c b/src/gba/audio.c index 630f6fe0c..8a12c36df 100644 --- a/src/gba/audio.c +++ b/src/gba/audio.c @@ -253,7 +253,7 @@ static int _applyBias(struct GBAAudio* audio, int sample) { } else if (sample < 0) { sample = 0; } - return ((sample - GBARegisterSOUNDBIASGetBias(audio->soundbias)) * audio->masterVolume) >> 3; + return ((sample - GBARegisterSOUNDBIASGetBias(audio->soundbias)) * audio->masterVolume) >> 2; } static void _sample(struct mTiming* timing, void* user, uint32_t cyclesLate) {