Lioncash
5a321d31dd
GCPadEmu/WiimoteEmu: Make some arrays static
2014-10-31 09:51:51 -04:00
Lioncash
72c958810c
SI_Device: Make GetDeviceNumber and GetDeviceType const.
2014-10-31 09:30:56 -04:00
Scott Mansell
9cb80875e6
Fix DSPLLE for games which DMA data from MEM2 to the DSP.
...
Fixes issue 7812.
2014-10-31 23:17:58 +13:00
comex
2ecd849eab
Reorganize faulting stuff. Differentiate between arch- and OS-specific defines.
...
- Get rid of ArmMemTools.cpp and rename x64MemTools.cpp to MemTools.cpp.
ArmMemTools was almost identical to the POSIX part of x64MemTools, and
the two differences, (a) lack of sigaltstack, which I added to the
latter recently, and (b) use of r10 to determine the fault address
instead of info->si_addr (meaning it only works for specifically
formatted JIT code), I don't think are necessary. (Plus Android, see
below.)
- Rename Core/PowerPC/JitCommon/JitBackpatch.h to Core/MachineContext.h.
It doesn't contain anything JIT-specific anymore, and e.g. locking
will want to use faulting support regardless of whether any JIT is in
use.
- Get rid of different definitions of SContext for different
architectures under __linux__, since this is POSIX. The exception is
of course Android being shitty; I moved the workaround definition from
ArmMemTools.cpp to here.
- Get rid of #ifdefs around EMM::InstallExceptionHandler and just
provide an empty implementation for unsupported systems (i.e.
_M_GENERIC really). Added const bool g_exception_handlers_supported
for future use; currently exception handlers are only used by the JIT,
whose use implies non-M_GENERIC, but locking will change that.
- Remove an unnecessary typedef.
2014-10-31 00:14:06 -04:00
skidau
7d5c509c07
Fixed the endianess of the 32bit MMIO reads.
2014-10-31 13:19:52 +11:00
skidau
e0c347527b
Merge pull request #1446 from RachelBryk/accel2
...
Fix wiimote accel.
2014-10-31 13:04:37 +11:00
Rachel Bryk
b08d993b55
Fix wiimote accel.
2014-10-30 21:28:02 -04:00
comex
de6dd847e7
Merge pull request #1445 from lioncash/array
...
DSPAnalyzer: Use a std::array for the code flags
2014-10-30 17:43:00 -04:00
Lioncash
b09ce72605
DSPAnalyzer: Use a std::array for the code flags
2014-10-30 12:45:27 -04:00
Lioncash
319f97bb56
BootManager: Get rid of unnecessary forward declaration
2014-10-29 22:25:16 -04:00
Scott Mansell
b4e0328508
And clean up this GetPointer() while I'm here.
...
It will probally be replaced later.
2014-10-29 23:59:32 +13:00
Scott Mansell
3e47480470
Remove dumb getPointers that actually want the whole memory block.
...
The whole memory block is accessable globally anyway. Much
cleaner!
2014-10-29 23:51:27 +13:00
Fiora
fb0960f0ee
JIT: flush unused registers during branch merges
...
Also correct some flags in interpreter tables.
2014-10-29 00:32:59 -07:00
Fiora
1ec1a9c33a
JIT: optimize crclr special case of crxor
2014-10-29 00:30:27 -07:00
Fiora
97fba41860
JIT: merge fcmpx and cror
...
Almost all uses of boolean condition-register ops in real code seem to be
the combination fcmpx + cror (e.g. for <= or >=). This merges the two.
2014-10-29 00:30:27 -07:00
Fiora
a666bb6bf6
JIT: optimize mulhwu
2014-10-29 00:30:26 -07:00
Fiora
5b5e462200
JIT: reorder blr comparisons
...
This should allow macro-op fusion in blr instructions.
2014-10-29 00:30:26 -07:00
Fiora
7388c62439
JIT: use BLR optimization to avoid anding LR with 0xFFFFFFFC
...
Should save roughly one instruction per blr.
2014-10-29 00:30:26 -07:00
Fiora
cec2cb9d38
JIT: micro-optimize cmpXX a bit more for lower latency/code size
2014-10-29 00:30:25 -07:00
comex
089e32ba7d
Merge pull request #1307 from comex/bitset
...
Higher level bitset wrapper
2014-10-28 23:39:35 -04:00
skidau
049afc4315
Merge pull request #1428 from phire/fixPaletteCpy
...
Fix Invalid Palette Pointer error.
2014-10-29 12:25:57 +11:00
comex
6698bfe58e
Merge pull request #1424 from phire/memmapPtrCleanup
...
Memmap pointer cleanup.
2014-10-28 17:31:23 -04:00
comex
1c32a3f77c
Merge pull request #1426 from lioncash/osx
...
Make some OSX-only functions static
2014-10-28 16:16:03 -04:00
Scott Mansell
d77f361c01
Add range checking to CopyTo/FromEmu so it won't segfault.
2014-10-29 08:53:53 +13:00
Lioncash
fd39454ad3
Make some OSX-only functions static
...
Gets rid of function prototype warnings.
2014-10-28 08:41:50 -04:00
Scott Mansell
1fbf4ae58a
Round up 7 nibble constants to 8 nibbles, for readablity.
2014-10-29 00:01:02 +13:00
Scott Mansell
a6671645d6
Remove commented out EFB arena code.
2014-10-28 23:58:54 +13:00
Scott Mansell
125cd92c3c
Update pointer types in memmap.cpp to match dolphin style guide.
2014-10-28 23:54:37 +13:00
Lioncash
88ec3b7725
EXI_Channel: Use an enum for read/write modes
2014-10-27 21:57:48 -04:00
skidau
1630b0c684
Merge pull request #1291 from skidau/debugger-step-out
...
Dolphin debugger enhancements
2014-10-28 12:53:22 +11:00
skidau
dd3cd30ee8
Merge pull request #1393 from RachelBryk/accel
...
Fix acceleration emulation for wiimote and nunchuk.
2014-10-28 12:46:37 +11:00
fkane
c37aca70a7
Make expansion interface interrupt updates thread-safe (fixes loss of audio in Super Mario Sunshine on lower-end systems.)
2014-10-27 09:37:17 -04:00
skidau
daf977e84e
Disabled optimizations, block merging and instruction skipping code while the debugger is stepping.
2014-10-27 23:38:45 +11:00
Ryan Houdek
81dda593cd
Merge pull request #1404 from Sonicadvance1/fix-ARMv7
...
Fixes some ARMv7 regressions.
2014-10-27 05:15:17 -06:00
Lioncash
edea9dfca3
EXI_DeviceIPL: Fix vertical alignment of IPL arrays
2014-10-26 11:45:56 -04:00
skidau
4570dd7eeb
Fixed a crash that would occur if a new watch were added by entering a watch name.
...
Code style updates.
2014-10-26 23:23:45 +11:00
skidau
2a3a8520a2
Removed the EXRAM_MASK from the safe address check as it was causing invalid accesses on Wii games in DEBUGFAST builds
2014-10-26 14:56:03 +11:00
skidau
290e1bed37
Disable block linking while debugger stepping or if there are breakpoints
2014-10-26 14:56:02 +11:00
skidau
613cae613a
Added a RAM Watch window to the debugger
...
Conflicts:
Source/Core/Core/HW/Memmap.cpp
Source/Core/Core/HW/Memmap.h
Source/Core/DolphinWX/Debugger/CodeWindow.h
2014-10-26 14:56:02 +11:00
skidau
df37649b9f
Changed the step over routine to a single stepping version that steps until a blr is encountered.
...
Cleared out all temporary breakpoints on each step to prevent phantom breakpoints from stopping the debugger.
2014-10-26 14:56:02 +11:00
skidau
b331ec96a3
Made the "continue", "stepover" and "stepout" functions work when the PC is at a breakpoint
2014-10-26 14:56:02 +11:00
Ryan Houdek
0fbd5248ca
Fixes a potential crash on the ARMv7 JIT if someone disables the entire JIT in the debugger.
...
We can't disable branches in the JITs. Make sure they don't become disabled if someone tries to disable the full JIT.
2014-10-25 20:38:44 -05:00
Ryan Houdek
17f352e2aa
Fixes some overzealous optimizations from ARMv7 BindToRegister.
...
We can't do it in rlw and friends.
subfx had an inccorect check.
Minor whitespace and reordering.
2014-10-25 20:36:29 -05:00
Ryan Houdek
484fc392d6
Fixes minor bug in the ARMv7 register cache.
...
Makes sure our register we are binding doesn't get unloaded immediately.
2014-10-25 20:34:11 -05:00
Rachel Bryk
f07d3be502
Fix acceleration emulation for wiimote and nunchuk.
...
The 1-2 least significant bits were missing.
2014-10-25 19:49:42 -04:00
comex
eb7f4dac50
Convert registersInUse to BitSet.
2014-10-25 16:57:25 -04:00
comex
b6a7438053
Add BitSet and, as a test, convert some JitRegCache stuff to it.
...
This is a higher level, more concise wrapper for bitsets which supports
efficiently counting and iterating over set bits. It's similar to
std::bitset, but the latter does not support efficient iteration (and at
least in libc++, the count algorithm is subpar, not that it really
matters). The converted uses include both bitsets and, notably,
considerably less efficient regular arrays (for in/out registers in
PPCAnalyst).
Unfortunately, this may slightly pessimize unoptimized builds.
2014-10-25 16:56:51 -04:00
comex
275755aaaf
Merge pull request #1381 from skidau/Remove-false-ext-exception-error
...
Added a check for external exceptions that have been set
2014-10-25 16:48:44 -04:00
comex
b7cb5b69c4
Merge pull request #1387 from RachelBryk/radius
...
Change default gcpad radius to 100.
2014-10-25 16:46:06 -04:00
Ryan Houdek
e780a49a06
Merge pull request #1375 from Sonicadvance1/ARMv7-optimizations
...
Minor ARMv7 JIT recompiler optimizations.
2014-10-25 08:28:10 -05:00