Commit Graph

1126 Commits

Author SHA1 Message Date
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 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 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 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 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 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 da340891c4 Fixing sockets and response. 2013-12-21 11:52:48 -08:00
Ben Vanik 8a7bd7b69a GET /sessions returns the title info. 2013-12-20 23:44:22 -08:00
Ben Vanik 60015afdc4 Misc fixes. 2013-12-08 16:00:55 -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 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
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 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 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 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 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 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
Ben Vanik 0c19516de4 Fixing file position default value. 2013-10-20 15:05:09 -07:00
Ben Vanik 002400d071 Adding memory info dumping utility, use --log_heap. 2013-10-20 12:39:59 -07:00
Ben Vanik b8edeba195 Actually aligning physical alloc requests. 2013-10-19 18:18:19 -07:00
Ben Vanik 6db8c6c961 Implementing thread state block access. 2013-10-19 02:53:14 -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 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 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 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
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
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 900252a590 Another dummy XCONFIG value. 2013-10-14 21:48:26 -07:00
Ben Vanik 8294f22d76 Ignore decommits for now. 2013-10-14 19:06:26 -07:00
Ben Vanik dc804f2471 KeQuerySystemTime/NtCreateEvent. 2013-10-14 17:19:42 -07:00
Ben Vanik e0701905dd Dummy values that games seem to want. 2013-10-13 22:25:23 -07:00
Ben Vanik d46069cd47 Various tweaks from gibbed. 2013-10-12 10:57:01 -07:00
Ben Vanik 6e4fb87992 D3D11 window up and spinning. 2013-10-11 20:23:58 -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 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 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 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
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 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
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
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 d53458023e Fixing/implementing static TLS entries. 2013-05-31 10:01: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 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 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 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
Ben Vanik b87b17f51e Converting more kernel methods to the new style. 2013-05-26 22:04:12 -07:00
Ben Vanik 6e8828f843 Switching kernel files to the new style. 2013-05-26 21:37:47 -07:00
Ben Vanik fbe800aacd Preparing to enable unshimmed kernel methods that can be called directly. 2013-05-26 20:32:30 -07:00
Ben Vanik 25d8b5f8d8 Switching shim mapping macro to use ordinal constants. 2013-05-26 20:10:10 -07:00
Ben Vanik a332faf419 Adding ordinal enums to kernel modules.
Access via xe::kernel::modules::xboxkrnl::ordinals::MyFunction
(or just ordinals::MyFunction when in the namespace).
Some collisions occurred - just added random suffixes for now.
2013-05-26 19:28:46 -07:00
Ben Vanik 87b8ebd613 Forgot to switch macros. 2013-05-26 19:19:26 -07:00
Ben Vanik 9f320ba4a7 Prepping kernel export tables for various uses. 2013-05-26 18:57:41 -07:00
Ben Vanik 1b07aace73 Moving kernel functions into their proper namespaces. 2013-05-26 18:43:57 -07:00
Ben Vanik 1a5a8d748d Adding missing files to the xam gypi. 2013-05-26 18:40:51 -07:00
Rick Gibbed c29c4b067f Corrected a xam export to variable. 2013-05-26 17:23:30 -07:00
Rick Gibbed 5f494a4449 Corrected many xboxkrnl exports to variable. 2013-05-26 09:46:20 -07:00
Rick Gibbed 6678279ebf Corrected more issues with X_RTL_CRITICAL_SECTION, RtlInitializeCriticalSection, RtlInitializeCriticalSectionAndSpinCount. 2013-05-26 02:36:48 -07:00
Rick Gibbed 237ab5551f Oops. Fixed some formatting in previous commit. 2013-05-26 02:21:05 -07:00
Rick Gibbed 3ac3d8078d Corrected some issues with X_RTL_CRITICAL_SECTION, RtlInitializeCriticalSection, RtlInitializeCriticalSectionAndSpinCount. 2013-05-26 02:18:49 -07:00
Ben Vanik f3552ff9a5 Implementing RtlImageXexHeaderField better. 2013-05-25 00:08:01 -07:00
Ben Vanik 12b2dc153e Disabling the faked KeDebugMonitorData. 2013-05-24 23:43:11 -07:00
Ben Vanik 748bfe509f Handling null ptr in NtFreeVirtualMemory. 2013-05-24 17:33:57 -07:00
Ben Vanik 4495637616 Making sure shim calls are cdecl. 2013-05-23 01:04:14 -07:00
Ben Vanik 0aa7d1ec05 Adding libjit.
Removing some old xethunk cruft.
2013-05-19 09:23:50 -07:00
Ben Vanik 85bdbd24d1 In-progress work: refactoring PAL not to be instanced.
This removes a lot of useless passing around of the PAL object.
2013-03-29 05:07:32 -07:00
Ben Vanik bfda368ab5 Compiling on linux. 2013-02-10 12:21:56 -08:00
Ben Vanik 3cae7ed714 Converting logging to ASCII and other Windows fixes. 2013-02-09 08:05:39 -08:00
Ben Vanik 338b890ef5 Fixing VC++ warnings and errors. 2013-02-08 22:07:38 -08:00
Ben Vanik 7435a327f7 Windows compat fixes. 2013-02-06 10:04:34 -08:00
Ben Vanik 2521d64615 Fixing decryption key choice to be more robust. 2013-02-06 03:07:57 -08:00
Ben Vanik 88431eadce Screw convention; moving include files alongside source files.
They now will show up in xcode/etc.
2013-02-06 02:19:50 -08:00