Ryan Houdek
0a9fd93eda
On block unlinking, wipe the address from the valid links.
2014-02-15 20:23:01 -06:00
Ryan Houdek
d2a90e6eab
If block linking isn't enabled then make sure there isn't a performance hit from getting a block number.
2014-02-15 20:23:00 -06:00
Ryan Houdek
c5b8c65ddc
Initialize linkStatus to false in the ARM JIT cores as well.
2014-02-15 20:23:00 -06:00
Ryan Houdek
22b86e64f5
redo 'jit: change our linking module to be able to handle arbitrary exit addresses'
2014-02-15 20:22:59 -06:00
Pierre Bourdon
cf736cd5df
Merge pull request #73 from lioncash/ArraySize-Cleanup
...
Kill off some usages of the ArraySize macro.
2014-02-15 18:22:28 +01:00
Lioncash
655d22512b
Kill off some usages of the ArraySize macro.
...
This required the use of std::array in some cases.
2014-02-15 02:43:54 -05:00
Matthew Parlane
48798d8d34
Merge pull request #70 from lioncash/fifo-unsigned
...
Kill off some casting in the FifoPlayer.
2014-02-15 20:42:15 +13:00
Lioncash
867d0f01a2
Remove #if 0 statement in lfd() in Jit64/Jit_LoadStoreFloating.cpp
2014-02-14 23:46:09 -05:00
Lioncash
49d6be26cd
Remove dead else branch in StoreFromRegister() in Jit64/JitRegCache.cpp
2014-02-14 23:43:51 -05:00
Lioncash
d42e8817a0
Clean out some old left-behind quantizer stuff in Jit64/Jit_LoadStorePaired.cpp and Jit64/Jit_SystemRegisters.cpp.
2014-02-14 23:32:37 -05:00
Lioncash
c78faafeae
Kill off some silly casting in the FifoPlayer.
...
Also makes more sense conceptually, since it's not like we'll ever have negative frames.
2014-02-14 22:07:12 -05:00
Tillmann Karras
404624bf0b
Turn loops into range-based form
...
and some things suggested by cppcheck and compiler warnings.
2014-02-13 09:05:50 +01:00
Tillmann Karras
2ff794d299
Fix some warnings
2014-02-13 09:02:43 +01:00
Matthew Parlane
88526be3b5
Merge pull request #50 from Parlane/inifile_tidy
...
Fix IniFile to use string& instead of char*
2014-02-13 19:04:27 +13:00
Matthew Parlane
3fe05e0a9f
Fix IniFile to use string& instead of char*
...
Also removes .c_str() usages where found.
2014-02-13 17:06:30 +13:00
Scott Mansell
7062cf8657
Interpeter: Fixed ConvertToDouble to match the manual.
...
Also added some documntation comments.
2014-02-12 23:12:17 +01:00
Tillmann Karras
f6897039c7
Interpreter: fix float conversions
...
Can't use simple casting, otherwise we get the same problems as in Jit64.
2014-02-12 23:12:15 +01:00
Tillmann Karras
db196d8c5b
Jit64[IL]: fix float conversions
...
Floating-point is complicated...
Some background: Denormals are floats that are too close to zero to be
stored in a normalized way (their exponent would need more bits). Since
they are stored unnormalized, they are hard to work with, even in
hardware. That's why both PowerPC and SSE can be configured to operate
in faster but non-standard-conpliant modes in which these numbers are
simply rounded ('flushed') to zero.
Internally, we do the same as the PowerPC CPU and store all floats in
double format. This means that for loading and storing singles we need a
conversion. The PowerPC CPU does this in hardware. We previously did
this using CVTSS2SD/CVTSD2SS. Unfortunately, these instructions are
considered arithmetic and therefore flush denormals to zero if non-IEEE
mode is active. This normally wouldn't be a problem since the next
arithmetic floating-point instruction would do the same anyway but as it
turns out some games actually use floating-point instructions for
copying arbitrary data.
My idea for fixing this problem was to use x87 instructions since the
x87 FPU never supported flush-to-zero and thus doesn't mangle denormals.
However, there is one more problem to deal with: SNaNs are automatically
converted to QNaNs (by setting the most-significant bit of the
fraction). I opted to fix this by manually resetting the QNaN bit of all
values with all-1s exponent.
2014-02-12 23:12:15 +01:00
lioncash
d2038049f5
Replace all include guard ifdefs with "#pragma once"
2014-02-10 18:07:16 -05:00
degasus
532cd44003
Use float to calculate the fps/vps
...
This will round internally, so 59.99 fps will now be shown as 60 fps.
2014-02-10 16:08:03 +01:00
degasus
a51b5f7815
Drop framelimit by fps
...
Framelimit by fps can't be done per coretiming
2014-02-10 16:08:03 +01:00
degasus
f7dc918057
Throttle by coretiming event instead of VI
...
VI isn't called as regular as we want to, so we have to create a new throttling event called regularly by coretiming.
Atm we throttle every 1 ms when we are too fast and skip throttling when we lack 40ms (to avoid fast boosts after slowdowns)
2014-02-10 16:08:03 +01:00
lioncash
f5408c3f52
Clarify an if statement in NetPlayClient.cpp. See: https://github.com/LaurentGomila/SFML/issues/26 .
...
This was simply an error in documentation. It actually returns an sf::Socket::Status enum value as a result.
2014-02-10 09:26:29 -05:00
Matthew Parlane
32bfcc034f
Some tidy up of sprintf to StringFromFormat
...
Includes a small fix to SetupWiiMemory
2014-02-10 17:25:18 +13:00
Lioncash
ebb48d019e
Clean up some struct indentations
...
Also cleaned up the indentations of some variable declarations.
2014-02-09 19:40:11 -05:00
Lioncash
40182a48a5
Cleanup enum indentations.
2014-02-09 16:16:10 -05:00
Pierre Bourdon
e59f770ccb
Revert "Merge pull request #49 from Parlane/sprintf_tidy"
...
Change broke the build on Debian stable.
This reverts commit 28755439b36ac8e875d764da5db31ad693459ace, reversing
changes made to 64e01ec763d21915e7166e625f8a3e85b46fbcbb.
2014-02-09 16:14:13 +01:00
Matthew Parlane
ebff7974c3
Some tidy up of sprintf to StringFromFormat
2014-02-08 14:32:48 +13:00
Matthew Parlane
6b980cbf30
Tidy up SetupWiiMemory
2014-02-07 19:00:34 +13:00
Matthew Parlane
70d2592ffb
Fix warnings found by StringFromFormat having printf style checking.
2014-02-07 01:38:08 +13:00
Lioncash
9ac6e35b5f
Add static and const qualifiers to the maps.
2014-02-06 03:23:13 -05:00
Lioncash
78356ce184
Simplified GetAreaCode() and GetHardwareModel() to simply use a map in comparisons.
2014-02-05 19:59:13 -05:00
Pierre Bourdon
9a24ba343b
Merge pull request #34 from lioncash/geckocode-foreach
...
Change some for+iterator loops in GeckoCode.cpp and GeckoCodeConfig.cpp into foreach loops.
2014-02-05 17:07:40 +01:00
Lioncash
249b00c469
Change the modified parameter in the Clamp function to be a pointer.
...
Makes it easier to identify the one being modified.
2014-02-05 04:04:35 -05:00
Lioncash
6b87a0ef20
Introduce a generic clamp function to clean up some similarly duplicated code.
2014-02-04 20:43:07 -05:00
Lioncash
8039963858
Add const qualifiers to two foreach loop variables for consistency.
...
Also fix a vector include I happened to notice. Should be "<vector>" not "vector"
2014-02-04 19:44:02 -05:00
Lioncash
a73a600343
Fix name conventions of some of the foreach loop variables.
2014-02-04 19:30:46 -05:00
Lioncash
63700ad28a
Change some for+iterator loops in GeckoCode.cpp and GeckoCodeConfig.cpp into foreach loops.
2014-02-04 19:19:48 -05:00
Ryan Houdek
00089433a6
Merge pull request #31 from Sonicadvance1/slowmemfix
...
[JITARM] Fixes an issue in the slowmem path that causes grey THP movies,...
2014-02-04 12:55:43 -08:00
Ryan Houdek
57f86f7f52
[JITARM] Fixes an issue in the slowmem path that causes grey THP movies, and issues of games not working like Mario Kart being incapable of getting ingame. This was due to me forgetting an instruction.
2014-02-04 13:44:26 -06:00
Tillmann Karras
442796b681
Jit64IL: nits
2014-02-04 09:09:06 +01:00
Pierre Bourdon
3363b396af
Merge pull request #23 from lioncash/sorta-large-input-cleanup
...
Larger cleanup to input-related source files (this time using unique_ptr).
2014-02-02 15:11:15 -08:00
Lioncash
3efb0aa5f7
Purely stylistic cleanup of Core/HW/WiimoteEmu/Attachment/* files.
...
Also cleaned up WiimoteEmu.h as well.
2014-02-01 19:13:38 -05:00
Lioncash
557015626a
Introduce the usage of unique_ptr into the InputCommon ControlEmu.h class. Allows for the automatic handling of resource deallocation.
2014-02-01 17:20:35 -05:00
Lioncash
89001accd8
Move two macros that literally doesn't change across all JIT platforms (JITDISABLE and INSTRUCTION_START) and simply have it in the JitBase.h source file. This way the macro is just located in one spot rather than 6 places.
2014-01-30 22:11:39 -05:00
Lioncash
fea3076241
Fix an unused variable within function GetScheduledEventsSummary() in CoreTiming.cpp.
2014-01-30 15:52:27 -05:00
Lioncash
6f74f59427
[Core] Remove an unnecessary pragma directive from EXI_Channel.h.
...
Dolphin uses warning level 3 in VS. This warning is only triggered in warning level 4.
2014-01-25 17:12:59 -05:00
Tillmann Karras
e94a6f07f4
Fix warning
2014-01-25 21:42:44 +01:00
Rachel Bryk
a3d1b9aba7
Increase save state version.
2014-01-24 00:15:56 -05:00
Rachel Bryk
4a81baff3f
Reenable vsync after releasing tab even if frame limit is disabled.
2014-01-19 02:48:59 -05:00