Commit graph

5573 commits

Author SHA1 Message Date
Unknown W. Brackets
be79670efb Revert "Smooth SAS resampling when pitch != 0x1000."
This reverts commit 1efcebb121.
2014-02-23 08:48:49 -08:00
Unknown W. Brackets
c806ae0982 Revert "Optimize mixing samples at common pitches."
This reverts commit dd434cd7c5.

Conflicts:
	Core/HW/SasAudio.cpp
2014-02-23 08:48:30 -08:00
Unknown W. Brackets
97e8f36a9b Revert "Actually use the resample buffer."
This reverts commit dc5d17971c.
2014-02-23 08:46:33 -08:00
Unknown W. Brackets
d6f203db99 Revert "Reset resample hist on keyon, round up read."
This reverts commit 3edebbfba9.
2014-02-23 08:45:46 -08:00
Henrik Rydgård
b7651b61c7 Merge pull request #5546 from chinhodado/fixes
some minor fixes and changes
2014-02-23 19:12:42 +07:00
Unknown W. Brackets
3edebbfba9 Reset resample hist on keyon, round up read.
If we have an uneven pitch, round up so that we get the next sample to
resample in.
2014-02-22 22:38:03 -08:00
chinhodado
20ed422c3a remove a duplicate assignment 2014-02-22 23:23:33 -05:00
Henrik Rydgård
9dacc2ba55 Merge pull request #5542 from unknownbrackets/sas-minor
Yet more exactness changes for SAS
2014-02-23 06:12:50 +07:00
Unknown W. Brackets
9cba543a4b sceSasCoreWithMix() returns an error in raw mode.
And does not reschedule, specifically.
2014-02-22 08:48:55 -08:00
Unknown W. Brackets
10bf116399 Don't report sceSasSetADSRMode(..., 5, 5, 5, 5).
It seems common.
2014-02-22 08:39:15 -08:00
Unknown W. Brackets
0939065333 Report the raw output mode to find examples.
I can't find any games actually leaving the output mode at 1.
2014-02-22 08:07:51 -08:00
Unknown W. Brackets
ff920f6af6 Fix sceSas outputMode = 1 (which is not mono.)
May fix games that played audio only on the left side, or something.
2014-02-22 07:52:18 -08:00
chinhodado
586eb76ddf fix a mistake in a logic condition 2014-02-21 19:43:24 -05:00
Unknown W. Brackets
ede385bfed Validate output mode, correct dry/wet handling.
Seems like any non-zero parameter sets it, actually.  I previously changed
it to check the lowest bit but I can't reproduce it now...
2014-02-21 09:47:46 -08:00
Unknown W. Brackets
ce518a432f x86jit: Add a missing unknown prefix check. 2014-02-21 09:47:28 -08:00
Henrik Rydgård
4e93573422 Merge pull request #5486 from raven02/patch-25
Use GE_CMODE instead of TPSM_PIXEL_STORAGE_MODE
2014-02-20 18:48:10 +07:00
Unknown W. Brackets
fb1ca6823c Oops, fix reporting showing disabled outside game. 2014-02-20 01:02:22 -08:00
Henrik Rydgård
df3342fd9e Merge pull request #5497 from sum2012/patch-10
Add sceCtrl_driver ,sceDisplay_driver ,SysclibForKernel
2014-02-20 11:20:06 +07:00
Sacha
edd712c65d Fix Symbian DPI 2014-02-20 03:37:06 +10:00
Unknown W. Brackets
a1283644ab If never set, loop to the first vag block.
Not the second (0 = second.)
2014-02-19 01:03:11 -08:00
Unknown W. Brackets
a36f7bf267 Fill in predict_nr's above 5, fix clamping.
We weren't processing vag properly when it hit the edges.

The coefficients were found with testing about 384 samples.
2014-02-19 01:01:56 -08:00
Unknown W. Brackets
11df9dabf9 Add an extra delay to VAG keyon.
It seems to come in an extra sample late.  PCM doesn't.

