Commit Graph

2259 Commits

Author SHA1 Message Date
Dani Messerman
2839139250 Added LDR 2015-05-10 22:32:34 +03:00
Dani Messerman
f8ca04f93f Stopping dyncom translation where there is a binary translation available. 2015-05-10 22:32:34 +03:00
Dani Messerman
70463da199 Added instruction counting 2015-05-10 22:32:34 +03:00
Dani Messerman
3ae4d8b646 Added arithmetic instructions (add, sub, and, or, ...) 2015-05-10 22:32:33 +03:00
Dani Messerman
840ab06561 Added Thumb rejection. Can run retail games now. 2015-05-10 22:32:33 +03:00
Dani Messerman
1b87113184 Added an option to verify the output. This is done by stopping after each instruction and checking what the interpreter produced vs. the binary translation. 2015-05-10 22:32:32 +03:00
Dani Messerman
cf4914e4fc Promoted shifts conditional branches to select 2015-05-10 22:32:32 +03:00
Dani Messerman
9c3c193a4c Added block partitioning to make optimizations faster and hopefully better 2015-05-10 22:32:32 +03:00
Dani Messerman
0aec1529d3 Added mov immediate 2015-05-10 22:32:31 +03:00
Dani Messerman
3151d6a99b Renamed DataProcessing to MovShift, reducing its scope 2015-05-10 22:32:31 +03:00
Dani Messerman
8d21d9c6a8 Removed unused libraries 2015-05-10 22:32:31 +03:00
Dani Messerman
22fbe294be Added some shifts 2015-05-10 22:32:30 +03:00
Dani Messerman
66f70e7321 Added conditional execution
24% of instructions in 3dscraft
2015-05-10 22:32:29 +03:00
Dani Messerman
7882bb2c4c Added bl, blx
17% of the instructions in 3dscraft
2015-05-10 22:32:29 +03:00
Dani Messerman
4daf99fa44 Fix mov sanitation 2015-05-10 22:32:28 +03:00
Dani Messerman
7b8fd8daad Added stats.
9.8% of the instructions in 3dscraft.
2015-05-10 22:32:28 +03:00
Dani Messerman
8331f6b3cc Added TBAA 2015-05-10 22:32:28 +03:00
Dani Messerman
d7367172e8 Added block linking
Each time an instruction finishes it jumps to the next one instead of going back to the switch block
2015-05-10 22:32:27 +03:00
Dani Messerman
3864675b6d New class for machine state 2015-05-10 22:32:27 +03:00
Dani Messerman
49483c67ca Loading and running the translated file 2015-05-10 22:32:26 +03:00
Dani Messerman
3731d28ca9 Generates mov reg, reg 2015-05-10 22:30:53 +03:00
Dani Messerman
a91f373f36 Basic disassembler 2015-05-10 22:30:52 +03:00
Dani Messerman
26ff6094e2 Basic disassembler 2015-05-10 22:30:52 +03:00
Dani Messerman
927e20fb6e Better command line handling 2015-05-10 22:30:51 +03:00
Dani Messerman
6c7551d5f3 Module generation stubs 2015-05-10 22:30:51 +03:00
Dani Messerman
5c27161b23 Object generation skeleton 2015-05-10 22:30:51 +03:00
bunnei
ba0bfe7d82 Merge pull request #726 from bunnei/gpu-improvements
GPU improvements
2015-05-09 22:45:05 -04:00
bunnei
23e8be573e rasterizer: Implemented combiner output scaling. 2015-05-09 22:26:17 -04:00
bunnei
ff767eeb40 rasterizer: Implemented AddSigned combiner op. 2015-05-09 22:12:39 -04:00
bunnei
547da374b8 rasterizer: Fixed a depth testing bug. 2015-05-09 22:12:38 -04:00
bunnei
a806b420a6 rasterizer: Implement combiner buffer input. 2015-05-09 22:12:36 -04:00
bunnei
44927f0306 rasterizer: Return zero'd vectors on error conditions. 2015-05-09 22:12:35 -04:00
bunnei
692a74c09e vertex_shader: Implement FLR instruction. 2015-05-09 22:12:34 -04:00
bunnei
f935130a0f vertex_shader: Implement MADI instruction.
nihstro: Update submodule to latest upstream/master to support MADI instruction decoding.
2015-05-09 22:12:34 -04:00
Lioncash
088f6ae2c6 Merge pull request #736 from yuriks/remove-BIT
Common: Remove the BIT macro
2015-05-09 20:16:42 -04:00
Yuri Kunde Schlesner
b700b55696 Common: Remove the BIT macro
When the macro was introduced in 326ec51261
it wasn't noticed that it conflicted in name with a heavily used macro
inside of dyncom. This causes some compiler warnings. Since it's only
lightly used, it was opted to simply remove the new macro.
2015-05-09 18:16:46 -03:00
Tony Wasserka
e35e72d0a5 Merge pull request #734 from yuriks/memmap
Small memory map definitions cleanup
2015-05-09 15:57:29 +02:00
Yuri Kunde Schlesner
417c867e14 Loader: Add missing include 2015-05-09 05:05:59 -03:00
Yuri Kunde Schlesner
17a8cae003 Memory: Add GetPhysicalPointer helper function 2015-05-09 04:02:32 -03:00
Yuri Kunde Schlesner
28a9e4c1d5 Memory: Support more regions in the VAddr-PAddr translation functions
Also adds better documentation and removes the one-off reimplementation
of the function in pica.h.
2015-05-09 03:08:11 -03:00
Yuri Kunde Schlesner
e7b6ed7578 Memory: Sort memory region variables by VAddr 2015-05-09 01:31:00 -03:00
Yuri Kunde Schlesner
1c0b87edc2 Memory: Re-organize and rename memory area address constants 2015-05-09 01:29:52 -03:00
Lioncash
cb92817fb0 Merge pull request #733 from yuriks/remove-bin
Loader: Remove .bin file support
2015-05-08 22:32:06 -04:00
Yuri Kunde Schlesner
eb3eb9f75d Loader: Remove .bin file support
It is of very limited practical utility currently, and will soon be
impossible to support due to more accurate memory map emulation.
2015-05-08 23:09:41 -03:00
bunnei
917ac23dfc Merge pull request #731 from yuriks/app-info
Kernel: Process class and ExHeader caps parsing
2015-05-08 21:20:37 -04:00
Yuri Kunde Schlesner
7c50b999fa Kernel: Remove unused g_main_thread variable 2015-05-08 22:12:12 -03:00
Yuri Kunde Schlesner
3cb19c9589 Process: Rename StaticAddressMapping => AddressMapping 2015-05-08 22:12:10 -03:00
Yuri Kunde Schlesner
83ccf85bb2 Process: Add more documentation to the class members 2015-05-08 22:11:49 -03:00
Yuri Kunde Schlesner
2f5904611d Process: Use BitField to store process flags 2015-05-08 22:11:48 -03:00
Yuri Kunde Schlesner
7eb413155f Loader/NCCH: Fix formatting of braces 2015-05-08 22:11:48 -03:00