Commit Graph

  • e7665c11eb Adding basic constant checks and updates to memory instructions. Only those instructions likely to have immediate values have been updated. It'd be nice to go further than this and a) centralize the ea calculations b) move this all to the analysis pass c) generate mov's in Read/WriteMemory using the immediates as bases instead of all the register work. Ben Vanik 2013-05-30 23:20:05 -0700
  • 78086684c6 Now tracking constant values for most operations. This will make it easier to enable memory access optimizations and hacks. Not all operations are updating the constant registers, only those that are likely to participate in constant value building. Constant values are cleared on every basic block, though this may be too zealous it prevents weird fall-through cases. Ben Vanik 2013-05-30 22:50:32 -0700
  • 7990146001 xex2 loader now guesses sizes to allocate. This may not be right in all cases, but seems to work. Ben Vanik 2013-05-29 23:26:34 -0700
  • f307bc9eb1 Adding --target= and --trace_registers flags. --target=[xex|iso] makes it possible to specify the thing to run from a flagfile. Ben Vanik 2013-05-29 21:45:54 -0700
  • 37530d1438 Adding some required video export variables. Ben Vanik 2013-05-29 21:26:29 -0700
  • 6950b21424 Reworking the memory system to not commit 3gb and to properly alloc data. Now only 512MB is committed on startup. Loaded XEXs are placed into their required addresses in the 0x8... range. Kernel structures are allocated from the normal heap like other data. There should no longer be any magical pointers. Ben Vanik 2013-05-29 21:00:55 -0700
  • 61f7f6d28e Starting work on some of the Vd kernel functions. Ben Vanik 2013-05-28 20:00:06 -0700
  • 2cecc02787 Skeleton GPU files. Ben Vanik 2013-05-27 21:45:55 -0700
  • 16baef3591 Starting physical memory allocation routines. These currently don't do anything special w.r.t. memory addresses/etc, but will in the future. Ben Vanik 2013-05-27 20:09:40 -0700
  • f78e7945d4 Fixing malloc alighment and duplicate calls to NtAllocateVirtualMemory. Ben Vanik 2013-05-27 19:58:20 -0700
  • 1d0ec64d40 Adding srd/srw. Fixing shamts in other shifts. Ben Vanik 2013-05-27 05:35:41 -0700
  • 778efdb276 fcfid(z), fctid(z) -- both largely untested. Ben Vanik 2013-05-27 05:22:38 -0700
  • 84fb802166 fadd(s), fdiv(s), fmul(s), fsub(s), fsel, frsp, fabs, fmr, fneg, fnmsubs. Ben Vanik 2013-05-27 04:09:07 -0700
  • fe6df31280 Finishing off the kernel method conversion. Ben Vanik 2013-05-26 23:06:09 -0700
  • 64eb2aa2b3 Converting RTL methods to the new style. Ben Vanik 2013-05-26 22:44:22 -0700
  • c4e0347932 NULLs! Rick Gibbed 2013-05-26 22:53:46 -0700
  • fe9cb1cddb Oops. Rick Gibbed 2013-05-26 22:46:45 -0700
  • 9f06645e75 Merge branch 'master' of https://github.com/benvanik/xenia Rick Gibbed 2013-05-26 22:42:28 -0700
  • 78ee6c9ee9 Added video submodule for xboxkrnl and xam modules. Rick Gibbed 2013-05-26 22:42:07 -0700
  • 9eadffe461 Added float/double swap helpers. Rick Gibbed 2013-05-26 22:39:39 -0700
  • b87b17f51e Converting more kernel methods to the new style. Ben Vanik 2013-05-26 22:04:12 -0700
  • 6e8828f843 Switching kernel files to the new style. Ben Vanik 2013-05-26 21:37:47 -0700
  • fbe800aacd Preparing to enable unshimmed kernel methods that can be called directly. Ben Vanik 2013-05-26 20:32:30 -0700
  • 25d8b5f8d8 Switching shim mapping macro to use ordinal constants. Ben Vanik 2013-05-26 20:10:10 -0700
  • a332faf419 Adding ordinal enums to kernel modules. Access via xe::kernel::modules::xboxkrnl::ordinals::MyFunction (or just ordinals::MyFunction when in the namespace). Some collisions occurred - just added random suffixes for now. Ben Vanik 2013-05-26 19:28:46 -0700
  • 87b8ebd613 Forgot to switch macros. Ben Vanik 2013-05-26 19:19:26 -0700
  • 9f320ba4a7 Prepping kernel export tables for various uses. Ben Vanik 2013-05-26 18:57:41 -0700
  • 1b07aace73 Moving kernel functions into their proper namespaces. Ben Vanik 2013-05-26 18:43:57 -0700
  • 1a5a8d748d Adding missing files to the xam gypi. Ben Vanik 2013-05-26 18:40:51 -0700
  • c10d719d53 Floating point loads/stores. Seem correct. Maybe not. Ben Vanik 2013-05-26 17:59:11 -0700
  • a09170b2c6 Fixing bad EA write order. Ben Vanik 2013-05-26 17:49:37 -0700
  • a6db12b48f ldx/ldux. Ben Vanik 2013-05-26 17:19:13 -0700
  • 0ca44083e6 Stick the export ordinal in the dummy address for unimplemented export data, to make it obvious what it is when debugging. Rick Gibbed 2013-05-26 17:37:31 -0700
  • c29c4b067f Corrected a xam export to variable. Rick Gibbed 2013-05-26 17:23:30 -0700
  • b5e729f89e sld. Ben Vanik 2013-05-26 16:30:52 -0700
  • 924b08b264 cntlzd and fixing broken cntlzwx. Ben Vanik 2013-05-26 16:30:43 -0700
  • 86396816f5 rldicl, rldicr. Ben Vanik 2013-05-26 16:10:25 -0700
  • fd86370ccc Fixing warnings on mtmsr/mtmsrd disasm. Ben Vanik 2013-05-26 15:03:36 -0700
  • 5f494a4449 Corrected many xboxkrnl exports to variable. Rick Gibbed 2013-05-26 09:46:20 -0700
  • 1b3351b1e2 disasm for mfmsr, mtmsr, mtmsrd Rick Gibbed 2013-05-26 08:39:31 -0700
  • 82159b2b9d Adding lfd. Ben Vanik 2013-05-26 07:19:09 -0700
  • 9d63eb7499 Fixing condition updates for unsigned compares. Ben Vanik 2013-05-26 04:21:07 -0700
  • 5d83465ce4 Fixing branches via the indirection block. Also disabling the local indirection optimization until it's implemented. Ben Vanik 2013-05-26 03:59:32 -0700
  • 22f186d713 Better asserts/checks around bad function addresses. Ben Vanik 2013-05-26 03:26:49 -0700
  • bf9e92c027 Fixing typo in disasm. Ben Vanik 2013-05-26 02:48:31 -0700
  • 35ce144a37 Disasm of some memory routines. Ben Vanik 2013-05-26 02:44:05 -0700
  • 6678279ebf Corrected more issues with X_RTL_CRITICAL_SECTION, RtlInitializeCriticalSection, RtlInitializeCriticalSectionAndSpinCount. Rick Gibbed 2013-05-26 02:36:48 -0700
  • d385bc6a10 Added XEASSERTSTRUCTSIZE macro. Rick Gibbed 2013-05-26 02:36:07 -0700
  • 237ab5551f Oops. Fixed some formatting in previous commit. Rick Gibbed 2013-05-26 02:21:05 -0700
  • 3ac3d8078d Corrected some issues with X_RTL_CRITICAL_SECTION, RtlInitializeCriticalSection, RtlInitializeCriticalSectionAndSpinCount. Rick Gibbed 2013-05-26 02:18:49 -0700
  • 6b851da9d7 Fixing analysis regression: don't analyze on gets during analysis pass. Ben Vanik 2013-05-26 02:11:08 -0700
  • f94256aaaf Adding a simple heuristic to find leaf thunk functions. Ben Vanik 2013-05-26 01:43:44 -0700
  • 1640acaf8a mftb Rick Gibbed 2013-05-26 00:48:53 -0700
  • 7febbe0f86 Fixing <8b memory accesses. Ben Vanik 2013-05-26 00:43:53 -0700
  • 0855fe7014 addicx Rick Gibbed 2013-05-26 00:27:36 -0700
  • ab762e0009 Adding disassemblers for the fpu instructions. Ben Vanik 2013-05-26 00:13:46 -0700
  • 4073028188 Very basic, super slow, nasty indirection. Ben Vanik 2013-05-25 20:32:58 -0700
  • 2986a0be82 Removing debug int3. Ben Vanik 2013-05-25 17:20:52 -0700
  • ce27fb333b Fixing rlwimix. Ben Vanik 2013-05-25 17:08:31 -0700
  • bd8376e231 Making xenia-test run on Windows. Ben Vanik 2013-05-25 05:20:28 -0700
  • edb3aabdd4 Removing llvm backend. Ben Vanik 2013-05-25 04:28:21 -0700
  • eb22289dc7 Fixing bad fcmpu disasm. Ben Vanik 2013-05-25 04:25:27 -0700
  • a5da226617 cntlzwx. Ben Vanik 2013-05-25 03:23:33 -0700
  • de85adea2e divwx/divwux. Ben Vanik 2013-05-25 02:49:44 -0700
  • 9f3f5d2c0e mullw. Ben Vanik 2013-05-25 01:56:42 -0700
  • e29de199ff srawix. Ben Vanik 2013-05-25 01:50:46 -0700
  • 8207bb8088 negx Ben Vanik 2013-05-25 01:35:19 -0700
  • 07d0dd98b6 slwx, ignoring twi. Ben Vanik 2013-05-25 01:31:38 -0700
  • ed401449b7 Only create the shared return block if required. Ben Vanik 2013-05-25 00:45:16 -0700
  • da62ec56f9 Adding the ret required for tail calls. Ben Vanik 2013-05-25 00:41:01 -0700
  • fb22aeb5ac Fixing assertion warnings from asmjit. Ben Vanik 2013-05-25 00:40:30 -0700
  • ea2cf390d7 Defining ASMJIT_DEBUG in debug builds. Ben Vanik 2013-05-25 00:28:04 -0700
  • f3552ff9a5 Implementing RtlImageXexHeaderField better. Ben Vanik 2013-05-25 00:08:01 -0700
  • eac03765db Adding addx. Whoops. Ben Vanik 2013-05-25 00:07:35 -0700
  • 12b2dc153e Disabling the faked KeDebugMonitorData. Ben Vanik 2013-05-24 23:43:11 -0700
  • 04485b6460 rlwimix/rlwinmx. Ben Vanik 2013-05-24 23:34:52 -0700
  • ef3bd6cc53 Fixing disasm of subfic, fixing neg->not, fixing tests to use 8bits. Ben Vanik 2013-05-24 23:03:35 -0700
  • 6320ef6b7e Fixing conditionals to use cmp instead of test. Ben Vanik 2013-05-24 22:21:05 -0700
  • 7bf69f66fd Logging out the condition register values. Ben Vanik 2013-05-24 22:03:57 -0700
  • 2586c10cc5 addzex. Ben Vanik 2013-05-24 21:54:04 -0700
  • 9883f32fb7 Fixing logger initialization when codegen logging is disabled. Ben Vanik 2013-05-24 21:49:03 -0700
  • ba718de434 Further corrections on cr checks. Rick Gibbed 2013-05-24 21:34:03 -0700
  • 1354b9975f Adding basic branch indirection, which doesn't work but is ready to do so. Ben Vanik 2013-05-24 21:18:30 -0700
  • c6ed7ff9cf Fixing cr5+ checks. Ben Vanik 2013-05-24 20:48:04 -0700
  • 346a27ddf8 Trying again to fix compares. Ben Vanik 2013-05-24 20:40:00 -0700
  • e7556a09f8 Fixing bad or during cr0 update - need to be overwriting. Ben Vanik 2013-05-24 20:26:06 -0700
  • 68f1eb7f69 Fixing carry and compare flags. Ben Vanik 2013-05-24 20:20:18 -0700
  • 97b0e2aa3d Fixing comparison between two gpvars. Ben Vanik 2013-05-24 20:09:11 -0700
  • 5e66f7b04b Adding a bunch of nops around trace calls. 5 before, 2 after (so it's easy to see what goes with what). Ben Vanik 2013-05-24 19:59:51 -0700
  • 1ad0bb7843 cmp/cmpi/cmpl/cmpli. May not be right. Ben Vanik 2013-05-24 19:52:00 -0700
  • 6cd8495ea2 extsbx. Ben Vanik 2013-05-24 19:45:48 -0700
  • 8976f1b046 subfx + subficx. Ben Vanik 2013-05-24 19:16:01 -0700
  • 69ebedb43f addic + subfex. Ben Vanik 2013-05-24 19:10:54 -0700
  • dc40f28795 addx and switching commenting style on the rest of the unported instrs. Ben Vanik 2013-05-24 18:49:14 -0700
  • 1e67547a6b Fixing conditional branch logic. Ben Vanik 2013-05-24 18:44:32 -0700
  • 2ab01af0bd Breaking on indirect branches. Ben Vanik 2013-05-24 18:34:08 -0700
  • 692f85ed4f Very, very basic branching. Most compares not yet implemented. Ben Vanik 2013-05-24 18:28:52 -0700
  • 7e3268621d Optimizing the mr case. Ben Vanik 2013-05-24 17:59:01 -0700
  • 748bfe509f Handling null ptr in NtFreeVirtualMemory. Ben Vanik 2013-05-24 17:33:57 -0700
  • 21b0d25131 Fixing memory address truncation. Ben Vanik 2013-05-24 17:08:12 -0700