Commit Graph

117 Commits

Author SHA1 Message Date
PatrickvL 6ac5b06bbc Renamed EEPROM_INDEX to XC_VALUE_INDEX
Started porting over all Dxbx Io* kernel signatures
2016-12-30 14:28:52 +01:00
PatrickvL 1e639d98af Implemented RtlUshortByteSwap 2016-12-26 19:51:22 +01:00
PatrickvL 9383e9f6a9 Implemented RtlUpperString 2016-12-26 19:47:35 +01:00
PatrickvL 0c31aeddb4 Implemented RtlUpperChar 2016-12-26 19:41:55 +01:00
PatrickvL cdd8b4dc93 Implemented RtlUpcaseUnicodeToMultiByteN 2016-12-26 19:39:57 +01:00
PatrickvL e01102d8d3 Implemented RtlUpcaseUnicodeString 2016-12-26 18:51:08 +01:00
PatrickvL 6f8a8a728a Implemented RtlUpcaseUnicodeChar 2016-12-26 18:10:20 +01:00
PatrickvL 5e243062d5 Implemented RtlUnicodeToMultiByteSize 2016-12-26 18:02:24 +01:00
PatrickvL a847c1d45c Implemented RtlUnicodeToMultiByteN 2016-12-26 17:45:33 +01:00
PatrickvL c009ff8eb4 Implemented RtlUnicodeStringToInteger 2016-12-26 17:38:49 +01:00
PatrickvL 75eab7a83d Implemented RtlUlongByteSwap 2016-12-26 17:32:08 +01:00
PatrickvL 6a1ae1e42f Implement RtlMultiByteToUnicodeSize 2016-12-26 17:26:30 +01:00
PatrickvL 6b2fa8f984 Implement RtlMultiByteToUnicodeN 2016-12-26 17:21:28 +01:00
PatrickvL d804711bab Implemented RtlMapGenericMask 2016-12-26 16:59:46 +01:00
PatrickvL 023261faf3 Implemented RtlIntegerToUnicodeString 2016-12-26 16:36:27 +01:00
PatrickvL ab33052f5c Implemented RtlIntegerToChar 2016-12-26 16:29:38 +01:00
PatrickvL b1cbc31c1b Implemented RtlFreeUnicodeString 2016-12-26 16:19:50 +01:00
PatrickvL 39a5c64786 Implemented RtlFillMemoryUlong 2016-12-26 16:14:58 +01:00
PatrickvL eb841563de Implemented RtlFillMemory 2016-12-26 13:44:44 +01:00
PatrickvL 7ced0be9e1 Implemented RtlExtendedMagicDivide 2016-12-26 13:33:51 +01:00
PatrickvL bcd6b98764 Implemented RtlExtendedLargeIntegerDivide 2016-12-26 13:28:51 +01:00
PatrickvL fbd7bfdba5 Implemented RtlExtendedIntegerMultiply 2016-12-26 13:23:00 +01:00
PatrickvL dc3d4beaa0 Implemented RtlEqualUnicodeString 2016-12-26 13:05:56 +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
PatrickvL 440fa2aa48 Implemented RtlDowncaseUnicodeString 2016-12-23 18:37:32 +01:00
PatrickvL 41d393bfe0 Implemented RtlDowncaseUnicodeChar 2016-12-23 18:31:57 +01:00
PatrickvL 183161f4db Implemented RtlCreateUnicodeString 2016-12-23 18:25:49 +01:00
PatrickvL 91cdf3e046 Implemented RtlCopyUnicodeString) 2016-12-23 18:20:54 +01:00
PatrickvL 2d9c0016ca Implemented RtlCopyString 2016-12-23 18:15:27 +01:00
PatrickvL 90363fcf75 Implemented RtlCompareUnicodeString 2016-12-23 18:03:31 +01:00
PatrickvL 5a64d38256 Implemented RtlCompareString 2016-12-23 17:57:58 +01:00
PatrickvL ee4573bd44 Implemented RtlCompareMemoryUlong 2016-12-23 17:48:08 +01:00
PatrickvL bc4d26f089 Implemented RtlCompareMemory 2016-12-23 17:42:25 +01:00
PatrickvL ceb69874f0 Implemented NtDeleteFile
However scary, this is still required
2016-12-23 17:29:05 +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
Luke Usher 73c0b0ca68 Implement XcRC4 functions. (#43)
* Implment XcRC4 functions.

Using a (very slightly) modified version of Cryptlib (The Rc4Context structure has been re-ordered to match the order of elements in the Xbox RC4 context)
https://github.com/WaterJuice/CryptLib

* Use Rc4Xor rather than Rc4Output
2016-12-20 21:45:56 +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 923d820227 Kernel improvements
New implementations : IoCreateDevice, KeGetCurrentIrql, NtFsControlFile,
RtlMoveMemory, RtlRip

Updated implementations : HalGetInterruptVector, HalReadSMBusValue,
KeInitializeInterrupt, KeRaiseIrqlToDpcLevel, KeSetBasePriorityThread,
MmAllocateContiguousMemory, NtDeviceIoControlFile, NtDuplicateObject
2016-12-19 17:12:54 +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
Luke Usher 90ca700df2 Implement one execution path (AV_QUERY_AV_CAPABILITIES) of AvSendTvEncoderOption 2016-12-14 21:38:26 +00:00
PatrickvL 78856b08a2 Let FscGetCacheSize return what FscSetCacheSize set
No actual file system cache page allocation though...
2016-12-13 16:44:04 +01:00
PatrickvL 553db2dc2d Implemented KeQueryInterruptTime 2016-12-12 17:56:29 +01: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