Lioncash
552c0d8404
Common: Move byte swapping utilities into their own header
...
This moves all the byte swapping utilities into a header named Swap.h.
A dedicated header is much more preferable here due to the size of the
code itself. In general usage throughout the codebase, CommonFuncs.h was
generally only included for these functions anyway. These being in their
own header avoids dumping the lesser used utilities into scope. As well
as providing a localized area for more utilities related to byte
swapping in the future (should they be needed). This also makes it nicer
to identify which files depend on the byte swapping utilities in
particular.
Since this is a completely new header, moving the code uncovered a few
indirect includes, as well as making some other inclusions unnecessary.
2017-03-03 17:18:18 -05:00
Lioncash
9f8177c9ac
UCodes: Eliminate unnecessary includes in header
2017-02-07 15:08:57 -05:00
Lioncash
0f70650e93
DSPHLE: Amend variable casing
2017-01-18 12:44:27 -05:00
Matthew Parlane
3415a1ca18
Merge pull request #4614 from jackoalan/gba-hle-cleanup
...
DSP: Clean up GBA crypto HLE implementation
2017-01-17 11:10:50 +13:00
Markus Wick
d9a37d38b4
Merge pull request #4571 from degasus/DSPHLE
...
Attempt re-adding the missing AXWii DSP_SYNC
2017-01-10 22:23:35 +01:00
Jack Andersen
3869eec53a
DSP: Clean up GBA crypto HLE implementation
2017-01-10 10:34:34 -10:00
BhaaL
23d99f2f2c
specify custom brace style to fix unions
...
BreakBeforeBraces: Allman apparently includes all styles,
except for AfterUnion (which is false) when using clang-format -dump-config
2017-01-05 12:55:13 +01:00
Lioncash
3eb25cea6f
DSP: Namespace remaining un-namespaced DSP code
2016-12-31 17:20:14 -05:00
Pierre Bourdon
6b65344ccf
axwii: re-add the missing sync -- might work better with the new MailHandler implementation
2016-12-27 02:03:58 +01:00
Pierre Bourdon
7c4bbcf22f
ax: switch to new style interrupt triggering
2016-12-27 02:03:55 +01:00
degasus
8f9f2b1f76
DSPHLE: Seperate HLE construction and initialization.
...
We must be able to construct the HLE without emulating the initialization
on loading a savestate.
2016-12-26 12:25:57 +01:00
Léo Lam
72e3f1ecec
Remove unnecessary ConfigManager includes
...
Making changes to ConfigManager.h has always been a pain, because
it means rebuilding half of Dolphin, since a lot of files depend on
and include this header.
However, it turns out some includes are unnecessary. This commit
removes ConfigManager includes from files which don't contain
SConfig or GPUDeterminismMode or GPU_DETERMINISM (which means the
ConfigManager include is not used).
(I've also had to get rid of some indirect includes.)
2016-11-27 22:38:38 +01:00
Lioncash
aaa1da5abc
DSPEmulator: Move common variable into base class
2016-10-07 08:55:54 -04:00
aldelaro5
f0aa9b3751
Reorganise a ton of logs level
...
Most of this commits changes performance decreasing logs from info to debug and also cleans up innacurate levels.
2016-10-01 15:50:28 -04:00
Pierre Bourdon
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
Lioncash
f2038b9e90
HW: Remove unnecessary header inclusions
2016-01-13 02:47:32 -05:00
skidau
5555822ca2
Catered for the case where ADPCM audio would loop before the end of the stream. Patch by hk.konpie.
2015-12-26 22:57:43 +11:00
Pierre Bourdon
2e5c94865b
ZeldaHLE: Add support for New Play Control! Pikmin 1
2015-12-14 05:44:08 +01:00
Scott Mansell
d2b03e1aad
Remove individual byteswaps and replace with generic function.
2015-11-17 19:37:18 +13:00
Lioncash
1b3307043b
DSPHLE: Remove duplicated struct
...
This is already present in the DSPHLE class directly
2015-10-16 13:02:21 -04:00
Lioncash
03986c6fad
UCodes: Simplify ExramRead
2015-10-15 22:48:22 -04:00
Lioncash
c420c52308
UCodes: Get rid of pointer casts
2015-10-15 22:45:03 -04:00
Lioncash
77d3bed058
AX: Use ArraySize over sizeof division
...
Also gets rid of magic numbers in volume ramp generation.
2015-09-14 23:55:09 -04:00
Lioncash
b9e360df7b
MathUtil: Convert Clamp into a constexpr function
2015-09-12 01:18:28 -04:00
degasus
896a02b3a8
DSP HLE: Remove timing informations from ucodes
...
On HLE, we don't emulate the timings on HLE, so there is also no need
to setup periods callbacks.
2015-08-19 16:20:17 +02:00
degasus
7277eb0e6c
AX-HLE: Call HLE on mailbox write
...
It was done on Update() which was called exactly every 5ms.
But the game is allowed to use the DSP more often, eg to generate 48kHz audio.
2015-08-19 16:19:06 +02:00
Pierre Bourdon
2d5d203be8
ZeldaHLE: Add UCode version for Pikmin 1 PAL.
2015-08-14 16:01:36 +02:00
Pierre Bourdon
18d0f15885
ZeldaHLE: Fix the AFC remaining samples logic on looping.
2015-08-14 16:01:36 +02:00
Pierre Bourdon
9105a76eb1
ZeldaHLE: Comment on the differences between FSA/ZTP UCodes.
2015-08-14 16:01:36 +02:00
Pierre Bourdon
fcbed7483d
ZeldaHLE: Properly read remaining AFC samples when a whole frame is available.
2015-08-14 16:01:36 +02:00
Pierre Bourdon
a602466e4f
ZeldaHLE: Implement patterns 2/3 automatic regeneration.
2015-08-14 16:01:35 +02:00
Pierre Bourdon
dd1cb88e9a
ZeldaHLE: Add new UCode version for Pikmin 1/2 New Play Control
2015-08-14 16:01:35 +02:00
Pierre Bourdon
c6c0f69c6b
ZeldaHLE: really fix the constant pattern variable step computation.
...
This time tested by comparing pattern indexes across LLE and HLE with the same
inputs. Matches on the 3-4 test cases I made.
2015-08-14 16:01:35 +02:00
Pierre Bourdon
fddb3f0d3c
ZeldaHLE: fix the constant pattern variable step computation.
2015-08-14 16:01:35 +02:00
Pierre Bourdon
090723167f
ZeldaHLE: Implement constant patterns with variable step (sample source 0A).
2015-08-14 16:01:35 +02:00
Pierre Bourdon
fbe727b0bb
ZeldaHLE: Support GBA crypto through command 0C. Reuses the pre-existing GBA crypto code from the separate UCode.
2015-08-14 16:01:35 +02:00
Pierre Bourdon
0b1af50316
ZeldaHLE: Initial support for command 0C in both styles implemented by the light protocol. Logs, but doesn't crash anymore.
2015-08-14 16:01:35 +02:00
Pierre Bourdon
32fcd8ec7c
ZeldaHLE: Special case Cmd03 NOP handling to make it clear it shouldn't ever happen on light protocol UCodes.
2015-08-14 16:01:34 +02:00
Pierre Bourdon
bbfa238657
ZeldaHLE: Document that the crashy commands are not actually crashy on light protocol, just never used.
2015-08-14 16:01:34 +02:00
Pierre Bourdon
25430e7923
ZeldaHLE: Add a flag to disable Cmd0D on older UCodes.
...
Shouldn't really matter -- these NOP commands aren't really used, but since it
reads an argument it's probably better to explicitly NOP it for safety.
2015-08-14 16:01:34 +02:00
Pierre Bourdon
8526a4131c
ZeldaHLE: Properly implement light command 03.
...
On at least one version (AC/Pikmin 1 NTSC) it doesn't even send a sync mail and
just reloops to the dispatcher.
2015-08-14 16:01:34 +02:00
Pierre Bourdon
7f7e036a02
ZeldaHLE: Add a missing game to the list of games to look at.
2015-08-14 16:01:34 +02:00
Pierre Bourdon
cdb1022696
Zelda HLE: Add support for the ZTP Wii UCode.
2015-08-14 16:01:34 +02:00
Pierre Bourdon
5f61ab3e21
Zelda HLE: Update the CRC to games mapping (documentation only).
2015-08-14 16:01:33 +02:00
Pierre Bourdon
addb5cb887
Zelda HLE: Support the per-frame sync protocol used by SMS.
...
Didn't test if SMS sounds right (travelling with no headphones \o/) but the
waveform looks ok and the mails are flowing as expected.
2015-08-14 16:01:33 +02:00
Pierre Bourdon
89037781e0
Zelda HLE: Make the implementation less strict for recoverable errors.
...
It kind of sucks that we don't emulate some behaviors properly, but there is
very little ROI for some of these features and I'm not going to spend time
implementing them any time soon. Making the PanicAlerts optional allows for
more testing of the core features on more games while "just" breaking less
important features like reverb.
2015-08-14 16:01:33 +02:00
Pierre Bourdon
837b8041c0
Zelda HLE: Only alert for mixing into back buffers for recent UCode versions.
...
On older versions there is no such concept of a "back buffer" since positional
audio is not supported. These buffers are just used for temp mixing, and while
it would be really nice if we could support more of that inter-buffer mixing
(TODO :) ) it does not warrant a PanicAlert at this time.
2015-08-14 16:01:33 +02:00
Pierre Bourdon
840a4157b0
Zelda HLE: Properly implement LQ AFC decoding.
...
Typos and stupid mistakes + untested code = dirty Git history.
2015-08-14 16:01:33 +02:00
Pierre Bourdon
82689677d9
Zelda HLE: Implement LQ AFC decoding (samples source 0005).
2015-08-14 16:01:33 +02:00
Pierre Bourdon
b3a327f02b
Zelda HLE: Implement sample source 3.
...
"Square" wave at a 0.25 duty cycle (25% up 75% down).
2015-08-14 16:01:32 +02:00