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
PatrickvL
65b00fa856
Added IoDismountVolume stub
...
Also added the types needed for it's arguments.
2016-12-10 18:10:49 +01:00
PatrickvL
6071e81ebf
Copied over Dxbx comments and NtWriteFile signature
2016-12-02 18:07:03 +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
f1c03d9909
Merge remote-tracking branch 'refs/remotes/LukeUsher/master'
2016-12-01 18:01:29 +01: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
Luke Usher
1f5d71f7c4
Add stub for KeCancelTimer
2016-11-30 20:13:15 +00:00
Luke Usher
6899be5a0b
Implement KeStallExecutionProcessor
2016-11-30 20:04:11 +00:00
PatrickvL
8322532863
Merge remote-tracking branch 'refs/remotes/LukeUsher/master'
2016-11-29 09:33:03 +01:00
Luke Usher
5d469d9188
Add stubs for ObReferenceObjectByHandle, ObDereferenceObject and KeSetBasePriority
...
Crash Bandicoot now sits on the loading screen forever, but it doesn't crash, so that's progress, I guess
2016-11-29 06:58:30 +00:00
Luke Usher
574977bf2f
Implement XcHMAC
...
Dashboard no longer crashes when going into the System Information menu option
2016-11-28 20:15:06 +00:00
PatrickvL
3922e44386
Added RtlCharToInteger
...
Also sorted EXTERN's and IMPORT's, removed end-of-line-spaces and two
incorrect LOG_UNIMPLEMENTED occurances.
2016-11-28 18:22:25 +01:00
Luke Usher
7323a2c711
KfLower/RaiseIrql should be fastcall, not stdcall.
...
Add implementation for KeRaiseIrql from ReactOS as it seems to be identical to the Xbox implementation.
We may not be able to do the same for KfLowerIrql though, the implementation looks (slightly) different to me.
2016-11-26 22:07:11 +00:00
PatrickvL
740f1ae8af
More Ex* signature fixes
2016-11-25 22:47:40 +01:00
PatrickvL
0a31daeb27
Added typedef (P)ERWLOCK
2016-11-25 22:25:01 +01:00
PatrickvL
bb1da9bca9
Updated Ps* signatures
2016-11-25 22:24:32 +01:00
PatrickvL
ed93832a71
Updated Ex* signatures
2016-11-25 22:24:19 +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
a0e9bc9724
Added a few UNIMPLEMENTED Ke* functions
2016-11-23 23:42:08 +01:00
PatrickvL
61b59a7931
Applied __fastcall calling convention where appropriate.
2016-11-23 17:35:09 +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
ae9d663af3
Added more variables to the kernel thunk table
...
Last two variables yet to replace : KeInterruptTime, KeSystemTime
2016-11-13 00:59:47 +01:00
PatrickvL
0df04c2f45
Added a few more variables to the kernel thunk table
2016-11-13 00:46:56 +01:00
PatrickvL
4b710b79a5
This too (is becoming a habit)
2016-11-12 23:54:57 +01:00
PatrickvL
82d36a2470
Corrected a few OpenXDK declarations so they can compile into the kernel thunk table.
2016-11-12 23:54:26 +01:00
PatrickvL
d411f1364f
Added MmGlobalData, registered in kernel thunk table
2016-11-12 01:27:06 +01:00
PatrickvL
4f7a233391
EXPORTNUM corrections
2016-11-11 11:49:05 +01:00
Luke Usher
52673a5ceb
Add dummy implementation for MmLockUnlockBufferPages
2016-10-26 17:07:37 +01:00
Luke Usher
c6426b1209
Initial implementation of ExQueryPoolBlockSize
...
This is not completely correct. but will do for now.
In order to be correct, it will be required to set up a proper pool entry object in ExAllocatePoolWithTag
2016-10-24 21:27:19 +01:00
Luke Usher
72c8acbaf9
Add implementations for KeWaitForMultipleObjects & KeWaitforSingleObject
...
Add additional nullptr checks within Critical Section emulation
2016-10-23 20:07:27 +01:00
Luke Usher
a160db2c72
XApiVerifyMediaInDrive now passes validation without patches
2016-09-30 06:45:47 +01:00
Luke Usher
08efaf9e53
Implement Partition0 support
...
Adding some kernel functions in preparing to remove more XAPI patches
2016-09-29 12:24:23 +01:00
Luke Usher
d142b3ae0e
Dashboard works again
2016-09-28 20:47:09 +01:00
Luke Usher
cd9caa4574
Implemented dummy NtProtectVirtualMemory
...
Allows MechAssault to progess further. Still crashes before showing anything
2016-09-26 22:01:56 +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
Luke Usher
ac832097a9
Implemented NtOpenSymbolicLinkObjecft & NtQuerySymbolicLinkObject from Dxbx
...
Not sure if translated correctly, probably shouldn't attempt to code at 2am
2016-08-20 01:49:58 +01:00
Luke Usher
61649f73bd
add dummy implementation of HalRegisterShutdownNotification
...
This is the furthest we can get without HLE, all XDK titles now crash during XGetSectionHandle while attempting to read the XBE symbol table.
We can either HLE this, or rework Cxbx to load the entire XBE into memory the way Xenoborg does, this would allow Xbox code to correctly access portions of the XBE header without HLE.
2016-08-19 20:45:59 +01:00
Luke Usher
3f70ed9f7c
Implement XboxKernelVersion export
...
This allows XApiApplyKernelPatches(); to run without having to intercept it
2016-08-19 19:53:37 +01:00
Luke Usher
1578146bfe
Implemented Symbolic Link kernel API using code from Dxbx
...
Dxbx contains a LOT of improvements that did not make it back into Cxbx
2016-08-18 20:40:36 +01:00
Echelon9
0f36366310
Add support for RtlFreeAnsiString (Kernel API 0x11E / 286)
2015-03-29 21:28:50 +11:00
Echelon9
96676564ca
Add support for RtlInitUnicodeString (Kernel API 0x122 / 290)
2015-03-29 20:58:57 +11:00
Echelon9
b57803a20a
Basic support for MmUnmapIoSpace (Kernal API 0xB7 / 183)
2013-07-22 19:02:58 +10:00
Echelon9
406795b743
Implement ExFreePool and bugfix for ExAllocatePoolWithTag
2013-04-07 17:53:42 +10:00
Echelon9
1297540c3d
Implementation (basic) of the HalReadSMBusValue kernel call 0x002D (45)
2013-01-02 21:12:24 +11:00
Echelon9
4af8f49b8c
Implementation (basic) of the HalWriteSMBusValue kernel call 0x0032 (50)
2013-01-02 20:39:23 +11: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
14e15f9129
Build out definition of MmCreateKernelStack()
2012-11-28 23:36:57 +11:00
Echelon9
0ad1cf1d88
Update gitattributes (with line ending fixes)
2012-10-07 23:58:52 +11:00
blueshogun96
1737efc2cf
Quick fixes for Dashboard.
2011-11-03 10:17:12 +00:00
blueshogun96
11b58429a9
Xbox Dashboard (3944) is now working okay (not perfect).
2011-11-03 00:13:00 +00:00
blueshogun96
7e31d6deb2
Whacked is playable + lots of other random updates!
2011-06-15 06:56:33 +00:00
blueshogun96
511ba86290
Fixed compile errors in EmuKrnl.cpp
2010-04-17 17:37:39 +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
martin_sw
9ea9791e02
Battlestar Galactica *PAL* now runs somewat ok. Added many random things.
2007-08-09 19:29:07 +00:00
Aaron Robinson
10835748c3
Renamed remotely
2006-07-15 02:03:02 +00:00