Commit Graph

132 Commits

Author SHA1 Message Date
PatrickvL eff09f89ea Review results on Xc* kernel functions 2017-01-04 14:35:20 +01:00
Luke Usher 2fa170a96c Merge pull request #77 from LukeUsher/PVS-Studio
Enable the use of PVS-Studio (Static Code Analysis Tool)
2017-01-04 05:59:51 +00:00
x1nixmzeng 47e04465a1 Added unimplemented stubs for remaining Xc functions 2017-01-03 23:14:52 +00:00
Luke Usher a7bc9adc86 Enable the use of PVS-Studio (Static Code Analysis Tool) for Cxbx-Reloaded.
These comments activate the free for Open Source license for PVS Studio
See http://www.viva64.com/en/b/0457/ for more details.
2017-01-03 20:29:44 +00:00
PatrickvL 9ad4449ef9 Emulated EEPROM read/write
Implemented ExQueryNonVolatileSetting and ExSaveNonVolatileSetting using
emulated EEPROM values.
2017-01-03 12:17:20 +01:00
PatrickvL 9459a2d04f Implemented KeLeaveCriticalRegion 2016-12-31 17:31:17 +01:00
PatrickvL c4a61bcf02 Implemented KeEnterCriticalRegion 2016-12-31 17:28:43 +01:00
PatrickvL 29a76be994 Implemented NtQueryMutant 2016-12-31 17:18:21 +01:00
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