Commit graph

4506 commits

Author SHA1 Message Date
Brett Lawson
5b9ffd8f6e Fix JIT for stfiwx. 2015-07-06 00:00:50 -04:00
Brett Lawson
47e92bd0e3 Fix minor bug in rlw JIT. 2015-07-06 00:00:45 -04:00
Brett Lawson
0918b90bcb Minorly optimize JIT multiply generation. 2015-07-06 00:00:40 -04:00
Brett Lawson
980e673651 Implement more JIT conditions using fallback and properly implement mcrf
and mcrxr.
2015-07-06 00:00:31 -04:00
Brett Lawson
a8f07f65c8 Fix bug with JIT extsb, extsh condition flags. 2015-07-05 22:50:32 -04:00
Brett Lawson
a2e8a735d9 Implement a bunch of JIT integer instructions. 2015-07-05 22:47:09 -04:00
Brett Lawson
d12c24c10e Change many unimplemented JIT functions to fallback instead. 2015-07-05 22:46:15 -04:00
Brett Lawson
bad2b5b89f Fix extsb/extsh functions named backwards. 2015-07-05 22:45:20 -04:00
Brett Lawson
49d11861a8 Implement shiftArithmetic, shiftLogical. Additionally fallback for JIT Subtract for now... 2015-07-06 11:20:35 -03:00
Brett Lawson
e0a5c35611 Fix bug in JIT mtspr. 2015-07-06 11:20:35 -03:00
James Benton
17bd98e251 Add a lazy hack workaround until I can figure out how to fix this.
I think a game is writing data past the end of its allocated memory.
Or we are not returning a good sized block for it to use.
2015-07-06 01:17:49 +01:00
James Benton
b96e3f803c Create a new processor threading system using fibers.
There is now only 3 host threads, and WiiU game threads are now running
as fibers within the host threads.
2015-07-06 01:16:39 +01:00
James Benton
0f5ee2b845 Fix some bugs in expheap 2015-07-06 01:15:20 +01:00
James Benton
8d1f85fed2 Implement FSSetPosFile, FSGetCwd 2015-07-06 01:14:46 +01:00
James Benton
98250bab27 gMemory.translate do nothing to nullptr 2015-07-06 01:14:26 +01:00
James Benton
2be56929a2 Add bool arg_converter_t 2015-07-06 01:14:17 +01:00
James Benton
5fc56fc6e8 Add operator== for p32 2015-07-06 01:13:23 +01:00
James Benton
6a7495ff71 Recode the zlib kernel functions.
Only implement inflateInit2_, inflate and inflateEnd for now
2015-07-06 01:12:24 +01:00
James Benton
b0fb93dbe8 Make the file logger also output to console window. 2015-07-06 01:11:53 +01:00
James Benton
1d13adeefe Add some nn:ac and nn::act stubs 2015-07-06 01:11:28 +01:00
Brett Lawson
f049a1fdec Severely increase the maximum instruction limit for JIT. 2015-07-05 03:24:27 -03:00
Brett Lawson
c5ac8c268e Fix bug with logging pointer types (wrapped in be_ptr). 2015-07-05 03:22:38 -03:00
Brett Lawson
b97daabcd9 Fix bug in JIT jump label creation. 2015-07-05 03:08:30 -03:00
Brett Lawson
f6b24224d6 Implement tw as an INT3 to allow generation to succeed. 2015-07-05 03:07:09 -03:00
Brett Lawson
1d524ff2b4 Implement CR conditions in JIT. 2015-07-05 03:02:48 -03:00
Brett Lawson
a333fd1397 Fix interpreter bit bugs. 2015-07-05 02:59:00 -03:00
Brett Lawson
1c7fd42e43 Allow unimplemented kernel functions.
Also update logic so unimplemented kernel calls fail at
call time rather than generation time.
2015-07-05 02:24:36 -03:00
Brett Lawson
8dc50b37eb Implement JIT floating-point using Interpreter fallback. 2015-07-05 02:20:21 -03:00
Brett Lawson
1c1e31444a Implement JIT mul and neg. 2015-07-04 10:47:42 -03:00
James Benton
e3aa759ea4 Set log level to trace. 2015-07-04 14:31:32 +01:00
Brett Lawson
ad0ed7b123 Set log level to debug by default. 2015-07-04 10:30:15 -03:00
Brett Lawson
6c2d01ca0b Added tests for cntlzw. 2015-07-04 09:52:21 -03:00
Brett Lawson
47627ede31 Implemented JIT cntlzw. 2015-07-04 09:52:12 -03:00
Brett Lawson
7b7ba632eb Fix bug from JIT cache not being cleared between code tests. 2015-07-04 09:52:01 -03:00
Brett Lawson
ded420e6b1 Fix bug in Interpreter CNTLZW 2015-07-04 09:51:48 -03:00
Brett Lawson
6dff423b57 Only JIT prepare for code-tests when JitMode is Enabled. 2015-07-04 09:29:25 -03:00
Brett Lawson
19b564b204 Implemented JIT xor. 2015-07-03 19:24:14 -04:00
Brett Lawson
93c6f4fc4e Fixed signed/unsigned comparisons in JIT. 2015-07-03 19:24:00 -04:00
Brett Lawson
e170a03499 Implemented JIT and. 2015-07-03 19:23:51 -04:00
Brett Lawson
0557fa30a6 Fixed bug in JIT for add. 2015-07-03 19:23:39 -04:00
Brett Lawson
8e1ad5f581 Print instruction name on JIT debug mode error. 2015-07-03 19:23:29 -04:00
Brett Lawson
e9baaf2af8 Implemented more JIT instructions. 2015-07-04 10:17:17 -03:00
Brett Lawson
35eb9d6230 Add accessors for Paired Registers in assembler. 2015-07-04 10:16:18 -03:00
Brett Lawson
a3efcaacef Print on failed JIT generation in JIT debug mode. 2015-07-04 10:16:18 -03:00
Brett Lawson
9bb46a8bf4 Fix another JIT debug comparison typo. 2015-07-04 10:14:30 -03:00
James Benton
a63774faa9 Change Kernel Function log level to trace. 2015-07-04 13:58:06 +01:00
James Benton
51fe3b796c Fix test code formatting. 2015-07-04 13:53:43 +01:00
James Benton
810e8f6c57 Change logging to use spdlog. 2015-07-04 13:51:15 +01:00
James Benton
50682504e9 Improve kernel function logging a little bit.
Should probably rewrite it to use spdlog actually..
2015-07-04 12:37:52 +01:00
James Benton
bd487cf0b9 Fix some bad const usage with p32 2015-07-04 12:35:00 +01:00