shuffle2
3d88dfbad9
Merge pull request #701 from LPFaint99/memcard
...
GCI Folder: try to reserve space for new saves from the current game
2014-09-04 23:02:23 -07:00
Fiora
2f9e9bf1fc
JIT: completely inline timer reading
...
Should be a bit faster on games that heavily use the timer.
2014-09-04 21:55:36 -07:00
LPFaint99
e6e50ee621
GCI Folder: try to leave 10% of the blocks free. only applies if the save is not for the current game
2014-09-04 20:59:38 -07:00
shuffle2
a9a6270982
Merge pull request #774 from magcius/texdecode-cleanup
...
Clean up the TextureDecoder and some related things
2014-09-04 19:37:49 -07:00
Jasper St. Pierre
a5297f6da8
PixelEngine: Remove unused AllowIdleSkipping and all references to it
2014-09-04 17:25:59 -07:00
MikeRavenelle
411c060504
Checkbox for iteration
...
Added the option to handle whether the user wants to iterate through the
assignment of button mappings or assign them one at a time.
fixed formatting issues and code style.
I excluded this option from the config file. This stopped the check box value and the boolean from becoming offset. Since the option should always start as false.
This still causes an issue with the Wiimote input, since the class variable that keeps the state will be wiped, but the check box value will stay the same after closing/reopening without closing the entire Wiimote configuration. I am looking for a way to resolve this.
I also reduced wait time to 2.5 seconds vs. the 5 seconds previously. Seemed to be a little long.
These changes apparently did not go through.
This should fix the Wiimote issue.
2014-09-04 19:23:04 -05:00
shuffle2
127fc1bdc1
Merge pull request #965 from FioraAeterna/srawixzero
...
JIT: remove srawix fallback
2014-09-04 08:44:33 -07:00
lioncash
9f48f02514
Core: Make the tables in ARDecrypt.cpp static
2014-09-04 09:29:34 -04:00
lioncash
4b329a0a75
Core: Fix variable prefixing of statics in Core.cpp
...
These aren't globals.
2014-09-04 08:26:15 -04:00
Fiora
a63b9f6713
JIT: remove srawix fallback
...
As far as I can tell, this has literally been here since the start of the git
history; maybe it was stubbed out because the author wasn't sure it was right?
It matches the PPC/Broadway manuals perfectly, though.
2014-09-03 23:39:52 -07:00
LPFaint99
f6d89c5c98
GCI Folder: if there are too many files in the folder, try to leave free directory entries.
...
Rule: Load first 112 files, any remaining files in the folder are ignored unless they are the same gameid as the current game
2014-09-03 21:15:41 -07:00
Lioncash
956b0708b4
Core: Initialize all JITIL RegInfo members in the initializer list.
2014-09-03 23:06:05 -04:00
shuffle2
1f6f01e2a0
Merge pull request #955 from skidau/geckocodes-mmio
...
Added code to patch the codehandler's MMIO address
2014-09-03 15:33:57 -07:00
skidau
0da22d687d
Added code to patch the codehandler's MMIO address to the currently running system. Added code to detect the location of where the code list should be. This allows any Gecko code handler to be used. Replace the codehandler.bin file with the code handler to be used (e.g. codehandleronly.bin).
2014-09-04 07:44:45 +10:00
Fiora
068b5c26f4
JIT: fix regression in timer patch
2014-09-03 14:36:38 -07:00
Fiora
1b50f9df14
JIT: implement fres
...
Mostly a straightforward translation of the interpreter code, with a few
tricksy optimizations and fallbacks for rare paths.
2014-09-03 12:15:30 -07:00
Fiora
c72a133206
JIT: implement frsqrte
...
Mostly a straightforward translation of the interpreter code, with a few
tricksy optimizations and fallbacks for rare paths.
2014-09-03 11:21:04 -07:00
skidau
08715167a8
Added code to patch the codehandler's MMIO address to the currently running system. Added code to detect the location of where the code list should be. This allows any Gecko code handler to be used. Replace the codehandler.bin file with the code handler to be used (e.g. codehandleronly.bin).
2014-09-04 00:48:52 +10:00
Rachel Bryk
5adbc83453
Change ControlState typedef to double, and change all related floats/doubles to use it.
...
Fixes an off by 1 issue related to double->float->double conversion, and eliminates numerous warnings.
2014-09-03 03:08:09 -04:00
comex
64575d565a
Merge pull request #923 from FioraAeterna/fixcallersave
...
JIT: Fix caller-save registers on WIN64
2014-09-03 02:27:44 -04:00
Dolphin Bot
e2dfa603a0
Merge pull request #891 from RachelBryk/netplay-time
...
Allow system time to move forward during netplay.
2014-09-03 08:26:51 +02:00
comex
51a5311d6a
Merge pull request #949 from comex/eviction-policy
...
Evict registers from the cache based on LRU.
2014-09-03 02:22:45 -04:00
shuffle2
50879f5624
Merge pull request #905 from RachelBryk/status-bar-messages
...
Add OSD messages back to status bar.
2014-09-02 23:21:58 -07:00
shuffle2
d20f5fb861
Merge pull request #946 from ChuckRozhon/fix_cast_bug
...
Fixed bug introduced in PR#803 caused by casting
2014-09-02 22:58:53 -07:00
Ryan Houdek
1ad1a9062a
Remove PowerPCState::DebugCount.
...
This value was "helpful" for debugging when the stack got corrupted.
Helpful that if gpr[1](Which is the stack pointer with PPC ABI) is zero then the interpreter would spam huge amounts of annoy text saying that we
managed to get in to a "corrupted" state.
This is incremented every instruction on the interpreter, or every block run on the JIT64....Only if debugging is enabled(JIT64 it is a const
variable)
The message is only outputted when interpreter is used and debugging is enabled.
2014-09-03 00:26:57 -05:00
comex
f5c7f676dc
Evict registers from the cache based on LRU.
...
The old method would always evict the first suitable register, i.e. the
same register every time once the cache got full. The cache doesn't get
terribly often, but the result is pathological...
2014-09-03 01:06:14 -04:00
Dolphin Bot
fa29b18e3e
Merge pull request #840 from FioraAeterna/jittimer
...
JIT: implement timer support in mtspr
2014-09-03 07:01:20 +02:00
Fiora
6875d911f1
JIT: merge paired timebase reads where possible
...
Combined with the previous patch, ~1% faster overall on F-Zero GX.
2014-09-02 21:49:24 -07:00
Fiora
816d056657
JIT: implement timer support in mtspr
...
Faster, of course, since we avoid the interpreter, but also means we can
get more a more accurate timer in long blocks by adding the offset from the
start of the block to the retrieved timer. I don't know if this will actually
fix any issues, but it's more correct and a nearly-free improvement.
2014-09-02 21:47:45 -07:00
Charles Rozhon
0e5fde52ac
Fixed bug introduced in PR#803 caused by casting
...
Also changed casts to C++ style casts to removed some of the ambiguity.
2014-09-02 21:50:43 -05:00
Ryan Houdek
1bc246735b
Add some static_asserts to the Arm32 JIT to make sure ppcState is sane.
2014-09-02 18:38:42 -05:00
Fiora
6655c7775e
JIT: Fix callee-save registers on WIN64
2014-09-02 10:56:14 -07:00
Pierre Bourdon
ddb2aefedf
Merge pull request #904 from FioraAeterna/dcbz
...
JIT64: try enabling dcbz again
2014-09-02 15:41:40 +02:00
shuffle2
cc6db8cf26
Merge pull request #939 from shuffle2/fix-memcard-flush2
...
move the decision to delay raw memcard flushes out of the thread.
2014-09-02 00:28:31 -07:00
Shawn Hoffman
44a1a7cdbe
move the decision to delay raw memcard flushes out of the thread.
...
This allows the flush to work better with games which hammer
memcard accesses over short periods as it delays more of the work.
2014-09-01 22:38:31 -07:00
Shawn Hoffman
0625b5defb
windows: make failure to load hid.dll or bthprops.cpl not pop a msgbox, and not crash
2014-09-01 21:27:44 -07:00
Shawn Hoffman
266992684d
msvc: remove some remnants of SDL and DSound from projects and general cleanup.
2014-09-01 21:27:44 -07:00
Dolphin Bot
e5705a9273
Merge pull request #908 from FioraAeterna/fixenhancedbat
...
MMU: fix enhanced BAT support
2014-09-02 05:46:03 +02:00
Fiora
3aa40dab00
JIT64: optimize carry calculations
...
Omit carry calculations that get overwritten later in the block before they're
used. Very common in the case of srawix and friends.
2014-09-01 20:41:48 -07:00
Fiora
a40278b1c4
JIT64: support merged branching for rlwinmx, too
...
Not quite as common a branch instruction as cmpwi, but close.
2014-09-01 20:41:12 -07:00
Fiora
10d691a277
JIT64: optimize some special cases of srawix
...
Shift by 31 and 1, both of which are pretty common, can be done in a few less
instructions. Tested with a hwtest.
2014-09-01 20:41:12 -07:00
Fiora
805be80f12
JIT64: Optimize carry handling
...
Carries are rather common and unpredictable, so do them branchlessly wherever
we can.
2014-09-01 20:41:11 -07:00
Fiora
ee24d4714a
JIT64: tweak srwx/slwx BindToRegister arguments
...
Register B gets immediately moved into the shift register, so even if a == b
it doesn't need to be loaded.
2014-09-01 20:41:11 -07:00
Fiora
ad51fc7c4b
JIT64: use xor instead of mov for loading a zero regcache immediate
2014-09-01 20:41:10 -07:00
Fiora
27996a65cf
JIT64: use LEA for the "a = b + imm" case of addi
2014-09-01 20:41:10 -07:00
Fiora
cd0c52b537
JIT64: avoid using LEA for adds when not necessary
2014-09-01 20:41:10 -07:00
Fiora
355850f499
JIT64: optimize sign/zero-extend
...
Also remove some comments that no longer apply since x86_32 was dropped.
2014-09-01 20:41:09 -07:00
Fiora
61af91ff16
JIT64: Optimize cmpXX
...
Use TEST instead of CMP if we're comparing against 0 (rather common), and
optimize the case of immediate compares further.
2014-09-01 20:41:09 -07:00
Fiora
41c3dde737
JIT64: optimize rlwinmx/rlwinix and friends
...
Take advantage of movzx as a replacement for anding with 0xff or 0xffff, and
abuse loads from the register cache to save ops.
2014-09-01 20:41:08 -07:00
Fiora
58dc802ce2
JIT64: optimize multiplication by immediate constants
...
Factor out common code and handle a few more common cases.
2014-09-01 20:41:08 -07:00