Commit Graph

  • f78fdba9c3 Wiring up xex loading via the new virtual filesystem. File resolution is hacked, but works well enough for testing. Ben Vanik 2013-01-31 16:52:50 -0800
  • 59189f12ab Skeleton for the virtual filesystem. Ben Vanik 2013-01-31 13:27:00 -0800
  • c77bcbf879 Better module handling. Ben Vanik 2013-01-31 11:27:05 -0800
  • 9cfc01940e Thread IDs in critical sections. Ben Vanik 2013-01-31 03:01:57 -0800
  • 56912aa2bd Rough CriticalSection work. Ben Vanik 2013-01-31 02:50:37 -0800
  • fdbd30acb7 Partially implemented string functions. Ben Vanik 2013-01-31 00:19:48 -0800
  • 49af0dbc85 Real modules and threads (mostly). Need events/waiting to get proper launch thread behavior. Ben Vanik 2013-01-30 22:44:32 -0800
  • 2ecacedaa6 Cleaning up LLVM exports and adding an access violation trap. Ben Vanik 2013-01-30 14:52:41 -0800
  • 23378443e8 Kernel function work. Ben Vanik 2013-01-30 14:26:28 -0800
  • 42009cda88 Fixes to get things compiling on OSX again. Ben Vanik 2013-01-30 11:03:19 -0800
  • 1585730ec1 Running on Windows! Minus gflags parsing right now. Ben Vanik 2013-01-30 02:48:34 -0800
  • 94d55b5056 GYP updates for Windows. This will break OSX for a moment. Ben Vanik 2013-01-30 02:19:38 -0800
  • f86f3fd8b9 Updating gflags to build on Windows. Ben Vanik 2013-01-30 02:02:18 -0800
  • 9e05d44723 Implementing (maybe working) Win32 memory.cc. Ben Vanik 2013-01-30 01:45:55 -0800
  • ae4d8ad40e Code fixes to get things somewhat compiling on Windows. Ben Vanik 2013-01-30 01:35:08 -0800
  • 5da1fd66d1 Working on Windows compatibility. llvm-config is broken on Windows though, so that needs to be fixed. Sigh. Ben Vanik 2013-01-29 23:04:19 -0800
  • f117f870fb Cleaning up build warnings. Ben Vanik 2013-01-29 20:27:24 -0800
  • 80d74dbe03 Implementing rlwimi. Ben Vanik 2013-01-29 18:35:51 -0800
  • 9c86c29140 Setting up locals in codegen based on disassembly results. Ben Vanik 2013-01-29 17:47:34 -0800
  • d3054839b7 Now tracking register accesses for each function. Ben Vanik 2013-01-29 13:07:59 -0800
  • d1333db404 Disassembly for implemented control/memory instructions. Ben Vanik 2013-01-29 01:55:03 -0800
  • 8a560e4cbe Adding disassembler bits for alu. Ben Vanik 2013-01-29 00:41:39 -0800
  • 775c97bf53 Beginning work on disassembler functions. Ideally, this would be automated, but it's easier to just do it manually. Ben Vanik 2013-01-28 21:37:03 -0800
  • 7b62fa96bd Progress on ghetto memory allocator. Ben Vanik 2013-01-28 21:36:03 -0800
  • 0fde6135a0 Fixing XO instruction decoding. Ben Vanik 2013-01-28 15:31:46 -0800
  • 9b0cb94e43 Fixing kernel exported variables. Ben Vanik 2013-01-28 14:51:23 -0800
  • 9ad6bb917f RtlImageXexHeaderField stub. Ben Vanik 2013-01-28 14:25:16 -0800
  • e93908dd72 Skeleton code for more kernel calls. Ben Vanik 2013-01-28 13:28:22 -0800
  • 6c4af5aa70 Kernel calls and variables now working and tracing better. Ben Vanik 2013-01-28 12:36:39 -0800
  • 5c2060af72 Now running up to the first required kernel call. If memory address validation is turned off it runs a lot further. Ben Vanik 2013-01-28 03:03:37 -0800
  • 46d5a0b51d Executing a bunch of instructions! Very hacky module startup code, but can now start XEXs! Time to start implementing kernel stuff. Ben Vanik 2013-01-27 22:14:24 -0800
  • 92a3e19cd9 Fixing to allow multiple executions/process. Ben Vanik 2013-01-27 19:33:57 -0800
  • 12d9c3d15e First instruction executed in the test runner! Fixes #7. Ben Vanik 2013-01-27 17:49:32 -0800
  • bba99d4a22 Refactoring to allow for raw binary loading. Ben Vanik 2013-01-27 12:48:10 -0800
  • 26d5df0d38 Adding the start of the instruction test infrastructure. Ben Vanik 2013-01-27 02:51:53 -0800
  • e37821cf36 Checking in binutils to enable ppc cross compile. Ben Vanik 2013-01-27 00:22:59 -0800
  • e0951d012e Updating LLVM and ninja. Ben Vanik 2013-01-26 22:32:43 -0800
  • d9b08f569f Adding a bunch of instructions. Ben Vanik 2013-01-26 21:51:31 -0800
  • 733fe85d37 Cleaning up function registers and setting up CR. Ben Vanik 2013-01-26 01:25:31 -0800
  • 9b3d96a8ae Cleaning up instruction decoding names to match the docs better. Ben Vanik 2013-01-25 23:45:13 -0800
  • ffdc1e5d4b Hacking on some instructions. Ben Vanik 2013-01-25 23:32:37 -0800
  • 2e6db831a5 TODO update. Ben Vanik 2013-01-25 01:01:11 -0800
  • ebda245773 Better handling of invalid/unimplemented instructions. Ben Vanik 2013-01-25 00:51:56 -0800
  • 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. Ben Vanik 2013-01-25 00:32:42 -0800
  • 47481fecf7 Adding tracing methods. Ben Vanik 2013-01-24 00:10:24 -0800
  • 385a4ee23b Cleaning up function creation. Ben Vanik 2013-01-23 22:38:59 -0800
  • a10a05b6f2 Misc output cleanup and a test run script. Ben Vanik 2013-01-23 21:59:26 -0800
  • 860a0739ec Adding gflags to handle command line flags. It sucks, but is the best there is without using boost. Ben Vanik 2013-01-23 21:31:23 -0800
  • 01fee047f7 Update TODO.md Ben Vanik 2013-01-22 13:15:02 -0800
  • 9dfcbee090 Update TODO.md Ben Vanik 2013-01-22 10:50:20 -0800
  • 0aaaac2a7a Adding TODO. Ben Vanik 2013-01-22 00:54:49 -0800
  • 91f9e8b7bb Generating a lot of code! Still a few missing instructions/variants and other issues, but a big and valid LLVM module is being generated. Ben Vanik 2013-01-22 00:22:27 -0800
  • 791f14182c Fixing a bunch of valgrind errors and reworking globals. Ben Vanik 2013-01-21 14:31:59 -0800
  • b29dd22850 Adding instruction emitting functions. All empty, all ready to go! Ben Vanik 2013-01-21 11:55:42 -0800
  • 95a8be078b Rearranging code a bit to keep things cleaner. Ben Vanik 2013-01-21 10:58:52 -0800
  • b91d550ef1 Adding instruction generation loop. Not yet doing anything, but close. Ben Vanik 2013-01-21 01:11:57 -0800
  • 25af5f410a Cleaning up the names in imports/functions. Ben Vanik 2013-01-21 00:13:00 -0800
  • 68cc34bb79 Fixing up basic block targets and such. Ben Vanik 2013-01-20 17:27:49 -0800
  • 852536ae0a Basic function analysis. Finds basic blocks and estimates proper function bounds. Seems legit for compiled code. Ben Vanik 2013-01-20 16:46:08 -0800
  • d4b0bf73c1 Prepping flow for basic block building. Ben Vanik 2013-01-20 09:48:39 -0800
  • ca2908db32 Converting everything to C++ cause I'm a masochist. Ben Vanik 2013-01-20 01:13:59 -0800
  • 8a5dcbc1dd Hacky state for instruction gen. Ben Vanik 2013-01-19 11:04:22 -0800
  • ea5154af0f Codegen experimentation. Ben Vanik 2013-01-19 05:26:01 -0800
  • c18e94c5be Fleshing out the symbol database. Now detecting a lot of functions via method hints and generating stub functions. A few holes (in the test xex), but enough to move forward with codegen. Ben Vanik 2013-01-17 23:17:49 -0800
  • f779adda55 Update README.md Ben Vanik 2013-01-14 13:27:52 -0800
  • 6c5432eb45 Symbol database skeleton. Ben Vanik 2013-01-14 00:02:24 -0800
  • bfec194533 Adding instruction table and basic PPC state. Can decode a single instruction. Ben Vanik 2013-01-13 21:25:28 -0800
  • 099e37490a Work on CPU, codegen skeleton, and thunk. Ben Vanik 2013-01-13 15:48:18 -0800
  • 2f4bc598e5 CPU skeleton. Ben Vanik 2013-01-13 00:34:08 -0800
  • bcd575f9b0 Massive dump of xenia-info required code. This is a working xenia-info for xex files (no gdfs files yet). Ben Vanik 2013-01-12 23:25:41 -0800
  • 986d63e412 Fixing xcode builds. Ben Vanik 2013-01-11 01:54:48 -0800
  • eb7cf18acc Adding some third_party deps. Ben Vanik 2013-01-11 01:28:56 -0800
  • 7e4a9220d7 Initial project skeleton. This includes a working gyp-based build of an executable that uses LLVM. Ben Vanik 2013-01-11 01:23:08 -0800
  • c03f57c8c6 Update README.md Ben Vanik 2013-01-10 15:28:11 -0800
  • 086216937e Create LICENSE Ben Vanik 2013-01-10 15:25:20 -0800
  • f3a941133a Update README.md Ben Vanik 2013-01-10 15:22:20 -0800
  • 30bde439f7 Initial commit Ben Vanik 2013-01-10 15:20:45 -0800