Commit Graph

261 Commits

Author SHA1 Message Date
Luke Usher b62333551c kernel: Define and init IdexChannelObject 2019-12-16 21:53:02 +00:00
PatrickvL a6c0353c5b Fix a large part of XTL-hell (#1731)
* Rename g_CurrentXboxVertexShaderHandle to g_Xbox_VertexShader_Handle

* Remove CxbxDrawContext.XboxVertexShaderHandle field, and replaced reads from this field by g_Xbox_VertexShader_Handle (since all writes to this field used that as source)

* Removed commented-out #include's

* Removed duplicate DEF_VSH_* defines, replaced usage by existing X_D3DVSD_*() defines.

* Removed commented-out #include's from src/vsbc

* Removed nearly all "namespace XTL"-wrappers around #includes; Instead, wrap applicable contents of these included files in namespace XTL. Removed all now-obsolete "XTL::" prefixes.

* Moved all host D3D9 symbols outside of namespace XTL (finally!)

* Removed all "using namespace XTL;" occurences (except one, which is marked with a TODO)

* Restored Unix EOL style (to avoid large diffs with upstream)

* Moved CxbxInitAudio outside XTL namespace (this was the last Cxbx* symbol in XTL)

* Removed final "using namespace XTL" occurence by cleaner wrapping of logging intrinsics inside and outside namespace XTL.

* Prefix a few Xbox types with X_ (and avoid compile-error by removing the now-obsolete duplicate of X_D3DCALLBACK).
Also nicely indent all Direct3D9 alias defines, introduced when porting from Direct3D8. Who knows, one day we might re-define them once again to port to more recent Direct3D versions?

* Made EmuXTL.h obsolete, by #include'ing specific headers instead of it.

* Removed unused #include's of EmuFS.h

* Remove #pragma once, when there's already an include guard present.

* Delete EmuXTL.h and XOnline.cpp, keep but disable XOnline.h for documentation purposes.

* Fix all compiler warnings that have no functional impact. What's left requires more research

* Remove GetVersion, retain Wine check
2019-09-24 16:25:52 -05:00
gellis713 d23ffe2954 Get rid of additonal unnecessary defines/undefines 2019-07-05 21:26:39 -05:00
gellis713 0be1370d0b Removes _XBOXKRNL_XXXX defines and dependency in xboxkrnl/xboxkrnl.h 2019-07-05 18:45:36 -05:00
ergo720 9270091d99 Fix a deadlock in KiTimerExpiration caused by KeWaitForSingleObject
This also fixes LLE USB not working for homebrews
2019-04-05 14:09:06 +02:00
Fisherman166 f0f300353c Use the nxdk definition of CONTEXT and FLOATING_SAVE_AREA as the addresses of the eax,ebx,esp,ebp,etc register fields match a kernel dump accessing a CONTEXT struct 2019-02-02 22:12:40 -08:00
Luke Usher c6ee38b5d9 Chihiro XePublicKeyData for signature verification 2019-01-22 21:34:43 +00:00
ergo720 3e0e47bbde Fix macro redefinition warnings introduced in #1520 2019-01-12 18:39:26 +01:00
ergo720 113717b7c4 KiTimerExpiration + KiCheckTimerTable 2019-01-12 18:13:52 +01:00
ergo720 1ae67fb215 Updated KeInterruptTime, KeSystemTime, KeTickCount and timer handling 2019-01-12 18:13:52 +01:00
ergo720 4fcb6e54a9 KiClockIsr + updated KeQueryInterrupt/SystemTime 2019-01-12 18:13:52 +01:00
Fisherman166 4da125582d Add implementation of RtlRaiseStatus reverse engineered from real hardware kernel. 2018-12-31 11:03:16 -08:00
PatrickvL e452d56991 MM : Moved all remaining LIST_ENTRY_* macro's to where they're used (as preparation for further simplification) 2018-10-11 12:45:42 +02:00
PatrickvL 0b535dc862 MM : To avoid duplicate code, replace most LIST_ macro's with List* functions 2018-10-11 12:07:40 +02:00
RadWolfie e38f381d99 Fix indent alignment 2018-08-23 10:00:15 +01:00
Luke Usher 92d5de47aa oops, it doesn't compile without these! 2018-08-23 09:59:31 +01:00
Luke Usher 69527e5f8c Implement CriticalSections + KeWait + KeEvents* without host forwarding 2018-08-23 09:59:31 +01:00
ergo720 5ccdb35632 Refactored kernel crypto functions + implemented XcUpdateCrypto (doesn't work yet) 2018-08-03 23:50:09 +02:00
ergo720 8483f896ed Bug fixes and added logging to PoolManager 2018-04-28 22:05:10 +02:00
ergo720 c3630ebf83 Fix compilation errors 2018-04-28 22:05:09 +02:00
ergo720 ab67c61e6d DeallocatePool 2018-04-28 22:05:07 +02:00
ergo720 e14b775b7e AllocatePool 2018-04-28 22:05:06 +02:00
ergo720 125bc23d4f Pool manager initialization 2018-04-28 22:05:06 +02:00
ergo720 baabd55dc3 More eeprom menu work 2018-04-21 19:18:35 +02:00
ergo720 0b972c7989 Added support to read rsa key provided by the user 2018-04-12 22:19:45 +02:00
Luke Usher e1a65a3bde Introduce functional NV2A LLE 2018-04-01 20:18:22 +01:00
ergo720 29410562c0 Also update the factory game region as well 2018-03-30 22:18:52 +02:00
ergo720 0b81db3920 Implemented MmLockUnlockBufferPages 2018-03-28 22:54:26 +02:00
PatrickvL 5f27e27a06
Merge pull request #1006 from ergo720/Nt_memory_functions
Nt memory functions
2018-03-28 14:05:51 +02:00
ergo720 d1c09dbb94 Completed all remaining kernel thunks 2018-03-27 17:57:29 +02:00
ergo720 ba7ea6781c Implemented NtProtectVirtualMemory 2018-03-25 22:57:06 +02:00
ergo720 0916f609d9 Implemented NtFreeVirtualMemory 2018-03-25 19:56:26 +02:00
ergo720 0bf3ecaf62 More bug fixes (Xbox-specific code seems to be working fine now. Test: DOA ultimate) 2018-03-20 11:54:01 +01:00
ergo720 2011647d9b Cleanup + bug fixes (now it builds) 2018-03-20 11:53:12 +01:00
ergo720 c32fdbf406 XbAlloc/Free + DeallocatePT + final cleanup (now needs testing and rebasing) 2018-03-20 11:53:08 +01:00
ergo720 f662ce76e4 Debugger functions work 2018-03-20 11:51:16 +01:00
ergo720 ff1a6cc973 Persistent memory 2018-03-20 11:51:12 +01:00
ergo720 2da096022c MmUnmapIoSpace 2018-03-20 11:48:22 +01:00
ergo720 dbc6b77434 MmDbg kernel thunk stubs 2018-03-20 11:48:20 +01:00
ergo720 8766aa57bf DeAllocateSystemMemory 2018-03-20 11:48:20 +01:00
ergo720 e3feb1c8de Introduced memory regions 2018-03-20 11:45:01 +01:00
ergo720 e884c893cf ConvertXboxToSystemPteProtection 2018-03-20 11:44:58 +01:00
ergo720 168f63946a Use a list to track free pages 2018-03-20 11:43:46 +01:00
ergo720 9d95359a63 PDE/PTE/PFN still a lot to write 2018-03-20 11:40:03 +01:00
PatrickvL e15045edcb Kernel : Replaced NtDll usage in all (but one) Rtl* functions by actual implementations, from various sources (OpenXbox, Wine, ReactOS) 2018-02-17 11:56:31 +00:00
PatrickvL 00e95be25d Kernel : Start thread at PASSIVE_LEVEL IRQ level initially (turned up as an RtlAssert warning when running a debug build of the CreateDevice XDK sample) 2018-02-16 11:37:57 +01:00
PatrickvL 1c77b2626f Kernel : Trigger software interrupts from within KfLowerIrql and HalRequestSoftwareInterrupt. With that, the EmuThreadDpcHandler thread can be removed. 2018-02-13 11:40:54 +01:00
PatrickvL 83e1aa7825 Kernel : Slight refactorings regarding irq levels and such (shouldn't break anything) 2018-02-12 18:55:34 +01:00
PatrickvL 3c5e916503 Kernel : Completed KeInitializeMutant, implemented KeInsertByKeyDeviceQueue, KeRemoveByKeyDeviceQueue, KeRemoveDeviceQueue (which needed a signature fix, returning a PKDEVICE_QUEUE_ENTRY and removing the SortKey argument) and part of KeRaiseIrqlToSynchLevel. 2018-02-09 18:30:56 +01:00
PatrickvL 410c66ce5c Kernel : Implemented ExInterlockedAddLargeStatistic and ExInterlockedCompareExchange64 (this one also needed a signature fix : Lock-argument isn't present on Xbox) 2018-02-09 17:51:34 +01:00