Commit graph

4025 commits

Author SHA1 Message Date
Ben Vanik
03a68d4c49 PerformanceCounter. 2013-09-25 18:36:34 -07:00
Ben Vanik
b7fd4f975d Fixing ringbuffer pointers and no-op instructions. 2013-09-25 00:46:47 -07:00
Ben Vanik
03494c6b88 Stubbing methods and cleanup. 2013-09-25 00:46:29 -07:00
Ben Vanik
91f62918f6 Adding vblank interrupt. 2013-09-25 00:46:09 -07:00
Ben Vanik
998467ce05 Fixing cntlzd. 2013-09-25 00:21:41 -07:00
Ben Vanik
8424a668bf Basic implementation of events. 2013-09-24 21:26:45 -07:00
Ben Vanik
474ecea277 Adding stubs for SetEvent/ResetEvent. 2013-09-23 22:44:34 -07:00
Ben Vanik
be1ce73a30 Fixing WaitForSingleObject timeout args. 2013-09-23 22:15:43 -07:00
Ben Vanik
d0d30ab719 Implementing object table. Not complete, but better. 2013-09-22 18:36:06 -07:00
Ben Vanik
3e0db586c0 RtlNtStatusToDosError, for successes. 2013-09-22 16:45:41 -07:00
Ben Vanik
d5b8a2091a Switching tracing order to prevent skipping traces of branch instructions. 2013-09-06 23:21:08 -07:00
Ben Vanik
1a3fed942d Skeleton for KeWaitForSingleObject.
Trying to figure out where D3D is getting its object from. It never seems
to create a timer/event/etc.
2013-06-30 10:27:51 -07:00
Ben Vanik
39ef8d8263 Properly using XapiThreadStartup routines, if present. 2013-06-30 10:27:06 -07:00
Ben Vanik
8d5e877a03 VdGetCurrentDisplayGamma and VdQueryVideoFlags. 2013-06-30 08:21:45 -07:00
Ben Vanik
c9a39a8b62 Dumping module info on startup and logging unimplemented kernel calls. 2013-06-30 07:53:17 -07:00
Ben Vanik
a62426948b Implementing enough ExGetXConfigSetting for D3D. 2013-06-30 07:52:53 -07:00
Ben Vanik
6f602d120a Adding thread ID to trace lines and cleaning up their formatting. 2013-06-30 06:09:08 -07:00
Ben Vanik
82ee749515 Adding a note about the asmjit issue. 2013-06-29 09:28:13 -07:00
Ben Vanik
338a6b4411 Adding back binutils from googlesource. 2013-06-29 08:47:21 -07:00
Ben Vanik
e1a9017396 Removing broken binutils mirror.
Sourceware is bad at what they do.
2013-06-29 08:41:24 -07:00
Ben Vanik
052c70efce Fixing broken opcode 63 stuff. 2013-06-02 12:01:43 -07:00
Ben Vanik
b3e93a0d1d srad.
Probably right.
2013-06-02 11:33:07 -07:00
Ben Vanik
97b4fdb041 Fixing misnamed register enum. 2013-06-02 10:32:07 -07:00
Rick Gibbed
eab588f29f Fixed some additional stack offsets in DbgPrint. 2013-06-02 10:12:27 -07:00
Rick Gibbed
e5bfe7264b Corrected issues with DbgPrint & _vnsprintf. 2013-06-02 09:44:31 -07:00
Rick Gibbed
fbaaebdb41 Oops. Tab! 2013-06-02 09:43:27 -07:00
Rick Gibbed
100b87846e Merge branch 'master' of https://github.com/benvanik/xenia 2013-06-02 08:08:17 -07:00
Rick Gibbed
9bc490579e 64-bit shim memory macros. 2013-06-02 08:07:40 -07:00
Rick Gibbed
c9688bb3e9 DbgPrint & _vnsprintf implementations. VERY HACKY. 2013-06-02 08:07:03 -07:00
Rick Gibbed
b97b8226b2 Fixed a crash when adding a FunctionSymbol with a NULL address. 2013-06-02 07:57:38 -07:00
Rick Gibbed
105aee506d dcbf disasm. 2013-06-02 07:56:17 -07:00
Ben Vanik
8a782c3485 Merge pull request #30 from espes/master
fill in some more xenos registers
2013-06-02 00:15:40 -07:00
espes
388c622ecd fill in some more xenos registers 2013-06-02 17:11:54 +10:00
Ben Vanik
cf57481a0e Adding basic register names. 2013-06-01 22:51:09 -07:00
Ben Vanik
e00e665a09 Basic command buffer processing. 2013-06-01 21:49:14 -07:00
Ben Vanik
ba16a0d847 Trying to setup writeback and add basic secondary command execution. 2013-06-01 03:08:31 -07:00
Ben Vanik
5b0fa8f17e Basic ringbuffer worker. Super hacky, not yet writing back to CPU. 2013-06-01 01:13:44 -07:00
Rick Gibbed
3667821be3 ldarx & stdcx disasm. 2013-05-31 22:01:35 -07:00
Ben Vanik
31199dd41d VdHSIOCalibrationLock. 2013-05-31 21:40:15 -07:00
Ben Vanik
4e6e27d9ac Zero KeCertMonitorData export. 2013-05-31 21:33:19 -07:00
Ben Vanik
ef0032ecff Wiring up register read/write from JIT -> GPU. 2013-05-31 21:23:26 -07:00
Rick Gibbed
edf3a9155b The stack address needs to start at the end of the allocated memory for the stack, not the beginning. 2013-05-31 20:55:52 -07:00
Ben Vanik
d53458023e Fixing/implementing static TLS entries. 2013-05-31 10:01:32 -07:00
Ben Vanik
38efd3837d Adding support for detecting the save/rest fpr and vmx blocks. 2013-05-31 01:53:30 -07:00
Ben Vanik
e6195c4086 fmadd, orc, extsh, extsw. 2013-05-31 01:00:00 -07:00
Ben Vanik
9bb36c7404 Fixing decoding of the rld* instructions. 2013-05-31 00:38:26 -07:00
Ben Vanik
dc16653164 Fixing decoding of some of the opcode 63 instructions. 2013-05-31 00:09:10 -07:00
Ben Vanik
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.
2013-05-30 23:41:25 -07:00
Ben Vanik
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.

Also fixing a broken stwcx that was causing crashes.
2013-05-30 23:20:05 -07:00
Ben Vanik
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.
2013-05-30 22:50:32 -07:00