Commit Graph

41 Commits

Author SHA1 Message Date
PatrickvL d804711bab Implemented RtlMapGenericMask 2016-12-26 16:59:46 +01:00
PatrickvL ab33052f5c Implemented RtlIntegerToChar 2016-12-26 16:29:38 +01:00
PatrickvL 8509e97ed9 Implemented NtQueryEvent 2016-12-24 01:20:26 +01:00
PatrickvL 50d449d378 Implemented NtQuerySemaphore 2016-12-24 01:04:54 +01:00
Ivan Roberto de Oliveira 4eba2e31e3 File information struct conversions (#53)
* Selectively merging fs-experimental into master

In particular, I'm not merging the automatic parent folder creation stuff because I'm not convinced it's the right thing to do

* Implemented more FileInfo converters

This should take care of all types used by NtSet/QueryInformationFile. The remaining types are used by NtQueryDirectoryFile.

* FileName probably needs to be converted

* Fix compilation errors

* Restore string conversion

* Revert NtDeviceIoControlFile

Panzer Dragoon failed the initial XapiVerifyMediaInDrive check due to the changes made to this function. We need proper low level I/O device emulation for this to work.

* Fix XeImageFileName

Helps with Avalaunch initialization. It still crashes further down the
road.

* Comment on XBE location

* Implemented conversions for NtQueryInformationFile and NtQueryFullAttributesFile
2016-12-22 22:25:22 +00:00
PatrickvL 570a8743f7 Merge 2016-12-20 13:47:06 +01:00
PatrickvL 2a4158d441 Implemented all kernel Timer functions using NtDLll
Forwarded NtCreateTimer, NtSetTimer, NtQueryTimer, NtCancelTimer to
their respective Nt counterpart.
Declared all required types for this.
Also implemented KeSetEvent minimally.
2016-12-20 13:39:08 +01:00
PatrickvL 58d74eea90 Dug up some more xbox kernel signatures and types 2016-12-19 14:56:52 +01:00
StrikerX3 953e53f42c Added KWAIT_REASON enum 2016-12-15 19:21:39 -02:00
PatrickvL e6bae132b7 Implemented PsSetCreateThreadNotifyRoutine
Used EmuXRegisterThreadNotifyRoutine as a reference
2016-12-12 17:34:08 +01:00
PatrickvL 7e42995d91 Make PsCreateSystemThread use a placeholder instead of NULL
Also removed no-op EmuCleanupFS()
2016-12-12 17:11:04 +01:00
PatrickvL a6591ae07c Added PsCreateSystemThread as forward to PsCreateSystemThreadEx (which had to be corrected)
Also moved NtStatusToString to EmuFile.cpp.
Forwarded KeBugCheck to KeBugCheckEx, NtWaitForSingleObject,
NtWaitForSingleObjectEx and NtWaitForMultipleObjectsEx to
KeWaitForMultipleObjects (in which all implementation we have thus far,
is now concentrated).
2016-12-12 16:15:04 +01:00
PatrickvL 68d60d0cb2 Applied all possible forwards, extended OBJECT_TYPE, added NtOpenDirectoryObject and ObOpenObjectByName stubs 2016-12-11 22:49:35 +01:00
PatrickvL b37b1bdeaa Copied over a few declarations from https://github.com/xqemu/nxdk 2016-12-10 19:26:28 +01:00
PatrickvL 65b00fa856 Added IoDismountVolume stub
Also added the types needed for it's arguments.
2016-12-10 18:10:49 +01:00
PatrickvL 8bfe7bc426 Prevent naming collisions on kernel symbols using a KRNL() macro 2016-12-02 17:31:34 +01:00
PatrickvL 14427e9996 Added MmClaimGpuInstanceMemory implementation 2016-12-02 15:43:23 +01:00
PatrickvL 3dd16ce418 Added remaining Mm* kernel functions
Introduced and used VOLATILE define
Removed using namespace xboxkrnl
Fixed ambiguous warnings
2016-12-02 10:38:46 +01:00
Luke Usher 56185eed5f Fix compilation of Interlocked API
This was achieved by prefixing XboxKrnl functions with Xb to prevent a name conflict with WinNT.h
Additionally, rather than importing native Interlocked functions from NTDLL, we use the versions defined in WinNT.h
2016-12-01 22:03:48 +00:00
PatrickvL 9c821d09c0 Added more kernel stubs
Also applied FASTCALL define. Failed attempt to add Interlocked API's
(VC++ complains about undefined intrinsics or something like that).
2016-12-01 18:01:16 +01:00
PatrickvL 0a31daeb27 Added typedef (P)ERWLOCK 2016-11-25 22:25:01 +01:00
PatrickvL 3dd0a8fa8e Remove LONGBOOL - a Delphi Dxbx derelict
Also corrected return type of HalDisableSystemInterrupt to VOID
2016-11-24 16:32:16 +01:00
PatrickvL f4a4026a03 Added UNIMPLEMENTED stubs for all remaining Hal* kernel functions 2016-11-23 17:34:57 +01:00
PatrickvL 2522524c4e Added UNIMPLEMENTED stubs for al Ex* kernel functions 2016-11-21 16:16:24 +01:00
PatrickvL 5640d74248 Slowly working my way through adding UNIMPLEMENTED skeletons
Rtl* functions can be passed-through to host - as soon as headers are
defined...
2016-11-16 01:43:10 +01:00
PatrickvL 456c5b1c1f Added UNIMPLEMENTED skeletons for remaining Av* and Dbg* kernel entries 2016-11-16 00:34:49 +01:00
PatrickvL 3ade9fce9d Couple the xbox thunks for xboxkrnl::KeInterruptTime and xboxkrnl::KeSystemTime to their actual counterparts on Windows
This way we won't have to spend any time on updating them ourselves, and
still get highly accurate timers!

(Untested. Ported back from Dxbx)
2016-11-14 18:18:12 +01:00
PatrickvL 0df04c2f45 Added a few more variables to the kernel thunk table 2016-11-13 00:46:56 +01:00
Luke Usher a160db2c72 XApiVerifyMediaInDrive now passes validation without patches 2016-09-30 06:45:47 +01:00
Luke Usher c6dca6127a Implemented XeImageFileName kernel structure 2016-08-21 14:57:46 +01:00
Luke Usher 933a7be906 Include many of the changes from Blueshogun's Cxbx branch 2016-08-21 00:53:25 +01:00
Echelon9 b31e36c6dd More correct implementation of the KDPC structure. 2012-12-01 00:41:01 +11:00
Echelon9 41f938bc96 More full implement ExQueryNonVolatileSetting() for corner cases. 2012-11-30 23:08:52 +11:00
Echelon9 0ad1cf1d88 Update gitattributes (with line ending fixes) 2012-10-07 23:58:52 +11:00
blueshogun96 7e31d6deb2 Whacked is playable + lots of other random updates! 2011-06-15 06:56:33 +00:00
blueshogun96 9d10c637af Forgot to update OpenXDK includes. Sorry about that! 2009-11-13 20:17:54 +00:00
blueshogun96 bcc8260f17 Forgot to update 2009-11-13 20:15:34 +00:00
blueshogun96 271a1cad1d Just another [major] update... 2009-11-12 01:35:50 +00:00
Daniel Stien 561c3b7d4f Implemented several kernel functions.
- NtQueryVirtualMemory to support Xapi VirtualQuery
- NtCreateSemaphore/NtReleaseSemaphore to support Xapi semaphores
- MmCreateKernelStack/MmDeleteKernelStack to support Xapi fibers

Added D3DFormat and D3DTRANSFORMSTATETYPE conversions.
- Convert PC D3DFMT_A4R4G4B4 to 0x1D (linear)
- Convert Xbox D3DFMT 0x19 (swizzled) to D3DFMT_A8
- Convert Xbox D3DFMT 0x27 (swizzled) to D3DFMT_L6V5U5
- Convert Xbox D3DTRANSFORMSTATETYPE 10 (max) to D3DTS_TEXTURE7 + 1 (experimental)

Print properly terminated XTL name in debug output.
2008-08-23 02:14:20 +00:00
Daniel Stien 199136e926 Expanded tabs and trimmed EOL whitespace. 2008-08-23 01:29:07 +00:00
Aaron Robinson 10835748c3 Renamed remotely 2006-07-15 02:03:02 +00:00