Commit Graph

1110 Commits

Author SHA1 Message Date
PatrickvL 4971b951a6 Merge remote-tracking branch 'refs/remotes/Cxbx-Reloaded/master' into OOVPA_Refactoring 2016-12-23 11:34:13 +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 ea78ca05d8 Oovpa refactoring (#51)
* Cleanup (renames, comments and indenting)

Read GetCurrentProcess() once (g_CurrentProcessHandle further on)
Forwarded KeWaitForSingleObject to KeWaitForMultipleObjects

* Refactored all OOVPA's

* Fixed a few small mistakes
2016-12-22 20:35:17 +00:00
PatrickvL bd009cdeae Fixed a few small mistakes 2016-12-22 12:01:34 +01:00
Luke Usher ece663f6fe Merge pull request #50 from x1nixmzeng/remove-exe-support
Removed all EXE support
2016-12-22 05:10:25 +00:00
PatrickvL 9dacd95cc4 Merge remote-tracking branch 'refs/remotes/Cxbx-Reloaded/master' into OOVPA_Refactoring 2016-12-22 01:15:04 +01:00
PatrickvL 7292e95945 Refactored all OOVPA's 2016-12-22 01:14:35 +01:00
x1nixmzeng 5bbc31029f Removed all EXE support
Very aggressive cull of old Exe support:

Removed GUI for importing/exporting Exe files
Removed GUI for storing Exe history
Removed GUI for Executable Generation
Removed unused EmuExe class
Removed unused Exe registry settings
Removed unused Exe file history
Removed unused standalone Cxbe console app which would no longer compile
2016-12-21 23:58:11 +00:00
Luke Usher af663c8f44 Use IRQL value in the emulated KPCR structure rather than overwriting the Windows TIB structure (#42)
* Use IRQL value in the emulated KPCR structure rather than overwriting the Windows TIB structure.

Note: The entire KPCR is currently per thread, this is not correct as the KPCR should be per-cpu.
The issue here is that the first part of the KPCR, NT_TIB should be per thread.

I haven't figured out a good way to keep that portion per-thread while keeping the rest of the structure global,
that said, it will function fine as long as the same thread calls the IRQL functions.

* Move KPCR fetch code into KeGetPcr();

This exists as a macro on the Xbox, but we implement it as a function because the xbox approach requires FS to point to the KPCR
This isn't possible on 64-bit Windows, even with 32-bit code, so this approach is required.
2016-12-20 21:46:07 +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 040bdaf904 Merge remote-tracking branch 'refs/remotes/Cxbx-Reloaded/master' into PatrickvL/master 2016-12-20 17:48:19 +01:00
PatrickvL 4e06ac6992 Cleanup (renames, comments and indenting) (#41)
Read GetCurrentProcess() once (g_CurrentProcessHandle further on)
Forwarded KeWaitForSingleObject to KeWaitForMultipleObjects
2016-12-20 16:20:04 +00:00
PatrickvL c1e3b570be Cleanup (renames, comments and indenting)
Read GetCurrentProcess() once (g_CurrentProcessHandle further on)
Forwarded KeWaitForSingleObject to KeWaitForMultipleObjects
2016-12-20 16:51:16 +01:00
PatrickvL 0243f44a85 Merge remote-tracking branch 'refs/remotes/Cxbx-Reloaded/master' into PatrickvL/master 2016-12-20 14:26:08 +01:00
PatrickvL b096ca5b08 Forwarded NtPulseEvent to NtDll
Deduplicated declarations.
2016-12-20 14:08:46 +01:00
PatrickvL 3b47ce363b Merge pull request #40 from PatrickvL/ExtraLogging
Extra logging
2016-12-20 13:57:20 +01:00
PatrickvL 7485f2f906 Merge 2016-12-20 13:52:03 +01:00
PatrickvL 570a8743f7 Merge 2016-12-20 13:47:06 +01:00
PatrickvL 95817ba552 Merge remote-tracking branch 'refs/remotes/Cxbx-Reloaded/master' into PatrickvL/master 2016-12-20 13:39:15 +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 4165ea2766 Started logging some flags (#37) 2016-12-19 16:32:09 +00:00
PatrickvL 85d5c87aab Merge branch 'master' of https://github.com/PatrickvL/Cxbx-Reloaded.git 2016-12-19 17:18:43 +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
PatrickvL ddb21efc5c Started logging some flags 2016-12-19 12:29:43 +01:00
PatrickvL 44f744f88d Merge remote-tracking branch 'refs/remotes/Cxbx-Reloaded/master' into PatrickvL/master 2016-12-19 10:13:06 +01:00
PatrickvL 3f05ebf636 Merge remote-tracking branch 'refs/remotes/LukeUsher/master' 2016-12-16 09:58:10 +01:00
Luke Usher 399e5180fb Merge pull request #33 from StrikerX3/master
A bunch of small things
2016-12-16 08:24:01 +00:00
Luke Usher 36040a771d Re-added XAPI Fiber functions.
I removed these a long time ago, but it turns out our FS/KPCR implementation isn't good enough for these yet
This is unlikely to be fixed until we update our kernel implementation to properly update the Emulated KPCR structure when required and patch out all remaining FS register instructions, currently it just implements enough to get TLS working.

Research into where and when KPCR structure members should be updated.
2016-12-16 08:19:33 +00:00
StrikerX3 094cf8d763 Logging header for KWAIT_REASON 2016-12-15 22:52:16 -02:00
StrikerX3 3800bc6061 Added missing LOGRENDER_ENUM for the KWAIT_REASON enum 2016-12-15 21:25:46 -02:00
StrikerX3 9ba477b811 Merge branch 'master' of github.com:LukeUsher/Cxbx-Reloaded 2016-12-15 19:22:24 -02:00
StrikerX3 953e53f42c Added KWAIT_REASON enum 2016-12-15 19:21:39 -02:00
Luke Usher 23ed63f50d Fix incorrect cases of XRefNotUsed in the HleDatabase 2016-12-15 21:21:04 +00:00
StrikerX3 58b3a424d5 Merge branch 'master' of github.com:LukeUsher/Cxbx-Reloaded 2016-12-15 19:06:16 -02:00
StrikerX3 e780a9f15d Sanitize BOOLEANs too 2016-12-15 18:26:34 -02:00
PatrickvL 5d6abe44a4 Logging improvements: indenting, all enums, hex values 2016-12-15 18:01:17 +01:00
StrikerX3 feb8d23a14 Let the XDK handle video modes.
Removed the XboxResolutions list and GetAdapterDisplayMode. Also cleaned
up unused function declarations from the EmuD3D8.h.
2016-12-15 13:27:54 -02:00
Ivan Roberto de Oliveira d39a32c935 Merge branch 'master' of https://github.com/StrikerX3/Cxbx-Reloaded 2016-12-15 13:21:05 -02:00
Ivan Roberto de Oliveira 4cdcb15a17 Merge https://github.com/LukeUsher/Cxbx-Reloaded 2016-12-15 13:20:41 -02:00
PatrickvL 1b15009e2d Merge remote-tracking branch 'refs/remotes/LukeUsher/master' 2016-12-15 15:04:46 +01:00
Luke Usher 988e2fc5ca Added a little note in AV_QUERY_AV_CAPABILITIES 2016-12-14 21:41:48 +00:00
Luke Usher efe953bddf Remove patches for GetAdapterModeCount and EnumAdapterModes
If we are just going to return values the Xbox would, why not just let the XDK do it's job
2016-12-14 21:39:58 +00:00
Luke Usher 90ca700df2 Implement one execution path (AV_QUERY_AV_CAPABILITIES) of AvSendTvEncoderOption 2016-12-14 21:38:26 +00:00
StrikerX3 d5fedb3867 Merge github.com:LukeUsher/Cxbx-Reloaded 2016-12-14 19:21:13 -02:00
Luke Usher 8444f6f3ff Prevent unitialised value warning 2016-12-14 20:29:11 +00:00
PatrickvL ad3f30a1c5 Merge remote-tracking branch 'refs/remotes/LukeUsher/master' 2016-12-14 20:44:51 +01:00
Ivan Roberto de Oliveira 0afc92bf96 Sanitize log argument (#27) 2016-12-14 14:52:06 +00:00
Ivan Roberto de Oliveira 1e8e6f8ae6 Merge https://github.com/LukeUsher/Cxbx-Reloaded 2016-12-14 12:31:25 -02:00
Ivan Roberto de Oliveira 35adf0d48d Sanitize log argument 2016-12-14 12:27:30 -02:00