Commit graph

4506 commits

Author SHA1 Message Date
Brett Lawson
48538b6132 Stub more kernel calls. 2015-10-19 22:47:17 -04:00
Brett Lawson
bb309a3383 Use VirtualAlloc and PAGE_NOACCESS to lock down unimplemented data.
If the WiiU process attempts to read or write any unimplemented
data, the emulator will now break rather than continueing
with potentially unexpected results.
2015-10-19 22:47:09 -04:00
James Benton
3984f29236 Revert "Add fctiw, fctiwz, frsp, fabs, fnabs, fmr, and fneg to the JIT, with implementations ported from Dolphin"
This reverts commit df6cf15cda.
2015-10-20 02:15:45 +01:00
James Benton
6d10ff6636 Implement FSChangeDir. 2015-10-20 02:05:42 +01:00
James
4cf281307a Merge pull request #56 from MoochMcGee/master
Add fctiw, fctiwz, frsp, fabs, fnabs, fmr, and fneg to the JIT.
2015-10-20 02:03:48 +01:00
James Benton
4797e23b76 Clear floating exceptions after reading them. 2015-10-20 00:49:55 +01:00
James Benton
adffdd1a5c Fix updateFPRF setting positive flag for +0. 2015-10-20 00:49:49 +01:00
James Benton
bc55f7b6c5 Fix fabs.
std::fabs is weird, clear the bit manually.
2015-10-20 00:49:41 +01:00
Darius Goad
df6cf15cda Add fctiw, fctiwz, frsp, fabs, fnabs, fmr, and fneg to the JIT, with implementations ported from Dolphin 2015-10-19 17:46:22 -05:00
James Benton
7398b647af Merge branch 'master' of github.com:exjam/wiiu-emu 2015-10-19 21:11:27 +01:00
James Benton
1f4cc6dbb3 Fix carry for sraw. 2015-10-19 21:11:00 +01:00
James Benton
8cfb5a9ce7 Fix eqv instruction not being registered. 2015-10-19 21:10:57 +01:00
James Benton
893481c053 Fix slw failing for shifts > 31. 2015-10-19 21:10:54 +01:00
James Benton
6dabd92733 Fix divw, apparently -N / 0 = -1 and +N / 0 = 0. 2015-10-19 21:10:52 +01:00
James Benton
d01388668e Fix addicx, it should not update overflow register. 2015-10-19 21:10:47 +01:00
James Benton
89109d0f14 Update SPRs with values from wiiubrew. 2015-10-19 21:09:34 +01:00
Lioncash
db8d511fda be_val: Default initialize value member
Puts the object in a valid state when no constructor argument is given
2015-10-19 21:09:34 +01:00
James
994f3e72e3 Merge pull request #54 from lioncash/memcpy
bitutils: Use memcpy instead of reinterpret_cast for bit_cast
2015-10-19 09:48:55 +01:00
Lioncash
f4ce6f0537 bitutils: Make bit_width constexpr 2015-10-18 22:35:48 -04:00
Lioncash
e0c7ae7c42 bitutils: Use memcpy instead of reinterpret_cast for bit_cast
Doesn't have the potential to break strict aliasing or alignment
requirements this way.
2015-10-18 22:14:29 -04:00
James Benton
242c6b5783 Update SPRs with values from wiiubrew. 2015-10-18 13:06:34 +01:00
James
ff2056a651 Merge pull request #52 from lioncash/init
be_val: Default initialize value member
2015-10-18 00:22:15 +01:00
Brett Lawson
1c8a1edd23 Fuzzing works now! Lot simpler code too... 2015-10-17 03:01:09 -03:00
Brett Lawson
f577a21d1b A bunch of stuff I'm about to overwrite... 2015-10-17 01:58:27 -03:00
Lioncash
0042d84f09 be_val: Default initialize value member
Puts the object in a valid state when no constructor argument is given
2015-10-16 13:57:58 -04:00
Brett Lawson
667f03899c CPU should not rely on any external components. 2015-10-16 03:10:07 -03:00
Brett Lawson
265da06dfd Began refactor of CPU/Memory structure. 2015-10-16 02:39:42 -03:00
Brett Lawson
1b3fa1d646 More tracer stuff... 2015-10-15 17:28:06 -03:00
Brett Lawson
04967a537e Added actual instruction generator to fuzzer. 2015-10-15 14:24:15 -03:00
Tillmann Karras
83d1c8736e Interpreter: fix inputs for float multiplies 2015-10-15 18:38:44 +02:00
Tillmann Karras
757afe2ef5 Normalize line endings to LF only 2015-10-15 18:22:16 +02:00
Tillmann Karras
dff76190c6 Make files not executable
find * -type f -executable -execdir chmod -x {} \;
2015-10-15 18:20:42 +02:00
James Benton
ca6ed6d5b5 Add gx2 vsync alarm. 2015-10-15 02:16:08 +01:00
James Benton
333777df21 Add nn_nfp.
Standardise nn::Result.
Rename the nn_* libraries.
2015-10-15 02:15:23 +01:00
James Benton
aa8934673d Some KPAD/VPAD stuff. 2015-10-15 02:15:17 +01:00
James Benton
62c69e8dff Add a comment to virtual_ptr to try appease Brett 2015-10-15 02:15:11 +01:00
James Benton
2eb7e447b9 Fix interrupt checker when tCurrentCore is not set.
This happens when running tests.
2015-10-15 02:15:04 +01:00
Brett Lawson
93b722f3ab Fix kc implementation bug. 2015-10-15 01:36:29 -04:00
Brett Lawson
e0e98b5e18 Started work on instruction fuzzing.
Added some additional meta-data to the instruction list to
allow us to identify incorrectly written instruction data
(fixed a few).
2015-10-15 02:41:05 -03:00
Brett Lawson
c32ecd8c26 Various fixes for the JIT.
--jitdebug now runs AmiiboSettings again, though it
appears to fail on --jit for some reason...
2015-10-14 20:04:05 -03:00
Brett Lawson
afa32b9b81 Add better error logging for JIT generation failures. 2015-10-14 20:04:05 -03:00
Lioncash
66b4807efe hlsl_alu_op2: Fix predicate operators 2015-10-14 18:47:07 -04:00
Brett Lawson
9793b01db3 Fix bug causing JIT to trample data. 2015-10-14 12:30:25 -03:00
Lioncash
c955a94c0d jit: fix a comparison in shiftTo 2015-10-14 11:14:45 -04:00
Brett Lawson
fa87195405 Fix vertex buffer copying bug identified by @darkf.
Also rewrote the vertex buffer endian-swap code to be
more performant and better organized.  Including being
able to handle alternate endian-swap modes.
2015-10-14 11:45:09 -03:00
James Benton
92ce0ac033 Refactor system types to reduce header file spaghetti mess.
Replace p32 with virtual_ptr.
Remove many dependencies on memory.h by introducing memory_translate.h.
Move struct size checking macros to structsize.h
2015-10-14 01:27:10 +01:00
James Benton
a744ead4f6 Fix ps_sum0. 2015-10-14 10:53:05 +01:00
Brett Lawson
3d7e12dedb Merge pull request #46 from lioncash/nullptr
loader: Return nullptr instead of false in loadRPL
2015-10-14 02:41:30 -03:00
Brett Lawson
f9e3f30e3a Implement some blending stuff.
Gets rid of that dirty background on the loading
indicator in AmiiboSettings.
2015-10-14 02:36:24 -03:00
Brett Lawson
216b52b617 Fixed bug where context state was trampled. 2015-10-14 02:36:24 -03:00