Cxbx Reloaded Git (2016/09/27) is compiled. Cxbx-Reloaded is an emulator for running Microsoft Xbox (and eventually, Chihiro) games on Microsoft Windows. The project began life as a fork of Cxbx with added 64-bit support. Work is currently underway to backport some of the improvements from Dxbx. Cxbx-Reloaded is still pretty unstable, don't expect it to run much at this point.
Cxbx Reloaded Git Changelog:
* Update README.md
* Oops
* Implemented dummy NtProtectVirtualMemory
Allows MechAssault to progess further. Still crashes before showing anything
* Silent Hill 4 now boots
Crashes after Konami splash
* Add X_D3DFMT_LIN_A8 conversion.
ToeJam & Earl 3 no longer crashes Cxbx, but hangs on a black screen callng EmuDirectSoundDoWork & KeDelayExecutionThread in what seems to be an infinite loop
* Throw warnings instead of ceasing execution when creating vertex buffers fail.
* Remove a ton of game-specific hacks.
I'd like to get away from requiring hacks.
If they are ever needed again, they can be restored from version control anyway.
* Cleanup some EmuFS related comments
Find/Replace didn't catch these when removing the EmuFS calls
* Clean up uses of EmuSwapFS()
It is no longer required
* prevent HANDLE_INVALID_VALUE being handled as an EmuHandle
* Document XapiBootDash
* Fix EmuInitFS crash (Thanks x1nixmzeng)
* Update README.md
* Implement Dxbx's version of EnumAdapterModes
* Add support for more D3D Texture Stage States
* Add some missing XApi functions to 4134 and 4432
* Added Section functions for 4034 & 4432
Buffy The Vampire Slayer boots now
* We don't need to intercept XAPI Fibre functions, the kernel functions they call should be enough
* Use case insensitive compare for matching Symbolic Links
* 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.
* Make sure xbox code runs on one core
VBlank callbacks still run on other cores, this will be addressed later
* Finally solved the Symbolic Link corruption bug using the Dxbx implementation of EmuFile
* Update README.md
* Create README.md
* 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
* 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
* Cleanup some things that we either don't use, or are no longer needed.
* Remuve LDT code, it has not been required since we started patching FS register accesses
* Implement XGetSectionSize
* Add more D3D formats from Dxbx
* Fix a range error in SymbolicLink::Init
* Implemented XeImageFileName kernel structure
* Implement XMountUtilityDrive
This funciton can be removed once Partition0 is emulated correctly, but it is required for now
* Create all default symbolic links, software can override these if required
* Include many of the changes from Blueshogun's Cxbx branch
* Simplify symbolic link code based on Dxbx
* Debugging.
* 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
* Small cleanup to Symbolic Link emulation code
* 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.
* Minor fixes to Symbolic Link emulation
* Some cleanup
* Implemented NtOpenSymbolicLinkObjecft & NtQuerySymbolicLinkObject from Dxbx
Not sure if translated correctly, probably shouldn't attempt to code at 2am
* 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.
* Removed characteristics output from EmuInitFs, was used while debugging
* EmuInitFs now only searches sections containing code, rather than the full address space
* Disabled symbolic link creation for everything except /Device/CdRom0
TDATA symbolic link in particular was causing some software to fail
* Enable the code for creating the default symbolic links
Should fix Issue #1: NtCreateFile missing files
* Oops
* Implement XGetSectionHandleA
This allows XApiInitProcess to complete. Xbox software now manage their own heap
* Remove XapiInitProcess HLE as we are very close to not requiring this patch
* 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.
* 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.
* Forgot to include this in the last commit. Oops.
* 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.
* Implement XboxKernelVersion export
This allows XApiApplyKernelPatches(); to run without having to intercept it
* fix NtQueryFullAttributesFile to use CxbxObjectAttributesToNt() rather than hard coding directories
* Fix an issue where the wrong Xbe path was being set
* Implemented Symbolic Link kernel API using code from Dxbx
Dxbx contains a LOT of improvements that did not make it back into Cxbx
* Remove 'stupid hack' which allowed for execution to continue after HalReturnToFirmware was called.
* 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
* Removed lock to single core, had too much of an effect on performance
* Remove some high level XAPI functions, including some which were not used
* Fix a crash due to a missing ret statement in EmuFS.cpp
* Force Cxbx to use only one core as the Xbox cpu is single threaded
* Remove unused high level thread functions
* Fi x an issue with EmuPush/PopDwordPtrFs00
* Remove HLE emulation of Rtl Heap functions
Titles can now manage their own heap, so this is no longer required
* fix compilation with Visual Studio 2015
Download: Cxbx Reloaded Git (2016/09/27)
Source: Here
This comment has been removed by the author.
ReplyDeletePlayable Dino Crisis 3?
ReplyDeletehey buzzard bait, why don't you try the game yourself and find out? stop being lazy and help yourself. more realistically, stop dreaming about a useful xbox emulator as a working xbox emulator will NEVER happen in our lifetime.
ReplyDeleteIt is almost 2017 and to this date we still don't have any working Xbox emulator that is worth it, the development of the other Xbox emulators that was active for years didn't have any results either.
ReplyDeleteI wish the author of this project luck but I won't expect much for any Xbox emulator that are in development.
Dude, you make ZERO sense. I read your reply three times and now I have a headache. Thanks.
ReplyDeleteBaby trolls jumping around here... hehehe. Wait when you get very old. 2050 is a great choise.
ReplyDelete