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