Commit Graph

305 Commits

Author SHA1 Message Date
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
Luke Usher 1f4f32414a Use D3D8to9 as a wrapper for D3D9 support 2018-03-07 14:22:53 +00: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 e1ae31fa3e
Merge pull request #909 from x1nixmzeng/cxbx-debugger
Debugger
2018-02-13 21:26:00 +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
x1nixmzeng 5f3ddf6ee1 Merge https://github.com/Cxbx-Reloaded/Cxbx-Reloaded into cxbx-debugger 2018-02-07 22:05:11 +00:00
Luke Usher 954c16c32a Update to latest Cxbx-Reloaded subhook 2018-02-05 13:33:52 +00:00
Luke Usher 5c69725bbd Update included subhook 2018-02-05 13:31:56 +00:00
Luke Usher 7b596b2220 Update subhook to the latest version 2018-02-05 13:31:55 +00:00
x1nixmzeng f57a74334f Merge https://github.com/Cxbx-Reloaded/Cxbx-Reloaded into cxbx-debugger 2018-02-01 20:58:01 +00:00
ergo720 9bfae8be5d HalRegisterShutdownNotification implementation 2018-01-30 13:44:47 +01:00
ergo720 753d9d89c2 Dashboard fatal error + fix issue #878 2018-01-28 10:06:11 +01:00
ergo720 81b1d75b4a Xbox fatal error implementation 2018-01-26 09:56:26 +01:00
x1nixmzeng cf9a64c31a Updated disassembly output and reference module 2018-01-21 19:18:38 +00:00
x1nixmzeng ed02200d6c Added call stack disassembly 2018-01-21 16:12:25 +00:00
x1nixmzeng aaed9a18e3 Remove broken capstone library 2018-01-21 15:15:58 +00:00
x1nixmzeng 63bc7749c0 Added Capstone binding library 2018-01-15 00:12:27 +00:00
patrickvl bc091bcbbd Rtl* : Use argument types from xboxkrnl.h instead of standard c types 2018-01-02 23:05:46 +01:00
PatrickvL d60bd90dcb Added (untested) printf kernel API's 2018-01-02 22:37:36 +01:00
PatrickvL 4c3701d2c9
Merge pull request #824 from Luca1991/kernel_stuff
Kernel stuff
2018-01-02 21:30:30 +01:00
ergo720 4c393e8ae1 Overlapped allocations + Chihiro/Debug stuff 2017-12-29 11:41:40 +01:00
ergo720 5d4ee24b0f CleanUp and bug fixes (WIP) 2017-12-17 00:26:50 +01:00
Luke Usher a621f7a8d4 Add IOCTL_DISK_GET_DRIVE_GEOMETRY
This is one of the few IOCTLs required for dashupdate.xbe
2017-11-14 14:02:03 +01:00
Luca D'Amico f38a5c76e7 Implemented KeInitializeDeviceQueue for issue #64 2017-11-12 20:10:08 +01:00
RadWolfie 288ab50e7a Update OpenXDK 2017-11-06 17:04:19 -06:00
Luke Usher 934945d048 Fix DPC bugs: Wrong calling convention was used 2017-08-31 06:12:15 +01:00
Luke Usher c4f2a548f2 Implement FileFsVolumeInformation in NtQueryVolumeInformationFile 2017-07-31 23:36:25 +02:00
Luke Usher e3a19a2a3d Upgrade to DirectX 8.1.
If we're stuck on an older version of DirectX, we might as well use the latest revision ;)
2017-07-29 20:05:54 +01:00
PatrickvL 115ba5ffc6 Update XboxHardwareInfo
Removed macrovision flag, set sensible GPU and MCP revision numbers.
2017-07-20 17:13:27 +02:00
Luke Usher 5f2fc6f04c Add subhook to Cxbx-Reloaded project 2017-07-13 19:46:59 +01:00
Luke Usher 0a30436277 Fix a few kernel APIs that were using _cdecl instead of _stdcall (NTAPI) 2017-07-06 22:45:44 +01:00
Luke Usher 164ca0981d Addressed comments by PatrickvL 2017-07-05 21:27:27 +01:00
Luke Usher 1f10642cb6 Added stubs for All known Ke calls. 2017-07-05 19:56:25 +01:00
Luke Usher 75ec726074 HalEnableSystemInterrupt is type VOID. 2017-06-22 20:04:07 +01:00
Luke Usher 4989dc6b18 Implement PhyGetLinkState 2017-06-20 21:06:53 +01:00
Luke Usher a5c4ae01a6 Removed deprecated dinput and dsound libraries.
The up-to-date versions in the Windows SDK will now be used instead
2017-05-13 22:40:26 +01:00
Luke Usher c463af91b2 Merge branch 'crypto-fixes' of http://github.com/lukeusher/cxbx-reloaded into crypto-fixes 2017-03-27 11:39:00 +01:00
Luke Usher cd41fcd6ec Amendments 2017-03-27 11:38:39 +01:00
PatrickvL aff8808fbc Update xbox.h 2017-03-27 11:16:08 +02:00
Luke Usher 856e1ba873 Implement support for real Xbox keys 2017-03-26 22:56:17 +01:00
Luke Usher f46f77c3ad Initial MemoryManager Implementation 2017-03-23 21:47:19 +00:00
PatrickvL 2d4d3d1a6e Logging split between PAGE and MEM flags 2017-03-21 14:26:31 +01:00
PatrickvL d333087098 Constantified PAGE_SIZE and PAGE_MASK 2017-03-20 13:56:56 +01:00
Luke Usher 86dfc06720 Add a proper implementation for NtUserIoApcDispatcher 2017-03-14 14:32:34 +00:00
PatrickvL 53b562704c Kernel : Added KeSynchronizeExecution and KeTestAlertThread stubs 2017-03-10 11:26:12 +01:00
PatrickvL 20e9cd0131 Kernel : AvSendTVEncoderOption expanded with all possible options 2017-02-26 02:43:25 +01:00
PatrickvL 13619ae0bb Kernel : Fixed ExSaveNonVolatileSetting, centralized EEPROM structs and read/write them via HalReadSMBusValue/HalWriteSMBusValue 2017-02-23 12:25:17 +01:00
PatrickvL db3f80fd0f Kernel : Implemented KeInitializeMutant 2017-02-21 01:49:10 +01:00
PatrickvL 0b027f89ec Kernel : Implemented KeInitializeApc 2017-02-21 01:30:57 +01:00
PatrickvL 3700207a84 Merge remote-tracking branch 'origin/master' 2017-02-20 18:16:30 +01:00
PatrickvL 94c980d7fd Kernel : KeConnectInterrupt and KeDisconnectInterrupt improvements - Countrary to prior research, IRQ's cannot be shared
Also signature fix on HalDisableSystemInterrupt and
HalEnableSystemInterrupt
2017-02-20 18:13:38 +01:00
PatrickvL 2cbc7a7086 Kernel : Stubbed KeResumeThread and KeSuspendThread 2017-02-19 01:22:54 +01:00
PatrickvL 0b03a44959 Kernel : Stubbed KeRestoreFloatingPointState and KeSaveFloatingPointState 2017-02-19 01:03:41 +01:00
PatrickvL 70b6fcac5a Kernel : Implemented PsQueryStatistics partially 2017-02-19 00:47:30 +01:00
PatrickvL 904ae0d0c4 Kernel : Added stubs for RtlEnterCriticalSectionAndRegion and RtlLeaveCriticalSectionAndRegion 2017-02-19 00:18:15 +01:00
PatrickvL a058b6679e Kernel : Fixed arguments to XProfpControl and XProfpGetData 2017-02-18 23:39:57 +01:00
PatrickvL 430516601d Kernel : Corrected and (partially) implemented ExfInterlockedInsertHeadList, ExfInterlockedInsertTailList and ExfInterlockedRemoveHeadList 2017-02-18 19:10:43 +01:00
PatrickvL 1c8689990e Kernel : Implemented ExInitializeReadWriteLock, KeInitializeQueue and KeInitielizeSemaphore 2017-02-18 18:50:53 +01:00
Luke Usher fb5ee938ec Merge pull request #170 from LukeUsher/appveyor-builds
Initial appveyor build scripts
2017-02-15 20:38:57 +00:00
Luke Usher 862e53e2d3 Initial appveyor build scripts 2017-02-15 20:37:47 +00:00
PatrickvL afb4a5cbbb Described more Cxbx FS-patching backgroud information 2017-02-14 11:16:35 +01:00
PatrickvL 9266a22eae Kernel : Added KeRaiseIrqlToSynchLevel stub
Also moved code around and added more comments.
2017-02-13 15:03:09 +01:00
PatrickvL 3313c1c8d8 TIB and FS related cleanup and a few additional comments 2017-02-13 12:18:05 +01:00
PatrickvL 7ed9893a77 Kernel : Corrected and implemented ObReferenceObjectByPointer 2017-02-06 14:12:25 +01:00
PatrickvL 4daff59e1b Kernel : Added ObfReferenceObject stub (the last thunk for Ob*) 2017-02-06 13:58:13 +01:00
PatrickvL ee283ecaa5 Kernel : Added ObReferenceObjectByPointer stub 2017-02-06 13:54:50 +01:00
PatrickvL 8111990205 Kernel : Added ObReferenceObjectByName stub 2017-02-06 13:53:25 +01:00
PatrickvL f79b82a4b3 Kernel : Added ObOpenObjectByPointer stub 2017-02-06 13:51:32 +01:00
PatrickvL d37f06d25b Kernel : Added ObMakeTemporaryObject stub 2017-02-06 13:48:30 +01:00
PatrickvL c0c55ca461 Kernel : Added ObInsertObject stub 2017-02-06 13:46:27 +01:00
PatrickvL 1b71c925f6 Kernel : Added ObCreateObject stub 2017-02-06 13:42:44 +01:00
PatrickvL 258ee34ff5 xboxkrnl : Added KMUTANT struct and comment headers 2017-02-06 13:22:34 +01:00
PatrickvL 92d83306be xboxkrnl: Expanded OBJECT_TYPE struct, updated all occurrences 2017-02-06 13:09:30 +01:00
PatrickvL 156fa48f6d xboxkrnl : Added OBJECT_TYPE struct 2017-02-06 12:10:00 +01:00
PatrickvL 6b9ab6a635 Renamed an argument and comment update 2017-02-06 11:26:51 +01:00
PatrickvL 174c397233 Implemented KeIsExecutingDpc, KeCancelTimer and KeDisconnectInterrupt
Also commented a few functions, and replaced a few magic numbers by
constants.
2017-02-02 18:32:18 +01:00
PatrickvL d441c9ce0e Extended KOBJECTS enum 2017-02-02 17:48:35 +01:00
PatrickvL 57e4f3570a At last introduced KeInterruptTime, used it in KeQueryInterruptTime (which is now protected against overflow)
Also fixed EmuThreadDpcHandler by applying CONTAINING_RECORD to DpcQueue
(DPC's do seem to get called now)
2017-02-01 20:59:32 +01:00
PatrickvL c540b3580c Kernel : Added KeRemoveQueueDpc and KeResetEvent
Fixed and completed KeInitializeEvent, KeInsertQueueDpc and KeSetTimerEx
Also ported LIST_ENTRY methods over from Dxbx and applied where possible
2017-02-01 11:49:38 +01:00
PatrickvL 979bcaaf76 Added incomplete version of KeInitializeEvent
Requires InitializeListHead
2017-01-31 17:14:09 +01:00
PatrickvL 5acc167a07 distorm starts to work 2017-01-09 18:27:32 +01:00
PatrickvL a6ec272604 merge 2017-01-09 15:23:25 +01:00
x1nixmzeng 996f71a6df Added stb_image for image decoding 2017-01-07 20:12:38 +00:00
x1nixmzeng ca965c9ea6 Removed libjpeg library 2017-01-07 19:43:04 +00:00
Luke Usher 3a59895402 Merge pull request #86 from x1nixmzeng/kernel-thunks
Io Kernel API stubs for logging
2017-01-07 18:36:12 +00:00
x1nixmzeng 1b96e452bc IofCompleteRequest stub 2017-01-07 13:57:25 +00:00
x1nixmzeng a962f33878 IofCallDriver stub 2017-01-07 13:53:49 +00:00
x1nixmzeng 9ab7947b10 IoMarkIrpMustComplete stub 2017-01-07 13:47:46 +00:00
x1nixmzeng 673b1d9e9a Fixed issues raised by @PatrickvL 2017-01-07 13:32:16 +00:00
x1nixmzeng b27a466b5f IoSynchronousFsdRequest stub 2017-01-07 02:26:04 +00:00
x1nixmzeng 2107c54fb8 IoSynchronousDeviceIoControlRequest stub 2017-01-07 02:20:10 +00:00
x1nixmzeng 3a3430381a Stubs for IoStartNextPacket, IoStartNextPacketByKey, IoStartPacket 2017-01-07 02:13:36 +00:00
x1nixmzeng 7d606c774d IoSetShareAccess stub 2017-01-07 01:57:34 +00:00