Commit Graph

820 Commits

Author SHA1 Message Date
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