Commit graph

7367 commits

Author SHA1 Message Date
Luke Usher
c6dca6127a Implemented XeImageFileName kernel structure 2016-08-21 14:57:46 +01:00
Luke Usher
1d9d46ccce Implement XMountUtilityDrive
This funciton can be removed once Partition0 is emulated correctly, but it is required for now
2016-08-21 13:52:11 +01:00
Luke Usher
82b8fd8349 Create all default symbolic links, software can override these if required 2016-08-21 13:50:43 +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
120ab752a9 Simplify symbolic link code based on Dxbx 2016-08-20 20:54:28 +01:00
Luke Usher
e435d9e0b8 Debugging. 2016-08-20 19:31:08 +01:00
Luke Usher
714593a0ef Updated HalReadSMCTrayState to report TRAY_OPEN
This allows dashboard versions 1.00.4034.01 and 1.00.4817.01 to run, but with very broken graphics. 1.00.4817.01 works better of the two
2016-08-20 19:02:23 +01:00
Luke Usher
d2f8b9a1d3 Small cleanup to Symbolic Link emulation code 2016-08-20 18:59:14 +01:00
Luke Usher
8e652b8c9d Fix XGetSectionHandle
HACK: return from HalReturnToFirmware if routine is 4.

Dashboards  1.00.4034.01 and 1.00.4817.01 now launch, but display an error.
2016-08-20 17:00:29 +01:00
Luke Usher
de0c650d8d Minor fixes to Symbolic Link emulation 2016-08-20 13:50:12 +01:00
Luke Usher
71a059104b Some cleanup 2016-08-20 13:49:19 +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
d5976c8e13 Patch AllowedMediaTypes in XBE Certificate to prevent XApiInitProcess from calling XApiVerifyMediaIndrive
This is required as we do not emulated XDVD verification, and we have no need to implement it.
2016-08-19 23:45:34 +01:00
Luke Usher
98c3095179 Removed characteristics output from EmuInitFs, was used while debugging 2016-08-19 23:44:09 +01:00
Luke Usher
9ebd40069a EmuInitFs now only searches sections containing code, rather than the full address space 2016-08-19 23:04:26 +01:00
Luke Usher
0b28222ca1 Disabled symbolic link creation for everything except /Device/CdRom0
TDATA symbolic link in particular was causing some software to fail
2016-08-19 22:30:50 +01:00
Luke Usher
c4951dc5f9 Enable the code for creating the default symbolic links
Should fix Issue #1: NtCreateFile missing files
2016-08-19 22:26:28 +01:00
Luke Usher
d3abd1072c Oops 2016-08-19 22:21:22 +01:00
Luke Usher
4045698fb5 Implement XGetSectionHandleA
This allows XApiInitProcess to complete. Xbox software now manage their own heap
2016-08-19 22:21:09 +01:00
Luke Usher
adc1ec539a Remove XapiInitProcess HLE as we are very close to not requiring this patch 2016-08-19 21:57:37 +01:00
Luke Usher
462d8b34e2 Revert 3848ff6 (Thrown away HLE Database)
Porting the StoredTrie format from Dxbx may be more effort than it's worth at this point, OOVPA needs more manual work to add symbols but is sufficient for now.
2016-08-19 21:46:08 +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
d3961e6fd6 Forgot to include this in the last commit. Oops. 2016-08-19 20:34:47 +01:00
Luke Usher
afa9d02e2e Implement fake kernel header to allow XapiRestrictCodeSelectorLimit to succeed
Cxbx now requires support for large address space on 32-bit applications, this may break some 32-bit operating systems.
2016-08-19 19:55:18 +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
9568b129a4 fix NtQueryFullAttributesFile to use CxbxObjectAttributesToNt() rather than hard coding directories 2016-08-19 06:51:13 +01:00
Luke Usher
a6cfc2d7a3 Fix an issue where the wrong Xbe path was being set 2016-08-19 06:07:21 +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
Luke Usher
875c64148c Remove 'stupid hack' which allowed for execution to continue after HalReturnToFirmware was called. 2016-08-16 17:04:04 +01:00
Luke Usher
3848ff66ad Thrown away HLE Database
It is planned that the OOVPA HLE Database will be replaced with a better method. Dxbx style StoredPatternTrie is being considered, but a decision has not yet been made
2016-08-15 20:49:54 +01:00
Luke Usher
57681ab670 Removed lock to single core, had too much of an effect on performance 2016-08-13 22:58:56 +01:00
Luke Usher
5485699f06 Remove some high level XAPI functions, including some which were not used 2016-08-13 22:41:30 +01:00
Luke Usher
bd3ee280e1 Fix a crash due to a missing ret statement in EmuFS.cpp 2016-08-13 19:11:41 +01:00
Luke Usher
b589c6da82 Force Cxbx to use only one core as the Xbox cpu is single threaded 2016-08-12 19:50:12 +01:00
Luke Usher
10ad17161d Remove unused high level thread functions 2016-08-12 19:47:18 +01:00
Luke Usher
508d421e81 Fi x an issue with EmuPush/PopDwordPtrFs00 2016-08-12 16:26:55 +01:00
Luke Usher
bea4f63f20 Remove HLE emulation of Rtl Heap functions
Titles can now manage their own heap, so this is no longer required
2016-08-12 09:30:12 +01:00
Luke Usher
67c37feebd fix compilation with Visual Studio 2015 2016-08-12 09:25:45 +01:00
Luke Usher
d5a7180c61 Fix null pointer deference which was happening in Crazy Taxi 3.
TODO: Find out why
2016-04-05 21:08:18 +01:00
Luke Usher
6f3e14b768 NtQueryVolumeInformationFile implementation modified to be more like Dxbx, allows some titles to progress further. 2016-04-04 20:59:03 +01:00
Luke Usher
35cfdce7d5 Forgot a linebreak 2016-04-02 20:20:32 +01:00
Luke Usher
729123e57a Re-enabled all FS patches, it does not seem to have any effect on compatibilty, but it's better to be safe, we don't want Xbox code playing around with Windows TLS if we can help it. 2016-04-02 19:41:20 +01:00
Luke Usher
f7569a4ce9 Disabled Debug_Alloc as it is causing crashes in debug builds. 2016-04-01 22:59:34 +01:00
Luke Usher
1174ac350b Add HLE Database fixes from old Cxbx-Reloaded branch 2016-04-01 22:12:48 +01:00
Luke Usher
b0ef995e08 Add 64-bit support 2016-04-01 21:46:04 +01:00
Luke Usher
38a6eed65e Convert project to open with MSVC 2015. However, still using the v120 toolset.
Removed spare project files, I only test compilation with the latest MSVC version.
2016-04-01 21:39:17 +01:00
Echelon9
231e924bd1 Fix typo in pixel shader logging. No expected effect on performance or compatibility. 2015-03-30 22:50:38 +11: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
05c61d8f5f This typo may have lead to limited pixel shader issues 2015-03-29 19:11:05 +11:00