Commit Graph

1134 Commits

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