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