Commit Graph

3613 Commits

Author SHA1 Message Date
Jordan Woyak
4d1f113ab1 Fix some emulated wiimote turntable stupidness (DJ Hero controller). Happy Christmas!
Fixed issue 6865.
2013-12-25 15:33:33 -06:00
Rachel Bryk
04b87e1dcc Change a PanicAlert to OSD message. 2013-12-23 07:18:28 -05:00
Ryan Houdek
42217fbd75 Fix the extended information status line that shows emulated mhz + idles skipped. 2013-12-21 17:58:04 -06:00
degasus
5eab3239bb Jit64: load second operator for double intrutions
SSE do support non-vector instructions, but they _all_ overwrite the dest register
if the src location isn't a register. (wtf?)
So we have to load the src into a temporay register :(
2013-12-17 08:49:06 +01:00
degasus
2fad2a3e88 Revert "Jit64: use AVX instructions in some places"
and the fixes afterwards

This reverts commit ff91789773.
This reverts commit bcefa880e4.
This reverts commit 710a0ff435.
This reverts commit ddaf29e039.
2013-12-17 08:49:06 +01:00
comex
1b617c736c Add a non-tiny warning about CPUs that will silently desync. 2013-12-16 22:41:52 -05:00
comex
d619ccee21 Remove the flawed, unused attempt to manually emulate Gecko codes.
Parsing Gecko codes (in any manner) is much like parsing HTML with regex
- that w̷a̶y̸ l̵i̷e̴s̵ m̴̲a̵͈d̵̝n̵̙ę̵͎̞̼̙̼͔̞͖͎̝s̵̨̬̱͍͓͉̠̯̤͙̝s̷͍̲̲̭̼͍͎͖̤̭̘.  Luckily, with the embedded codehandler.bin,
the monstrosity may remain at only one implementation.  Anyway, removing
the inserted_asm_codes thing probably speeds up the interpreter a bit.
2013-12-16 22:27:13 -05:00
Lioncash
e0aa674c72 Minor const-correctness for some functions in FifoPlayer and some AudioCommon headers. 2013-12-11 08:43:58 -05:00
Ryan Houdek
db9c586356 Revert "jit: change our linking module to be able to handle arbitrary exit addresses"
This shouldn't cause issues, but does in Windows. Revert for now.
This reverts commit 1aa06b8fa4.
2013-11-25 16:56:04 -06:00
Ryan Houdek
6f73162df4 [ARM] Implement the Acid test in the JIT core. This test is currently broken in JIT64 since it uses cr instead of cr_fast. 2013-11-24 10:51:07 +00:00
skidau
efeb0096c9 Changed the DSP ROM warning from a panic alert to an on-screen message. 2013-11-22 14:55:25 +11:00
Ryan Houdek
ea9ac07ec9 Merge branch 'master' into jit_exit_addresses 2013-11-21 21:17:58 -06:00
Tillmann Karras
ff91789773 Jit64: really fix fmrx regression
This is more tricky than I thought!
2013-11-21 05:31:55 +01:00
degasus
011fe86d01 jit64: add regcache option IsBound
Lots of x86 instructions are different on memory vs registers.
So to generate code, we often have to check if a ppc register is already bound to a x86 register.
2013-11-21 05:16:58 +01:00
Tillmann Karras
bcefa880e4 Jit64: fix fmrx regression
Revision ddaf29e039 introduced a register
corruption bug (#6825). Since fmrx/MOVSD only modifies ps0 but we save
both ps0 and ps1 in one xmm register, not loading the previous value
when binding to a x64 register trashed ps1.

But hey, a good opportunity to shave off one more instruction ;)
2013-11-20 21:30:49 +01:00
comex
4f13f6ecaa "warning fixes" commit introduced warnings; fix them. (And I refuse to use PRI macros.) 2013-11-18 14:34:21 -05:00
Tillmann Karras
b863e40677 Merge branch 'ppc_fp' 2013-11-18 19:31:09 +01:00
Matthew Parlane
e805bf6068 Only add real HID devices to HID list. 2013-11-17 21:14:22 +13:00
Jordan Cristiano
714633f311 Fixed console commands not registering. Code cleanup. 2013-11-14 22:23:55 -05:00
Jordan Cristiano
0fced651a5 More warning fixes, OSX build fix. 2013-11-14 03:11:40 -05:00
Jordan Cristiano
c3069eda28 build fix 2013-11-14 02:27:53 -05:00
Jordan Cristiano
39a4d4329d more warning fixes 2013-11-14 02:19:15 -05:00
Ryan Houdek
63a9dff3bb Windows requires memory to be included to use unique_ptr 2013-11-13 12:51:49 -06:00
Ryan Houdek
652ef24a2e Remove our two instances of auto_ptr and replace it with unique_ptr. auto_ptr has been deprecated. 2013-11-13 11:44:04 -06:00
Tillmann Karras
038ffea369 Jit64: don't flush clean FPRs 2013-11-13 08:03:18 +01:00
degasus
d78c8c21a2 jit64: enable fp instructions faddx fsubx fdivx fdivsx
all of them are now accurate enough as we handle non-ieee floats correctly
2013-11-13 06:26:50 +01:00
Tillmann Karras
cd069fdce1 Interpreter: software-based flush-to-zero
bDAZ is now called bFlushToZero to better reflect what it's actually
used for.

I decided not to support any hardware-based flush-to-zero on systems
that don't support this for both inputs _and_ outputs. It makes the code
cleaner and the intersection of CPUs that support SSE2 but not DAZ
should be very small.
2013-11-13 06:24:58 +01:00
Tillmann Karras
466a7afde3 Interpreter: support non-IEEE mode emulation
v2: fix fxsave on visual studio, thx @ rodolfo for this patch
2013-11-13 06:24:57 +01:00
Tillmann Karras
710a0ff435 Jit64: don't unnecessarily load registers 2013-11-13 06:16:24 +01:00
Tillmann Karras
ddaf29e039 Jit64: use AVX instructions in some places 2013-11-13 06:15:56 +01:00
Tillmann Karras
22b47d5b9c Jit64: Fix and re-enable psq_l for W=1
Patch by konpie:
https://forums.dolphin-emu.org/Thread-code-bug-report-based-on-3-0-735
2013-11-13 05:58:28 +01:00
Tillmann Karras
2fecb033be Jit64: micro-optimize ps_sel
Adapted from a patch by konpie:
https://forums.dolphin-emu.org/Thread-code-bug-report-based-on-3-0-735
2013-11-13 04:45:43 +01:00
Tillmann Karras
6f5650f82e Fix Bluetooth warnings 2013-11-13 04:01:24 +01:00
Tillmann Karras
268bdf19ce Fix format string warnings 2013-11-13 04:01:16 +01:00
Ryan Houdek
39ad5a2f7a Disable Fastmem on JIT64IL. JIT64IL is completely incompatible with Fastmem and doesn't need it since it has its own way to speed up memory accesses. This fixes the JIT64IL core, which I totally didn't break but was blamed for. 2013-11-12 19:37:09 -06:00
Ryan Houdek
a72b3ca20c [ARM] Don't leave my test code in the JIT core. 2013-11-12 04:22:42 +00:00
Ryan Houdek
56557c845a [ARM] Fix NEON emitter encodings. 2013-11-12 01:01:54 +00:00
Shawn Hoffman
33d56f50a4 Re-plumb window handle to the dsound backend.
Reverts parts of commit 71c01d83ab614b9e0c421d03ca694713dbabff48.
Fixes issue 6800
2013-11-07 09:24:56 -08:00
Lioncash
c33036aa01 Fix the filter for some files in the Core VS project related to the JitIL. They were in the root of the project. They should actually be in their own filter named JitILCommon. 2013-11-07 01:33:32 -05:00
degasus
1aa06b8fa4 jit: change our linking module to be able to handle arbitrary exit addresses
And also do this for all JIT backends...
2013-11-07 06:19:35 +01:00
Pierre Bourdon
ea6fd58b97 Use an unordered_set to track FIFO write adresses
Reduces CheckGatherPipe CPU consumption by 40%.
2013-11-07 03:22:32 +01:00
Tillmann Karras
cdc27e46f1 Jit64: implement ps_res
This is probably more accurate than it is allowed to be. After all, the
instructions are supposed to be "estimates".
2013-11-07 02:19:20 +01:00
Tillmann Karras
0a2a273a2e Jit64: simplify ps_sel 2013-11-07 02:02:38 +01:00
Tillmann Karras
201c4c65a5 Jit64: fix typo in ps_sel and re-enable it 2013-11-07 02:02:24 +01:00
degasus
2f7ca688ae jit64: remove dead code 2013-11-07 01:59:10 +01:00
Tillmann Karras
c29fb22cd4 Jit64: extract frsqrtex as method 2013-11-07 01:59:00 +01:00
Matthew Parlane
897bec1add [JitIL] No more terrible usage of vectors.
This is possible because of C++11.
2013-11-06 22:18:08 +13:00
Ryan Houdek
948ace9546 [ARM] Minor idle skip optimization in bx. 2013-11-05 13:05:39 +00:00
Matthew Parlane
e15f628935 Fix {Read,Write}FileToString.
We should be using binary always.
2013-11-05 00:33:41 +13:00
comex
3f1ea21e4f Fix warnings. 2013-11-03 20:54:06 -05:00