Luke Usher
1f5f4f3ad0
Fix a nullptr dereference in EmuDirectSoundBuffer8_Stop
...
Eggo Mania no longer crashes, but instad shows a 'disc is dirty or damaged' screen
2016-12-12 20:42:03 +00:00
PatrickvL
90d2a34090
Implemented RtlZeroMemory
2016-12-12 18:11:36 +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
eb46169604
Init the FPCW to avoid initial graphical glitches
2016-12-12 01:52:03 +01:00
PatrickvL
754931a514
Copied more D3D fixes over from Dxbx
...
Hopefully this will eventually lead to (much) better graphics
2016-12-12 01:28:33 +01:00
PatrickvL
bad38eea58
Dashboard glitches a lot less with this
2016-12-12 00:42:23 +01:00
PatrickvL
1277ef9e50
Corrected a translation error in CxbxObjectAttributesToNT, native paths are now correct
2016-12-12 00:34:50 +01:00
PatrickvL
788a0c645d
Added comments to all Logging-defines
2016-12-12 00:11:51 +01:00
PatrickvL
a7d090aa54
Applied strrchr in more places, sorted NtStatusToString cases
2016-12-12 00:03:01 +01:00
PatrickvL
7a7af0db5e
Renamed LOG_FUNC_FORWARD to LOG_FORWARD, added actual logging, populated all OBJECT_TYPE variables.
2016-12-11 23:39:47 +01:00
PatrickvL
0dea41a0d3
Typos
2016-12-11 22:56:22 +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
d335b4b6b2
Forwarded NtOpenFile and NtCreateFile to IoCreateFile
...
IoCreateFile is implemented just like NtCreateFile before.
Moved a few declarations towards EmuFile to facilitate this.
Also introduced a LOG_FUNC_FORWARD define for these situations.
2016-12-11 19:06:55 +01:00
PatrickvL
bb3087932d
Applied MAX_PATH everywhere
...
Also used strrchr instead of hand-rolled search for the last backslash
2016-12-11 17:50:38 +01:00
PatrickvL
d9040173ec
Added comments to ConnectWindowsTimersToThunkTable
...
Specifically that reading KeSystemTime directly will mean
HostSystemTimeDelta is not added (as done in KeQuerySystemTime)
2016-12-10 20:01:45 +01:00
PatrickvL
2e6e78acc2
Added stubs for KeDisconnectInterrupt, KeGetCurrentThread, KeInsertQueueDpc
...
Might as well stub these, now that we've copied their declaration over
from xndk.
2016-12-10 19:47:01 +01:00
PatrickvL
66eefa90b9
Merge remote-tracking branch 'refs/remotes/LukeUsher/master'
2016-12-10 19:35:13 +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
a5199b9d3a
Reimplemented NtSetSystemTime and KeQuerySystemTime
...
This should allow setting the Xbox system time without interfering with
the host system time.
2016-12-10 17:51:26 +01:00
PatrickvL
4bae6b721d
EmuX86 : Generalized retrieving and storing values, simplifying EmuX86_MOV and EmuX86_TEST greatly.
2016-12-03 16:27:12 +01:00
Luke Usher
bbf0d729cb
Add missing break statements to EmuX86_MOV
2016-12-02 22:20:14 +00:00
PatrickvL
1fea5aaf1b
Refactored EmuX86_MOV
2016-12-02 18:48:03 +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
PatrickvL
3e1695e54d
Merge branch 'master' of https://github.com/PatrickvL/Cxbx-Reloaded.git
2016-12-02 08:58:07 +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
7bb8c658c8
EmuX86 : Parity should only be calculated over least significant 8 result bits
2016-12-01 22:21:58 +01:00
PatrickvL
86053967fc
EmuX86 : Implemented setting parity flag
2016-12-01 18:09:06 +01: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
PatrickvL
6fd697663f
WIP : Interlocked functions from Dxbx
2016-11-30 23:38:51 +01:00
Luke Usher
45b7a71638
Small EmuX86 improvements.
...
Dashboard now runs with DSOUND_LLE enabled, but takes a long time to boot up
2016-11-30 20:25:06 +00:00
Luke Usher
f45e8dd8fc
Add experimental flag to enable DSOUND LLE
2016-11-30 20:14:39 +00: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
f9f3fa4b86
Merge branch 'LukeUsher/master'
2016-11-30 20:36:34 +01:00
Luke Usher
fb28a1470e
Remove CxbxKrnlCleanup from IOCreateFile
...
We do not need to abort execution & LOG_UNIMPLEMENTED takes care of warning us
2016-11-30 12:50:04 +00:00
Luke Usher
c23e47d5dc
Remove HalReturnToFirmware hack
...
No longer required now SHA/HMAC is implemented
2016-11-30 12:02:35 +00:00
Luke Usher
b9f9101051
Revert "Remove a ton of XAPI functions"
...
It was a little too soon for this afterall
This reverts commit ebaea5e9f1
.
2016-11-30 11:22:44 +00:00
Luke Usher
9f7b29ad62
Add implementation for NtWaitForSingleObject & stub for KeSetPriorityThread
2016-11-29 14:38:19 +00:00
Luke Usher
9fedcc64a6
Neaten up the GetRegisterPointer function a little
2016-11-29 14:18:36 +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
ebaea5e9f1
Remove a ton of XAPI functions
...
Our Kernel emulation should be good enough to take care of this, and if not, we should improve that rather than patching out XAPI.
The XInput/XDevice functions are still needed as we do not emulate USB yet
2016-11-28 22:18:57 +00:00