Sour
929d4dcc20
GB: Fixed APU emulation issues
...
-Super Mario Land 2 - Pops in menu are fixed by immediately updating APU output after a write
-Perfect Dark - Low voice volume is fixed by having the correct output when the channels are disabled (but DAC is still enabled)
-Daiku no Gen - Low voice volume is fixed by keeping square channel output to digital 0 (= analog 1) until its first tick after being enabled (the game does not let the channel tick at all while the voice sample is playing)
2025-03-21 23:03:01 +09:00
Sour
cd7e277088
GB: Refactor apu envelope code to reduce duplicated code
2024-02-01 22:53:08 +09:00
Sour
e7ac876694
GB: APU - Improved zombie mode glitch behavior
...
Fixes channel_1_nrx2_glitch, channel_1_restart_nrx2_glitch and channel_1_volume (+ the ch2 equivalents)
2024-02-01 22:53:08 +09:00
Sour
7a83827f6f
GB: APU - Improved square 1 sweep behavior
...
Passes channel_1_sweep test
2024-01-31 23:25:38 +09:00
Sour
dbae841079
GB: Implemented DAC fade in/out behavior
...
Fixes sound issues in 3D Pocket Pool, Ready 2 Rumble Boxing and Cannon Fodder
2024-01-28 20:47:08 +09:00
Sour
190fb48b5f
GB: Fixed missing values in APU save state
...
Caused some audio issues when loading a state in some scenarios
2023-04-12 21:05:14 -04:00
Sour
ee287e9cad
GB: Fixed/improved APU mixing/DAC logic
...
Fixes missing sound effects/voices in Warlocked and Alone in the Dark
2023-04-08 17:18:25 -04:00
Sour
7c51e23d25
GB: Fixed envelopes being clocked when period is 0
...
Based on Megaman 2 and Taiyou no Yuusha the envelopes shouldn't be ticking when period is set to 0 (otherwise the sound in these games breaks - especially the noise channel)
This seems to contradict old documentation that says a period of 0 is treated as a period of 8, but test roms don't seem to validate either behavior and this fixes the audio for both games.
2023-04-05 20:49:02 -04:00
Sour
0881814157
GB: Length counter hitting 0 on square channel should also update output
...
Fixes channel_1_stop_div, channel_2_stop_div
2023-03-10 22:37:11 -05:00
Sour
52220c8a1e
GB: Wave channel output should update when writing to NR32
...
Fixes channel_3_shift_delay test
2023-03-10 21:06:14 -05:00
Sour
965a2088e0
GB: Stop clocking channels when disabled (fixes square_1_volume_div)
...
+ Align square/noise channels to 1mhz clock (which allows the channel_1_align, etc. tests to work even if the channels aren't clocked while disabled)
2023-03-10 01:04:51 -05:00
Sour
52f8a4a5f7
GB: Fixed typo/bug in square envelope clock code
...
Fixes channel_2_volume_div
2023-03-10 00:23:56 -05:00
Sour
b954db45b7
GB: APU improvements (passes div_* tests)
2023-03-09 22:10:20 -05:00
Sour
629dfca2fc
GB: Apply similar tweaks to noise/wave channels
...
Passes more of SameSuite's tests
2023-03-08 21:56:27 -05:00
Sour
a13b07b49c
GB: Square channel improvements
...
Fixes some of the SameSuite square tests (unsure if the code is correct or not)
2023-03-08 20:25:53 -05:00
Sour
35bcc56e7d
GB: APU - Improved CGB behavior, fixes blargg's CGB tests
2023-02-27 23:08:15 -05:00
Sour
1fbcba999e
GB: Improve square channel sweep behavior
...
Fixes based on alyosha's work on GBHawk
Passes "sweep details" test
2023-02-27 20:46:35 -05:00
Sour
6a0eef7e05
GB: Sweep - Improved behavior (e.g when shift value is set to 0, etc.)
...
Fixes "04-sweep" test
2023-01-28 11:44:28 -05:00
Sour
c90181c1a2
Refactoring - Moved some GB/PCE files into subfolders
2022-09-08 22:23:30 -04:00