This corrects timing for VAG samples so they match up exactly.  Really
minor, of course...
2014-02-18 23:32:37 -08:00
Unknown W. Brackets
9ceeedba8d Correct some error codes in sceSasSetVoice(). 2014-02-18 23:12:26 -08:00
Unknown W. Brackets
dc5d17971c Actually use the resample buffer.
Fixes static in Final Fantasy Tactics music.
2014-02-17 23:23:44 -08:00
Unknown W. Brackets
93060e3aef Avoid some divisions, just in case. 2014-02-17 23:19:30 -08:00
Unknown W. Brackets
b5bdac211a Ignore pitch > 0x1000 for pcm.
It seems to be supported only below 0x1000.  Also, drop optimization for
double for now, simpler this way and doesn't seem common?
2014-02-17 21:09:44 -08:00
Unknown W. Brackets
dd434cd7c5 Optimize mixing samples at common pitches.
Doesn't seem to be a big help but may matter more on mobile.
2014-02-17 21:09:44 -08:00
Unknown W. Brackets
139c91fe19 Return an error for an invalid pitch, per tests. 2014-02-17 21:09:43 -08:00
Unknown W. Brackets
1efcebb121 Smooth SAS resampling when pitch != 0x1000. 2014-02-17 21:09:43 -08:00
Unknown W. Brackets
8ded863231 Reset sampleFrac on keyon.
Since we're starting the samples over.
2014-02-17 21:09:42 -08:00
Unknown W. Brackets
38053df4ca Don't drop the last mix of vag samples.
Wait instead until the end of mixing to end the envelope.
2014-02-17 21:09:42 -08:00
Unknown W. Brackets
3899e18422 Always key on for 32 samples regardless of pitch.
Before it would be more or less depending on pitch.  It's always 32.
2014-02-17 21:09:41 -08:00
Henrik Rydgård
2890c4b206 Merge pull request #5488 from unknownbrackets/sas-minor
Improve more sas correctness
2014-02-17 22:39:10 +01:00
Unknown W. Brackets
71ad115b81 Fix incorrect return in PSP_Init().
Mostly affects reset and tests, PSP_InitUpdate() worked properly for the
normal flow.
2014-02-17 10:57:47 -08:00
Unknown W. Brackets
0b7d4d99cf Fix MSVC build.
Blarg.
2014-02-17 10:43:23 -08:00
Unknown W. Brackets
5e57a2ffa8 Don't allow reporting from bad savestates.
If the savestate was created with bad settings, or was loaded from an
older version, it may be damaged.  Let's not report old problems.
2014-02-17 09:43:12 -08:00
sum2012
f0ad992b67 Add sceCtrl_driver and sceDisplay_driver 2014-02-17 20:46:57 +08:00
sum2012
d6790cf906 Add logging and fix savestatus 2014-02-17 20:42:35 +08:00
Unknown W. Brackets
617dcdd8ff Add some initial kernel sysclib funcs. 2014-02-17 20:39:02 +08:00
Unknown W. Brackets
e006ab5b2d Don't read the first 32 samples after keyon.
The way I'm approximating this is ugly...
2014-02-17 01:39:59 -08:00
Unknown W. Brackets
6b984c5593 Don't loop PCM samples when loopPos < 0. 2014-02-17 01:39:59 -08:00
Unknown W. Brackets
95fc9624b4 Fix PCM looping in SAS.
The parameter specifies where the loop restarts at.
2014-02-17 01:39:58 -08:00
Unknown W. Brackets
55507d7844 Fix the default adsr sustain mode.
Probably doesn't matter, games always set it.
2014-02-17 01:39:57 -08:00
Unknown W. Brackets
a2cf4bde8c Validate the sas noise freq parameter. 2014-02-17 01:39:57 -08:00
Unknown W. Brackets
d097ac5394 Don't change height when keying off a voice.
Tests show that the height does not revert to the sustain level.
2014-02-17 01:39:56 -08:00
Unknown W. Brackets
1a010a37ab Return an error for invalid voice in keyoff.
Can't reproduce no error and Every Extend Extra doesn't even seem to be
reporting it.  Most likely it would be happy with the error code anyway.
2014-02-17 01:39:56 -08:00
Unknown W. Brackets
f02bf1239e Validate the effect volume in __sceSasRevEVOL(). 2014-02-17 01:39:55 -08:00
Unknown W. Brackets
d53ab02e5b Don't change height immediately on keyon.
This replicates the PSP's behavior, which is a 32-grain lead in, plus the
height remains what it was before until processing happens.
2014-02-17 01:39:55 -08:00
Unknown W. Brackets
684caa01ec Correct SAS bent linear curve.
Tests shows that at 0x30000000 it still goes up the full amount.
2014-02-17 01:39:54 -08:00
Henrik Rydgård
b894bd9b27 Merge pull request #5489 from unknownbrackets/jit-minor
Fix stack overflow on x64 with memchecks, darn it
2014-02-17 07:23:45 +01:00