Commit Graph

  • e8429b75e0 Significantly faster byte swapping on xmm read/write. Ben Vanik 2013-10-04 22:29:19 -07:00
  • d3bf7813ea Improve perf of vcmp cr6 update. Ben Vanik 2013-10-04 13:32:11 -07:00
  • e2842ea4b4 fmaddsx, fmsubx, fmsubsx, fcmpu. Ben Vanik 2013-10-04 10:30:57 -07:00
  • 091957e72e Untested srawx/sradix (makes things run further, at least). Ben Vanik 2013-10-04 09:34:36 -07:00
  • 0f5d0d992d vupkd3d d3dcolor (untested). Ben Vanik 2013-10-03 21:06:40 -07:00
  • 611902a97e Fixing vspltw and vrlimi. Ben Vanik 2013-10-03 20:19:11 -07:00
  • bdb5b0eae2 Fixing alignment of xmm load/store. Ben Vanik 2013-10-03 20:18:56 -07:00
  • 6d46b51ed4 A few vcmp*'s, float_16_to_32 bit of vupkd3d128 (untested). Ben Vanik 2013-10-02 23:25:05 -07:00
  • 21d273e85b Tracing FPRs and random fixes. Ben Vanik 2013-09-30 22:43:29 -07:00
  • 37caa5cea1 vnmsubfp, fixing vrlimi128. Ben Vanik 2013-09-30 21:14:23 -07:00
  • f5b99d7448 Fixing some altivec instruction decode issues. Ben Vanik 2013-09-30 17:54:49 -07:00
  • 26ec76ef35 A lot of progress on altivec instructions. Some bad results, still, and some instructions are not decoding right. Ben Vanik 2013-09-29 21:05:48 -07:00
  • 3662118246 vmaddfp/vmaddcfp/vmulfp/vsubfp. Ben Vanik 2013-09-29 00:02:25 -07:00
  • 5652a150e1 vand/vnor/vor/vxor. Ben Vanik 2013-09-28 23:45:16 -07:00
  • 526b1a85b7 Simple altivec loads/stores. Ben Vanik 2013-09-28 23:14:43 -07:00
  • f398ccba56 Skeleton emitter file. Ben Vanik 2013-09-28 19:52:33 -07:00
  • 51184f73ea Disassembling a few instructions. Ben Vanik 2013-09-28 19:37:34 -07:00
  • f4f66ff7f1 Beginning Altivec disassembly/emitting. Ben Vanik 2013-09-28 09:14:04 -07:00
  • b0481472f2 Finally adding thread wait so we kill the spin loop. Ben Vanik 2013-09-25 20:55:22 -07:00
  • d16ab71252 Fixing %d print. Ben Vanik 2013-09-25 20:28:42 -07:00
  • 3e0d9af57e Placeholders for memory access breakpoints. Ben Vanik 2013-09-25 20:13:43 -07:00
  • 3706b9a3ce Ignoring MmFreePhysicalMemory (for now). Games seem to be calling this with 0, which is bogus, so the bug is elsewhere. Ben Vanik 2013-09-25 18:38:18 -07:00
  • 536fbbff88 Adding misc Vd functions. Ben Vanik 2013-09-25 18:37:30 -07:00
  • 3a6ef8cdf9 Fixing VdQueryVideoMode. Ben Vanik 2013-09-25 18:37:13 -07:00
  • 03a68d4c49 PerformanceCounter. Ben Vanik 2013-09-25 18:36:34 -07:00
  • b7fd4f975d Fixing ringbuffer pointers and no-op instructions. Ben Vanik 2013-09-25 00:46:47 -07:00
  • 03494c6b88 Stubbing methods and cleanup. Ben Vanik 2013-09-25 00:46:29 -07:00
  • 91f62918f6 Adding vblank interrupt. Ben Vanik 2013-09-25 00:46:09 -07:00
  • 998467ce05 Fixing cntlzd. Ben Vanik 2013-09-25 00:21:41 -07:00
  • 8424a668bf Basic implementation of events. Ben Vanik 2013-09-24 21:26:45 -07:00
  • 474ecea277 Adding stubs for SetEvent/ResetEvent. Ben Vanik 2013-09-23 22:44:34 -07:00
  • be1ce73a30 Fixing WaitForSingleObject timeout args. Ben Vanik 2013-09-23 22:15:43 -07:00
  • d0d30ab719 Implementing object table. Not complete, but better. Ben Vanik 2013-09-22 18:36:06 -07:00
  • 3e0db586c0 RtlNtStatusToDosError, for successes. Ben Vanik 2013-09-22 16:45:41 -07:00
  • d5b8a2091a Switching tracing order to prevent skipping traces of branch instructions. Ben Vanik 2013-09-06 23:21:08 -07:00
  • 1a3fed942d Skeleton for KeWaitForSingleObject. Trying to figure out where D3D is getting its object from. It never seems to create a timer/event/etc. Ben Vanik 2013-06-30 10:27:51 -07:00
  • 39ef8d8263 Properly using XapiThreadStartup routines, if present. Ben Vanik 2013-06-30 10:27:06 -07:00
  • 8d5e877a03 VdGetCurrentDisplayGamma and VdQueryVideoFlags. Ben Vanik 2013-06-30 08:21:45 -07:00
  • c9a39a8b62 Dumping module info on startup and logging unimplemented kernel calls. Ben Vanik 2013-06-30 07:53:17 -07:00
  • a62426948b Implementing enough ExGetXConfigSetting for D3D. Ben Vanik 2013-06-30 07:52:53 -07:00
  • 6f602d120a Adding thread ID to trace lines and cleaning up their formatting. Ben Vanik 2013-06-30 06:09:08 -07:00
  • 82ee749515 Adding a note about the asmjit issue. Ben Vanik 2013-06-29 09:28:13 -07:00
  • 338a6b4411 Adding back binutils from googlesource. Ben Vanik 2013-06-29 08:47:21 -07:00
  • e1a9017396 Removing broken binutils mirror. Sourceware is bad at what they do. Ben Vanik 2013-06-29 08:41:24 -07:00
  • 052c70efce Fixing broken opcode 63 stuff. Ben Vanik 2013-06-02 12:01:43 -07:00
  • b3e93a0d1d srad. Probably right. Ben Vanik 2013-06-02 11:33:07 -07:00
  • 97b4fdb041 Fixing misnamed register enum. Ben Vanik 2013-06-02 10:31:45 -07:00
  • eab588f29f Fixed some additional stack offsets in DbgPrint. Rick Gibbed 2013-06-02 10:12:27 -07:00
  • e5bfe7264b Corrected issues with DbgPrint & _vnsprintf. Rick Gibbed 2013-06-02 09:44:31 -07:00
  • fbaaebdb41 Oops. Tab! Rick Gibbed 2013-06-02 09:43:27 -07:00
  • 100b87846e Merge branch 'master' of https://github.com/benvanik/xenia Rick Gibbed 2013-06-02 08:08:17 -07:00
  • 9bc490579e 64-bit shim memory macros. Rick Gibbed 2013-06-02 08:07:40 -07:00
  • c9688bb3e9 DbgPrint & _vnsprintf implementations. VERY HACKY. Rick Gibbed 2013-06-02 08:07:03 -07:00
  • b97b8226b2 Fixed a crash when adding a FunctionSymbol with a NULL address. Rick Gibbed 2013-06-02 07:57:38 -07:00
  • 105aee506d dcbf disasm. Rick Gibbed 2013-06-02 07:56:17 -07:00
  • 8a782c3485 Merge pull request #30 from espes/master Ben Vanik 2013-06-02 00:15:40 -07:00
  • 388c622ecd fill in some more xenos registers espes 2013-06-02 17:11:54 +10:00
  • cf57481a0e Adding basic register names. Ben Vanik 2013-06-01 22:51:09 -07:00
  • e00e665a09 Basic command buffer processing. Ben Vanik 2013-06-01 21:49:14 -07:00
  • ba16a0d847 Trying to setup writeback and add basic secondary command execution. Ben Vanik 2013-06-01 03:08:31 -07:00
  • 5b0fa8f17e Basic ringbuffer worker. Super hacky, not yet writing back to CPU. Ben Vanik 2013-06-01 01:13:30 -07:00
  • 3667821be3 ldarx & stdcx disasm. Rick Gibbed 2013-05-31 22:01:35 -07:00
  • 31199dd41d VdHSIOCalibrationLock. Ben Vanik 2013-05-31 21:40:15 -07:00
  • 4e6e27d9ac Zero KeCertMonitorData export. Ben Vanik 2013-05-31 21:33:19 -07:00
  • ef0032ecff Wiring up register read/write from JIT -> GPU. Ben Vanik 2013-05-31 21:22:00 -07:00
  • edf3a9155b The stack address needs to start at the end of the allocated memory for the stack, not the beginning. Rick Gibbed 2013-05-31 20:55:52 -07:00
  • d53458023e Fixing/implementing static TLS entries. Ben Vanik 2013-05-31 10:01:32 -07:00
  • 38efd3837d Adding support for detecting the save/rest fpr and vmx blocks. Ben Vanik 2013-05-31 01:53:30 -07:00
  • e6195c4086 fmadd, orc, extsh, extsw. Ben Vanik 2013-05-31 01:00:00 -07:00
  • 9bb36c7404 Fixing decoding of the rld* instructions. Ben Vanik 2013-05-31 00:38:26 -07:00
  • dc16653164 Fixing decoding of some of the opcode 63 instructions. Ben Vanik 2013-05-31 00:09:10 -07:00
  • 14c3b8a382 Adding a case for tail calls. Still missing the forward tail call case, as there is legit code that does weird branches like that. Ben Vanik 2013-05-30 23:41:25 -07:00
  • 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 -07:00
  • 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 -07:00
  • 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 -07:00
  • 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 -07:00
  • 37530d1438 Adding some required video export variables. Ben Vanik 2013-05-29 21:26:29 -07:00
  • 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 -07:00
  • 61f7f6d28e Starting work on some of the Vd kernel functions. Ben Vanik 2013-05-28 20:00:06 -07:00
  • 2cecc02787 Skeleton GPU files. Ben Vanik 2013-05-27 21:45:55 -07:00
  • 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 -07:00
  • f78e7945d4 Fixing malloc alighment and duplicate calls to NtAllocateVirtualMemory. Ben Vanik 2013-05-27 19:58:20 -07:00
  • 1d0ec64d40 Adding srd/srw. Fixing shamts in other shifts. Ben Vanik 2013-05-27 05:35:41 -07:00
  • 778efdb276 fcfid(z), fctid(z) -- both largely untested. Ben Vanik 2013-05-27 05:22:38 -07:00
  • 84fb802166 fadd(s), fdiv(s), fmul(s), fsub(s), fsel, frsp, fabs, fmr, fneg, fnmsubs. Ben Vanik 2013-05-27 04:09:07 -07:00
  • fe6df31280 Finishing off the kernel method conversion. Ben Vanik 2013-05-26 23:06:09 -07:00
  • 64eb2aa2b3 Converting RTL methods to the new style. Ben Vanik 2013-05-26 22:44:22 -07:00
  • c4e0347932 NULLs! Rick Gibbed 2013-05-26 22:53:46 -07:00
  • fe9cb1cddb Oops. Rick Gibbed 2013-05-26 22:46:45 -07:00
  • 9f06645e75 Merge branch 'master' of https://github.com/benvanik/xenia Rick Gibbed 2013-05-26 22:42:28 -07:00
  • 78ee6c9ee9 Added video submodule for xboxkrnl and xam modules. Rick Gibbed 2013-05-26 22:42:07 -07:00
  • 9eadffe461 Added float/double swap helpers. Rick Gibbed 2013-05-26 22:39:39 -07:00
  • b87b17f51e Converting more kernel methods to the new style. Ben Vanik 2013-05-26 22:04:12 -07:00
  • 6e8828f843 Switching kernel files to the new style. Ben Vanik 2013-05-26 21:37:47 -07:00
  • fbe800aacd Preparing to enable unshimmed kernel methods that can be called directly. Ben Vanik 2013-05-26 20:32:30 -07:00
  • 25d8b5f8d8 Switching shim mapping macro to use ordinal constants. Ben Vanik 2013-05-26 20:10:10 -07:00
  • 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 -07:00
  • 87b8ebd613 Forgot to switch macros. Ben Vanik 2013-05-26 19:19:26 -07:00
  • 9f320ba4a7 Prepping kernel export tables for various uses. Ben Vanik 2013-05-26 18:57:41 -07:00
  • 1b07aace73 Moving kernel functions into their proper namespaces. Ben Vanik 2013-05-26 18:43:57 -07:00