2020-04-20

Cxbx Reloaded Git (2020/04/20)

EmuCR:Xbox EmulatorsCxbx Reloaded Git (2020/04/20) 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:
* Merge pull request #1872 from Cxbx-Reloaded/cmake_loader_reloaded
* replace placeholder to working emulate_system variable set
* Merge pull request #1871 from RadWolfie/enable-loader-ui
* enable Loader's UI toggleable and set enable by default
* Create two independent file mappings for a chihiro system
* add SEGABOOT_EP_XOR and update GetXbeType to use named value
* change KB/MB to KiB/MiB
* replace hardcode 384 to blocks_reserved_t plus add comments
* use enum class for XbeType to resolve warnings
* move functions into their own locations
* convert defines to inline constexpr
* replace hardcode addresses to defined values
* replace hardcode addresses to macro for AddressRanges files
* move address ranges into AddressRanges header file
* move GetLastErrorString and FreeLastErrorString to loader source file
* remove old todo comment
* declare ARRAY_SIZE once and use C++11 feature
* add todo comments
* add verbose debug; won't work with loader project
* Get maximum reserve memory ranges from host.
* scrap win32 draft gui
* fix standalone persisted memory support
* fix shared memory reboot loss
* implement toggle loader project in GUI
* yet another re-fix...
* use std map pairs instead of string for cli usage
* Suppress warning 4200 (alternative method)
* Fix memory manager crashing upon second reboot
* Allow the memory manager to work again with the non-loader approach
* Extracted functions for MapPersistedMemory and UnmapPersistedMemory
* Add note about memory range option at launch should not occur at all.
* fix compile build to able call CxbxKrnlMain in cxbx.exe
* Updated memory functions to work with the loader
* Loader : Update build script to include new binaries in artifact
* Loader : Fix typos and avoid Microsoft compiler specific types
* Loader : Use CxbxMessageBox (a wrapper for Windows' MessageBox API) wherever possible, to avoid repeating the TEXT("Cxbx-Reloaded") caption everywhere, and a different argument-order allowing default argument values and thus more compact code.
* Loader : Deduplicate code via new CreateSettings()
* Loader : Shared implementation for termining guiProcessID (and "2nd GUI" mode?!)
* Loader : Deduplicate code via new CreateSettings()
* Loader : Merge LaunchEmulation() into CxbxKrnlMain()
* Loader : Moved HandleFirstLaunch() and LaunchEmulation() towards shared source file (CxbxKrnl.cpp), and call it from our DLL's Emulate() function.
* Refactorings preparing actual emulation start for DLL (just need to move two functions to a shared file)
* Shared implementation of VerifyBaseAddr()
* Rely on CxbxKrnl.h for CXBX_BASE_ADDR (avoiding a duplicate declaration)
* Extracted VerifyWow64() function, so that the Cxbx and CxbxLoader projects share the same implementation.
* Complete Emulation DLL project by adding all Cxbx source files (except GUI-related stuff). Entire solution builds again with this.
* Loader : Collect actually reserved ranges during range-verification (in the emulation DLL, not during reservation in the loader)
* Log initialization failure in the loader
* Use EXIT_SUCCESS for forced termination, EXIT_FAILURE for all other exit-reasons.
* Pass along the selected system configuration flag to the emulation DLL and use it to verify the address ranges.
* Loader : Initial drop of a separate *empty* GUI project (probably won't compile either)
* Loader : Added emulation DLL, working towards this stub compiling, moved loader project to subfolder
* Loader : Log errors to console output. Also added a few comments
* Loader : Correct the PageTable range to fit all possible entries
* Loader : We won't emulate Alpha kits, and all other hardware revisions lack the physical hardware lines for USB1 ports, so this can go.
* Reduce clutter in Loader by splitting up functionality in task-specific source files
* Cleaned up of the loader project, added environment checks and documented it somewhat.
* Configurable system configuration by matching command line flags against memory-range flags - a quite flexible solution if I may say ;)
* Loader coding style
* Extended reserved memory ranges with DevKitMemory and SystemMemory (both partially fail)
* Random stuff, taken from my old Loader branch
* Added minimal CxbxLoader project
* Reviving my more-than-a-year-old Loader branch, by copying over various things (nothing functional yet)

Download: Cxbx Reloaded Git (2020/04/20)
Source: Here

0 Comments

Post a Comment