Ben Vanik
f78fdba9c3
Wiring up xex loading via the new virtual filesystem.
...
File resolution is hacked, but works well enough for testing.
2013-01-31 16:52:50 -08:00
Ben Vanik
59189f12ab
Skeleton for the virtual filesystem.
2013-01-31 13:27:00 -08:00
Ben Vanik
c77bcbf879
Better module handling.
2013-01-31 11:27:05 -08:00
Ben Vanik
9cfc01940e
Thread IDs in critical sections.
2013-01-31 03:01:57 -08:00
Ben Vanik
56912aa2bd
Rough CriticalSection work.
2013-01-31 02:50:37 -08:00
Ben Vanik
fdbd30acb7
Partially implemented string functions.
2013-01-31 00:19:48 -08:00
Ben Vanik
49af0dbc85
Real modules and threads (mostly).
...
Need events/waiting to get proper launch thread behavior.
2013-01-30 22:44:32 -08:00
Ben Vanik
2ecacedaa6
Cleaning up LLVM exports and adding an access violation trap.
2013-01-30 14:52:41 -08:00
Ben Vanik
23378443e8
Kernel function work.
2013-01-30 14:26:28 -08:00
Ben Vanik
42009cda88
Fixes to get things compiling on OSX again.
2013-01-30 11:03:19 -08:00
Ben Vanik
1585730ec1
Running on Windows!
...
Minus gflags parsing right now.
2013-01-30 02:48:34 -08:00
Ben Vanik
94d55b5056
GYP updates for Windows.
...
This will break OSX for a moment.
2013-01-30 02:19:38 -08:00
Ben Vanik
f86f3fd8b9
Updating gflags to build on Windows.
2013-01-30 02:02:18 -08:00
Ben Vanik
9e05d44723
Implementing (maybe working) Win32 memory.cc.
2013-01-30 01:45:55 -08:00
Ben Vanik
ae4d8ad40e
Code fixes to get things somewhat compiling on Windows.
2013-01-30 01:35:08 -08:00
Ben Vanik
5da1fd66d1
Working on Windows compatibility.
...
llvm-config is broken on Windows though, so that needs to be fixed. Sigh.
2013-01-29 23:04:19 -08:00
Ben Vanik
f117f870fb
Cleaning up build warnings.
2013-01-29 20:27:24 -08:00
Ben Vanik
80d74dbe03
Implementing rlwimi.
2013-01-29 18:35:51 -08:00
Ben Vanik
9c86c29140
Setting up locals in codegen based on disassembly results.
2013-01-29 17:47:34 -08:00
Ben Vanik
d3054839b7
Now tracking register accesses for each function.
2013-01-29 13:07:59 -08:00
Ben Vanik
d1333db404
Disassembly for implemented control/memory instructions.
2013-01-29 01:55:03 -08:00
Ben Vanik
8a560e4cbe
Adding disassembler bits for alu.
2013-01-29 00:41:39 -08:00
Ben Vanik
775c97bf53
Beginning work on disassembler functions.
...
Ideally, this would be automated, but it's easier to just do it manually.
2013-01-28 21:37:03 -08:00
Ben Vanik
7b62fa96bd
Progress on ghetto memory allocator.
2013-01-28 21:36:03 -08:00
Ben Vanik
0fde6135a0
Fixing XO instruction decoding.
2013-01-28 15:31:46 -08:00
Ben Vanik
9b0cb94e43
Fixing kernel exported variables.
2013-01-28 14:51:23 -08:00
Ben Vanik
9ad6bb917f
RtlImageXexHeaderField stub.
2013-01-28 14:25:16 -08:00
Ben Vanik
e93908dd72
Skeleton code for more kernel calls.
2013-01-28 13:28:22 -08:00
Ben Vanik
6c4af5aa70
Kernel calls and variables now working and tracing better.
2013-01-28 12:36:39 -08:00
Ben Vanik
5c2060af72
Now running up to the first required kernel call.
...
If memory address validation is turned off it runs a lot further.
2013-01-28 03:03:37 -08:00
Ben Vanik
46d5a0b51d
Executing a bunch of instructions!
...
Very hacky module startup code, but can now start XEXs! Time to start
implementing kernel stuff.
2013-01-27 22:14:24 -08:00
Ben Vanik
92a3e19cd9
Fixing to allow multiple executions/process.
2013-01-27 19:33:57 -08:00
Ben Vanik
12d9c3d15e
First instruction executed in the test runner!
...
Fixes #7 .
2013-01-27 17:49:32 -08:00
Ben Vanik
bba99d4a22
Refactoring to allow for raw binary loading.
2013-01-27 12:48:10 -08:00
Ben Vanik
26d5df0d38
Adding the start of the instruction test infrastructure.
2013-01-27 02:51:53 -08:00
Ben Vanik
e37821cf36
Checking in binutils to enable ppc cross compile.
2013-01-27 00:22:59 -08:00
Ben Vanik
e0951d012e
Updating LLVM and ninja.
2013-01-26 22:32:43 -08:00
Ben Vanik
d9b08f569f
Adding a bunch of instructions.
2013-01-26 21:51:31 -08:00
Ben Vanik
733fe85d37
Cleaning up function registers and setting up CR.
2013-01-26 01:25:31 -08:00
Ben Vanik
9b3d96a8ae
Cleaning up instruction decoding names to match the docs better.
2013-01-25 23:45:13 -08:00
Ben Vanik
ffdc1e5d4b
Hacking on some instructions.
2013-01-25 23:32:37 -08:00
Ben Vanik
2e6db831a5
TODO update.
2013-01-25 01:01:11 -08:00
Ben Vanik
ebda245773
Better handling of invalid/unimplemented instructions.
2013-01-25 00:51:56 -08:00
Ben Vanik
dcb958de54
Adding better register tracking through locals and fixing branches.
...
LLVM does an amazing job of optimizing this. There are many opportunities
to make it better, too, by preventing spilling where not required or only
spilling/filling things when needed.
2013-01-25 00:32:42 -08:00
Ben Vanik
47481fecf7
Adding tracing methods.
2013-01-24 00:10:24 -08:00
Ben Vanik
385a4ee23b
Cleaning up function creation.
2013-01-23 22:38:59 -08:00
Ben Vanik
a10a05b6f2
Misc output cleanup and a test run script.
2013-01-23 21:59:26 -08:00
Ben Vanik
860a0739ec
Adding gflags to handle command line flags.
...
It sucks, but is the best there is without using boost.
2013-01-23 21:31:23 -08:00
Ben Vanik
01fee047f7
Update TODO.md
2013-01-22 13:15:02 -08:00
Ben Vanik
9dfcbee090
Update TODO.md
2013-01-22 10:50:20 -08:00