Commit Graph

1680 Commits

Author SHA1 Message Date
Ben Vanik e8dd27f490 Tweaks to the tweaks.
SDB needs a rewrite.
2013-01-31 22:00:43 -08:00
Ben Vanik 837a414249 Minor tweaks to the SDB to get parsing of real games a bit further.
Unfortunately it looks like issue #10 will have to be addressed before
anything can progress :(
2013-01-31 21:40:07 -08:00
Ben Vanik 7f846afdfc Adding support for disc images.
With this, games can now be loaded! Of course, prep fails.
2013-01-31 20:11:13 -08:00
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