Scott Mansell
e88c02dece
Ensure that ZSlopes save/restore state correctly.
...
Had to re-do *ShaderManager so they saved their constant arrays
instead of completly rebuilding them on restore state.
2015-01-23 03:32:31 +13:00
skidau
6ad5d4681a
Fixed the GCPad and GCKeyboard getting initialised four times each.
2015-01-23 00:06:54 +11:00
Ryan Houdek
85754c63ca
[AArch64] Implement mfspr/mtspr XER routines.
...
These were fairly simple to implement.
2015-01-21 16:56:27 -06:00
Ryan Houdek
e7f2a04699
Merge pull request #1938 from CarlKenner/paddedfunctions
...
Skip zeroes that sometimes pad function to 16 byte boundary (eg. Donkey Kong Country Returns).
2015-01-21 15:17:31 -06:00
Ryan Houdek
80e6367e46
Merge pull request #1869 from Stevoisiak/GeneralConsistency
...
Minor consistency changes
2015-01-21 13:46:53 -06:00
Ryan Houdek
f9fc9d47c0
Merge pull request #1895 from JosJuice/isvolumewiidisc
...
Don't read from disk when checking volume type
2015-01-21 13:45:28 -06:00
Ryan Houdek
4c9fd63562
Merge pull request #1932 from Buddybenj/freelook
...
Fix Default Freelook Hotkey to Match Description (For Real This Time)
2015-01-21 13:41:29 -06:00
Ryan Houdek
b8b537d96e
Merge pull request #1934 from Buddybenj/change-order
...
Change Order of Some Hotkeys
2015-01-21 13:38:10 -06:00
Ryan Houdek
41dd0667ed
Merge pull request #1930 from Sonicadvance1/AArch64_scalar_ops
...
[AArch64] Move the 64bit floating point instructions to scalar.
2015-01-21 13:28:53 -06:00
Ryan Houdek
d86eaea393
Merge pull request #1935 from Sonicadvance1/AArch64_fix_fp_loadstore
...
[AArch64] Fix bugs in floating point loadstores.
2015-01-21 13:28:46 -06:00
CarlKenner
0ab1517134
Skip zeroes that sometimes pad function to 16 byte boundary (eg. Donkey Kong Country Returns).
...
This fixes function detection in the debugger, and prevents functions showing up as four bytes inside another function.
2015-01-22 02:00:35 +10:30
Lioncash
52e74a5070
GCKeyboardEmu: Use range-based for loops for iterating the key arrays
2015-01-20 21:28:40 -05:00
Lioncash
b1c1a2cc6f
Core: Add the GCKeyboard source files to the GCKeyboard VS filter
...
Was previously in the GCPad filter.
2015-01-20 21:19:51 -05:00
Lioncash
566a7a4829
SI_DeviceKeyboard: Remove superfluous virtual specifiers.
...
Removes an unnecessary memset as well.
2015-01-20 21:03:58 -05:00
skidau
5cd8a80553
Merge pull request #1893 from skidau/GCKeyboard
...
Added GameCube Keyboard support.
2015-01-21 12:43:49 +11:00
Ryan Houdek
32bfccce32
[AArch64] Fix bugs in floating point loadstores.
...
The Backpatching routines didn't correctly understand where to find the real VFP register from, so in most cases it was using D0.
Fixes bugs in the slowmem loadstore routines as well.
2015-01-20 19:11:04 -06:00
Benjamin Przybocki
a25b07ec56
Change Order of Some Hotkeys
2015-01-20 18:16:36 -06:00
Ryan Houdek
e3cff625cb
Merge pull request #1906 from jefflongo/patch-1
...
Update NetPlayServer.cpp
2015-01-20 17:13:13 -06:00
Benjamin Przybocki
9291d61d98
Fix Default Freelook Hotkey to Match Description (For Real This Time)
2015-01-20 16:46:38 -06:00
Ryan Houdek
67f2ff2e18
[AArch64] Move the 64bit floating point instructions to scalar.
...
Instead of doing vector operations and throwing away the top 64bits of each operation, let's instead use scalar operations.
On Cortex-A57 this saves us three cycles per vector operation changed to scalar, so this saves 3-9cycles per instruction emulated.
Also puts one less micro-op in to the vector pipeline there.
On the Nvidia Denver I couldn't see any noticeable performance difference, but it's a quirky architecture so it may be noticing we are throwing away
the top bits anyway and optimizing it. The world may never know what's truly happening there.
2015-01-20 16:35:08 -06:00
Ryan Houdek
7f68a357ad
Merge pull request #1914 from Sonicadvance1/AArch64_minor_improvements
...
[AArch64] Minor Improvements and bug fix.
2015-01-20 16:33:17 -06:00
Ryan Houdek
cb967a6ff2
Merge pull request #1911 from Sonicadvance1/AArch64_paired_loadstores
...
[AArch64] Implements paired loadstores
2015-01-20 16:33:08 -06:00
Ryan Houdek
4262d2199a
[AArch64] Implements paired loadstores.
2015-01-20 13:57:14 -06:00
skidau
84848b52e0
Fixed the emulated wiimote speaker's ADPCM sample rate. Patch by hk.konpie.
2015-01-21 00:11:54 +11:00
Tillmann Karras
873902b4a3
VertexLoader: remove non-JIT SSE code
2015-01-20 01:51:07 +01:00
Ryan Houdek
38cb9bbfae
Merge pull request #1889 from magumagu/remove-hle-end
...
Remove HLE_HOOK_END.
2015-01-19 18:16:47 -06:00
jefflongo
6b64c309df
Update NetPlayServer.cpp
...
Update NetPlayServer.cpp
2015-01-19 12:13:23 -08:00
Ryan Houdek
98d99a9eef
[AArch64] Optimize loadstores address calculation.
...
For offsets that fit in the instruction encoding then we should just put it in the instruction encoding.
Saves an instruction in a large amount of loadstores.
2015-01-18 16:45:42 -06:00
Ryan Houdek
cfd4348b7a
[AArch64] Fully implement cmpl and cmpli.
2015-01-18 16:45:00 -06:00
Ryan Houdek
4547b64959
[AArch64] Fixe a bug in constant propagated ComputeRC.
...
Must not have been thinking, we do want to sign extend when the highest bit is set.
2015-01-18 16:44:33 -06:00
Ryan Houdek
44405e2ec2
Expose the JIT quantize and dequantize arrays to all the JITs.
...
Removes the ARMv7 arrays that were being used, and lets it use the common one instead.
2015-01-18 16:20:26 -06:00
Tillmann Karras
e80b657cf4
Move MOVBE wrappers directly into XEmitter class
2015-01-18 13:29:34 +01:00
Tillmann Karras
eb13aa43fe
XEmitter: overload MOVBE()
2015-01-18 12:59:33 +01:00
skidau
37a770bb9f
Merge pull request #1896 from johnwchadwick/asmcommon-larger-codespace
...
Increase AsmCommon code space to fix crashes on Linux systems.
2015-01-18 15:22:31 +11:00
skidau
a2d98ced67
Merge pull request #1892 from magumagu/backpatch-padding
...
JIT: Fix the return pointer for backpatched operations.
2015-01-18 14:20:03 +11:00
JosJuice
ace060748b
Don't read from disk when checking volume type
...
Should be faster than relying on the OS to cache the magic words.
Also gets rid of the odd recursive call in VolumeDirectory.
2015-01-17 13:21:02 +01:00
John Chadwick
390ec6977c
Increase AsmCommon code space to fix crashes on Linux systems.
...
Revision b058bbd
was causing the AsmCommon routines to overrun the code
buffer allocated for it. According to Fiora, it happens only on Linux
because of the fact that Linux has more caller-save registers than other
platforms.
2015-01-17 01:36:45 -05:00
skidau
5dedf88922
Escaped the backslash character and relabelled the = key to EQUALS so that it gets saved in the ini profile.
2015-01-17 11:46:56 +11:00
skidau
5e8ab05cc0
Added GameCube Keyboard support.
2015-01-17 09:36:05 +11:00
magumagu
c09e41d652
JIT: Fix the return pointer for backpatch trampolines.
...
The key change is that for stores less than 5 bytes, the correct
place for the trampoline to return is immediately after the backpatched jump,
not somewhere inside it.
2015-01-15 19:30:59 -08:00
magumagu
e92e1e5873
Remove HLE_HOOK_END.
...
It isn't used, it isn't implemented in interpreter, and the implementation
in JIT is wrong.
2015-01-15 11:54:20 -08:00
Tillmann Karras
904a1c5558
Jit64: fix psq_l/st regression
2015-01-14 23:36:24 +01:00
Stevoisiak
f31b688cf5
More minor consistency changes
2015-01-12 22:28:12 -05:00
Stevoisiak
cb86db7b68
Minor consistency changes
...
Mostly small changes, like capitalization and spelling
2015-01-12 15:18:18 -05:00
Matthew Parlane
cf8333abd2
Merge pull request #1876 from Parlane/is_dir_fileio_fix
...
Don't open a file handle for a directory in FileIO
2015-01-13 08:29:23 +13:00
magumagu
213eb730d0
For idle loops, don't explicitly call CoreTiming::Advance.
...
This is more consistent with the way Dolphin behaves with idle skipping off.
2015-01-11 20:42:08 -08:00
skidau
7105e5a8f0
Merge pull request #1863 from magumagu/dma-efb
...
Allow locked L1 DMA to write to the EFB
2015-01-12 12:03:46 +11:00
Matthew Parlane
729a827372
Don't open a file handle for a directory in FileIO
2015-01-12 13:25:39 +13:00
magumagu
90d0096653
JIT: cleanup instrction merging for idle loop and dcbst.
...
Use MergeAllowedNextInstructions where appropriate, and read from the
instruction buffer rather than poking directly into memory.
2015-01-11 12:53:23 -08:00
Fiora
d5e342f229
JIT: fix regression in non-fastmem for psq_st
2015-01-11 11:20:58 -08:00
Fiora
e8cfcd3aeb
JIT: make instruction merging generic
...
Now it should be easier to merge more than 2-instruction-long sequences.
Also correct some minor inconsistencies in behavior between instruction
merging cases.
2015-01-11 09:11:18 -08:00
Ryan Houdek
074f246c69
Merge pull request #1868 from rohit-n/sign-compare
...
Fix -Wsign-compare warnings.
2015-01-11 07:08:55 -06:00
Ryan Houdek
83a415198d
Merge pull request #1852 from Sonicadvance1/AArch64_Recompiler_Improvements
...
Implements a large portion of the recompiler for AArch64
2015-01-11 07:08:16 -06:00
Rohit Nirmal
577af09d1b
Fix -Wsign-compare warnings.
2015-01-11 01:38:06 -06:00
Pierre Bourdon
394257f33b
Merge pull request #1798 from FioraAeterna/overclock
...
Support overclocking and underclocking the Gamecube CPU
2015-01-11 06:12:27 +01:00
magumagu
9b0bf34d00
Allow locked L1 DMA to write to the EFB.
...
I wouldn't have guessed that anyone would do this, but apparently people
who write video codecs love doing weird stuff with the locked L1 cache.
2015-01-10 15:08:21 -08:00
Fiora
8237004448
JIT: optimize for the common case of unquantized psq_l/st
...
Optimistically assume used GQRs are 0 in blocks that only use one GQR, and
bail at the start of the block and recompile if that assumption fails.
Many games use almost entirely unquantized stores (e.g. Rebel Strike, Sonic
Colors), so this will likely be a big performance improvement across the board
for games with heavy use of paired singles.
2015-01-10 14:14:43 -08:00
Fiora
c2c950108d
Support overclocking and underclocking the Gamecube CPU
...
Won't work with all games, but provides a nice way to spend extra CPU to make
a variable framerate game faster (e.g. Spyro or The Last Story), or to make
a game use less CPU at the cost of a lower framerate (e.g. Rogue Leader).
2015-01-10 10:46:38 -08:00
comex
e32d63c43d
Merge pull request #1865 from magumagu/getpointer-break
...
Add missing "break" in Memory::GetPointer.
2015-01-10 02:46:42 -05:00
magumagu
5bd3123b2a
Add missing "break" in Memory::GetPointer.
2015-01-09 22:47:45 -08:00
Ryan Hitchman
1bd01469c2
WiimoteReal/Linux: log connect failures at WARNING level
2015-01-09 22:45:03 -08:00
Ryan Hitchman
09f71b25b4
WiimoteReal: retry failed connections quickly
...
Retry a failed connection after a short delay -- hardware sometimes needs some
time to settle, or other Bluetooth programs are attempting to query the
device as well (e.g. blueman-manager).
2015-01-09 22:38:16 -08:00
Ryan Hitchman
c1b391d08b
WiimoteReal: fix Linux Bluetooth connectivity on Linux >= 3.5
...
An uninitialized struct member "l2_bdaddr_type" was making most connect calls
fail with "Invalid argument". The connection could succeed if the unitialized
memory happened to have a zero byte in the appropriate location.
2015-01-09 22:38:11 -08:00
skidau
27300d5d59
Merge pull request #1848 from skidau/si-devices-id
...
Fixed the GC Steering Wheel and Dance Mat identification.
2015-01-10 12:16:36 +11:00
skidau
c1962ac9a6
Merge pull request #1842 from magumagu/hle-crash
...
OSREPORT: Fix out-of-bounds string access.
2015-01-10 12:15:57 +11:00
Fiora
55b509b739
Interpreter: fix slwx
2015-01-09 11:39:41 -08:00
Ryan Houdek
5a28883f9e
[AArch64] Implements 15 floating loadstores.
2015-01-08 19:56:47 -06:00
Ryan Houdek
7370473eb3
[AArch64] Implement 19 floating point instructions
2015-01-08 19:56:47 -06:00
Ryan Houdek
6dff4421d3
[AArch64] Implement 24 paired instructions.
2015-01-08 19:56:47 -06:00
Ryan Houdek
602702fdcb
[AArch64] Implement three system register instructions.
2015-01-08 19:56:47 -06:00
Ryan Houdek
0dd3804cf7
[AArch64] Implement 13 integer instructions.
2015-01-08 19:56:47 -06:00
Ryan Houdek
be0d552d54
[AArch64] Enable the full range of integer loadstores.
2015-01-08 19:56:47 -06:00
Ryan Houdek
b1169a9773
[AArch64] Flush FPRs if they won't be used be used the rest of the block.
2015-01-08 19:56:47 -06:00
Ryan Houdek
3fe0b5b969
[AArch64] Add floating point backpatching support.
2015-01-08 19:56:47 -06:00
Ryan Houdek
f1443bec1e
[AArch64] Add a memory dump routine.
...
Allows me to easily disassemble a block of code from the Nexus 9 by dumping it to logcat.
2015-01-08 19:56:47 -06:00
Ryan Houdek
b3201be95f
[AArch64] Add some static_asserts.
...
Makes sure we have a few PPCState values within range of STRB's range.
2015-01-08 19:56:47 -06:00
Ryan Houdek
74de345b51
[AArch64] Fix loads with update.
...
Update register wasn't being loaded in to the cache prior pushing the address in to it.
Adds float push and pop routines around the calls that need it as well.
2015-01-08 19:56:47 -06:00
Ryan Houdek
52a532370a
[AArch64] Implement FPR Cache.
2015-01-08 19:56:47 -06:00
skidau
25c6f6e6a1
Merge pull request #1782 from FL-dolphinemu/master
...
Issue 7968: Added keybinds for increasing, decreasing, and muting audio.
2015-01-08 14:09:18 +11:00
Tillmann Karras
4d1face540
Fix indentation
2015-01-07 21:51:47 +01:00
skidau
99ca789b97
Fixed the GC Steering Wheel and Dance Mat identification.
2015-01-07 23:40:41 +11:00
skidau
0d952534c7
Corrects the origin in the case where a GC Controller has been set in the controller properties, but a controller has not been plugged into the adapter.
2015-01-07 17:12:30 +11:00
skidau
ab87309917
Merge pull request #1838 from JosJuice/clearcoverinterrupt-timing
...
DVDInterface: Use default delay for DVDLowClearCoverInterrupt
2015-01-07 12:41:21 +11:00
skidau
c0ff677674
Merge pull request #1763 from skidau/GC-Adapter-error-recovery
...
Added an error recovery mechanism for the GC Adapter.
2015-01-07 12:40:14 +11:00
magumagu
f1420472c8
OSREPORT: Fix out-of-bounds string access.
2015-01-06 17:12:31 -08:00
Dolphin Bot
89b7f1057f
Merge pull request #1804 from FioraAeterna/fastermmu2_master
...
MMU: various improvements, bugfixes, optimizations
2015-01-07 00:49:58 +01:00
Markus Wick
a2ec4d5f51
Merge pull request #1836 from FioraAeterna/catchillegalinst
...
JIT: catch illegal instruction errors
2015-01-06 23:10:46 +01:00
JosJuice
5162ed4d5f
DVDInterface: Use default delay for DVDLowClearCoverInterrupt
...
The old delay was probably a hack to make up for the incorrect
disc speeds. Using it with the new disc speeds made
Resident Evil Archives: Resident Evil Zero freeze when starting.
2015-01-06 21:25:17 +01:00
Markus Wick
f63361ad26
Merge pull request #1810 from Stevoisiak/FreelookDefaultHotkeyFix
...
Changed default freelook hotkey to match description
2015-01-06 20:52:00 +01:00
Markus Wick
09a10622dd
Merge pull request #1621 from FioraAeterna/pscleanup
...
JIT: cleanups/optimizations for ps loadstore
2015-01-06 20:12:50 +01:00
Fiora
8f7c799794
JIT: catch illegal instruction errors
...
Still crash, but at least give a message informing the world that it happened.
2015-01-06 11:06:49 -08:00
Markus Wick
25fac0282c
Merge pull request #1764 from Armada651/safe-exclusive
...
D3D: Only try to apply exclusive mode when the renderer is in focus.
2015-01-06 11:00:47 +01:00
Markus Wick
d8d4c94e07
Merge pull request #1819 from Tilka/cmake
...
CMake: simplify some expressions
2015-01-06 09:27:59 +01:00
Fiora
e85f0ff179
MMU: fix problems with blocks that cross vmem page boundaries
...
In rare cases, this can result in a violation of the JIT block cache constraint
that blocks must end in the same place. This can cause instability, lockups,
due to blocks not properly being invalidated properly.
l Please enter the commit message for your changes. Lines starting
2015-01-05 10:46:04 -08:00
Fiora
b058bbd223
JIT: move mfcr code to JitAsmCommon
...
It's like 80+ instructions, so inlining it on every use of mfcr is probably
not the best for the icache.
2015-01-05 10:46:03 -08:00
Fiora
821db9798c
Memmap: clean up function argument names.
...
To be more consistent overall.
2015-01-05 10:46:02 -08:00
Fiora
3d2492627f
Fastmem: increase the size of trampoline cache in MMU mode, check space
...
Fastmem in MMU mode generates way more trampolines than normal, so we need
a bunch more space too, lest we run out of room.
2015-01-05 10:46:01 -08:00
Fiora
1ee83e332e
MMU: optimize PTE lookup code
...
Pull out calculation of PTE1 instead of comparing the separate parts.
2015-01-05 10:46:01 -08:00
Fiora
16e756cb39
MMU: fix TLB behavior on setting C bit
...
We shouldn't be updating the TLB when setting the C bit.
Bug reported by tueidj.
2015-01-05 10:45:59 -08:00
Fiora
8903df7300
MMU: simplify code to restore original data register after failed load
...
Instead of passing the value around constantly, just store it in the regcache,
note where it is, and restore it on the exception path.
This saves a whole bunch of pushing and popping and gives a ~5% speed boost
in Rebel Strike. It's a bit ugly, but it simplifies a lot of code and is
faster, too.
2015-01-05 10:45:59 -08:00
Fiora
53b44ccb3a
x64ABI: enhance MOVTwo to take an offset
...
This lets us merge displacements into MOVTwo in trampolines.
2015-01-05 10:45:58 -08:00
Fiora
2a8936312e
Fastmem: jump to trampolines instead of calling them
...
Should be slightly faster, and also lets us skip the nops on the way back.
Remove the trampoline cache, since it isn't really useful anymore with this.
2015-01-05 10:45:54 -08:00
Fiora
9923d705df
JIT: simplify and optimize memcheck macros
...
Instead of jumping over update code and similar, just jump directly to the
handler.
This avoids redundant exception checks in the case where we can't do fastmem
memory operations (e.g. paired loadstore).
2015-01-05 10:34:59 -08:00
Fiora
6dc7cf29f3
JIT: implement crset special case
...
Rebel Strike seems to use this one.
2015-01-05 10:34:59 -08:00
Fiora
0ff6ad5734
MMU: handle exception checks in fastmem
...
Inspired by a patch by magumagu.
2015-01-05 10:34:58 -08:00
Fiora
190312e1a6
MMU: enable fastmem stores
2015-01-05 10:34:58 -08:00
Fiora
8e1c92f2e7
MMU: remove goto in MMU fast past check
...
Split into a separate patch to avoid rebasing conflicts and to split from
functional changes.
2015-01-05 10:34:57 -08:00
Fiora
6f028257d7
MMU: remove code that looks totally wrong
...
I don't think this affects any games (who puts PTEs in MEM2?) but it didn't
make any sense.
2015-01-05 10:34:57 -08:00
Fiora
dde8b24d00
MMU: small simplification of TLB structure
...
We only need one "recent" per set, not NUM_WAYS recents. Slightly faster.
Breaks savestate compatibility.
2015-01-05 10:34:56 -08:00
Fiora
a0e5c76a1f
Memmapfunctions: more refactoring and optimizations
...
Try to clean up some redundant code, simplify a few checks, and simplify
page accesses.
2015-01-05 10:34:56 -08:00
Fiora
c2ed29fe0d
MemmapFunctions: various MMU optimizations
...
Small TLB lookup optimizations: this is the hot path for MMU code, so try to
make it better.
Template the TLB lookup functions based on the lookup type (opcode, data,
no exception).
Clean up the Read/Write functions and make them more consistent.
Add an early-exit path for MMU accesses to ReadFromHardware/WriteToHardware.
2015-01-05 10:34:55 -08:00
Fiora
ea23ce2726
MMU: fix rollback in DSIs on page-crossing stores
...
I don't know if this affected anything, but it was subtly wrong.
Also reorganize the loads to match, for consistency.
2015-01-05 10:34:55 -08:00
skidau
519970c003
Added a callback option instead of using a thread to read the GC adapter.
2015-01-05 12:43:26 +11:00
skidau
8e9ff68352
Set the GC pad origin using the real hardware origin instead of the virtual hardware.
2015-01-05 12:27:36 +11:00
skidau
cd4e0399ec
Added an error recovery mechanism for the GC Adapter.
2015-01-05 12:27:36 +11:00
Tillmann Karras
fffd890be3
SI_GCAdapter: properly clean up libusb
2015-01-05 01:31:54 +01:00
Stevoisiak
2f47faf016
Changed default freelook hotkey to match description
2015-01-04 17:07:43 -05:00
Jules Blok
b7e056c74d
Host: Add Host_RendererIsFullscreen().
2015-01-04 17:09:56 +01:00
skidau
b06a3fb144
Merge pull request #1809 from magumagu/simplify-isi
...
JIT: simplify ISI handling.
2015-01-04 20:31:16 +11:00
Fiora
33b03fab81
JIT: cleanups/optimizations for ps loadstore
...
I'm not quite sure why the float paired stores were written how they were,
but it should be more consistent now.
Also get rid of the use of a psTemp global that wasn't really needed.
Add some comments.
2015-01-03 10:30:13 -08:00
Tillmann Karras
6bcdb10eee
CMake: simplify some expressions
2015-01-03 13:17:57 +01:00
Pierre Bourdon
c3d52e0476
Merge pull request #1789 from Tilka/memleak
...
DSPHLE: fix an unimportant memory leak
2015-01-03 01:50:16 +01:00
skidau
3738d27b24
Merge pull request #1776 from JosJuice/cleanrip-wii-discs
...
Fix CleanRip reading Wii discs
2015-01-03 10:42:51 +11:00
skidau
598dc033f2
Merge pull request #1739 from JosJuice/wii-di-timing
...
Accurate loading times for Wii games
2015-01-03 10:41:18 +11:00
magumagu
1e370550c4
JIT: simplify ISI handling.
...
When we try to JIT from a block which doesn't exist, don't JIT any code;
just update the PPC state to indicate an ISI. This is a little simpler,
and avoids abusing the JIT block cache.
2015-01-01 19:25:48 -08:00
Fiora
92a0716f65
Memory: forceinline read/write hardware functions, TLB/page functions
...
MSVC wasn't actually inlining these. Should give a nontrivial performance boost
in MMU-heavy games.
2014-12-30 18:04:21 -08:00
skidau
5d55bceeb3
Merge pull request #1773 from FioraAeterna/fixcarryearlyblockend
...
JIT: fix carry optimization on blocks that end early
2014-12-30 11:15:45 +11:00
Tillmann Karras
a00ae4ad79
DSPHLE: fix an unimportant memory leak
2014-12-29 18:39:24 +01:00
Ryan Houdek
a09d854636
Merge pull request #1760 from rohit-n/shadow
...
DSPLLE: Silence -Wshadow warning and conform more to style.
2014-12-28 16:43:08 -06:00
Markus Wick
c5a0b6bf50
Merge pull request #1432 from randomstuff/linux-perf
...
Add Linux perf JIT support (/tmp/perf-$pid.map)
2014-12-28 23:12:52 +01:00
Ryan Houdek
15f074dd21
Merge pull request #1766 from Armada651/enable-stereo
...
Enable stereoscopy settings.
2014-12-28 15:14:53 -06:00
FL.dolphinemu
78f8bf7423
Issue 7968: Added keybinds for increasing, decreasing, and muting audio.
2014-12-28 22:03:21 +01:00
Rohit Nirmal
fd0d19aa82
DSPLLE: Silence -Wshadow warning and conform more to style.
2014-12-28 09:52:31 -06:00
JosJuice
bb93336ecf
DiscIO: Replace "raw" functions with "decrypt" parameters
...
This is intended to make decryption look less implicit in the code.
2014-12-28 10:35:48 +01:00
Fiora
354e255827
JIT: fix carry optimization on blocks that end early
...
I don't know if this shows up currently, but e.g. if you force blocks to be
under a certain length, this problem (a crash) shows up.
2014-12-27 23:20:05 -08:00
JosJuice
72f8f243c7
Never decrypt data when using DI command 0xA8
...
CleanRip relies on this when ripping Wii discs.
2014-12-27 13:49:25 +01:00
Ryan Houdek
1dbd8c0b96
Merge pull request #1745 from degasus/remove_gpu_sync
...
VideoCommon: Make GPU syncing hack optional
2014-12-27 04:26:17 -06:00
Ryan Houdek
339383b8dd
Merge pull request #1756 from JosJuice/eslaunch-regression
...
Fix 4.0-4724 ES_Launch and System Menu regressions
2014-12-26 08:02:39 -06:00
Pierre Bourdon
b3bae9eef7
Merge pull request #1473 from phire/cleanHLE
...
Clean up debug string functions in OS_HLE.
2014-12-26 13:49:59 +01:00
Jules Blok
70b898e2c6
VideoConfig: Rename Separation to Depth and update descriptions.
...
More accurate since it's not a real IPD and Nvidia also calls it depth.
2014-12-24 23:28:23 +01:00
JosJuice
329af1aea3
Always read 0x20 bytes of disc ID
2014-12-23 13:25:04 +01:00
JosJuice
61da252858
Mark cover as open when no disc is inserted
2014-12-23 09:43:51 +01:00
skidau
e396286361
Merge pull request #1751 from FenrisulfrX/master
...
AR: Fix Memory Copy Without Pointer Support
2014-12-23 12:39:48 +11:00
JosJuice
14ff0004b5
Check if there is a disc for all disc reads
2014-12-22 16:34:18 +01:00
JosJuice
867bd2eb34
Only use bounds check for DVDLowUnencryptedRead
2014-12-22 15:01:55 +01:00
Pierre Bourdon
c5c10fe48b
Merge pull request #1757 from JosJuice/gc-ipl-regression
...
Fix 4.0-4724 GC IPL regression
2014-12-22 13:03:08 +01:00
JosJuice
c1ad4055a3
Fix 4.0-4724 GC IPL regression
...
Apparently the IPL actually writes to address 0.
2014-12-22 11:38:44 +01:00
FenrisulfrX
e70baf43d4
AR: BugFix to Memory Copy Without Pointer
...
Using ReadUncheked to avoid changing the state of the emulation
2014-12-22 06:22:01 -02:00
skidau
a00aa1a770
Merge pull request #1746 from skidau/dsp-thread-lock
...
Added lock guards around the DSP LLE cycle count updating.
2014-12-22 17:45:06 +11:00
skidau
4ede885702
Added lock guards around the DSP LLE cycle count updating.
...
Changed the isRunning flag to a Common::Flag.
2014-12-22 16:40:01 +11:00
Ryan Houdek
0d744cddf6
Merge pull request #1729 from Sonicadvance1/AArch64_compare_me
...
[AArch64] Add partial support for cmp* instructions.
2014-12-21 20:56:49 -06:00
Ryan Houdek
d35f7231dc
Merge pull request #1727 from Sonicadvance1/AArch64_conditional_continue
...
[AArch64] Adds support for conditional continue.
2014-12-21 20:56:36 -06:00
Ryan Houdek
47b67fe527
Merge pull request #1744 from Buddybenj/google-code
...
Update Outdated Google Code References
2014-12-21 20:55:56 -06:00
Ryan Houdek
02aea1b4c5
[AArch64] Adds support for conditional continue.
...
Requires PR #1723 prior to merging.
2014-12-21 20:48:40 -06:00
Ryan Houdek
1da6995d5b
Merge pull request #1728 from Sonicadvance1/AArch64_BindToRegister
...
[AArch64] Adds support for BindToRegister to the integer instructions.
2014-12-21 20:48:24 -06:00
Ryan Houdek
bd4fa951a9
Merge pull request #1726 from Sonicadvance1/AArch64_flush_if_not_needed
...
[AArch64] Flush registers from register cache if they won't be used again.
2014-12-21 20:46:38 -06:00
Ryan Houdek
4fad742da4
Merge pull request #1723 from Sonicadvance1/AArch64_loadstores
...
[AArch64] Implements loadstores with AArch64
2014-12-21 20:46:23 -06:00
Ryan Houdek
5cf79fd3b1
Merge pull request #1724 from Sonicadvance1/AArch64_dispatcher_optimization
...
[AArch64] Optimization in the dispatcher.
2014-12-21 20:08:40 -06:00
Ryan Houdek
e423939c9f
Merge pull request #1754 from FioraAeterna/mmulogspam
...
Eliminate some spammy log messages in MMU mode
2014-12-21 20:05:07 -06:00
Ryan Houdek
4247506c00
[AArch64] Implements loadstore instructions in the JIT recompiler.
...
These instructions are all implemented with fastmem support.
Currently loads with update are disabled due to an issue that I've yet to figure out.
I'm sure I'll figure that out later.
2014-12-21 19:43:59 -06:00
Ryan Houdek
17a4208fe5
[AArch64] Adds backpatching routines.
...
Currently supports only integer loadstores. Floating point loadstores will come later.
This system is semi based on the ARMv7 backpatching routine, where we need to initialize our backpatch routine sizes prior to actually using them so
we know we won't be overwriting any memory.
2014-12-21 19:40:29 -06:00
Fiora
e7a49ae5f3
Eliminate some spammy log messages in MMU mode
...
dcbz: just don't use GetPointer, that can't be right anyways
ppcanalyst: don't print "instruction hex 0" messages in MMU mode, where ISIs
are expected.
2014-12-21 12:41:44 -08:00
Fiora
3b7d7da1ac
JIT: Fix redundant MOVs in x86 trampolines
...
Fixes spammy log messages about redundant MOVs.
2014-12-21 12:06:07 -08:00
FenrisulfrX
46e74782a7
AR: Fix Memory Copy Without Pointer Support
...
Fix a bug when using AR codes with "Memory Copy Without Pointer Support"
code type which would write more data than it should.
2014-12-21 16:45:50 -02:00
degasus
7e12fec7c3
VideoCommon: Make GPU syncing hack optional
...
This hack is there for quite a long time, and lots of games crashes if it's disabled.
But it's still a hack, so it shouldn't be enabled hard coded. This commit create a new
ini option for this hack which is enabled by default.
Maybe some games does still run very fine without this hack.
2014-12-21 11:54:53 +01:00
Benjamin Przybocki
fba3c48ec4
Update Outdated Google Code References
2014-12-20 21:17:51 -06:00
Ryan Houdek
ab2b499fa6
[ARMv7] Minor integer fastmem optimization.
...
This is a one instruction optimization for integer loadstores.
Makes sure to enable nop padding in some cases where a fault can still happen and cause us to overwrite other instructions that aren't meant to be.
2014-12-20 19:41:33 -06:00
Ryan Houdek
c22e750f74
[AArch64] Add partial support for cmp* instructions.
...
This support is as far as ARMv7's support for these instructions.
Requires PR #1728 prior to merging.
2014-12-20 19:41:04 -06:00
Ryan Houdek
6f0fbac68f
[AArch64] Adds support for BindToRegister to the integer instructions.
...
This requires PR #1723 prior to merging.
2014-12-20 19:40:14 -06:00
Ryan Houdek
73542ce93e
[AArch64] Flush registers from register cache if they won't be used again.
...
This requires PR #1705 and #1723 prior to merging.
2014-12-20 19:38:34 -06:00
Ryan Houdek
360cf761d2
[AArch64] Optimization in the dispatcher.
...
Align our dispatcher to a page so we can jump to it with a ADRP+BR pair instead of ADRP+ADD+BR.
Also make sure to save /all/ of our callee saved registers that we are supposed to save.
Requires PR #1705 prior to merging.
2014-12-20 19:37:45 -06:00
Ryan Houdek
13b70c2fbd
[AArch64] Add an exception exit function with the exit location already in PC.
...
This will be used with idle skipping later.
2014-12-20 19:36:48 -06:00
Ryan Houdek
32eb0a9d68
[AArch64] Removes CODE_SIZE variable.
...
This is in a global location now which conflicts with this one.
2014-12-20 19:36:48 -06:00
Ryan Houdek
edfbb6ab9a
[ARM] Adds a ArmCommon folder.
...
Moves the backpatch flags and struct to a common location for ARM.
I'm sure there will be more things that use this common ARM location in the future.
2014-12-20 19:36:48 -06:00
Ryan Houdek
eaf17b7d7b
[AArch64] Register cache improvements.
...
Adds the ability to flush the cache and maintain state.
Adds the BindToRegister ability.
Sorts register usage as callee saved used first, reduces dumping pressure when jumping to external routines/interpreter.
Adds a function to store a register, for use when flushing a register that won't be used during the rest of a block.
2014-12-20 19:36:48 -06:00
JosJuice
34a37cc30d
WII_IPC_HLE: Fix timing weirdness
...
The reply delay of a command shouldn't be ignored just because the
previous command isn't done yet. DI is way too fast without this change.
2014-12-20 22:07:30 +01:00
JosJuice
be9789f2c6
WII_IPC_HLE_Device_DI: Use the new accurate timing
2014-12-20 22:07:28 +01:00
JosJuice
a7296681ff
WII_IPC_HLE: Return delay time instead of using GetCmdDelay
2014-12-20 22:07:15 +01:00
Pierre Bourdon
cee4a85a12
Merge pull request #1633 from JosJuice/dvd-speed-tweak
...
DVDInterface: Tweak speeds
2014-12-20 16:46:22 +01:00
Pierre Bourdon
24a2ca4d28
Merge pull request #1703 from FioraAeterna/saveregs
...
JIT: free up a register by eliminating RCODE_POINTERS
2014-12-20 16:45:08 +01:00
Pierre Bourdon
e7eb4c06e2
Merge pull request #1634 from JosJuice/disc-drive-unification-lite
...
Make WII_IPC_HLE_Device_DI call DVDInterface
2014-12-20 16:41:52 +01:00
JosJuice
d1c8a8bd9f
Make WII_IPC_HLE_Device_DI call DVDInterface
2014-12-20 13:02:04 +01:00
Matthew Parlane
6a785af280
Merge pull request #1704 from phire/wii_ssl_segfault
...
De-memsetify Wii_SSL and fix segfault.
2014-12-20 21:16:55 +13:00
skidau
f913cb6ab6
Removed redundant code from the GC Adapter interface.
2014-12-20 09:44:35 +11:00
skidau
9eecfca71d
Corrected the buffer that is used by the GCAdapter thread.
2014-12-20 09:44:35 +11:00
degasus
5f322cc9e8
Jit: move constants out of class
...
This fixes a linking issues on debug builds.
2014-12-17 23:42:10 +01:00
skidau
5313dd1b8c
Merge pull request #1702 from CarlKenner/DebugSymbols
...
Fix many bugs with the Symbols menu (when run with -d argument).
2014-12-17 22:04:56 +11:00
CarlKenner
6e7eb52211
Rename menu items, stop using PanicAlertT, remove -d when running from visual studio.
...
I accidentally committed my addition of the -d option that I used for testing, now it's fixed.
2014-12-17 01:12:33 +10:30
CarlKenner
84ae817c18
Remove white space at ends of lines.
2014-12-17 01:12:08 +10:30
CarlKenner
cd5d354acc
Load 4 column map files like in American Mensa Academy.
...
Unfortunately the map files in American Mensa Academy don't correspond to the release version.
But at least now if other games use those map files we will be able to load them.
2014-12-17 01:12:03 +10:30
CarlKenner
dfd915eb53
Merge bad map file loading into the original function.
2014-12-17 01:11:58 +10:30
CarlKenner
e246aaf419
Add "Load bad map file" option for map files on disc that don't quite match.
...
Currently it is very simple and naive, but filters out most of the bad matches.
2014-12-17 01:11:41 +10:30
CarlKenner
f54d9e33c2
Fix many bugs with the Symbols menu (when run with -d argument).
...
The Symbols menu is now fully useable.
2014-12-17 01:11:36 +10:30
skidau
ce8b3d83a8
Merge pull request #1693 from magumagu/memcheck-fastmem
...
JIT: use fastmem loads in MMU mode.
2014-12-16 13:07:53 +11:00
Scott Mansell
950ca267bb
De-memsetify Wii_SSL and fix segfault.
...
Fixes #7917
The first memset was clearing the delicate bits of the std::string
in the struct, causing segfaults.
I also removed the rest of the memsets because they were paranoid,
unneeded and waseful. We shouldn't be managing the ssl libraries
structs for it.
I checked and the ssl library's functions were already memsetting
those structs as needed.
2014-12-15 18:17:00 +13:00
Fiora
76ca42b758
JIT: free up a register by eliminating RCODE_POINTERS
...
Also use shorter code in the dispatcher if we can get away with it (e.g. on
Windows where the relevant memory is in the low 2GB).
2014-12-14 18:19:37 -08:00
skidau
d02eb3ca59
Merge pull request #1640 from rohit-n/switch-default
...
Silence some -Wswitch-default warnings.
2014-12-13 19:47:06 +11:00
magumagu
e479606b07
JIT: simplify code using MOVTwo.
2014-12-12 22:29:49 -08:00
magumagu
43d56febc4
JIT: use fastmem loads in MMU mode.
...
Even in games that require MMU mode, loads outside the area specified by
the BAT are rare, so fastmem is a substantial improvement.
All of the interesting changes are in the backpatch handler, to make it
generate DSI exceptions correctly.
2014-12-12 22:08:46 -08:00
skidau
6fb89e3b77
Fixed the Y button (typo) on the GC adapter.
2014-12-13 16:14:18 +11:00