Commit Graph

1126 Commits

Author SHA1 Message Date
Ben Vanik ea4ec28acc Adding --show_profiler to show profiler by default, changing hotkey to F3. 2015-07-25 12:34:15 -07:00
Dr. Chat 4301806061 Cleanup some Ke* threading APIs (and update the dispatch header when possible) 2015-07-25 11:43:25 -05:00
Dr. Chat 18d8fad098 Couple of fixes for IO (null pointer deref and improper XctdCompressionInformation) 2015-07-24 23:50:02 -05:00
Dr. Chat 270686a0be Whoops, don't need these 2015-07-24 23:24:23 -05:00
Dr. Chat b8b134da75 module Retain instead of RetainHandle 2015-07-24 23:09:47 -05:00
Dr. Chat 64089558f1 XThread set exit code on exit 2015-07-24 23:09:33 -05:00
Dr. Chat c536053dec Fix improper getting arguments from stack
Also fix PrimitivePointerParam conversion error
2015-07-24 23:08:55 -05:00
Dr. Chat cf37fa7d71 Update a bunch of IO methods 2015-07-24 23:07:22 -05:00
Dr. Chat eac3243907 Include host ID in XThread name for easier debugging 2015-07-24 18:42:30 -05:00
Dr. Chat 8e41d5a707 The kernel object table now keeps track of handle reference counts. 2015-07-22 19:34:33 -05:00
Ben Vanik a42ab648ed Shuffling --debug around and making it work. 2015-07-22 17:26:10 -07:00
Dr. Chat 9a47082c88 Create XThread suspended and resume it when setup is complete. Fixes race condition on thread_ variable. 2015-07-22 11:56:02 -05:00
Dr. Chat 8d0fef1433 Kernel state terminate notification support 2015-07-21 22:11:33 -05:00
Dr. Chat b6f8985c8c Shuffle around RTL critical section code and add asserts
Get thread ID using new api
2015-07-21 22:09:26 -05:00
Dr. Chat 7ceaf678e0 Minor XObject function changes 2015-07-21 22:07:55 -05:00
Dr. Chat b646915b77 Make XThread use its guest KTHREAD object in the pcr in r13
Shuffle around some code in XThread
2015-07-21 22:07:30 -05:00
Dr. Chat a4849ca83e XNetSetSystemLinkPort / respect optional pointers in accept 2015-07-21 22:05:56 -05:00
Ben Vanik 5bd7833e87 More clang fixes. xenia-kernel is clean. 2015-07-19 21:29:06 -07:00
Ben Vanik bebda48a4f More clang fixes. 2015-07-19 20:46:14 -07:00
Ben Vanik 12a29371e3 Clang fixes. 2015-07-19 18:32:48 -07:00
Ben Vanik baa86fcd1b Migrating xam UI to elemental-forms.
Fixes #345.
2015-07-19 14:43:27 -07:00
Ben Vanik edfa3f3fc0 Replacing the tick count timer with xplat abstraction (also better rate).
Fixes #346.
2015-07-19 10:11:54 -07:00
Ben Vanik 91d7acf59e Fixing some particularly bad /W4. 2015-07-18 23:04:21 -07:00
Ben Vanik e0eb85bbbc Switching to premake. Probably with disasterous consequences. 2015-07-18 16:00:01 -07:00
Ben Vanik 6c5d230f67 Merge pull request #353 from DrChat/ob_threads
Implement ObLookupThreadByThreadId / ObOpenObjectByPointer
2015-07-18 13:27:25 -07:00
Dr. Chat b92cddc182 Implement SHA-1 in xboxkrnl (correctness not verified though)
Stubs for some weird crypto functions
2015-07-18 14:57:43 -05:00
Dr. Chat 55f5b95670 These are implemented (and formatting) 2015-07-17 20:29:39 -05:00
Dr. Chat c60d30a311 Add a few more xam exports 2015-07-17 19:57:35 -05:00
Dr. Chat c3189a6837 ObLookupThreadByThreadId / ObOpenObjectByPointer 2015-07-17 19:56:54 -05:00
Dr. Chat 1ea5a4b7b4 XThread initialize the dispatch header 2015-07-17 19:55:09 -05:00
Dr. Chat e54477d0e4 XObject::StashNative 2015-07-17 19:52:29 -05:00
Ben Vanik 756d414386 Prep for split libraries. 2015-07-16 22:26:34 -07:00
Sinoxan 0cdff21582 Removing unnecessary unsigned checks. 2015-07-16 19:01:11 +01:00
Ben Vanik ecd4af10c9 Fixing some clang warnings/errors. 2015-07-15 23:26:58 -07:00
Ben Vanik f520d3a2a4 Run with latest clang-format. 2015-07-15 22:44:30 -07:00
Ben Vanik c3415e6332 Adding TLS abstraction. 2015-07-15 22:20:33 -07:00
Ben Vanik 48d5d76882 Cleaning up RtlTimeToTimeFields/TimeFieldsToTime. Needs a non-win32 impl. 2015-07-15 22:10:24 -07:00
Ben Vanik 8154d1dad6 Moving xe::Memory and code cache to abstracted APIs. 2015-07-15 22:10:05 -07:00
Ben Vanik fefaa31cd8 Switching a few types to their platform-agnostic versions. 2015-07-15 22:09:19 -07:00
Ben Vanik 58c3a1ba79 VirtualProtect platform abstraction. 2015-07-15 18:20:05 -07:00
Ben Vanik 99104a25a8 Fixing thread exit. 2015-07-15 18:01:17 -07:00
Ben Vanik a6012b73f4 Switching audio system to platform-agnostic primitives. 2015-07-14 23:13:56 -07:00
Ben Vanik 345fe60da0 Switching over kernel objects to the platform-agnostic APIs.
Possibly some regressions here.
2015-07-14 22:44:45 -07:00
Ben Vanik bd490d5833 Threading primitives, in prep for removing Win32 from kernel/ and others. 2015-07-13 22:49:29 -07:00
Ben Vanik d89bad7380 Removing uses of Sleep/SwitchToThread/etc. 2015-07-13 21:54:24 -07:00
Ben Vanik 40621a90bd Switching to standard mutex for now (but keeping xe::mutex). 2015-07-13 21:49:32 -07:00
Ben Vanik 72ad899e9e Starting to remove windows.h includes from things. 2015-07-13 20:49:29 -07:00
Ben Vanik 15c17459be Massive refactoring of xenia::ui and GL swap behavior.
This seems to dramatically improve most games (especially with
--vsync=false), though it may cause swap issues with others.
New code should be easier to port, and enables elemental-forms to be
drawn for any emulator UI.
2015-07-12 22:04:17 -07:00
Dr. Chat 5332290573 NetDll_WSAWaitForMultipleEvents
NetDll_WSAResetEvent
2015-07-11 19:32:33 -05:00
Dr. Chat 8499da972c Convert a couple of kernel threading APIs to new style 2015-07-11 18:17:52 -05:00
Dr. Chat f0060f8335 Allow direct typecasting of Result shim util class 2015-07-11 18:14:33 -05:00
Dr. Chat 90a9a71e55 Lint. 2015-07-10 23:32:05 -05:00
Dr. Chat ee1696e571 Fix some inconsistencies in the XMA API (and rewrite a lot of functions to the new style) 2015-07-10 23:16:42 -05:00
Dr. Chat b2241e3fef Avoid calling OnUnload twice. 2015-07-06 19:19:32 -05:00
Dr. Chat 0388d17a72 Formatting 2015-07-06 10:57:32 -05:00
Dr. Chat 88465de41e FscGetCacheElementCount stub 2015-07-06 10:41:14 -05:00
Dr. Chat 6ddd0b4700 Rewrite InterlockedPopEntrySList 2015-07-05 21:33:29 -05:00
Dr. Chat 870aa092bb KernelState::GetKernelModule 2015-07-05 17:27:25 -05:00
Dr. Chat 8adbc2cd0c Return 0 for success 2015-07-05 17:14:42 -05:00
Dr. Chat fd136c1f9f Swap to default initializers. 2015-07-05 17:05:58 -05:00
Dr. Chat 4e6b036b3c Formatting. 2015-07-05 16:28:11 -05:00
Dr. Chat 82986c6eec Use TerminateTitle rather than relying on XamLoader* being called from the main thread. 2015-07-05 16:22:45 -05:00
Dr. Chat ff72a25260 Remove dump on module launch (already dumped on load!) 2015-07-05 15:54:30 -05:00
Dr. Chat 39d6e9a20f Implement XamLoaderLaunchTitle and other loader functions. 2015-07-05 15:44:46 -05:00
Dr. Chat d6686fc345 Load default.xex as a regular module and call TerminateTitle when the main thread exits. 2015-07-05 15:44:02 -05:00
Dr. Chat 57e89e72b1 Use the actual thread handle as a wait handle, add bool XThread::running 2015-07-05 15:43:09 -05:00
Dr. Chat 5ccea06e7f KernelState::TerminateTitle 2015-07-05 15:42:30 -05:00
Dr. Chat 778acac929 XThread Terminate 2015-07-05 14:44:43 -05:00
Dr. Chat 7f53b1d630 Allow unloading of user modules 2015-07-05 14:03:00 -05:00
Dr. Chat 8210ada448 XModule OnUnload 2015-07-05 13:47:53 -05:00
Dr. Chat 4fdebd530f XThread bool guest thread 2015-07-05 13:37:10 -05:00
Dr. Chat fbfdfc8914 Don't call DllMain on non-DLLs
Gracefully handle the kernel dispatch thread already running
2015-07-05 13:31:13 -05:00
Dr. Chat 8d4582a7a4 Fix a couple of API bugs dealing with modules 2015-07-05 13:27:48 -05:00
Dr. Chat b57a71e284 Typecast xe::be before sending it into printf 2015-07-03 22:02:58 -05:00
Ben Vanik 4097fe420e Merge pull request #322 from DrChat/xex2_patch
XEX2 Code Refactoring
2015-07-03 19:38:36 -07:00
Dr. Chat 9186d011f0 Bring back some important debug dumps 2015-07-03 21:28:02 -05:00
Dr. Chat 1788ee1589 Linting. 2015-07-03 20:11:08 -05:00
Dr. Chat 8cb8098a6b Dump import libraries 2015-07-03 19:43:43 -05:00
Dr. Chat ed3db90666 Dump a few more headers (incl. execution header) 2015-07-03 19:16:36 -05:00
Dr. Chat 74d57cfd0a Dump exports by name in debug log 2015-07-03 18:45:11 -05:00
Dr. Chat e58bb5ad9f ReImplement XexModule::GetProcAddress 2015-07-03 18:29:14 -05:00
Dr. Chat 800f982a4d XEX2 Security Page Descriptors 2015-07-03 10:58:33 -05:00
Dr. Chat c32a94599e Use the guest copy of the xex header for guest code. 2015-07-03 10:51:56 -05:00
Dr. Chat 307feaf893 Formatting. 2015-07-03 10:51:35 -05:00
Dr. Chat a25090f3ca Templated XUserModule::GetOptHeader 2015-07-03 10:27:08 -05:00
Dr. Chat 82ec1c345d Dump all xex2 headers in XUserModule (minus a couple) 2015-07-03 08:17:24 -05:00
Dr. Chat be5f8d3aa4 Simplify some logic in parsing import libraries
Change struct used in export lookups
2015-07-03 08:17:23 -05:00
Dr. Chat 029babaf5d Drop dependency on old-style xex2 headers 2015-07-03 08:15:53 -05:00
Dr. Chat fe87c08424 Shuffle some code around. 2015-07-03 08:15:53 -05:00
Dr. Chat e44ac54eed Remove kernel dependency on old xex header 2015-07-03 08:15:52 -05:00
Ben Vanik dec0d12cc9 Replacing includes of windows headers with base/platform.h. 2015-07-01 09:02:04 -07:00
Ben Vanik 9efccc5f4a Removing dependencies on MainWindow. 2015-07-01 08:02:22 -07:00
Ben Vanik d7a5c74bf3 Formatting: force pointers to the left side. 2015-06-30 16:16:33 -07:00
Dr. Chat 50e19a2b12 X_DISPLAY_INFO struct 2015-06-29 23:42:58 -05:00
Ben Vanik 5b2f049d4c Adding deferred xoverlapped completion helper. 2015-06-29 12:02:08 -07:00
Ben Vanik cc08e9019a Move NtCreateFile/NtOpenFile to VFS, implement (mostly) for real.
Progress on #305.
2015-06-29 10:33:36 -07:00
Dr. Chat d809af5902 xbox kernel RTL cleanup 2015-06-28 20:39:45 -05:00
Ben Vanik b663b615bf Fix XamContent return (!) and vfs use.
Progress on #305.
2015-06-28 17:33:48 -07:00
Ben Vanik 1106029afc _wfopen -> xe::filesystem::OpenFile.
Progress on #305.
2015-06-28 17:33:46 -07:00
Ben Vanik 7de9be4ef6 DrChat's fix for xex header values. 2015-06-28 14:53:58 -07:00
Ben Vanik 84e884a07f Moving get_opt_header out of xex2. 2015-06-28 14:01:53 -07:00
Ben Vanik 010b701e05 Iterating on RtImageXexHeaderField. 2015-06-28 13:44:59 -07:00
Ben Vanik 996f99bd85 Quick fix for RtlImageXexHeaderField - still some more to do. 2015-06-28 12:17:48 -07:00
Ben Vanik e772a8cb92 Fixing module export. 2015-06-28 12:07:13 -07:00
Ben Vanik 7875a4b0ba Merge pull request #300 from DrChat/hmodule_fix
Swap to using HMODULE instead of handles for xex modules.
2015-06-28 12:01:32 -07:00
Dr. Chat c47c0b3354 Uhh, lint 2015-06-28 13:29:54 -05:00
Ben Vanik 83872d8e8f Refactoring vfs to remove a lot of duplicated code.
Progress on #294.
2015-06-27 22:37:49 -07:00
Dr. Chat bb900ba9db XexExecutableModuleHandle export now points to the executing HMODULE 2015-06-27 23:42:46 -05:00
Dr. Chat 944b39c51d Apply some lint n' stuff 2015-06-27 22:50:08 -05:00
Dr. Chat 8a6c620fe7 XUserModule::GetOptHeader 2015-06-27 22:42:17 -05:00
Dr. Chat 169cb65d96 Remove unused execution_info_ptr 2015-06-27 22:38:10 -05:00
Dr. Chat 7372dd4d8d Use HMODULE instead of handles for xex modules 2015-06-27 22:00:58 -05:00
Dr. Chat c228c0fa73 Add some native xex2 structs and handling functions 2015-06-27 21:32:16 -05:00
Ben Vanik 1ac19f1b08 Replacing vfs memory mapping with base memory mapping.
Progress on #294.
2015-06-27 18:02:20 -07:00
Ben Vanik 23f91b58f3 Moving code out of vfs/ that doesn't need to be there.
Progress on #294.
2015-06-27 17:01:25 -07:00
Ben Vanik abf47b7973 Removing utilities (that were just adding needless layers).
Progress on #294.
2015-06-27 16:27:38 -07:00
Dr. Chat 1ad144e451 NetDll_WSARecvFrom Stub 2015-06-27 17:08:42 -05:00
Dr. Chat e94ad84fe9 RtlImageXexHeaderField special case for XEX_HEADER_EXECUTION_INFO 2015-06-27 17:06:27 -05:00
Ben Vanik 0716cf84c0 Renaming xe::fs to xe::filesystem and xe::kernel::fs to xe::vfs.
Progress on #294.
2015-06-27 13:31:21 -07:00
Ben Vanik bc75b0ab87 Fixing NtQueryDirectoryFile. 2015-06-27 12:55:30 -07:00
Ben Vanik c2e2b3380e Replacing X_ANSI_STRING with new style.
Progress on #297.
2015-06-27 12:16:52 -07:00
Ben Vanik f07d620553 Moving misc stuff out of xbox.h.
Progress on #297.
2015-06-27 11:44:40 -07:00
Ben Vanik 7e0246c381 Moving input structs out of xbox.h.
Progress on #297.
2015-06-27 11:37:12 -07:00
Ben Vanik 8c69a4df09 Cleaning up apu/ and renaming -private files to _flags.
Part of #296.
2015-06-27 11:25:56 -07:00
Ben Vanik b38bf5c132 Simplifying HID creation.
Part of #296.
2015-06-27 09:42:30 -07:00
Ben Vanik 3439641101 Removing cpu.h.
Part of #296.
2015-06-27 08:58:45 -07:00
Dr. Chat 287a761987 Fix AppendParam dereferencing NULL pointers 2015-06-25 19:29:37 -05:00
Ben Vanik b9c39d1b33 Fixing thread exit. 2015-06-22 22:40:39 -07:00
Ben Vanik fb1f4906d9 xb format --all (we are now format clean). Buildbot will yell at you. 2015-06-22 22:26:51 -07:00
Dr. Chat bafd448dd8 Cleanup some XThread code 2015-06-22 21:42:33 -05:00
gibbed 021b5a3d17 Moved the XMA decoder out of AudioSystem and into its own world (plus minor code cleanup in the process). 2015-06-21 02:25:24 -05:00
Dr. Chat 8eba3a366f Rename XamLoaderLaunchTitle argument 2015-06-20 11:05:33 -05:00
Ben Vanik 03f2d26afd Fixing tests with no debugger attached. 2015-06-19 21:53:49 -07:00
gibbed 1a38586d9a Cleaned up XMASetLoopData. 2015-06-19 21:52:02 -05:00
gibbed f3547a832f Removed XMAContextData::kSize constant, moved kXmaContextCount, changes to use newer ringbuffer, cleaned up XMAInitializeContext a bit (with fixes for loop_data handling). 2015-06-19 09:54:21 -05:00
gibbed 1e4d65bcf7 Whoops. 2015-06-19 07:34:51 -05:00
gibbed d1221a3c5e Cleaned up VdGetCurrentDisplayInformation a bit. 2015-06-19 06:45:27 -05:00
Ben Vanik e4c5522c84 Merge pull request #261 from SirCmpwn/fix-std-mem
Add missing includes for cstring
2015-06-16 22:19:19 -07:00
Drew DeVault a064ba053e Add missing includes for cstring 2015-06-16 23:16:18 -06:00
Ben Vanik b750370759 Partial thread data plumbing. 2015-06-16 21:53:40 -07:00
gibbed 75206149ab KeInitializeEvent. 2015-06-16 20:41:26 -05:00
gibbed 95afbe2d93 Don't allocate memory for TLS slots, and copy the default TLS data at the start, rather than offset by the TLS slot size, which seems to be more correct. 2015-06-14 03:50:45 -05:00
gibbed 734b1a7be9 Fixed byte_offset in NtReadFile debug log. 2015-06-13 09:00:26 -05:00
gibbed 3a093d4c84 Fixed comment. 2015-06-13 08:59:52 -05:00
Dr. Chat 9376ed3f01 Whoops 2015-06-13 00:33:24 -05:00
Dr. Chat 3e7870fb39 Make SetNativePointer setup the guest pointer 2015-06-12 22:46:19 -05:00
Dr. Chat 4e74db8e51 Add the dispatch header to X_SEMAPHORE 2015-06-12 22:43:37 -05:00
Dr. Chat 3bd5dc011c Free the object creation info on destruction 2015-06-12 21:35:49 -05:00
Dr. Chat b7aabd7860 XSemaphore now calls CreateNative 2015-06-12 21:31:00 -05:00
Dr. Chat bdcadeffe5 XObject CreateNative 2015-06-12 21:30:32 -05:00
Dr. Chat a0a8b7ec37 Add X_OBJECT_HEADER and X_OBJECT_CREATE_INFORMATION 2015-06-12 19:48:24 -05:00
Dr. Chat f96657ef7c Fixup DISPATCH_HEADER type_flags to its parts 2015-06-12 19:47:28 -05:00
Dr. Chat 4c9cab4346 Make XThread create a kernel object for itself 2015-06-12 19:02:17 -05:00
Dr. Chat 864e257474 DISPATCH_HEADER -> X_DISPATCH_HEADER 2015-06-12 18:59:08 -05:00
gibbed 6348c3dc72 Changed a hardcoded value to something slightly more reasonable until we can calculate the correct value. 2015-06-10 23:48:51 -05:00
gibbed 1c37c14fc8 Cleaned up MmQueryStatistics. 2015-06-10 21:53:47 -05:00
gibbed dc371009d9 Renamed handle_ to native_handle_ in some places where it makes more sense. 2015-06-10 21:24:54 -05:00
Ben Vanik cabf9d6261 Adding some GPU docs and creating output directories automatically. 2015-06-10 19:20:14 -07:00
Dr. Chat feba4f03a2 ResolvePath check for fully qualified paths 2015-06-10 19:09:33 -05:00
Dr. Chat bc0fb19005 Swap main device to harddisk0 2015-06-10 19:08:58 -05:00
Dr. Chat 60cf80d85c Actually give the game the new handle 2015-06-09 19:04:41 -05:00
Dr. Chat 41f1023549 Minor fix in XThread - checking the wrong address for NULL 2015-06-09 18:58:45 -05:00
Dr. Chat 72a641efac Fix up NtDuplicateObject 2015-06-09 18:58:21 -05:00
Dr. Chat 3627418e0e Object table handle duplication 2015-06-09 18:58:02 -05:00
Ben Vanik 573f190a43 Adding modules/functions to the debugger. 2015-06-08 23:22:25 -07:00
Ben Vanik 00b3b0eab9 Adding assertion to RtlImageXexHeaderField + fixing return (maybe). 2015-06-07 21:51:19 -07:00
gibbed 1d37df29cb Untested implementation of MmCreateKernelStack and stub of MmDeleteKernelStack. 2015-06-07 22:28:06 -05:00
gibbed 98e14fcb1b Hack for KeWaitForSingleObject when games pass in object handles. 2015-06-07 21:08:16 -05:00
gibbed 7f57867f49 Let's fix the strange stack overflows doing the stupid thing. 2015-06-07 18:29:09 -05:00
gibbed b9087e0698 This appears to be better? 2015-06-07 18:17:09 -05:00
Ben Vanik ba88955be4 vsnprintf return is dumb. 2015-06-07 16:13:05 -07:00
gibbed 0fb9161a1b Putting the user_index == 255 check back into XamUserReadProfileSettings. 2015-06-07 04:51:50 -05:00
gibbed cbd1210337 Handle a NULL playlist name pointer when creating title playlist. 2015-06-07 01:46:57 -05:00
Ben Vanik f0492dfbb0 Looks like this is used to query rather than read sometimes. 2015-06-06 23:00:17 -07:00
Ben Vanik 58324352ae Stubbed color format. 2015-06-06 22:57:15 -07:00
Dr. Chat 14b14f4309 XnAddrStatus enum and XNADDR struct 2015-06-06 21:20:20 -05:00
Dr. Chat 0c61244e91 Fix XNetGetDebugXnAddr signature 2015-06-06 19:19:13 -05:00
Dr. Chat 6e0732b95b NetDll argument 0 is a caller ID 2015-06-06 19:17:26 -05:00
Ben Vanik a52fcf0157 Merge pull request #244 from DrChat/sector_info_stub
Sector info stub
2015-06-05 17:36:50 -07:00
gibbed b14ca702d1 Initialize process_type properly. 2015-06-05 19:21:52 -05:00
Dr. Chat 3b913844f0 File sector information stub 2015-06-05 19:06:36 -05:00
Dr. Chat 5250f0ca3e NtQueryInformationFile: Return X_STATUS_UNSUCCESSFUL on default cause 2015-06-05 18:58:39 -05:00
Dr. Chat d9ff65c9a2 Change NtQueryInformationFile to new-style export 2015-06-05 18:54:47 -05:00
gibbed 1d02ce63d3 Cleaned up XamUserReadProfileSettings. Also fixed writing out pointers for
setting data, fixing issues with games trying to read from zero page after
reading profile settings.
2015-06-05 18:53:14 -05:00
gibbed edf8d1a74d Corrected comment. 2015-06-05 16:49:28 -05:00
gibbed c1d3d62e2a Changed the default license mask. 2015-06-05 16:17:09 -05:00
Ben Vanik 232c35b89e Use the right sizes. Nice catch DrChat. 2015-06-04 20:06:49 -07:00
Ben Vanik 52060af847 Best-guess process info block. 2015-06-04 17:46:00 -07:00
Ben Vanik f9742cc3eb Fixing formatting. 2015-06-04 16:56:42 -07:00
Ben Vanik 21474970b2 Fixing (or at least improving) TLS. 2015-06-04 16:51:53 -07:00
Dr. Chat 88672eff4f InterlockedFlushSList and rewrote InterlockedPopEntrySList 2015-06-04 16:21:25 -05:00
Dr. Chat 4f807a669c Fix TLS copying (size may still be wrong though) 2015-06-04 16:20:52 -05:00
Dr. Chat 0bc08d80ef NtCreateIoCompletion stub 2015-06-04 01:06:39 -05:00
Ben Vanik bba530f628 Pre-sizing export tables. 2015-06-03 22:40:23 -07:00
Ben Vanik a9e2ba16fb Optimizing page allocation (still shit) and adding MmSetAddressProtect. 2015-06-03 21:24:09 -07:00
Ben Vanik 50813d3ffa NetDll_XNetGetDebugXnAddr stub. 2015-06-03 20:45:05 -07:00
Ben Vanik b8d1d3cf35 Stub for avatar stuff to make it immediately bail. 2015-06-03 18:29:44 -07:00
Ben Vanik 36dc6dd864 Logging APC delivery. 2015-06-03 17:59:36 -07:00
gibbed 60daa978dd VdSwap has 10 arguments. 2015-06-03 10:37:59 -05:00
gibbed 5cfdec7dbf Fix a comment. 2015-06-03 09:50:13 -05:00
Ben Vanik 7f62e8a86d Fixing notification dequeing. 2015-06-02 22:13:17 -07:00
Ben Vanik e186fcaf0d Fixing end_of_file and allocation_size, some wildcard stuff, etc. 2015-06-02 22:13:16 -07:00
Dr. Chat b448d794c5 xboxkrnl SHA crypt stubs 2015-06-03 00:06:33 -05:00
gibbed 6d61d0a7b2 Added _snprintf and swprintf. 2015-06-02 10:42:10 -05:00
gibbed 58b1059a23 Reordered the formatting exports in the order of their ordinal. 2015-06-02 10:42:09 -05:00
gibbed b402fb76e1 Oops. 2015-06-02 10:42:08 -05:00
gibbed 065f0417f2 Fixed vsnprintf behavior when count < 0. 2015-06-02 10:42:08 -05:00
Ben Vanik c516447ae1 Misc stubs. 2015-06-02 00:14:24 -07:00
Ben Vanik 7525b840db Making Rick happy ;) 2015-06-01 23:41:17 -07:00
Ben Vanik 862c322cbc Fixing stack args and error typo. 2015-06-01 23:36:05 -07:00
Ben Vanik f86f6ee79d Always set fake cpu #. 2015-06-01 23:22:25 -07:00
Dr. Chat 93763c166f input_buffer_*_block_count -> input_buffer_*_packet_count 2015-06-02 00:44:59 -05:00
Ben Vanik 493b06a48a NetDll_XNetQosServiceLookup stub. 2015-06-01 22:20:04 -07:00
Ben Vanik 19cb13692b Fixing undefined export names. 2015-06-01 22:12:11 -07:00
Ben Vanik 5c34b0a73e Fixing printfs and fixing exports. link.exe is too good. 2015-06-01 21:40:53 -07:00
Ben Vanik a91a754b24 Converting some exports to the new way. 2015-06-01 20:56:57 -07:00
Ben Vanik f634edb9eb Shrinking type names. 2015-06-01 19:55:43 -07:00
Ben Vanik 169ced8194 Removing kernel_state and ppc_context from kernel export args. 2015-06-01 19:33:13 -07:00
Ben Vanik 23826fa957 Initial experiment with new kernel export format. 2015-06-01 18:19:42 -07:00
gibbed 225bb74316 Oops. Not sure how that got reverted. 2015-06-01 20:05:54 -05:00
gibbed 2a2fe509e6 Rename _vswprintf to vswprintf. 2015-06-01 19:42:23 -05:00
gibbed 5b06b8436e Use std::ostringstream instead of std::stringstream. 2015-06-01 19:32:13 -05:00
gibbed fe8d058b36 Completely reimplemented xboxkrnl formatting related functions (sprintf, etc). No longer relies on CRT-provided sprintf/etc. Floating-point types needs more thorough testing. 2015-06-01 19:29:25 -05:00
gibbed 633d72a98e Corrected NtQueryFullAttributesFile behavior when root_directory is 0. 2015-06-01 19:01:57 -05:00
gibbed 7c5ea52022 Updated functions pulling arguments out of the stack to use the appropriate SHIM_GET_ARG_* macro. 2015-06-01 19:01:56 -05:00
gibbed 8c49281bb5 Improvements to SHIM_GET_ARG_* macros. 2015-06-01 19:01:49 -05:00
Ben Vanik ce3359389b Allow new-style export registration. 2015-05-31 17:54:44 -07:00
Ben Vanik 08770a4ec0 Mass renaming. I love clang-format. 2015-05-31 16:58:12 -07:00
Ben Vanik 9c3d2b54fb Cleanup before kernel export refactor. 2015-05-31 16:31:19 -07:00
Ben Vanik fccab79a7a Adding kernel state pointer to PPCContext. Still needs larger cleanup. 2015-05-31 14:35:56 -07:00
Ben Vanik d97a6d1929 NtReadFile APC, somewhat. 2015-05-29 21:24:23 -07:00
Ben Vanik a4edb7f9e1 Removing 64bit return type and cleaning up some SHIM* stuff pre-refactor. 2015-05-29 17:12:30 -07:00
gibbed 07c0724cf0 Some work on VdSwap. 2015-05-29 15:59:57 -05:00
gibbed 35bea36fc4 Added a magic value to XE_SWAP packets to make it obvious if there's an opcode collision. 2015-05-29 15:59:56 -05:00
gibbed 0050b3df83 Assign a CPU number based on the proc affinity mask on thread creation. Fixes audio threads not starting properly on Frogger 2, and possibly other titles. 2015-05-28 12:56:56 -05:00
gibbed d1dbee2052 Consistency in memset calls. 2015-05-28 05:28:59 -05:00
gibbed 32fff9271b Yeah, let's zero the right argument, m'kay. 2015-05-28 05:22:36 -05:00
gibbed 1613ef35a6 %S support for vsprintf. 2015-05-28 05:18:15 -05:00
gibbed 671d6f3746 Making assumptions about how big the buffer being passed to VdGetSystemCommandBuffer is. Seems to work and fix the divide by zero trap many games were making. 2015-05-28 05:18:14 -05:00
Ben Vanik e419d314b3 Audio now works a bit better, but is still broken :/ 2015-05-28 02:15:30 -07:00
Ben Vanik a93325434a Minor audio tweeks + profiling. 2015-05-28 00:19:17 -07:00
gibbed 0b75d409d2 Somehow this assert got removed. 2015-05-27 15:06:11 -05:00
gibbed 4280ae8adc Corrected HostPathEntry::QueryDirectory return value when the first search fails. 2015-05-27 14:36:59 -05:00
Ben Vanik 8244409501 Refactoring to enable future time scaling, coordinated clocks, etc. 2015-05-26 22:20:58 -07:00
gibbed 05f2577fb7 Hurf. SHIM_SET_RETURN_64 -> SHIM_SET_RETURN_32. 2015-05-26 23:06:26 -05:00
Ben Vanik 55e65f4ad6 GetObjectsByType. 2015-05-25 21:39:01 -07:00
Ben Vanik 41cee3d337 Switching vsync to custom thread. 2015-05-25 21:12:27 -07:00
Ben Vanik e3ddcd44e7 Minor fixes and fixing thread names. 2015-05-25 21:10:28 -07:00
Ben Vanik 273b9939e1 Fixing some misc thread/audio stuff. 2015-05-25 00:58:43 -07:00
Ben Vanik f5a2b85d42 Switching to xe::mutex. 2015-05-25 00:52:21 -07:00
Ben Vanik 814ec82ad4 Removing old GetObject. 2015-05-25 00:52:20 -07:00
Ben Vanik a2b66f9109 LookupObject'ing code. 2015-05-25 00:52:19 -07:00
Ben Vanik 018e9a96e1 LookupObject helper. 2015-05-25 00:52:19 -07:00
Ben Vanik 120e09f8e7 XObject::GetObject->GetNativeObject 2015-05-25 00:52:19 -07:00
Ben Vanik d746743d20 More object_ref'ing. 2015-05-25 00:51:28 -07:00
Ben Vanik 5cfb69434c Modules using object_ref. 2015-05-25 00:51:27 -07:00
Ben Vanik fff1a7c132 Switching std::thread to XThread and hosting in object_refs. 2015-05-25 00:51:26 -07:00
Ben Vanik 1104f8e687 Header cleanups and prep. 2015-05-25 00:51:25 -07:00
Ben Vanik 8ac1f61c64 RAII object reference, debug mutex, etc. 2015-05-25 00:51:24 -07:00
Ben Vanik 576d6492dc Basic debugger networking. 2015-05-25 00:51:22 -07:00
gibbed 90d6c81161 Stubbed XFileAllocationInformation and XFileEndOfFileInformation in NtSetInformationFile. 2015-05-24 14:18:42 -05:00
gibbed f1d0fe909f Added an assert_not_null for native_ptr in XObject::GetObject. 2015-05-24 13:42:31 -05:00
gibbed 5c404ddfdb Always give an error on querying a file for compression information. This fixes Banjo-Kazooie and other games that rely on XtcdDecompression. 2015-05-24 12:32:24 -05:00
Ben Vanik 7afc108b28 Merge pull request #224 from DrChat/net_changes
Misc. changes in xam_net
2015-05-24 10:26:38 -07:00
gibbed 7d5b6920fa Added QuerySizeInfo for FileFsSizeInformation. 2015-05-24 04:30:10 -05:00
gibbed a4ef6e5837 Renamed QueryVolume to QueryVolumeInfo, QueryFileSystemAttributes to QueryAttributeInfo. 2015-05-24 04:30:09 -05:00
gibbed 3e55b590b1 Removing unnecessary indirection from XFile. 2015-05-24 04:30:09 -05:00
gibbed de844a3db9 Renamed XFileSystemAttributeInfo to X_FILE_FS_ATTRIBUTE_INFORMATION. 2015-05-24 04:30:08 -05:00
gibbed cbbaae7867 Renamed XFileSystemSizeInfo to X_FILE_FS_SIZE_INFORMATION. 2015-05-24 04:30:07 -05:00
gibbed 9104e0a288 Renamed XVolumeInfo to X_FILE_FS_VOLUME_INFORMATION. 2015-05-24 04:30:07 -05:00
gibbed d60870e9eb Renamed XDirectoryInfo to X_FILE_DIRECTORY_INFORMATION. 2015-05-24 04:30:06 -05:00
gibbed e3e2b1a6d9 Renamed XFileInfo to X_FILE_NETWORK_OPEN_INFORMATION. 2015-05-24 04:30:05 -05:00
gibbed 2f905c0864 Added device(), removed absolute_path() on XFile. NtCreateFile now uses the file's device to resolve root directory requests. 2015-05-24 02:48:43 -05:00
gibbed 25c76e92e9 Simplify ResolvePath(), accessing paths using \Device\whatever is no longer valid (nothing should legitimately be using this anyway). 2015-05-24 01:27:26 -05:00
gibbed a4f2efe941 Fixed path joining in NtCreateFile. 2015-05-24 01:15:52 -05:00
Dr. Chat fad7cce2e9 Misc. changes in xam_net
XNetGetTitleXnAddr now returns a loopback address
2015-05-23 22:43:38 -05:00
gibbed 194fc4c1fd Calls to VdSetDisplayModeOverride seem to skip r5 as an argument. Set a return value in VdInitializeEngines. 2015-05-23 19:51:07 -05:00
gibbed b38bc0df1e VdPersistDisplay is two arguments, not nine. 2015-05-23 19:38:57 -05:00
gibbed a376eb7d9f Added XamIsUIActive. 2015-05-23 19:29:04 -05:00
Dr. Chat 99dd84ce57 Removed assert statements checking for addr range 2015-05-23 14:52:38 -05:00
Dr. Chat 61e9ba665b XamLoaderSetLaunchData 2015-05-23 14:35:00 -05:00
Dr. Chat 30e445a6de VdPersistDisplay - Check if unk1 ptr is NULL 2015-05-23 14:25:46 -05:00
Dr. Chat 9d2e8d4699 Shouldn't need these range asserts anymore. 2015-05-23 14:25:10 -05:00
gibbed ea99ba8e3b 0x7F000000-0x7FFFFFFF is magic. 2015-05-22 02:20:05 -05:00
gibbed ddc5989b06 Games seem to check if XamLoaderGetLaunchDataSize returns a non-zero, which maybe means no data/error. 2015-05-22 01:29:33 -05:00
gibbed 3077999240 Added XFileSystemSizeInfo. 2015-05-22 01:29:21 -05:00
gibbed 5ac98d2feb Adding some notes about fs_info_class in NtQueryVolumeInformationFile. 2015-05-22 00:41:24 -05:00
gibbed 06c99ded71 Cleaning up some stuff in RtlRaiseException, additional notes. 2015-05-22 00:41:23 -05:00
gibbed b3d56521b4 Valid, unknown, content type. 2015-05-22 00:41:23 -05:00
Ben Vanik 4d41840728 Misc threading fixes and flags to ignore priorities/affinities. 2015-05-21 22:33:29 -07:00
Ben Vanik 20a3172ebb Fix race condition in VS on thread naming. 2015-05-19 22:28:02 -07:00
Ben Vanik 2328b34308 Cleaning up some old flags. 2015-05-19 22:28:01 -07:00
Ben Vanik 9e685a1453 Merge pull request #216 from DrChat/audio
Cleanup some audio code
2015-05-19 22:24:00 -07:00
Dr. Chat f168fa881e Merge branch 'audio_cleanup' into audio 2015-05-20 00:20:52 -05:00
Ben Vanik f88bf33b4f Moving threads to XHostThread and making shutdown not crash. 2015-05-19 22:20:49 -07:00
Ben Vanik 7a82ad839a Merge branch 'memory' 2015-05-19 20:29:00 -07:00
Dr. Chat 38918c86a8 Cleanup some audio system code 2015-05-19 21:52:21 -05:00
Ben Vanik 721974185f Implementing XamShowDirtyDiscErrorUI. 2015-05-18 22:50:59 -07:00
Ben Vanik dc7717e650 Fixing opening files for write. 2015-05-18 22:22:55 -07:00
Ben Vanik 53c807de5d File not found. 2015-05-18 21:56:29 -07:00
Ben Vanik b119aa50f5 Fixing thread ID. 2015-05-18 21:24:14 -07:00
Dr. Chat ffe3b4bf04 XHostThread class 2015-05-18 22:23:59 -05:00
Ben Vanik dceb9550c9 Adding global lock for slist (this is what reactos does). 2015-05-18 19:17:07 -07:00
Ben Vanik c5906fba7f Implementing XGetVideoCapabilities. 2015-05-18 19:13:42 -07:00
Dr. Chat 90648187dd Implement InterlockedPopEntrySList 2015-05-18 21:10:58 -05:00
Ben Vanik 5c2b2a2b58 Adding missing exports. 2015-05-18 19:01:20 -07:00
Dr. Chat 9c949a2e87 Don't need to memset the xex memory twice. 2015-05-18 10:42:35 -05:00
Dr. Chat ef912e7e13 Update user module imports debug dump 2015-05-18 01:42:42 -05:00
Dr. Chat 589e672d20 XexModule: Resolve user library imports 2015-05-18 01:31:59 -05:00
Dr. Chat 88733bf8ba Zero-fill the memory where we're placing the xex 2015-05-18 00:50:58 -05:00
Dr. Chat f2ac2af8cd Change kernel state's object mutex to a recursive mutex
KernelState::IsKernelModule
2015-05-18 00:40:43 -05:00
Ben Vanik 4d32c7af05 Attempting a thread priority mapping. 2015-05-17 21:26:27 -07:00
Ben Vanik 56e27990e0 Fixing name check. 2015-05-17 17:17:56 -07:00
Ben Vanik c1a0f46ea8 Implementing dcbz. 2015-05-17 16:40:38 -07:00
Ben Vanik b44a7a7730 Allocating stacks in the right place. 2015-05-17 13:10:02 -07:00
Ben Vanik 37804d692c Fixing stack allocation alignment. 2015-05-17 10:17:32 -07:00
Dr. Chat f14a52358a KeSetBasePriorityThread: Some games apparently pass in the thread handle instead 2015-05-17 11:03:02 -05:00
Dr. Chat 662fa97444 XObject SetNativePointer: Added flag to disable asserts on uninitialized memory 2015-05-16 18:47:33 -05:00
Ben Vanik da630cc159 Starting to clean up thread state. 2015-05-16 16:34:14 -07:00
Ben Vanik 147a70b9c1 Rewriting memory manager. 2015-05-17 00:16:56 +01:00
Dr. Chat 4af14884ed Make sure object attributes pointer is non-NULL before reading from it 2015-05-16 15:24:23 -05:00
Ben Vanik 6239ff9616 Disabling thread state 0x150 set. 2015-05-16 01:49:57 -07:00
Ben Vanik 8d4f54e240 Thread state updates. 2015-05-16 01:45:56 -07:00
Ben Vanik 88596611d1 Thread tweeks. 2015-05-16 00:12:25 -07:00
Dr. Chat e6b4c6056f Calculate xex size based on the total size of all of the sections 2015-05-14 21:54:18 -05:00
Ben Vanik 380fabebe7 async errors. 2015-05-14 17:13:54 -07:00
Ben Vanik 9ea88ff901 Hack for testing completion routines - this is not correct.
Assert left in on purpose.
2015-05-14 16:35:46 -07:00
Ben Vanik 46eedeab01 Fixing up some overlapped completion routine stuff. 2015-05-14 16:35:29 -07:00
Ben Vanik abf7b794e6 Adding --headless and basic message box UI. 2015-05-14 16:21:08 -07:00
gibbed 6fe545b3e9 Return X_ERROR_PATH_NOT_FOUND instead of X_ERROR_FILE_NOT_FOUND in XamContentCreateCore. 2015-05-14 17:02:28 -05:00
gibbed 61f4095851 Set thread affinity of the specific thread, not the current thread. 2015-05-14 17:02:28 -05:00
gibbed 283f5269d5 Create native threads with default stack size. 2015-05-14 17:02:27 -05:00
gibbed ac1a805b8e Implemented RtlNtStatusToDosError lookup tables. 2015-05-14 13:41:45 -05:00
gibbed 169c0fd26b Oops. Sorting. 2015-05-14 12:01:24 -05:00
gibbed 20144709e3 Added xboxkrnl_error.cc/.h and moved RtlNtStatusToDosError to it. 2015-05-14 11:59:50 -05:00
Dr. Chat 398a412707 Inherit exe stack size if user doesn't specify one 2015-05-14 00:59:29 -05:00
Ben Vanik 6aec2c0d02 Whoops. I'm tired. 2015-05-13 00:38:55 -07:00
Ben Vanik 3b2035a054 Adding case for ObReferenceObjectByHandle, but impl still todo. 2015-05-13 00:37:35 -07:00
Ben Vanik 7622746ecf 4A seems more legit for video mode unk. Still no clue what it is. 2015-05-12 21:41:44 -07:00
gibbed c00ded9fbc Fixed VdQueryVideoFlags. 2015-05-12 22:59:21 -05:00
gibbed 95080cefa2 Fixed second argument in XamEnableInactivityProcessing. 2015-05-12 21:56:24 -05:00
Ben Vanik 5fbdd6e262 Fixing XMP playlist handles. 2015-05-12 19:55:10 -07:00
gibbed fc9f9d9a60 This is probably more correct. Gets rid of all xobject related asserts for several games. 2015-05-12 06:51:30 -05:00
Ben Vanik 7a00b76a6e Debugger stuff, and changing to vcproj's/sln. 2015-05-09 17:48:12 -07:00
Ben Vanik 4411a4499d XEX-style exports, dumping exports, and prepping kernel export lookup. 2015-05-09 00:59:03 -07:00
Ben Vanik 23eb343484 Calling DllMain, fixing ref count, and fixing module search. 2015-05-09 00:56:42 -07:00
Dr. Chat 0f2b1491b7 Call a DLL's entry-point function in XexLoadImage 2015-05-08 22:51:03 -05:00
Dr. Chat 8deb622abb Execute module entry-point function if it has one. 2015-05-08 22:50:54 -05:00
Ben Vanik ade5388728 bool-ifying xe::cpu 2015-05-05 18:52:54 -07:00
Ben Vanik b07d5b8ed3 Fixing compile warnings. 2015-05-05 18:52:37 -07:00