Project

General

Profile

Emulator Issues #3009

DSP HLE fixes

Added by mylek4 almost 10 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

A patch with few fixes for DSP HLE:

Linear Interpolation bugs:
- Frac rolls over one iteration before samplePos advances. Can introduce noise similar to flipping samples (1234 => 1214). Introduced oldFrac to fix this. This isn't as noticeable as it probably should be because of below.

  • When samplePos doesn't advance it interpolates between two copies of the same sample which actually does nothing. Changed it to always use the current and next sample.

  • When frac is 0 you should get 100% of yn2 instead of ~99% added a +yn2 to balance it.

Other changes:
- Added linear interpolation for ADPCM. Sounds like a good idea.

  • Set ADPCM_Vol to clamp to x8000 instead of x4e20. Some games will play some sounds at x8000 volume anyways since the volume is applied before this. Lower limit can result in quiet music (x4e20) but some loud ambient sounds (0x8000).

History

#1 Updated by nakeee almost 10 years ago

  • Status changed from New to Accepted

#2 Updated by pascal.jouy almost 10 years ago

Does this issue have something similar to the issue 2771 I reported a long time ago?

#3 Updated by marcel.werner3 almost 10 years ago

oh yeah! finally someone's tackling those audio issues...someone give this guy a sandwich and commit-allowance (if his code looks alright) :)

#4 Updated by hrydgard almost 10 years ago

Nice. You got commit access, please commit it yourself.

#5 Updated by luisr142004 almost 10 years ago

hm, the last portion (of his message :p) might just fix the loud sound issues in some games o.o (or so it sounds like hehe)

#6 Updated by BhaaL almost 10 years ago

  • Status changed from Accepted to Fixed

Committed in r6041

Also available in: Atom PDF