Ben Vanik
29e4c35c38
Removing alloy::tracing, as it's unused.
2014-07-13 21:25:58 -07:00
Ben Vanik
9437d0b564
Sprucing up some of alloy.
2014-07-13 21:15:37 -07:00
Ben Vanik
48425da8ff
Sandbox getting close to running.
2014-07-12 22:59:16 -07:00
Ben Vanik
4a0531abc5
Posix code cache.
2014-07-12 22:25:12 -07:00
Ben Vanik
7ee79318e8
Fixing a bunch of alloy clang issues.
2014-07-12 21:52:33 -07:00
Ben Vanik
9b78dd977b
Migrating atomic ops to std::atomic where possible and poly.
2014-07-12 17:48:54 -07:00
Ben Vanik
bf882714d0
Cleaning up asserts and file/line macros.
2014-07-12 16:51:52 -07:00
Ben Vanik
8a6807bd92
Fixing linter to work on Windows (ironically, by breaking it).
2014-07-11 18:43:35 -07:00
Ben Vanik
1d54342930
Starting to cleanup includes a bit. Still a mess.
2014-07-11 18:03:35 -07:00
Ben Vanik
f24b45a07c
Moving threading utils to poly.
2014-07-10 23:51:28 -07:00
Ben Vanik
9031d5f4a4
Fix clang warnings / move some plat code into poly.
2014-07-10 22:51:27 -07:00
Ben Vanik
7daa85179c
Running clang-format on alloy.
...
All except x64_sequences, which needs work.
2014-07-10 20:20:00 -07:00
Ben Vanik
868803e03a
Fixing file header.
2014-07-09 22:31:14 -07:00
Ben Vanik
c5f114018e
Replacing alloy::Mutex with std::mutex.
2014-07-09 22:28:51 -07:00
Ben Vanik
500647968c
Prepping poly.
2014-07-09 22:05:41 -07:00
Ben Vanik
6b197c4c92
Removing the debugger and dependencies. Needs rethinking.
2014-07-09 21:21:40 -07:00
Ben Vanik
fd2a1f85a6
Fixing #105 enough to get the games moving along.
2014-07-08 21:47:31 -07:00
Ben Vanik
deaf8308fc
More UNPACK forms - likely right.
2014-07-08 20:52:12 -07:00
Ben Vanik
0950e9f53c
Calm some games down that hammer XMPGetStatus.
2014-07-08 16:02:42 -07:00
Ben Vanik
eb7987a634
Setting default output values for pixel shaders.
2014-07-08 16:02:42 -07:00
Ben Vanik
2a68a1b35b
Special casing some VC++ traps.
2014-07-08 16:02:41 -07:00
Ben Vanik
a5627ee25a
Hide lock logging.
2014-07-03 12:59:08 -07:00
Ben Vanik
824d3c246f
Prevent null/broken shaders from dying in d3dcompiler.
2014-07-03 12:58:56 -07:00
Ben Vanik
3b853f6201
WSAStartup tweak.
2014-07-03 12:58:27 -07:00
Ben Vanik
a0cb341662
Trying really hard to keep games from spinning up networking.
2014-07-02 21:57:21 -07:00
Ben Vanik
d5f27dbf34
Better arg passing for Execute and experimenting with APCs.
2014-07-02 15:39:49 -07:00
Fire30
15be1061d3
Fixed arguments for NetDll_send.
2014-07-02 18:17:09 -04:00
tj
13b3fa6f84
Fixed typo in NetDll_setsockopt logging.
2014-06-24 00:38:14 -04:00
Ben Vanik
4009eb1cd8
Fail out of XamContentCreateEnumerator.
2014-06-22 21:19:48 -07:00
Ben Vanik
9905380bd0
Steal one page of physical heap - this helps catch virt underflows.
2014-06-22 21:09:33 -07:00
Ben Vanik
7b98c748fa
Fixing double allocation of memory x_x
2014-06-22 21:03:41 -07:00
Ben Vanik
71eb408d67
Various fiddlings.
2014-06-22 19:41:26 -07:00
Ben Vanik
a5448b1296
Fixing pack float16.
2014-06-20 20:48:02 -07:00
Ben Vanik
da590bd9cc
Disable logging for TlsGetValue.
2014-06-20 20:44:53 -07:00
Ben Vanik
7936fa2dbd
Fix constants in pixel shaders.
2014-06-20 20:44:39 -07:00
Ben Vanik
45e149d00b
Possibly correct variable EXTRACT_I16.
2014-06-10 21:38:33 -07:00
Ben Vanik
02709e0d65
Optimize EXTRACT_I32(0).
2014-06-10 21:38:17 -07:00
Ben Vanik
4089f405af
PACK FLOAT16 seems correct.
2014-06-10 21:36:13 -07:00
Ben Vanik
713cfcb429
Possibly correct FLOAT16 unpack.
2014-06-10 21:35:50 -07:00
Ben Vanik
574a04a853
Preventing emulated instructions from stomping the xmm registers.
2014-06-10 21:33:58 -07:00
Ben Vanik
3845437276
Fix assert to allow 16 fetchers.
2014-06-10 21:06:36 -07:00
Ben Vanik
829b4f67bf
ReadFile EOF.
2014-06-10 20:40:11 -07:00
Ben Vanik
ff8c03046a
VECTOR_COMPARE_UGT/UGE (probably).
2014-06-09 21:29:35 -07:00
Ben Vanik
289075d052
Constant D3DCOLOR UNPACK. Could optimize earlier.
2014-06-09 21:29:15 -07:00
Ben Vanik
5343cab851
Support constant CALL_INDIRECT.
2014-06-09 21:15:13 -07:00
Ben Vanik
95508273f6
Misc experimentation.
2014-06-08 23:11:09 -07:00
Ben Vanik
052dca5010
Const src1 permute.
2014-06-08 22:21:38 -07:00
Ben Vanik
43a3b4f3c0
Support constant value movs to mmio memory.
2014-06-08 22:21:23 -07:00
Ben Vanik
264fc7cc91
Fix assert.
2014-06-08 22:21:05 -07:00
Ben Vanik
6e76c169d6
Proper(ish) VdSwap - fixes a bunch of things.
...
Caching is working a bit better, now.
2014-06-08 21:24:29 -07:00
Ben Vanik
8337820500
Fiddling with interrupt triggering - still not right.
2014-06-08 11:59:57 -07:00
Ben Vanik
daa8a24173
Caching states.
2014-06-08 11:51:53 -07:00
Ben Vanik
6514eaa780
Disabling paged resource caching for now, as it's broken.
2014-06-08 11:25:10 -07:00
Ben Vanik
295910c3d8
Initial refactoring of gpu/.
...
Runs too fast - now there are ringbuffer wrapping issues.
2014-06-08 11:23:55 -07:00
Ben Vanik
4072640a64
Skeleton of new shared GPU files.
2014-06-02 19:24:33 -07:00
Ben Vanik
beb5ee40ee
Dirty page table. Not yet used.
2014-06-02 07:49:45 -07:00
Ben Vanik
ddbebcda6c
Cleanup memory.
2014-06-02 07:11:27 -07:00
Ben Vanik
0e3854555d
Pure dynamic MMIO access. Prep for more complex GPU memory management.
2014-06-01 23:36:18 -07:00
Ben Vanik
3a8065b7b1
Vertex buffer caching.
...
Doesn't help, though, as buffers are weird. Need to rethink all of this.
2014-06-01 09:42:07 -07:00
Ben Vanik
2d173ea62b
Caching index buffers.
2014-05-31 22:26:39 -07:00
Ben Vanik
19c48c7a90
Partial texture cache - doesn't invalidate yet.
2014-05-31 17:38:32 -07:00
Ben Vanik
529a1478d8
Sampler state caching.
2014-05-31 16:34:05 -07:00
Ben Vanik
6607606b15
Moving texture code into shared/separate files. Leaking a lot.
2014-05-31 15:42:21 -07:00
Ben Vanik
e42460039f
Untested PACK float16_2/_4.
2014-05-31 11:23:10 -07:00
Ben Vanik
8be043fbd4
Merge pull request #86 from hlide/master
...
EXTRACT_I8, EXTRACT_I16, EXTRACT_I32, EXTRACT_F32: properly modified the...
2014-05-31 08:19:03 -07:00
hlide
0598df1d9e
Removed weird symbols in x64_sequences.cc
2014-05-31 17:14:40 +02:00
Ben Vanik
e45fc3dc56
Reducing profiling forced swap frequency.
2014-05-31 08:13:13 -07:00
Ben Vanik
430d827770
Like, really fixing SELECT. Frogger now runs ^_^
2014-05-31 08:06:04 -07:00
hlide
8525cf739e
Update x64_sequences.cc
2014-05-31 16:51:15 +02:00
hlide
334f744fb8
EXTRACT_I8, EXTRACT_I16, EXTRACT_I32, EXTRACT_F32: properly modified the code in comments
2014-05-31 14:23:22 +02:00
Ben Vanik
002aaab77d
Fixing VECTOR_COMPARE_SGE.
2014-05-30 22:36:06 -07:00
Ben Vanik
df5d86e78c
Tweaking load/store. Nasty.
2014-05-30 22:29:08 -07:00
Ben Vanik
7acbf759e2
Fixing UNPACK D3DCOLOR. Probably.
2014-05-30 21:38:33 -07:00
Ben Vanik
0b42c72ec5
Fixing const propagated DID_CARRY.
2014-05-30 20:09:00 -07:00
Ben Vanik
d65b5801f8
Adding hlide's comments for EXTRACT - need to implement/test.
2014-05-30 14:02:15 -07:00
Ben Vanik
691a3d4ade
Fixing EXTRACT.
2014-05-30 14:01:52 -07:00
Ben Vanik
1729c8ce6d
Constant MIN/MAX.
2014-05-30 14:00:28 -07:00
Ben Vanik
8ba95efdce
Fixing mulx usage.
2014-05-30 12:41:48 -07:00
Ben Vanik
6c92e6a5c5
Increasing microprofile stack size, as some of these trees are deep.
2014-05-30 11:44:24 -07:00
Ben Vanik
0267efa5cc
Always swapping the graphics system so that we see the profiler update.
2014-05-30 06:50:07 -07:00
Ben Vanik
0c55309826
Fixing COMPARE and tweaking ABS/NEG.
2014-05-29 23:11:00 -07:00
Ben Vanik
328ece538a
Fixing disabled profiling.
2014-05-28 21:46:43 -07:00
Ben Vanik
997f582d1f
Removing useless counters.
2014-05-28 20:32:50 -07:00
Ben Vanik
18b1f9f513
Fixing controller input.
2014-05-28 20:19:28 -07:00
Ben Vanik
c06526e5df
Backpatch function addresses.
2014-05-28 20:02:40 -07:00
Ben Vanik
c1812406f5
Adding a bunch of profiling tracers.
2014-05-28 19:19:39 -07:00
Ben Vanik
beb9bd11f0
Microprofile integration.
2014-05-28 13:59:43 -07:00
Ben Vanik
6486e0a48e
Profiler skeleton.
2014-05-27 22:54:40 -07:00
Ben Vanik
2ef6545927
Trap sometimes called.
2014-05-27 19:35:52 -07:00
Ben Vanik
ca22010502
Adding memory snooping for mmio accesses. Yuck.
2014-05-27 19:33:16 -07:00
Ben Vanik
192941eeb0
PACK D3DCOLOR.
2014-05-27 16:23:46 -07:00
Ben Vanik
edf282abdc
Disabling logging.
2014-05-27 15:26:16 -07:00
Ben Vanik
b0034f3b4d
Fix cntlz.
2014-05-27 15:15:52 -07:00
Ben Vanik
2856d38024
Fixing some instructions.
2014-05-27 14:31:19 -07:00
Ben Vanik
5436cde0fc
Saturating unsigned VECTOR_ADD.
2014-05-27 14:27:07 -07:00
Ben Vanik
8619a15ee3
Emulated POW2/LOG2. Can probably be faked with polynomials.
2014-05-27 13:25:22 -07:00
Ben Vanik
0612a68f80
Fixing encoding of vpextr*.
2014-05-27 13:02:38 -07:00
Ben Vanik
87f8a4bb25
vector_add.
2014-05-27 13:02:23 -07:00
Ben Vanik
e32342e956
Variable vector_shl int8.
2014-05-27 13:02:00 -07:00
Ben Vanik
7635bb71a0
Constant permute.
2014-05-27 12:03:40 -07:00
Ben Vanik
2d765461ff
Common constant vector shifts.
2014-05-27 12:03:13 -07:00
Ben Vanik
d85665bb06
More efficient 11111... vec loading.
2014-05-27 11:57:20 -07:00
Ben Vanik
16bac6d9c5
Constant support for a lot of vector ops.
2014-05-27 11:56:55 -07:00
Ben Vanik
efa0565398
Fixing permute.
2014-05-27 07:53:19 -07:00
Ben Vanik
5a85263e5f
Trying out a new style of JIT pattern matching.
2014-05-26 20:28:21 -07:00
Ben Vanik
a001714fb0
Adding lock to stdout logging. Disable with --fast_stdout.
...
Fixes #78 .
2014-05-21 11:24:44 -07:00
Ben Vanik
1bb0b08a14
Fixing WIN32 build.
2014-05-21 10:38:41 -07:00
Anthony Pesch
1a4355a36b
implemented xerotl to replace win32 specific _rotl usage
2014-05-14 00:39:50 -07:00
Anthony Pesch
f01609c5aa
replace usage of itoa with snprintf
2014-05-14 00:39:47 -07:00
Anthony Pesch
68e5833647
use getpagesize on non-win32 platforms
2014-05-14 00:36:05 -07:00
Anthony Pesch
0e6c47aac5
use custom __m128 struct on non-win32 platforms to provide element-wise access
...
explicitly cast param for set_constant to correctly resolve overloaded function
2014-05-14 00:36:05 -07:00
Anthony Pesch
c6cdf1f672
nest X64Function in its own block to avoid clang errors related to goto usage
2014-05-14 00:36:05 -07:00
Anthony Pesch
60a7e79e1a
assume c++11
...
clang didn't like static members in anonymous structures, gave them names
WriteEvent template wouldn't resolve for temporary values without const decl in clang
added a few missing headers
added -fno-operator-names for xbyak compilation under gcc/clang
2014-05-14 00:35:21 -07:00
Shawn Hoffman
1e196df4b3
Fix spelling of GetLogicalProcessorInformation in GetProcAddress call - spelling actually matters here.
2014-03-28 21:48:20 -07:00
Ben Vanik
9a2d99d652
Fixing CFA.
2014-03-28 20:39:21 -07:00
Ben Vanik
24fc5acb07
Partially implemented Windows keyboard HID for testing.
2014-02-23 16:36:17 -08:00
Ben Vanik
86f66c4ab7
So few (faked) registers seems to break some things.
2014-02-15 15:49:41 -08:00
Ben Vanik
b2f886be98
Fixing more x64 stuff.
2014-02-10 23:48:41 -08:00
Ben Vanik
74c9df6697
Re-enabling x64 backend, fixing many bugs.
2014-02-10 23:24:46 -08:00
Ben Vanik
4a584129d2
A probably-working register allocator.
2014-02-10 21:16:38 -08:00
Ben Vanik
6bd214af0b
Adding a shared scratch arena for compiler passes.
2014-02-08 22:01:51 -08:00
Ben Vanik
e6f3716d87
Disabling x64 backend for now, as it's rubbish.
2014-02-08 22:01:26 -08:00
Ben Vanik
e36e1acc1a
TLS access is slow.
2014-02-08 22:00:53 -08:00
Ben Vanik
2403f367b1
MachineInfo
2014-02-08 22:00:21 -08:00
Ben Vanik
ee69696485
Hiding some D3D11 log spew.
2014-02-06 22:18:44 -08:00
Ben Vanik
6199e9f7b5
Vector constant support.
2014-02-06 22:18:30 -08:00
Ben Vanik
c5b70e615f
Fixing div.
2014-02-06 22:18:15 -08:00
Ben Vanik
5309356908
Fixing tail calls in the jit.
2014-02-06 21:53:31 -08:00
Ben Vanik
0d88e83daa
Avoiding function lookup for compiled functions. Still need caching.
2014-02-02 14:41:57 -08:00
Ben Vanik
ef5f59ed0b
I seem to relearn blr != return once every month or so.
2014-02-02 14:35:16 -08:00
Ben Vanik
2d65bea0ea
Fix warning.
2014-02-02 13:34:03 -08:00
Ben Vanik
05387b4996
Fixing type mismatches.
2014-02-02 13:10:24 -08:00
Ben Vanik
bc54fc1ae8
UNPACK D3DCOLOR and EXTRACT INT32 variable.
2014-02-02 13:04:42 -08:00
Ben Vanik
544d453691
Stack fixes.
2014-02-02 12:28:40 -08:00
Ben Vanik
14d6855b6d
PERMUTE by V128 and fixing some ops.
2014-02-02 11:23:03 -08:00
Ben Vanik
44c29a6691
Possibly working LOAD_VECTOR_SHL/SHR.
2014-02-02 02:18:59 -08:00
Ben Vanik
ae02dc7eba
Fixing rdx clobber from mul/div.
2014-02-02 01:51:38 -08:00
Ben Vanik
bca349b302
Oh my. Basic CFA/DFA, local variable support, misc fixes, etc.
2014-02-02 00:33:57 -08:00
Ben Vanik
b29276e167
Reserve address cleanup.
2014-02-01 01:13:23 -08:00
Ben Vanik
91a43a0ab6
Fixing broken temp reg.
2014-02-01 01:13:05 -08:00
Ben Vanik
b1ab2fb0a7
That was a terrible idea. Let us never speak of it again.
2014-02-01 00:41:36 -08:00
Ben Vanik
f524693dbb
Unswapping IVM register accesses.
2014-02-01 00:20:45 -08:00
Ben Vanik
68b5a0979e
Logging undefined extern calls.
2014-02-01 00:12:36 -08:00
Ben Vanik
f4d0eb03bc
Fixing 64bit fneg.
2014-02-01 00:08:26 -08:00
Ben Vanik
6eef76374d
Fix CNTLZ with 0.
2014-02-01 00:05:53 -08:00
Ben Vanik
50cb12634e
Fixed rax clobber on mul/div.
2014-02-01 00:05:38 -08:00
Ben Vanik
10c9537836
Swapping register values.
2014-02-01 00:05:21 -08:00
Ben Vanik
7044b74dc2
Fixing register value overwriting in address calculation.
2014-01-31 23:33:32 -08:00
Ben Vanik
e63fbcc2cd
Fixing sub w/ SET_CARRY.
2014-01-31 23:16:38 -08:00
Ben Vanik
efb2b6f037
Fixing disasm of XO.
2014-01-31 22:54:50 -08:00
Ben Vanik
7141fbad27
Ignoring comment on fall-through for now, as all imports cause it.
2014-01-31 22:51:40 -08:00
Ben Vanik
6ed411a08d
Fixing printing of floats.
2014-01-31 22:51:18 -08:00
Ben Vanik
458368c35e
Fixing IVM SUB bug.
2014-01-31 22:51:04 -08:00
Ben Vanik
009a6d0745
Hacking together proper stack saving. Can't get >128b frames working.
2014-01-31 22:16:05 -08:00
Ben Vanik
f85b83709e
Refactoring of function types. Also fixes some library import bugs.
2014-01-30 00:22:55 -08:00
Ben Vanik
bdee924494
Various fixes.
2014-01-28 23:51:40 -08:00
Ben Vanik
0ec8e32861
Removing stack padding. Still broken even with it.
2014-01-28 23:22:10 -08:00
Ben Vanik
949b1a2220
Adding dynamic access checks. Eww.
2014-01-28 23:21:55 -08:00
Ben Vanik
53d4cbf2c5
Messing with flags. subficx sometimes still wrong.
2014-01-28 22:49:51 -08:00
Ben Vanik
62ced2742e
Handling unimplemented externs.
2014-01-28 22:11:33 -08:00
Ben Vanik
8cddfcbf19
More SSE work.
2014-01-28 22:06:45 -08:00
Ben Vanik
b2e9086932
Reserving volatile XMM registers (so long as we are calling tracers).
2014-01-28 20:39:44 -08:00
Ben Vanik
e5cf47a0d8
More SSE work.
2014-01-28 20:33:13 -08:00
Ben Vanik
ac4360913f
Fixing typo in logging.
2014-01-28 13:56:30 -08:00
Ben Vanik
0ff1fe93af
Disabling logging.
2014-01-28 10:46:40 -08:00
Ben Vanik
465c3a41dd
Hacking.
2014-01-28 00:19:05 -08:00
Ben Vanik
5421108b9e
Bad dp checks.
2014-01-27 23:00:26 -08:00
Ben Vanik
0908891bb2
v128 tracing.
2014-01-27 22:56:56 -08:00
Ben Vanik
5b2e44b0e8
Cleaning up some constant handling.
2014-01-27 22:47:37 -08:00
Ben Vanik
d67f786af8
Some binary xmm ops.
2014-01-27 22:18:44 -08:00
Ben Vanik
da36baba8d
Fixing 64-bit mov encoding. *shakes fist at xbyak for silently coercing*
2014-01-27 21:32:58 -08:00
Ben Vanik
8894a0f86e
Fixing tracer formats.
2014-01-27 21:32:20 -08:00
Ben Vanik
01c1dd6417
Fixing unpack type.
2014-01-27 21:03:17 -08:00
Ben Vanik
9b45e6f2dc
Tracers in x64, almost matching ivm.
2014-01-27 20:50:45 -08:00
Ben Vanik
58c0ea9ac7
Fixing bad vector compare.
2014-01-27 09:25:48 -08:00
Ben Vanik
6c7e392088
Fixing xmm unary ops.
2014-01-26 22:57:39 -08:00
Ben Vanik
c828e5416e
Starting on some unary xmm opcodes.
2014-01-26 22:47:15 -08:00
Ben Vanik
234aa4f543
Some parts of vector comparison.
2014-01-26 22:25:28 -08:00
Ben Vanik
6c6f10ad48
Moving op templates to op_utils.inl.
2014-01-26 21:40:25 -08:00
Ben Vanik
ae6c903173
Reformating lambdas to make vs happier.
2014-01-26 21:34:46 -08:00
Ben Vanik
6e35b6efa3
Renaming op utils.
2014-01-26 21:30:34 -08:00
Ben Vanik
ed4efccc30
Fleshing out skeletons for most sequences.
2014-01-26 21:27:45 -08:00
Ben Vanik
1988edfd55
Cleaning up a bit in prep for float/vec.
2014-01-26 21:04:30 -08:00
Ben Vanik
1518523651
Untested code for static register load/stores.
2014-01-26 18:51:56 -08:00
Ben Vanik
638afa686c
Skeleton for PACK/UNPACK.
2014-01-26 18:21:12 -08:00
Ben Vanik
672a4fd504
LOAD_CLOCK.
2014-01-26 18:20:59 -08:00
Ben Vanik
e785e31a6f
Disabling context prop pass until register spilling is implemented.
2014-01-26 17:52:45 -08:00
Ben Vanik
d323e6d3ec
Indirect calls and fixing v128 const loads.
2014-01-26 17:52:32 -08:00
Ben Vanik
0123b63aa2
Adding (somewhat) ivm compatible ctx load/store tracing.
2014-01-26 17:42:03 -08:00
Ben Vanik
638d9631af
Fixing register allocation bug.
2014-01-26 17:38:40 -08:00
Ben Vanik
f55fb17e1b
MUL/MUL_HI/DIV
2014-01-26 16:09:25 -08:00
Ben Vanik
ebaf8aa16d
Fixing extends. Xbyak doesn't have good validation, so expecting more :(
2014-01-26 15:46:10 -08:00
Ben Vanik
e52a7bc3af
Fixing things, breaking others.
2014-01-26 15:10:39 -08:00
Ben Vanik
122761835e
Adding new instructions and cleaning things up a bit.
2014-01-26 12:14:29 -08:00
Ben Vanik
bbf3b4bdab
Fixing tail calls.
2014-01-26 11:45:58 -08:00
Ben Vanik
aadf92e4ea
'Fixing' register clobbering by disabling a bunch of nonvolatile regs.
2014-01-26 11:18:12 -08:00
Ben Vanik
ac59b61851
Fixing register eviction.
2014-01-26 11:17:53 -08:00
Ben Vanik
5eeeee7093
Fixing jumps.
2014-01-26 11:17:12 -08:00
Ben Vanik
7fe0a10d43
Adding back --break_on_instruction.
2014-01-26 11:16:55 -08:00
Ben Vanik
3e52a99adf
Fiddling with stack. Still wrong.
2014-01-26 04:34:29 -08:00
Ben Vanik
495edda8d8
Logging comments like IVM.
2014-01-26 04:01:51 -08:00
Ben Vanik
51ae8299d9
Fixing stack size.
2014-01-26 03:54:50 -08:00
Ben Vanik
20c8eb1561
Making debug disassembly look a bit better.
2014-01-26 03:24:55 -08:00
Ben Vanik
cb352c6c86
Fancy templated helpers.
2014-01-26 03:17:03 -08:00
Ben Vanik
ecf0988ddb
Removing SET_RETURN_ADDRESS - hopefully it'll never be needed again.
2014-01-26 01:18:59 -08:00
Ben Vanik
8789fd4134
Heuristically detecting ret - probably breaks some things.
2014-01-26 01:09:25 -08:00
Ben Vanik
c74f35552a
(air quotes) "register allocation" without spills.
2014-01-25 23:36:59 -08:00
Ben Vanik
c4d6c7a526
Reducing value count. IVM could take advantage of this.
2014-01-25 22:47:21 -08:00
Ben Vanik
05432242ff
Removing block continuation branches.
2014-01-25 21:35:59 -08:00
Ben Vanik
f438fa980d
Fixing source offsets.
2014-01-25 21:32:30 -08:00
Ben Vanik
0cca23cdd7
Source map in DebugInfo. IVM needs to port its stuff over eventually.
2014-01-25 21:20:28 -08:00
Ben Vanik
4609339c5a
JIT hackery. Not quite working.
2014-01-25 20:30:41 -08:00
gibbed
93d61d02d7
Note about DXGI_FORMAT_B4G4R4A4_UNORM being Windows 8 only.
2014-01-25 06:15:02 -08:00
gibbed
2f8f893977
Don't need to create the mastering voice with with an explicit number of channels or sample rate.
2014-01-25 04:50:47 -08:00
gibbed
47c71d702a
Audio system overhaul for support of multiple audio drivers.
2014-01-25 03:18:22 -08:00
Ben Vanik
bbe50cfe26
Disabling x64 backend.
2014-01-24 23:34:18 -08:00
gibbed
b6c831c7ec
Wait for graphics driver to complete initialization before continuing.
2014-01-24 23:00:05 -08:00
Ben Vanik
8ae6053d0f
Deleting LIR and such, wiring up for HIR->x64.
2014-01-24 22:26:15 -08:00
gibbed
764d0b89f5
Fixed fetching of non-tiled textures that don't have a pitch that is a multiple of 256 bytes.
2014-01-24 11:09:38 -08:00
gibbed
7dc8a5931f
Quick hack fix for vsldoi128.
2014-01-24 10:01:45 -08:00
gibbed
c6642331fa
Small cleanup.
2014-01-24 03:42:07 -08:00
gibbed
1ac84cf255
VECB16, VECS8, VECI4, VECF4 macros.
2014-01-24 03:39:10 -08:00
gibbed
3a7aaadbd8
TextureSwap now swaps XE_GPU_ENDIAN_8IN32.
2014-01-24 00:06:10 -08:00
gibbed
855173b2bd
Probably broke everything.
2014-01-24 00:00:20 -08:00
Ben Vanik
dfbbefa97f
Asserting byte swapped vbs.
2014-01-23 23:58:23 -08:00
Ben Vanik
53b9ed5214
Simplifying disassembler. Much faster than before.
2014-01-23 20:31:27 -08:00
Ben Vanik
f36e6cd820
Removing JSON dumps.
2014-01-23 20:31:26 -08:00
Ben Vanik
f93a21884c
Moving descriptions to instr table, part of issue #51 .
2014-01-23 20:31:26 -08:00
gibbed
44847e9042
Moved QueryVolume and QueryFileSystemAttributes to Device from Entry.
2014-01-23 11:23:26 -08:00
gibbed
bcf75a1b98
NtQueryVolumeInformationFile.
2014-01-22 17:55:23 -08:00
gibbed
6671908375
QueryVolume, QueryFileSystemAttributes stubs with accompanying XVolumeInfo and XFileSystemAttributeInfo. Needs further improvement.
2014-01-22 17:54:10 -08:00
gibbed
61093245a5
Gah.
2014-01-22 09:47:43 -08:00
gibbed
4aeb978d89
FMT_1_5_5_5.
2014-01-22 09:45:57 -08:00
gibbed
4b70b578fd
Removed hack from XE_GPU_ENDIAN_8IN16.
2014-01-22 09:45:33 -08:00
Ben Vanik
489154e548
Ignore requests for kernel32.dll
2014-01-21 21:03:27 -08:00
Ben Vanik
b6d7ccfb03
Adding an ExConfig setting.
2014-01-21 20:09:39 -08:00
gibbed
302111afbf
Fixed writing of too much data.
2014-01-21 19:09:07 -08:00
gibbed
1091c171b2
Maybe this will work?
2014-01-21 18:53:35 -08:00
gibbed
d1005e1a34
XamShowDeviceSelectorUI. Pretends success. Probably bad, but it'll do for now.
2014-01-21 18:19:50 -08:00
gibbed
a9dfe13799
Further improvements to FetchTexture2D.
2014-01-21 18:19:50 -08:00
Ben Vanik
58db76c42c
Pay no attention to the man behind the curtains.
2014-01-21 18:14:36 -08:00
Ben Vanik
1316e79a2f
Fixing missing field.
2014-01-21 18:12:18 -08:00
Ben Vanik
7d8aaaaea7
Texture wrapping modes.
2014-01-21 08:31:25 -08:00
gibbed
3a2c2beca4
Not sure if this is correct, seems to work.
2014-01-21 02:36:24 -08:00
gibbed
801758fc2f
Oops.
2014-01-21 01:54:54 -08:00
gibbed
01b00118d4
Further improvements to FetchTexture2D.
2014-01-21 01:54:34 -08:00
gibbed
efa7199974
XE_GPU_SWIZZLE_000R.
2014-01-21 01:51:56 -08:00
gibbed
9507960829
Oops. Don't need that.
2014-01-21 00:51:56 -08:00
gibbed
d75f4989a8
- Tiled texture support (largely untested).
...
- Maybe fixed FMT_8.
- Improved swapping of source texture data.
2014-01-21 00:50:18 -08:00
Ben Vanik
44c15342f5
Swizzling some textures.
2014-01-21 00:31:24 -08:00
Ben Vanik
175e21bea1
Texture filtering (mostly).
2014-01-20 23:45:45 -08:00
Ben Vanik
c660b5e4d1
Making the invalid texture bright green.
2014-01-20 22:38:07 -08:00
gibbed
e02c5157ef
Then I broke DXT3. Fixed DXT3 and DXT5. For real this time.
2014-01-20 20:29:45 -08:00
gibbed
2bda51f5ec
Fixed DXT5.
2014-01-20 20:28:42 -08:00
gibbed
e66390ae93
- Proper copying of texture data.
...
- Support for DXT3, DXT5, 32 float, 16 16 16 16 float.
- Only pad textures for formats that require it.
2014-01-20 20:14:47 -08:00
Ben Vanik
74aac97b3e
FMT_8
2014-01-20 17:54:19 -08:00
gibbed
ccfb82d883
Better texture copying. And possible support for DXT1.
2014-01-20 17:49:26 -08:00
Ben Vanik
26a2ed4d75
Fixing shaders.
2014-01-20 17:45:26 -08:00
Ben Vanik
094e165415
Fixing copy.
2014-01-20 17:00:17 -08:00
Ben Vanik
3c98e65997
Fixing texture size.
2014-01-20 16:41:21 -08:00
Ben Vanik
67cc57e918
Whoops. Re-enabling blending.
2014-01-20 16:11:55 -08:00
Ben Vanik
37ed238186
Fixing texture sizing (maybe). Need to do a custom slicing bit, probably.
2014-01-20 16:10:56 -08:00
Ben Vanik
cd72bc33a3
Texture sampling in shaders.
2014-01-20 16:05:34 -08:00
Ben Vanik
4de33a6e2d
Making texture fetching split from samplers.
2014-01-20 15:36:33 -08:00
Ben Vanik
af223b2067
Textures part 1: uploading.
2014-01-20 13:57:22 -08:00
Ben Vanik
e469d87678
Detect write to psize and include conditionally.
2014-01-20 11:07:14 -08:00
Ben Vanik
0efd7b4a62
Moving viewport transform to vertex shaders.
2014-01-20 10:46:43 -08:00
gibbed
7b9a804fc0
vsprintf.
2014-01-20 10:15:53 -08:00
gibbed
16918eea07
Disabled source offset tracking by default.
2014-01-20 08:18:49 -08:00
gibbed
5a5a93d62d
This seems to work. Perhaps cache in the future?
2014-01-20 07:41:11 -08:00
gibbed
8e5da8d853
Oops.
2014-01-20 07:30:18 -08:00
gibbed
592b1974f2
Corrected stack access in XamUserReadProfileSettings.
2014-01-20 06:08:49 -08:00
gibbed
6d7b25a338
Minor corrections to NtCreateFile, NtQueryDirectory.
2014-01-20 06:08:24 -08:00
gibbed
c673d55c1e
Corrected XFileXctdCompressionInformation handling. Needs to be further corrected in the future.
2014-01-20 06:05:36 -08:00
gibbed
e5e6a2cea6
Corrected X_FILE_INFORMATION_CLASS definition.
2014-01-20 06:01:36 -08:00
Ben Vanik
f5eefb138c
Geometry shaders now support disabled viewports.
2014-01-20 03:42:05 -08:00
Ben Vanik
e5d4cdd66d
Fixing XamInputSetState.
2014-01-20 02:36:23 -08:00
Ben Vanik
58504d8c0b
Initial pass at pointsprites. Needs a lot more work.
2014-01-20 01:13:37 -08:00
Ben Vanik
ea5a6e19dd
Disabling culling for rect lists.
2014-01-20 00:45:16 -08:00
Ben Vanik
1cd518b19c
Geometry shader work for rect lists and quad lists.
2014-01-20 00:18:14 -08:00
Ben Vanik
bcea3e00f1
Point size output from VS.
2014-01-19 16:41:52 -08:00
Ben Vanik
55fe3aca05
RECIP_IEEE.
2014-01-19 11:07:12 -08:00
Ben Vanik
cb3f2308af
Fixing shaders that fetch constants.
2014-01-19 10:29:34 -08:00
gibbed
8f4950bb6c
Corrected overlapped_ptr stack location in XamUserReadProfileSettings.
2014-01-19 10:16:12 -08:00
gibbed
e0c652b075
Pretend XMACreateContext succeeded.
2014-01-19 09:47:07 -08:00
gibbed
7e22d3be92
- Renamed SHIM_SET_RETURN macro to SHIM_SET_RETURN_64.
...
- Added SHIM_SET_RETURN_32 macro, which sign-extends to 64-bit.
- Updated all uses of SHIM_SET_RETURN to the appropriate macro (either SHIM_SET_RETURN_32 or SHIM_SET_RETURN_64).
2014-01-19 07:24:16 -08:00
gibbed
870a59f225
Turns out NtQueryDirectoryFile only returns a single entry at a time.
2014-01-19 06:57:43 -08:00
gibbed
c7276454d7
Added file_name argument to QueryDirectory.
2014-01-19 02:05:51 -08:00
Ben Vanik
71de4e77dc
Fixing memory leak and zeroing on alloc.
2014-01-19 01:51:57 -08:00
Ben Vanik
268bbf105d
QueryDirectory for STFS.
2014-01-19 01:47:06 -08:00
gibbed
7da2ad30b0
absolute_path for XFile and Entry.
2014-01-19 01:28:34 -08:00
Ben Vanik
b62134855a
XMsgCancelIORequest shim.
2014-01-19 01:08:28 -08:00
Ben Vanik
f75517f7f8
Fixing add 32 w/ saturate.
2014-01-19 00:53:22 -08:00
Ben Vanik
0bc49621d4
Properly parsing resource infos and implementing XexGetModuleSection.
2014-01-19 00:53:22 -08:00
gibbed
d22b59555e
Fixed QueryDirectory for DiscImageFile and STFSContainerFile.
2014-01-19 00:52:17 -08:00
gibbed
124b419b6b
Added name() and path() to XFile.
2014-01-19 00:51:08 -08:00
gibbed
8b27354dcb
Stubbed handling of root_directory.
2014-01-19 00:24:59 -08:00
gibbed
1277325603
Stubbed QueryDirectory on STFSContainerEntry.
2014-01-19 00:07:48 -08:00
gibbed
f306db970d
Merge branch 'master' of https://github.com/benvanik/xenia
2014-01-18 23:45:48 -08:00
gibbed
8be076df32
Disabled assert for file name in NtQueryDirectoryFile.
2014-01-18 23:45:32 -08:00
gibbed
67e73cb33d
Added support for restart scan argument to NtQueryDirectoryFile.
2014-01-18 23:44:39 -08:00
Ben Vanik
50a692d20f
Allowing STFS v2 with a warning.
2014-01-18 23:41:40 -08:00
Ben Vanik
5319b31829
GetModule(NULL).
2014-01-18 23:41:40 -08:00
gibbed
8536425d76
Remove comment about file paths. And don't recompute file name length.
2014-01-18 23:41:04 -08:00
gibbed
0db3577a84
Added QueryDirectory to Entry.
2014-01-18 23:40:22 -08:00
gibbed
6386fe50c2
QueryDirectory for DiscImageEntry. Untested.
2014-01-18 23:40:01 -08:00
gibbed
5fa82364ba
Better handling for bad library import string table indices.
2014-01-18 23:24:50 -08:00
Ben Vanik
c11711681f
Actually fixing STFS.
2014-01-18 23:20:32 -08:00
Ben Vanik
0581d8eb07
Fixing STFS reading.
2014-01-18 22:49:26 -08:00
Ben Vanik
6b633e4e28
STFS loading... xex's load, but files seem broken. Ugh.
2014-01-18 22:23:26 -08:00
gibbed
69320ed94b
xam_net cleanup.
2014-01-18 10:39:19 -08:00
gibbed
29fa0709ec
XamContentCreateEnumerator stub.
2014-01-18 10:35:17 -08:00
gibbed
d029ce978e
Fixed NtWaitForSingleObjectEx. Third time's the charm?
2014-01-18 08:18:25 -08:00
gibbed
e2b2d0562e
Fixed NtWaitForSingleObjectEx. Again.
2014-01-18 08:00:16 -08:00
gibbed
1b57d2ee85
NtWaitForMultipleObjectsEx.
2014-01-18 07:57:51 -08:00
gibbed
6c5a6919ee
Fixed NtWaitForSingleObjectEx.
2014-01-18 07:57:15 -08:00
gibbed
d9984a15c5
Macros for 8-bit GPR/MEM access.
2014-01-18 07:55:24 -08:00
gibbed
137230bbef
Fixed copy-pasted comment.
2014-01-18 06:08:35 -08:00
gibbed
7cb71c6b9f
do {
2014-01-18 06:07:15 -08:00
gibbed
40178cb22d
Minor changes to APU.
2014-01-18 06:06:34 -08:00
gibbed
619b9758a0
NtQueryDirectoryFile and necessary backing. Not fully functional yet.
2014-01-18 05:59:22 -08:00
Ben Vanik
c257ad0122
Work on D3D11 for various state settings. This code sucks. Needs a rewrite.
2014-01-18 01:50:31 -08:00
Ben Vanik
a7db0f0410
Fixing component access on vfetch.
2014-01-18 01:38:11 -08:00
Ben Vanik
7bdd973935
Proper vertex format input type in shaders.
2014-01-18 01:08:45 -08:00
Ben Vanik
946397cc8c
Fixing warnings.
2014-01-18 00:13:03 -08:00
Ben Vanik
99c72f24f2
Better vertex buffer construction, supporting packed data.
2014-01-18 00:12:57 -08:00
gibbed
ba9d343c51
RtlUnicodeToMultiByteN.
2014-01-17 21:13:09 -08:00
gibbed
3b151b21ad
NtOpenFile. Duplicated mostly from NtCreateFile's implementation. Probably wrong.
2014-01-17 19:45:56 -08:00
gibbed
5cdae4cee4
Fixed cast for %p.
2014-01-17 19:18:35 -08:00
gibbed
4fa3efd2b6
Corrected implementation of %s for _vswprintf.
2014-01-17 19:15:58 -08:00
gibbed
373d8a3eb8
Corrected implementation of %n.
2014-01-17 19:10:33 -08:00
gibbed
a6e1095cbc
Fixed some formatting and a cast.
2014-01-17 18:57:56 -08:00
gibbed
dbaa47a851
Whoops. Memory leak.
2014-01-17 18:48:47 -08:00
gibbed
441013770d
Return value of _vsnprintf and _vswprintf should not be counting the null terminator.
2014-01-17 18:48:02 -08:00
gibbed
cd8c081ee6
_vswprintf. Also moved _vsnprintf and _vswprintf to its own file.
2014-01-17 18:46:56 -08:00
Ben Vanik
af4e107905
Experimenting with instrument API. Not quite right.
2014-01-16 23:27:11 -08:00
Ben Vanik
7641a5bfed
Logging nice fatal errors when dying, w/ a msgbox when not in a console.
2014-01-16 22:16:06 -08:00
Ben Vanik
4741e3581a
Support redirecting stdout/stderr to the launching console.
2014-01-16 21:43:25 -08:00
Ben Vanik
ffcd687ef6
Played with making xenia-run a Win32 app, but then logging stops working...
2014-01-15 21:58:09 -08:00
Ben Vanik
2a7f3de1c3
Moving shutdown logic to Emulator.
2014-01-15 07:31:21 -08:00
Ben Vanik
991e7d8ad3
Refactoring window stuff. Still needs some work.
2014-01-14 22:40:02 -08:00
Ben Vanik
e7d61f4b1f
Removing use of runloop from audio system.
2014-01-14 19:52:32 -08:00
Ben Vanik
9a09c2072e
Fixing badness in release mode.
2014-01-14 18:28:40 -08:00
Ben Vanik
a02f5c3e7a
Fixing alloy analysis warnings.
2014-01-14 01:11:42 -08:00
Ben Vanik
50587974b5
Not sure why I thought I could do this.
2014-01-14 00:39:31 -08:00
Ben Vanik
81226db1b4
Fixing broken instruction decoding.
2014-01-13 23:24:28 -08:00
Ben Vanik
857ce4a2e2
Crazy working permute by Rick.
2014-01-13 22:37:07 -08:00
Ben Vanik
dcc0e55a90
Fixing the unpacks.
2014-01-13 22:37:07 -08:00
Ben Vanik
f82eccdc7c
Hacking in vupkhsh/etc. The instruction tables need a rewrite. Yuck.
2014-01-13 22:37:06 -08:00
Ben Vanik
faa75c9407
Making debug info toggles a flag to allow finer control.
2014-01-13 21:12:10 -08:00
Ben Vanik
dfaa0e2d08
Disabling mangled name extraction.
2014-01-13 20:51:35 -08:00
Ben Vanik
d73aa419d1
Better returns for XAudio.
2014-01-13 20:50:56 -08:00
gibbed
e1bb5bc860
Oops.
2014-01-13 02:49:30 -08:00
gibbed
c1b71ce1db
Merge branch 'master' of https://github.com/benvanik/xenia
...
Conflicts:
src/xenia/apu/xaudio2/xaudio2_audio_system.cc
2014-01-13 02:46:50 -08:00
gibbed
f47ebb5010
More XAudio2 junk.
2014-01-13 02:45:18 -08:00
Ben Vanik
6f09c12bc2
Creating mastering voice with the right params.
2014-01-13 01:06:30 -08:00
gibbed
24e857cc03
Small fix to waveformat.
2014-01-13 01:00:06 -08:00
Ben Vanik
dccdc00735
Tweaking audio params.
2014-01-13 00:45:09 -08:00
Ben Vanik
133cbedad8
Replacing exit with assert, as exits are hard to find.
2014-01-13 00:33:40 -08:00
gibbed
d30f4b25b9
Oops.
2014-01-13 00:25:10 -08:00
gibbed
74d26b2814
Still wrong, but...
2014-01-13 00:23:29 -08:00
Ben Vanik
f6ca6cced8
Audio engine now blocking when buffers are full.
2014-01-13 00:20:53 -08:00
Ben Vanik
20ad328e4a
Removing AudioDriver.
2014-01-13 00:05:08 -08:00
Ben Vanik
ae5b87ea2a
Enable xaudio error logging.
2014-01-13 00:01:51 -08:00
Ben Vanik
4f552da6c4
Inefficient, but pumping audio.
2014-01-12 23:52:55 -08:00
Ben Vanik
ab9d384813
Passing samples.
2014-01-12 23:43:58 -08:00
gibbed
edb1633fc9
XAudio2 APU stub.
2014-01-12 23:23:55 -08:00
gibbed
4e9d3a00e4
Fixed constant values not being cloned correctly.
2014-01-12 22:06:10 -08:00
gibbed
dde2b1ff41
I totally did not violate coding conventions in the last commit.
2014-01-12 20:27:12 -08:00
gibbed
65d5d1d559
Added tracking of source address for an easier time while debugging.
2014-01-12 20:22:43 -08:00
Ben Vanik
c704c04dc3
Merge pull request #67 from wszechpolak/master
...
Adding stubs of NetDll functions
2014-01-12 20:10:46 -08:00
Ben Vanik
2ed1dd452c
Removing unused externs.
2014-01-12 20:08:50 -08:00
Wszechpolak
8dfb2b1efb
Adding stubs of NetDll functions
2014-01-13 05:04:01 +01:00
Ben Vanik
984d63a3d4
Removing redundant math.
2014-01-12 19:30:52 -08:00
Ben Vanik
5c755f09f0
Fixing addresses, perhaps.
2014-01-12 19:21:40 -08:00
Ben Vanik
413aa06605
vupkh|lsh
2014-01-12 18:04:24 -08:00
Ben Vanik
4cbee4620a
Fixing branch CTR compare. Maybe.
2014-01-12 17:19:37 -08:00
Ben Vanik
d224dd94c1
Fixing log_heap printing a bit, though damn this stuff is nasty.
2014-01-12 15:43:54 -08:00
Ben Vanik
f6866098c5
Probably correct vupkh|lsb.
2014-01-12 15:41:18 -08:00
Ben Vanik
eb5d7e0f31
Comments.
2014-01-12 14:43:59 -08:00
Ben Vanik
6129e1eb7a
Simplifying macros to fix VS' broken preprocessor.
2014-01-12 14:06:00 -08:00
Ben Vanik
123444078f
Fixing warning.
2014-01-12 13:52:50 -08:00
Ben Vanik
c7c83ea900
Fixing --log_heap
2014-01-12 11:09:52 -08:00
Ben Vanik
e2a218ad2a
Removing bad assert.
2014-01-12 10:48:27 -08:00
Ben Vanik
adc98914b8
XAudioGetVoiceCategoryVolumeChangeMask
2014-01-12 03:35:49 -08:00
Ben Vanik
ecbd2c7e89
Pushing audio samples through.
2014-01-12 02:39:47 -08:00
Ben Vanik
dbf1aa182e
Fixing WaitForMultipleObjects
2014-01-12 02:34:22 -08:00
Ben Vanik
127595b48a
Issuing audio driver callbacks from their own thread.
2014-01-12 02:07:17 -08:00
Ben Vanik
4688d5e600
Starting work on audio.
2014-01-12 01:27:41 -08:00
gibbed
6c62b2796a
RtlMultiByteToUnicodeN.
2014-01-12 00:22:43 -08:00
Ben Vanik
bd74c544c6
XMsgInProcessCall stubbed for a few xmp messages games check on startup.
2014-01-11 23:41:57 -08:00
Ben Vanik
61e873cd31
Starting work on APCs, though nothing is hitting them yet.
2014-01-11 22:12:05 -08:00
Ben Vanik
c50fbafbd9
Start of DPCs. Queuing them, but not yet dispatching.
2014-01-11 21:40:23 -08:00
Ben Vanik
27d4938cc2
KeAcquireSpinLockAtRaisedIrql/etc.
2014-01-11 21:38:56 -08:00
Ben Vanik
dc496e8102
Unifying kernel modules and user modules to XModule. XexLoadImage/etc.
2014-01-11 17:24:34 -08:00
Ben Vanik
27a8e09b51
Depth stencil state.
2014-01-10 01:25:50 -08:00
Ben Vanik
8085678f5a
PACK/UNPACK.
2014-01-10 00:28:52 -08:00
Ben Vanik
3fbebcfa08
VectorAdd and saturation checks.
2014-01-09 21:57:07 -08:00
Ben Vanik
2980a30f30
vctsxs, vctuxs.
2014-01-09 21:20:03 -08:00
Ben Vanik
478781e0dc
Various rounding instructions.
2014-01-09 20:44:23 -08:00
Ben Vanik
35ef6df1fc
sradx, vcfsx, vcfux.
2014-01-09 20:28:26 -08:00
Ben Vanik
0cb4a2e415
Fixing input.
2014-01-09 20:06:30 -08:00
Ben Vanik
eef08db16d
Returning fake user status.
2014-01-08 23:00:26 -08:00
Ben Vanik
5644f0fd40
KeQueryBasePriorityThread and implementing Set.
2014-01-08 22:22:34 -08:00
Ben Vanik
036d12581e
VECTOR_SHR/_SHA. Fixing some disasm stuff.
2014-01-08 22:15:00 -08:00
Ben Vanik
e7a31c78bf
Simplifying byteswap(byteswap(a)) to a.
2014-01-08 18:47:39 -08:00
Ben Vanik
3dff790ce6
Fixing broken VX128_5 decoding.
2014-01-08 01:10:44 -08:00
Ben Vanik
894f22cd0b
Oh FFS. LOAD_CLOCK.
2014-01-08 00:12:22 -08:00
Ben Vanik
a8ade5d33b
Stubs for launch data.
2014-01-07 23:47:35 -08:00
Ben Vanik
a09b587fc7
NtYieldExecution.
2014-01-07 23:38:14 -08:00
Ben Vanik
de140796a5
RtlTimeToTimeFields / RtlTimeFieldsToTime. TZ may be wrong.
2014-01-07 23:16:31 -08:00
Ben Vanik
73200ff0bc
Timers were wrong. Fixing.
2014-01-07 22:47:35 -08:00
Ben Vanik
5a4f738a37
Dummy ExRegisterTitleTerminateNotification.
2014-01-07 21:55:46 -08:00
Ben Vanik
cfe7b2127d
Timers. Probably.
2014-01-07 21:55:32 -08:00
Ben Vanik
1357a798ef
RtlRaiseException handling thread naming. But needs issue #54 .
2014-01-07 20:55:13 -08:00
Ben Vanik
5fd0b211ce
Thread ID lookup and naming.
2014-01-07 20:54:47 -08:00
Ben Vanik
20b76b0e59
Not sure why NtQueryVolumeInformationFile was always set to fail.
2014-01-07 19:44:49 -08:00
Ben Vanik
c0fe77282f
FscSetCacheElementCount stub.
2014-01-07 19:44:30 -08:00
Ben Vanik
e893d03962
XFileMailslotSetInformation stub.
2014-01-07 18:52:26 -08:00
Ben Vanik
5019f350f8
Mutants.
2014-01-07 18:32:55 -08:00
Ben Vanik
40ca0bcb76
NtSignalAndWaitForSingleObjectEx (untested).
2014-01-07 00:28:48 -08:00
Ben Vanik
9aa2f204f5
PulseEvent. Surprised anyone uses this.
2014-01-06 23:57:12 -08:00
Ben Vanik
469ea9451d
NtSuspendThread.
2014-01-06 23:23:27 -08:00
Ben Vanik
8033c73f41
Stubbing KeLockL2.
2014-01-06 23:19:26 -08:00
Ben Vanik
698eaeeb88
Custom stack for IVM. 2-3x faster.
2014-01-06 23:11:10 -08:00
Ben Vanik
2ed6f478c1
Adding --always_disasm.
2014-01-06 22:51:06 -08:00
Ben Vanik
ff66064275
Making --debug = false work.
2014-01-06 22:46:21 -08:00
Ben Vanik
d1528e24bb
Removing REM, adding MUL_HI, renaming MULADD/MULSUB.
2014-01-06 22:17:49 -08:00
Ben Vanik
3dcbcce38d
POW2/LOG2 for vexptefp/vlogefp.
2014-01-06 18:13:16 -08:00
Ben Vanik
de113a4a05
Adding thread stack padding.
2014-01-05 16:22:49 -08:00
Ben Vanik
56476d276d
Constant vec128 swap.
2014-01-05 16:22:41 -08:00
Ben Vanik
a78447f015
Broken and.
2014-01-05 16:22:32 -08:00
Ben Vanik
0f95864b8d
NtDuplicateObject.
2014-01-05 15:56:37 -08:00
Ben Vanik
e8ca05ca0a
MmQueryAllocationSize.
2014-01-05 11:19:02 -08:00
Ben Vanik
cbf4a9b519
Dummy MmQueryStatistics.
2014-01-05 11:13:16 -08:00
Ben Vanik
c5b0a4e22b
VdShutdownEngines stub.
2014-01-05 11:06:08 -08:00
Ben Vanik
de1049d39d
XamResetInactivity/XamEnableInactivityProcessing.
2014-01-05 10:35:50 -08:00
Ben Vanik
e41a06ddd8
Removing assert.
2014-01-05 03:16:07 -08:00
Ben Vanik
81c59c7912
Sign extend constant handling.
2014-01-05 02:24:16 -08:00
Ben Vanik
d2a74f9211
Actually hooking up the audio functions...
2014-01-05 02:08:03 -08:00
Ben Vanik
177670d866
XAudioGetVoiceCategoryVolume & XAudioGetSpeakerConfig.
2014-01-05 02:05:00 -08:00
Ben Vanik
79a08bcdf1
XNotifyPositionUI stub.
2014-01-05 02:04:16 -08:00
Ben Vanik
16d93c5fb3
nandx.
2014-01-05 01:51:38 -08:00
Ben Vanik
bb41ab717b
KeWaitForMultipleObjects.
2014-01-05 01:49:10 -08:00
Ben Vanik
372fd97821
Moving Wait() to XObject base.
2014-01-05 01:22:08 -08:00
Ben Vanik
8bba532f25
ExTerminateThread and NtReleaseSemaphore.
2014-01-05 01:08:30 -08:00
Ben Vanik
b7f83f4154
XamUserGetSigninInfo, NtCreateSemaphore, busted error codes.
2014-01-05 00:48:00 -08:00
Ben Vanik
29208a7fae
Fixing broken spinlock.
2014-01-05 00:28:59 -08:00
Ben Vanik
c857d8da35
intcode SQRT.
2014-01-04 23:58:25 -08:00
Ben Vanik
9f1a3795b7
Fixing up license stuff.
2014-01-04 23:57:39 -08:00
Ben Vanik
6f7855817e
Dummy XamuserReadProfileSettings.
2014-01-04 23:37:17 -08:00
Ben Vanik
21efe58254
Fix XInput query.
2014-01-04 22:41:23 -08:00
Ben Vanik
9b02cfb560
XInputGetKeystroke/Ex.
2014-01-04 22:38:56 -08:00
Ben Vanik
4d92720109
Moving all kernel files around just to fuck with whoever's keeping track ;)
2014-01-04 17:12:46 -08:00
Ben Vanik
aad4d7bebf
In progress XNotify stuff. Going to merge xam/xboxkrnl next.
2014-01-04 16:18:16 -08:00
Ben Vanik
f23c330353
vrefp.
2014-01-04 15:44:56 -08:00
Ben Vanik
d2336774de
MIN/MAX intcode.
2014-01-04 15:44:14 -08:00
Ben Vanik
00d878c62a
Fixing arena chunk reuse.
2014-01-04 14:34:49 -08:00
Ben Vanik
2a1d1d55d7
XamGetSystemVersion = 0 to stop dynamic kernel function loading (for now).
2014-01-04 14:12:23 -08:00
Ben Vanik
fc074fefe9
XNetGetEthernetLinkStatus = 0 to stop games from trying to use the net.
2014-01-04 14:12:01 -08:00
Ben Vanik
90ff8e590f
Probably correct semaphore object.
2014-01-04 13:56:38 -08:00
Ben Vanik
eff46a9d0b
Dummy KeSetBasePriorityThread.
2014-01-04 13:40:01 -08:00
Ben Vanik
8fd9aaa257
KeResumeThread.
2014-01-04 13:38:33 -08:00
Ben Vanik
615229bd87
Minor fixes and debug helpers to track externs.
2014-01-04 13:20:19 -08:00
Ben Vanik
e362a65189
Simplification pass handles redundant truncate/extend & extend/truncate.
2014-01-04 11:56:32 -08:00
Ben Vanik
4db1b13e98
DCE pass removes assigns.
2014-01-04 11:56:05 -08:00
Ben Vanik
a8eff63dbc
Adding skeleton for reg allocator.
2014-01-04 02:57:53 -08:00
Ben Vanik
93ea56179a
Moving LoadAcquire/StoreRelease behavior up into HIR.
2014-01-04 00:50:48 -08:00
Ben Vanik
88b631b160
Emitting more x64.
2014-01-04 00:30:43 -08:00
Ben Vanik
2468645bf2
Making functions naked for now, as it makes life way easier.
2014-01-02 23:53:18 -08:00
Ben Vanik
99c200fda5
Fixing warning.
2014-01-02 23:39:53 -08:00
Ben Vanik
73d934b37b
Emitting functions and SEH info for call stacks.
2014-01-02 23:11:16 -08:00
Ben Vanik
9ef2d1baf6
Calling generated code. Woo.
2014-01-02 20:56:21 -08:00
Ben Vanik
e14d3379cb
Hooking up code emission.
2014-01-02 20:41:13 -08:00
Ben Vanik
7969349126
Fixing some shutdown code.
2014-01-02 18:58:44 -08:00
Ben Vanik
125e7278c6
Ugh. Replacing the fancy templates with hand coded sequences for now.
2014-01-02 00:00:14 -08:00
Ben Vanik
3e4f93a6a9
Playing with sequences.
2013-12-30 00:11:36 -08:00
Ben Vanik
08cff81f6a
HIR->LIR flow.
2013-12-29 23:51:51 -08:00
Ben Vanik
cd9172ed62
Resetting the builder arena. May be a bug or two here still.
2013-12-29 23:43:36 -08:00
Ben Vanik
63f11732a5
Wiring up the LIR flow.
2013-12-29 22:05:41 -08:00
Ben Vanik
dec0e35957
More X64 backend skeleton work.
2013-12-29 19:54:17 -08:00
Ben Vanik
3d01efffac
LIR skeleton, renaming some types to prevent conflict.
2013-12-29 14:28:46 -08:00
Ben Vanik
6b17ead43b
Minor tweaks.
2013-12-28 19:48:02 -08:00
Ben Vanik
f6f8be9080
Implementing ROUND.
2013-12-28 08:49:05 -08:00
Ben Vanik
5a6184c07a
Fixing vsldoi. I'll likely need to reverse all of these back later.
2013-12-28 08:42:38 -08:00
Ben Vanik
5bc74313e3
Fixing broken instruction offsets on block splits.
2013-12-27 15:00:34 -08:00
Ben Vanik
402c96f9a6
Fixing block split ordering, issue #48 .
2013-12-27 08:38:59 -08:00
Ben Vanik
7002a3bd57
Adding implicit branches to ensure flow control remains legit.
2013-12-26 19:00:52 -08:00
Ben Vanik
aa021d22dd
--wait_for_debugger
2013-12-26 17:51:46 -08:00
Ben Vanik
e8cafa21b9
Dumping symbol names.
2013-12-25 23:21:35 -08:00
Ben Vanik
3db93f781c
Fixing div.
2013-12-25 23:16:27 -08:00
Ben Vanik
8e3ca029c2
Heap allocating large register files.
2013-12-25 23:16:16 -08:00
Ben Vanik
1b533d8c2b
Fix for accidentally including rest fns as branches.
2013-12-25 23:15:57 -08:00
Ben Vanik
60cc910d19
Fixing uninitialized variable, via jdarpinian.
2013-12-25 22:16:50 -08:00
Ben Vanik
76be00dfdf
Fiddling.
2013-12-25 21:58:40 -08:00
Ben Vanik
e07ced0f00
Making address calculation shared and (maybe) fixing it.
2013-12-25 21:33:15 -08:00
Ben Vanik
abc5aac7ee
Removing unused code, via jdarpinian.
2013-12-25 20:57:07 -08:00
Ben Vanik
85dec3bf44
Fixing unused member and duplicate member.
2013-12-25 20:43:23 -08:00
Ben Vanik
ae3a042f8a
Fixing broken vector compare.
2013-12-25 20:38:27 -08:00
Ben Vanik
5fef117aa0
Register display.
2013-12-25 20:14:41 -08:00
Ben Vanik
a1da55a006
Threads displayed.
2013-12-25 17:31:53 -08:00
Ben Vanik
d368e0cb74
Caching function list and only sending deltas.
2013-12-25 07:00:42 -08:00
Ben Vanik
20249c2290
Disabling UI when offline.
2013-12-25 06:43:08 -08:00
Ben Vanik
062610c596
Fixing various bugs.
2013-12-24 23:29:40 -08:00
Ben Vanik
44cbe1bbcf
Finishing off module info for now.
2013-12-24 22:08:44 -08:00
Ben Vanik
dcd9f8b6ff
Module info in json.
2013-12-24 17:25:29 -08:00
Ben Vanik
8a8ee5dadc
Starting modal for module info.
2013-12-24 14:09:19 -08:00
Ben Vanik
98efc7ddfa
Suspend/resume working.
2013-12-23 19:46:35 -08:00
Ben Vanik
475ddc1fcf
Breakpoint hits reaching all the way to UI.
...
Nasty json only hackery right now, but fixable to support other protocols.
2013-12-23 14:01:13 -08:00
Ben Vanik
a0256fac45
Removing empty files to shut VS up.
2013-12-23 11:52:51 -08:00
Ben Vanik
31b8c02cbf
Breakpoints triggering.
2013-12-22 23:04:24 -08:00
Ben Vanik
5881a58c49
More plumbing for breakpoints.
2013-12-22 22:03:06 -08:00
Ben Vanik
5e9a2c6d27
Client-specific debug state.
2013-12-22 19:58:00 -08:00
Ben Vanik
7098ed3b02
Plumbing breakpoints down into alloy Debugger interface.
2013-12-22 17:50:14 -08:00
Ben Vanik
e45a7afabc
MakeReady behavior.
2013-12-22 16:48:50 -08:00
Ben Vanik
9208132ad9
Load map files and set function names.
2013-12-22 14:04:41 -08:00
Ben Vanik
d861ef8aab
Prettier ppc disasm.
2013-12-22 13:06:15 -08:00
Ben Vanik
de6dc92663
Only generate debug info when in --debug mode (or asked).
2013-12-22 09:50:31 -08:00
Ben Vanik
c92142ca02
Displaying (unformatted) function code.
2013-12-22 09:25:44 -08:00
Ben Vanik
4ecdfed46f
Function listing and selection.
2013-12-22 02:59:42 -08:00
Ben Vanik
a631ada0f7
Routing messages to debug targets.
2013-12-22 00:51:50 -08:00
Ben Vanik
284e8a92e6
Deleting old debugger code.
2013-12-22 00:23:00 -08:00
Ben Vanik
80d8dc02aa
Messaging over debug channel.
2013-12-22 00:21:35 -08:00
Ben Vanik
da340891c4
Fixing sockets and response.
2013-12-21 11:52:48 -08:00
Ben Vanik
d98d5c855a
WaitForClient moved to server, now working.
2013-12-20 23:52:47 -08:00
Ben Vanik
8a7bd7b69a
GET /sessions returns the title info.
2013-12-20 23:44:22 -08:00
Ben Vanik
1461792289
Debugger now listens for connections and will only allow one at a time.
2013-12-19 10:08:25 -08:00
Ben Vanik
2cb5c97052
GDB debug protocol that IDA can connect to.
...
Unfortunately, IDA sucks, and this likely won't ever work right.
2013-12-17 10:20:07 -08:00
Ben Vanik
b5f5668f6d
Sockets implementation for Windows, WebSockets client now working.
2013-12-16 22:43:03 -08:00
Ben Vanik
d548e7f770
Starting revival of debugger system. Work on #41 .
2013-12-16 20:28:58 -08:00
Ben Vanik
c17122e022
Using raw addresses for gpu writeback.
2013-12-15 15:32:06 -08:00
Ben Vanik
f9cd87811d
Some games seem to write to 0x0... damn.
2013-12-15 15:31:32 -08:00
Ben Vanik
9fdacebf2d
Better handling of undefined imports.
2013-12-15 15:26:12 -08:00
Ben Vanik
f2348301ea
More aggressive constant propagation pass.
2013-12-15 14:40:18 -08:00
Ben Vanik
769b8d59d9
Fixing some constant checks.
2013-12-15 14:34:57 -08:00
Ben Vanik
84651623a5
Removing BranchIf.
2013-12-15 14:34:41 -08:00
Ben Vanik
417a970aab
Various fixes.
2013-12-15 13:58:40 -08:00
Ben Vanik
1d0ed4882d
Constant type fixes.
2013-12-15 12:09:28 -08:00
Ben Vanik
88cdb9e36c
Replacing store vector left/right opcodes by just using permutes.
2013-12-15 11:58:54 -08:00
Ben Vanik
a44551c418
Fixing some copy/paste errors. Sigh.
2013-12-14 15:47:45 -08:00
Ben Vanik
52ff9bdfd0
Fixing swizzle.
2013-12-14 15:47:32 -08:00
Ben Vanik
1fb8650f6d
Fixing I2F.
2013-12-14 14:41:45 -08:00
Ben Vanik
8af24ab9bb
Fixing vrlimi128
2013-12-14 09:27:34 -08:00
Ben Vanik
c9adf893a6
Fixing a bunch of vector ops.
2013-12-14 08:47:36 -08:00
Ben Vanik
7ebdd3f7e0
Fixing vectors.
2013-12-14 07:17:33 -08:00
Ben Vanik
21d1e7236b
Fixing permute functions.
2013-12-14 06:24:29 -08:00
Ben Vanik
a1f41c656a
stve*x
2013-12-13 22:24:19 -08:00
Ben Vanik
d1210218ac
Comment fixes.
2013-12-13 21:20:01 -08:00
Ben Vanik
69704853a3
Special casing sldi.
2013-12-13 20:11:04 -08:00
Ben Vanik
24ce893256
Fixing ROTL macro.
2013-12-13 20:10:56 -08:00
Ben Vanik
689de0279f
Swapping bytes. Probably still wrong.
2013-12-08 23:33:40 -08:00
Ben Vanik
eb2d596c27
srawx, vsldoi, vupkd3d of D3DCOLOR -- all untested
2013-12-08 23:15:05 -08:00
Ben Vanik
3ec930d9fc
INSERT
2013-12-08 23:14:27 -08:00
Ben Vanik
ccd5346332
LOAD/STORE_VECTOR_LEFT/RIGHT. It'd be nice not to have these.
2013-12-08 22:16:37 -08:00
Ben Vanik
b9df6dc703
load_vector_sh*
2013-12-08 20:58:24 -08:00
Ben Vanik
07b5c3ad81
Adding f64-to-i32 convert.
2013-12-08 20:42:33 -08:00
Ben Vanik
24a13b4021
Fixing carry.
2013-12-08 20:42:20 -08:00
Ben Vanik
2e5489e22f
Making the trace format easier to diff with the old stuff.
2013-12-08 20:42:12 -08:00
Ben Vanik
65a36fd69c
Fixing CNTLZ.
2013-12-08 16:01:11 -08:00
Ben Vanik
60015afdc4
Misc fixes.
2013-12-08 16:00:55 -08:00
Ben Vanik
7c4b2c6d23
sradi, which was totally wrong before o_o
2013-12-08 15:24:18 -08:00
Ben Vanik
7adc122620
No-op MSR instructions.
2013-12-08 14:31:19 -08:00
Ben Vanik
760d82a9af
Fixing endianess of register load/store.
2013-12-08 14:31:03 -08:00
Ben Vanik
ec4bf50363
load_acquire/store_release
2013-12-08 14:15:28 -08:00
Ben Vanik
2549292a57
Return address handling. Not happy with the design, but it (sorta) works.
2013-12-08 13:58:57 -08:00
Ben Vanik
dc0848f7ba
rld*
2013-12-08 13:58:15 -08:00
Ben Vanik
28ff739449
Better nop handling.
2013-12-08 13:17:50 -08:00
Ben Vanik
50f53a483e
How did this ever work? Fixing and*.
2013-12-08 12:25:48 -08:00
Ben Vanik
e2e2a392ee
Scanner now picks up restgprlr calls.
2013-12-08 11:26:43 -08:00
Ben Vanik
1dc356cb4d
Allowing dynamic register access checks to be disabled.
2013-12-07 13:15:15 -08:00
Ben Vanik
d8cc9fb0b4
Register access (dynamic and static) wired up.
2013-12-07 13:09:22 -08:00
Ben Vanik
e5d867a92f
Removing comments.
2013-12-07 06:29:58 -08:00
Ben Vanik
3b268f07ef
Basic constant propagation.
2013-12-07 05:52:51 -08:00
Ben Vanik
57432d5996
Making ContextPromotion actually remove dead stores.
2013-12-07 04:57:37 -08:00
Ben Vanik
329b554c7a
Basic ContextPromotionPass and some opcode info rearranging.
2013-12-07 04:39:48 -08:00
Ben Vanik
51d0be0f0a
Basic DCE pass.
2013-12-07 02:18:26 -08:00
Ben Vanik
c2113c116d
Starting compiler work. Adding pass TODOs.
2013-12-07 01:36:13 -08:00
Ben Vanik
fdb6a5cfa3
Initial Alloy implementation.
...
This is a regression in functionality and performance, but a much better
foundation for the future of the project (I think). It can run basic
apps under an SSA interpreter but doesn't support some of the features
required to do real 360 apps yet.
2013-12-06 22:57:16 -08:00
Ben Vanik
68b8737a58
SETXXv, CNDXXv, SETXXs - may not be right.
2013-11-17 15:20:50 -08:00
Ben Vanik
1f4795e7d4
Fixing shader file names.
2013-11-17 15:20:28 -08:00
Ben Vanik
9441fb8b7a
Finally figured out MUL/ADD/SUB_CONST_*
2013-11-16 18:27:17 -08:00
Ben Vanik
1592cf96f7
MAX4v, MINs, MAXs
2013-11-16 16:59:33 -08:00
Ben Vanik
798cad6f87
DOT2ADDv
2013-11-16 16:15:23 -08:00
Ben Vanik
59779e735d
Fix input error return.
2013-11-16 07:15:15 -08:00
Ben Vanik
1e86736853
vaddfp and vrfin
2013-11-16 06:58:50 -08:00
Ben Vanik
8398ea4925
I lied, MULADD was not that way.
2013-11-16 05:16:11 -08:00
Ben Vanik
60f48bdd32
Always write oPos.
2013-11-16 04:39:26 -08:00
Ben Vanik
7491058ffd
Adding --dump_shaders=path/.
2013-11-16 04:39:16 -08:00
Ben Vanik
8440c9059a
Fixing order of MULADDv.
2013-11-16 04:35:08 -08:00
Ben Vanik
271abbf874
Adding --trace_ring_buffer.
2013-11-16 03:06:55 -08:00
Ben Vanik
96c27b3b51
Fixing stack alignment in release mode.
2013-11-16 02:52:33 -08:00
Ben Vanik
7a2032b693
Renaming X_RESULT to be consistent.
2013-11-01 16:23:41 -07:00
Ben Vanik
06d9f7989a
Removing signature from export tables.
2013-11-01 16:23:40 -07:00
gibbed
f7b7b0708b
Argh.
2013-10-27 18:45:19 -07:00
gibbed
faa67028ce
Mystery GPU registers.
2013-10-27 18:44:20 -07:00
gibbed
8306be77b0
Fixed constant tracking through mr.
2013-10-27 18:44:20 -07:00
Ben Vanik
2de906f3d6
Hacking around with shaders. Pretty sure this is all wrong.
2013-10-27 18:33:50 -07:00
Ben Vanik
0355047838
PM4_LOAD_ALU_CONSTANT
2013-10-27 16:18:54 -07:00
Ben Vanik
7d6dda356c
Clear all allocated memory.
2013-10-27 16:01:35 -07:00
Ben Vanik
74ff6bd4fa
Finally figured out the ringbufer corruption.
2013-10-27 16:00:51 -07:00
Ben Vanik
11f99ce33b
Obeying request to zero.
2013-10-27 12:47:00 -07:00
Ben Vanik
6477d6c21e
--scribble_heap, which memsets all allocated memory.
...
Already exposing bugs.
2013-10-27 12:06:02 -07:00
Ben Vanik
082df81f70
Slowing down the audio system until it does something.
2013-10-27 12:05:17 -07:00
Ben Vanik
692e14665c
Tie FPR/VR tracing to --trace_registers
2013-10-25 23:32:11 -07:00
Ben Vanik
3b7fcced0e
Fixing broken error check and adding some manual breakpoints.
2013-10-23 23:48:18 -07:00
Ben Vanik
655a486db3
NtResumeThread
2013-10-23 23:32:44 -07:00
Ben Vanik
ebef2aef36
Adding audio stub methods.
2013-10-23 23:09:16 -07:00
Ben Vanik
ca22980dc0
XInput polling.
2013-10-23 22:42:48 -07:00
Ben Vanik
96daa6b43f
Validate arguments on input.
2013-10-23 22:23:52 -07:00
Ben Vanik
c4fe2e6926
Input bouncing through to input system.
2013-10-23 22:13:05 -07:00
Ben Vanik
74803ae174
HID system skeleton.
2013-10-23 21:47:36 -07:00
Ben Vanik
20bd15e7fe
Partially fixing import logging. Still not sure why vars aren't showing.
2013-10-23 21:11:13 -07:00
Ben Vanik
93e4b70133
Stubbing input a little better.
2013-10-23 21:10:41 -07:00
Ben Vanik
6e60aef72f
Special register check for lwbrx. Need a scalable way to do this.
2013-10-23 21:10:26 -07:00
Ben Vanik
b7ffd46319
Massive refactoring of all code + audio skeleton.
...
This should make it easier to find files and (in the future) split things
up into separate libraries.
It also changes around emulator initialization to make it a little more
difficult to do things out of order and a little more sensible as to when
real init work happens.
Also adding a skeleton audio system/driver and reworking CPU register
access to be more extensible.
2013-10-23 20:42:24 -07:00
Ben Vanik
c996a4bbaf
Stubs for more XAM functions.
2013-10-23 00:05:50 -07:00
Ben Vanik
60ef171ff2
XNetStartup/WSAStartup stubs.
2013-10-22 23:46:42 -07:00
Ben Vanik
447ce90b7b
MmQueryAddressProtect.
2013-10-22 23:34:24 -07:00
Ben Vanik
2a8a19e4be
KeDelayExecutionThread.
2013-10-22 23:22:30 -07:00
Ben Vanik
d9a55a5557
Zero memory on alloc.
2013-10-22 21:50:10 -07:00
Ben Vanik
d065ee43e8
PM4_SET_CONSTANT for registers.
2013-10-22 21:32:04 -07:00
Ben Vanik
157cfd4d71
Moving all physical allocs to A..., as games do stupid stuff when at E.
2013-10-22 21:06:12 -07:00
Ben Vanik
62d4d5ce84
Randomly messing with address translation. Still not right.
2013-10-22 21:05:56 -07:00
Ben Vanik
d4e19eb583
Certain games seem to do GPU writeback here.
2013-10-22 21:05:32 -07:00
Ben Vanik
e0b6d0f689
Cleaning up packet reading/endianness.
2013-10-22 20:47:27 -07:00
Ben Vanik
725cde55d4
Moving the physical heap up a bit to avoid overwriting 0x0.
2013-10-21 23:56:16 -07:00
Ben Vanik
f676333ef0
Stub MmQueryAddressProtect - unimplemented.
2013-10-21 21:58:45 -07:00
Ben Vanik
f9dd0b0cb2
Allocate physical memory.
2013-10-21 19:28:25 -07:00
Ben Vanik
1fea07b6aa
Align physical allocations to page size.
2013-10-21 19:26:41 -07:00
Ben Vanik
aa3e8d0332
Allocating things in a physical heap. Super wasteful right now.
2013-10-21 00:59:11 -07:00
gibbed
ea022c8dd3
That one byte is totally important.
2013-10-21 00:39:39 -07:00
Ben Vanik
ca208fa60a
Rewrote memory manager to use a bunch of mapped views.
2013-10-20 23:19:57 -07:00
Ben Vanik
d00f4d58e9
Better byte swapping in ringbuffer and fixed logging.
2013-10-20 18:34:46 -07:00
Ben Vanik
42a8fc0b59
--break_on_instruction=0x... and --break_on_memory=0x...
2013-10-20 16:54:59 -07:00
Ben Vanik
cddab7ffb0
Fixing free.
2013-10-20 15:28:00 -07:00
Ben Vanik
0c19516de4
Fixing file position default value.
2013-10-20 15:05:09 -07:00
Ben Vanik
e919edfb33
Fix xe_memory_is_valid.
2013-10-20 13:47:58 -07:00
Ben Vanik
9f1d2f29c1
--heap_guard_pages=1 to add guard pages.
2013-10-20 13:42:34 -07:00
Ben Vanik
ca3f2f1367
Malloc inspect in release mode, too.
2013-10-20 12:46:28 -07:00
Ben Vanik
002400d071
Adding memory info dumping utility, use --log_heap.
2013-10-20 12:39:59 -07:00
Ben Vanik
fbea5a6394
Making the GPU counter a vblank counter, not a timer.
2013-10-20 02:00:51 -07:00
Ben Vanik
39adeef2e3
Hiding vertex/index data for now.
2013-10-20 01:59:42 -07:00
Ben Vanik
92899739bd
Index buffer upload.
2013-10-20 00:47:32 -07:00
Ben Vanik
5a80c7b9c1
Hacking shaders to get dummy texture colors and such.
2013-10-20 00:20:36 -07:00
Ben Vanik
737a567de6
Fixing code_addr_low_.
2013-10-19 22:31:08 -07:00
Ben Vanik
889e586cab
Skeleton for new draw type and texture fetching.
2013-10-19 21:49:25 -07:00
Ben Vanik
bdf5bf20a4
vminfp/vmaxfp
2013-10-19 21:26:40 -07:00
Ben Vanik
2cce46c232
vsel/vsel128
2013-10-19 21:20:27 -07:00
Ben Vanik
d62e8aaf78
lhbrx/lwbrx/ldbrx/sthbrx/stwbrx/stdbrx
2013-10-19 21:05:06 -07:00
Ben Vanik
d60cf676c3
addmex
2013-10-19 20:57:24 -07:00
Ben Vanik
5b91ba89e9
Fixing stdux/stdx o_o
2013-10-19 20:57:19 -07:00
Ben Vanik
62b792c903
Ignoring a packet I don't care about.
2013-10-19 20:30:36 -07:00
Ben Vanik
7ae2d410e5
addex. All of these are wrong - let's hope we don't overflow.
2013-10-19 20:29:19 -07:00
Ben Vanik
4e6799197f
fsqrtx/fsqrtsx
2013-10-19 20:25:03 -07:00
Ben Vanik
e842a6614a
Fixing LR argument for indirect branches.
2013-10-19 19:59:09 -07:00
Ben Vanik
10c69cfaf2
rlwnmx
2013-10-19 19:07:26 -07:00
Ben Vanik
807b949fea
Seeing code returning to the execution thunk, something must have broken.
2013-10-19 19:03:47 -07:00
Ben Vanik
4a72010e5f
addcx
2013-10-19 19:03:30 -07:00
Ben Vanik
fc1be2bfd8
rldimix
2013-10-19 18:54:36 -07:00
Ben Vanik
14b1c860b9
subfmex/subfzex.
2013-10-19 18:33:32 -07:00
Ben Vanik
b8edeba195
Actually aligning physical alloc requests.
2013-10-19 18:18:19 -07:00
gibbed
49ee9d05b9
Fixed LR branching.
2013-10-19 17:09:48 -07:00
Ben Vanik
7b0ca71bfb
Fixing broken test.
2013-10-19 17:08:34 -07:00
Ben Vanik
68d5f33cfa
GPU byte swapping.
...
A lot of other packets likely do this.
2013-10-19 16:29:00 -07:00
gibbed
f15b5dae9d
I think this is right.
2013-10-19 15:07:59 -07:00
Ben Vanik
f7ad9c89dd
Messing with stvlx.
2013-10-19 14:36:32 -07:00
Ben Vanik
91e6c4ed9a
Adding address mask to stvlx.
2013-10-19 14:29:14 -07:00
Ben Vanik
31161e0245
SHUFPS_SWAP_DWORDS to make it easier to tell what it's doing.
2013-10-19 14:21:56 -07:00
Ben Vanik
5df538cd44
Adding stack alignment check. We aren't 16b aligned right now. Fuck.
2013-10-19 14:16:34 -07:00
Ben Vanik
007f7e371d
Workaround for yet another AsmJit bug. Sigh.
2013-10-19 12:50:42 -07:00
Ben Vanik
37065255a2
Dispatching interrupts.
2013-10-19 12:50:26 -07:00
Ben Vanik
90bc6ad1a8
Interrupts fire on the right 'thread', ringbuffer work,
2013-10-19 11:50:01 -07:00
Ben Vanik
6db8c6c961
Implementing thread state block access.
2013-10-19 02:53:14 -07:00
gibbed
32a0045001
This is probably better.
2013-10-19 01:18:18 -07:00
Ben Vanik
c60230f28a
Implementing scratch registers correctly (I think).
2013-10-19 01:16:13 -07:00
Ben Vanik
1616d7ba22
WAIT_MEM_REG, REG_RMW (untested), COND_WRITE
2013-10-19 00:46:35 -07:00
Ben Vanik
a63db2b7fd
Dispatch interrupt outside of main pump.
2013-10-19 00:46:11 -07:00
Ben Vanik
562c86f76d
Extending critical sections to spin forever for now.
2013-10-18 21:55:43 -07:00
Ben Vanik
01a94f3850
VdGetSystemCommandBuffer stub.
2013-10-18 21:39:29 -07:00
Ben Vanik
0746e6feb2
ldarx/lwarx/stdcx/stwcx. Probably.
2013-10-18 21:17:20 -07:00
Ben Vanik
f2550bd017
KeEnterCriticalRegion/KeLeaveCriticalRegion.
2013-10-18 19:49:51 -07:00
Ben Vanik
6a02ae3768
KfAcquireSpinLock/KfReleaesSpinLock.
2013-10-18 19:11:37 -07:00
Ben Vanik
28e7102a02
Always dump CPU info and assert our dummy thread value is legit.
2013-10-18 18:56:59 -07:00
Ben Vanik
d3665cc2e6
Support for VS2013 (and auto picking), a Win xb script, and readme updates.
...
This also removes the dependency on D3DX, which is only included in the
DXSDK, meaning that just the Win8+ SDK should be required now.
2013-10-17 23:35:54 -07:00
Ben Vanik
ff54a04aa1
asmjit fixes.
2013-10-17 14:03:26 -07:00
Ben Vanik
20720f750d
KeSetAffinityThread stub, Ob* fns added, current thread handled.
2013-10-17 00:47:02 -07:00
Ben Vanik
7bf6992203
NtSetEvent/NtWaitForSingleObjectEx.
2013-10-16 23:04:52 -07:00
Ben Vanik
1b12949dd2
NtQueryFullAttributesFile.
2013-10-16 22:41:31 -07:00
Ben Vanik
fd1054d823
NtSetInformationFile for seek position.
2013-10-16 22:28:26 -07:00
Ben Vanik
5de9b84904
Fixing line endings.
...
Need to run a script to do this...
2013-10-16 22:22:17 -07:00
Ben Vanik
a41827942e
Some NtQueryInformation classes.
2013-10-16 22:20:24 -07:00
gibbed
956496fb99
Added KeBugCheck and KeBugCheckEx.
2013-10-16 22:08:41 -07:00
Ben Vanik
ab1ba9a508
Partially implemented NtQueryFullAttributes.
...
Enough to get past the ShaderDump test most games seem to do.
2013-10-16 21:32:53 -07:00
Ben Vanik
c53db98517
Locking around some JIT stuff.
...
Excessive for now, but safer.
2013-10-16 21:32:20 -07:00
Ben Vanik
8e37fb8502
Bytes read via ReadFile!
2013-10-16 20:50:46 -07:00
Ben Vanik
fea5c06180
Fixing line endings.
2013-10-16 20:10:16 -07:00
Ben Vanik
ab5b9d75e0
Reworking file system so that it's easier to implement file operations.
2013-10-16 20:09:42 -07:00
gibbed
d5bd8b9d5b
Merge branch 'master' of https://github.com/benvanik/xenia
2013-10-16 19:05:04 -07:00
gibbed
16b0c936d4
Fixed argument size handling in _vsnprintf_shim, like DbgPrint_shim.
2013-10-16 19:04:23 -07:00
gibbed
46b42528fd
Fixed xeRtlFillMemoryUlong so it swaps the pattern back to native endianness.
2013-10-16 19:03:22 -07:00
gibbed
309d1621e5
Attempt at a fix for crashes occuring when not using instruction/branch tracing.
2013-10-16 18:55:21 -07:00
Ben Vanik
803e4998de
Starting to wire up readfile.
2013-10-16 00:23:05 -07:00
Ben Vanik
da2f7f1ea5
Shuffling filesystem to xboxkrnl.
...
This doesn't really change anything yet, just moves things.
Also fixed some bad over-including.
2013-10-15 23:09:51 -07:00
Ben Vanik
26c06e13d9
Checking in intermediate FS work before moving code.
2013-10-15 22:51:19 -07:00
Ben Vanik
a8d10cd9d3
NtClose/NtReadFile skeleton.
2013-10-15 22:28:00 -07:00
Ben Vanik
388f354870
Basic NtCreateFile.
2013-10-15 21:30:57 -07:00
Ben Vanik
f409795dd1
Fixing PM4 type 0 packet parsing.
2013-10-15 20:24:32 -07:00
gibbed
a483704855
Sneaky tabs.
2013-10-15 19:18:28 -07:00
gibbed
d79bd8cfa7
Renamed xboxkrnl_file* to xboxkrnl_nt*, added xboxkrnl_io*.
2013-10-15 19:18:03 -07:00
gibbed
f59ff2e44a
Fixed debug output format for NtCreateFile.
2013-10-15 05:30:25 -07:00
gibbed
5176a7e7c9
Stubbing out some file stuff.
2013-10-15 05:16:05 -07:00
Ben Vanik
6cda645911
Adding instruction address identifier when not tracing.
...
This can be removed later.
2013-10-14 21:53:34 -07:00
Ben Vanik
900252a590
Another dummy XCONFIG value.
2013-10-14 21:48:26 -07:00
Ben Vanik
0b24356080
Skipping unknown form of PM4_EVENT_WRITE_SHD for now.
2013-10-14 21:35:23 -07:00
Ben Vanik
80e3e6fa14
Ignoring unimplemented disasm functions by default.
2013-10-14 21:34:13 -07:00
Ben Vanik
963667f65c
Forcing bl to function calls.
2013-10-14 21:33:54 -07:00
Ben Vanik
8294f22d76
Ignore decommits for now.
2013-10-14 19:06:26 -07:00
Ben Vanik
929ea13548
Emulated vslb.
2013-10-14 18:33:17 -07:00
Ben Vanik
1eba1fb5c2
vspltb
2013-10-14 18:21:26 -07:00
Ben Vanik
5bed1069f8
mulhwx/mulhwux
2013-10-14 17:49:21 -07:00
Ben Vanik
1e66e39efc
divdux/mulldx
2013-10-14 17:30:25 -07:00
Ben Vanik
dc804f2471
KeQuerySystemTime/NtCreateEvent.
2013-10-14 17:19:42 -07:00
Ben Vanik
16020df6a2
mfcr disasm.
2013-10-14 00:48:23 -07:00
Ben Vanik
76ca76bb67
Disabling hole filling in the SDB.
...
This was required when the AOT CPU was built, but isn't needed now.
2013-10-14 00:39:13 -07:00
Ben Vanik
602ed5393e
vspltisb/ldarx/stdcx.
...
ldarx/stdcx are just as faked as the w equivalents.
2013-10-14 00:13:40 -07:00
Ben Vanik
72b54cfe2a
Fixing recursion branches.
2013-10-13 22:59:19 -07:00
Ben Vanik
b28c51271d
A bunch of disasm instructions used by some games.
2013-10-13 22:53:33 -07:00
Ben Vanik
e0701905dd
Dummy values that games seem to want.
2013-10-13 22:25:23 -07:00
Ben Vanik
2eed0b1575
Fixing wraparound.
...
This still needs a tremendous amount of cleanup.
2013-10-13 21:18:23 -07:00
Ben Vanik
4887234bba
Fixing ring buffer wrap around. I think.
2013-10-13 13:39:46 -07:00
Ben Vanik
e0af361d74
Preventing (one of likely many) race condition with ringbuffer.
...
This was causing acks for commands not executed if the CPU ran faster
than the GPU.
2013-10-13 12:17:07 -07:00
Ben Vanik
41a652dd03
Manual reset was not the solution. Bah.
2013-10-13 12:09:25 -07:00
Ben Vanik
f49e35636d
Fixing uninitialized members.
...
Wish VC++ warned about this line clang does...
2013-10-13 11:14:46 -07:00
Ben Vanik
c6d779920d
Switch ring buffer wait event to manual reset.
...
Avoids timing issues with kicks.
2013-10-13 11:06:45 -07:00
Ben Vanik
fa4c7cdd83
Wait until the ringbuffer thread is spun up.
...
This could be made much nicer.
2013-10-13 11:06:29 -07:00
Ben Vanik
cc12f0b96a
Periodically fire interrupts.
2013-10-13 11:06:13 -07:00
Ben Vanik
96a857e892
Massively disgusting and incomplete shader translator.
2013-10-12 22:14:23 -07:00
Ben Vanik
0ef278325f
Hacking to get first triangle drawn.
2013-10-12 15:07:34 -07:00
Ben Vanik
83d7523da1
Fixing lvrx.
2013-10-12 15:06:16 -07:00
Ben Vanik
d46069cd47
Various tweaks from gibbed.
2013-10-12 10:57:01 -07:00
Ben Vanik
51b79cb399
Minor fixes.
2013-10-12 03:02:39 -07:00
Ben Vanik
8e01e2d945
Vertex fetching.
2013-10-12 02:29:01 -07:00
Ben Vanik
04aad708c9
Shader type read for translation.
2013-10-11 22:04:34 -07:00
Ben Vanik
1378fad3c0
Basic shader cache.
2013-10-11 21:45:20 -07:00
Ben Vanik
6e4fb87992
D3D11 window up and spinning.
2013-10-11 20:23:58 -07:00
Ben Vanik
611d3bbbeb
Adding in D3D11 GPU skeleton.
2013-10-09 23:18:22 -07:00
Ben Vanik
8558176ee0
Cleaning up the ucode disassembler.
2013-10-09 22:50:44 -07:00
Ben Vanik
14bf4912d1
Fixing CF decode.
2013-10-09 21:15:23 -07:00
Ben Vanik
7b97d475c2
Hacked in shader disassembler.
...
Checking this in before I break it. Has tons of issues.
Turns out the 360 GPU uses an Adreno (rAdeon)-like r2xx shader format.
VC++'s handling of bitfields is absolutely terrible.
2013-10-09 20:28:35 -07:00
Ben Vanik
17be429244
Microcode disassembler skeleton.
2013-10-07 19:58:24 -07:00
Ben Vanik
651954ccae
Starting to drive command buffer actions down to a graphics driver.
2013-10-06 21:09:58 -07:00
Ben Vanik
371075f154
More GPU decoding.
2013-10-06 19:22:02 -07:00
Ben Vanik
99bde2d67e
Fixing terrible vsldoi implementation. Still terrible.
2013-10-06 17:45:59 -07:00
Ben Vanik
87481f5f4c
Fixing vperm.
2013-10-06 16:25:41 -07:00
Ben Vanik
b77403e754
Fixing lvsl/lvsr.
2013-10-06 16:25:23 -07:00
Ben Vanik
74692232c9
Add trace thread mask.
...
Makes seeing only thread 1 easier.
2013-10-06 14:35:03 -07:00
Ben Vanik
1fecb95512
Switching altivec disasm to die on failure.
2013-10-06 12:35:24 -07:00
Ben Vanik
debf21437e
Untested emulated stvlx/stvrx.
2013-10-06 11:22:35 -07:00
Ben Vanik
e5ca996a08
Xmm read/write cleanup.
2013-10-06 11:21:50 -07:00
Ben Vanik
9ebbc3535f
vsldoi.
2013-10-06 11:21:38 -07:00
Ben Vanik
cdb13775e2
Alignment option in xmm read/write.
2013-10-06 10:25:41 -07:00
Ben Vanik
26e22e2b16
Untested and nasty emulated vperm.
2013-10-06 10:25:30 -07:00
Ben Vanik
2b798df631
lvsl/lvsr/lvlx/lvrx
2013-10-06 09:48:42 -07:00
Ben Vanik
e8429b75e0
Significantly faster byte swapping on xmm read/write.
2013-10-04 22:29:19 -07:00
Ben Vanik
d3bf7813ea
Improve perf of vcmp cr6 update.
2013-10-04 13:32:11 -07:00
Ben Vanik
e2842ea4b4
fmaddsx, fmsubx, fmsubsx, fcmpu.
2013-10-04 10:30:57 -07:00
Ben Vanik
091957e72e
Untested srawx/sradix (makes things run further, at least).
2013-10-04 09:34:36 -07:00
Ben Vanik
0f5d0d992d
vupkd3d d3dcolor (untested).
2013-10-03 21:06:40 -07:00
Ben Vanik
611902a97e
Fixing vspltw and vrlimi.
2013-10-03 20:19:11 -07:00
Ben Vanik
bdb5b0eae2
Fixing alignment of xmm load/store.
2013-10-03 20:18:56 -07:00
Ben Vanik
6d46b51ed4
A few vcmp*'s, float_16_to_32 bit of vupkd3d128 (untested).
2013-10-02 23:25:05 -07:00
Ben Vanik
21d273e85b
Tracing FPRs and random fixes.
2013-09-30 22:43:29 -07:00
Ben Vanik
37caa5cea1
vnmsubfp, fixing vrlimi128.
2013-09-30 21:14:23 -07:00
Ben Vanik
f5b99d7448
Fixing some altivec instruction decode issues.
2013-09-30 17:54:49 -07:00
Ben Vanik
26ec76ef35
A lot of progress on altivec instructions.
...
Some bad results, still, and some instructions are not decoding right.
2013-09-29 21:05:48 -07:00
Ben Vanik
3662118246
vmaddfp/vmaddcfp/vmulfp/vsubfp.
2013-09-29 00:02:25 -07:00
Ben Vanik
5652a150e1
vand/vnor/vor/vxor.
2013-09-28 23:45:16 -07:00
Ben Vanik
526b1a85b7
Simple altivec loads/stores.
2013-09-28 23:14:43 -07:00
Ben Vanik
f398ccba56
Skeleton emitter file.
2013-09-28 19:52:33 -07:00
Ben Vanik
51184f73ea
Disassembling a few instructions.
2013-09-28 19:37:34 -07:00
Ben Vanik
f4f66ff7f1
Beginning Altivec disassembly/emitting.
2013-09-28 09:14:04 -07:00
Ben Vanik
b0481472f2
Finally adding thread wait so we kill the spin loop.
2013-09-25 20:55:22 -07:00
Ben Vanik
d16ab71252
Fixing %d print.
2013-09-25 20:28:42 -07:00
Ben Vanik
3e0d9af57e
Placeholders for memory access breakpoints.
2013-09-25 20:13:43 -07:00
Ben Vanik
3706b9a3ce
Ignoring MmFreePhysicalMemory (for now).
...
Games seem to be calling this with 0, which is bogus, so the bug is
elsewhere.
2013-09-25 18:38:18 -07:00
Ben Vanik
536fbbff88
Adding misc Vd functions.
2013-09-25 18:37:30 -07:00
Ben Vanik
3a6ef8cdf9
Fixing VdQueryVideoMode.
2013-09-25 18:37:13 -07:00
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
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
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
Ben Vanik
7990146001
xex2 loader now guesses sizes to allocate.
...
This may not be right in all cases, but seems to work.
2013-05-29 23:26:34 -07:00
Ben Vanik
f307bc9eb1
Adding --target= and --trace_registers flags.
...
--target=[xex|iso] makes it possible to specify the thing to run from a
flagfile.
2013-05-29 21:45:54 -07:00
Ben Vanik
37530d1438
Adding some required video export variables.
2013-05-29 21:26:29 -07:00
Ben Vanik
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.
2013-05-29 21:00:55 -07:00
Ben Vanik
61f7f6d28e
Starting work on some of the Vd kernel functions.
2013-05-28 20:00:06 -07:00
Ben Vanik
2cecc02787
Skeleton GPU files.
2013-05-27 21:45:55 -07:00
Ben Vanik
16baef3591
Starting physical memory allocation routines.
...
These currently don't do anything special w.r.t. memory addresses/etc,
but will in the future.
2013-05-27 20:09:40 -07:00
Ben Vanik
f78e7945d4
Fixing malloc alighment and duplicate calls to NtAllocateVirtualMemory.
2013-05-27 19:58:20 -07:00
Ben Vanik
1d0ec64d40
Adding srd/srw. Fixing shamts in other shifts.
2013-05-27 05:35:41 -07:00
Ben Vanik
778efdb276
fcfid(z), fctid(z) -- both largely untested.
2013-05-27 05:22:38 -07:00
Ben Vanik
84fb802166
fadd(s), fdiv(s), fmul(s), fsub(s), fsel, frsp, fabs, fmr, fneg, fnmsubs.
2013-05-27 04:09:07 -07:00
Ben Vanik
fe6df31280
Finishing off the kernel method conversion.
2013-05-26 23:06:09 -07:00
Ben Vanik
64eb2aa2b3
Converting RTL methods to the new style.
2013-05-26 23:05:05 -07:00
Rick Gibbed
c4e0347932
NULLs!
2013-05-26 22:53:46 -07:00
Rick Gibbed
fe9cb1cddb
Oops.
2013-05-26 22:46:45 -07:00
Rick Gibbed
9f06645e75
Merge branch 'master' of https://github.com/benvanik/xenia
2013-05-26 22:42:28 -07:00
Rick Gibbed
78ee6c9ee9
Added video submodule for xboxkrnl and xam modules.
2013-05-26 22:42:07 -07:00