Commit Graph

838 Commits

Author SHA1 Message Date
Luke Usher ce3ab7e945 Document XapiBootDash 2016-09-15 08:45:34 +01:00
Luke Usher 98859d9422 Fix EmuInitFS crash (Thanks x1nixmzeng) 2016-09-13 06:03:44 +01:00
Luke Usher 671c27d407 Update README.md 2016-09-09 21:44:08 +01:00
Luke Usher c4dbe95578 Implement Dxbx's version of EnumAdapterModes 2016-09-09 21:19:02 +01:00
Luke Usher b7b5dd1c9e Add support for more D3D Texture Stage States 2016-09-09 09:46:34 +01:00
Luke Usher b18d52c06d Add some missing XApi functions to 4134 and 4432 2016-09-09 09:31:55 +01:00
Luke Usher cfdcba92ec Added Section functions for 4034 & 4432
Buffy The Vampire Slayer boots now
2016-09-08 21:08:09 +01:00
Luke Usher 51a01049f5 We don't need to intercept XAPI Fibre functions, the kernel functions they call should be enough 2016-09-03 23:13:49 +01:00
Luke Usher 89433556b9 Use case insensitive compare for matching Symbolic Links 2016-08-28 00:54:43 +01:00
Luke Usher ceb196d663 Fxed up section functions in HLE database in most common XDKs
These functions have barely changed since 3911, so it is possible to have a catch all signature.
2016-08-27 19:24:22 +01:00
Luke Usher bebf8be3fd Make sure xbox code runs on one core
VBlank callbacks still run on other cores, this will be addressed later
2016-08-26 20:23:41 +01:00
Luke Usher 0aae6c5f67 Finally solved the Symbolic Link corruption bug using the Dxbx implementation of EmuFile 2016-08-26 08:37:07 +01:00
Luke Usher 0a51fdf535 Update README.md 2016-08-24 21:10:43 +01:00
Luke Usher a9ea3b63b5 Create README.md 2016-08-24 20:55:47 +01:00
Luke Usher f2c20e6e07 Temporarily disable NtClose for EmuHandle instances.
It was causing symbolic link entries to corrupt, there are issues with EmuFile, EmuNtOpenSymbolicLinkObject and other related areas that need to be addressed before this can be re-enabled
2016-08-24 20:47:39 +01:00
Luke Usher 5f3a8c4c44 Disabled LargeAddressAware flag, seems to have stabilised things a little bit.
Thought it was required to be able to VirtualAlloc at 0x8000000 but it turns out that it's not the case
2016-08-23 22:33:59 +01:00
Luke Usher 10ab9b2800 Cleanup some things that we either don't use, or are no longer needed. 2016-08-22 18:31:39 +01:00
Luke Usher 51a3f5b2dc Remuve LDT code, it has not been required since we started patching FS register accesses 2016-08-22 18:28:29 +01:00
Luke Usher c07d8b2683 Implement XGetSectionSize 2016-08-22 18:24:49 +01:00
Luke Usher 1f5882d66b Add more D3D formats from Dxbx 2016-08-21 18:34:17 +01:00
Luke Usher ab5f8da5ad Fix a range error in SymbolicLink::Init 2016-08-21 17:30:41 +01:00
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