2024-06-09

Cxbx Reloaded (2024/06/08)

EmuCR:Xbox EmulatorsCxbx Reloaded (2024/06/08) is released. 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 Changelog:
* Merge branch 'testbed'
* Merge branch 'master' of https://github.com/cxbx-reloaded/cxbx-reloaded into testbed
* chihiro: merge experimental Chihiro emulation
* chihiro: prevent JVS register updates from being missed due to long delays
* chihiro: emulate a chihiro system when boot.id is present
* chihiro: fix an issue where media board detection failed due to instant response time
* Cleanly rebase chihiro-work on develop
* Revert "Update dependencies"
* Merge remote-tracking branch 'ergo720/less_busy_loops' into testbed
* Never change the thread priority on the host and the disable boost flag too
* Use a DPC for expired timers + don't execute NV2A DPCs from the timer thread to avoid the exception overhead
* Fixed an issue in WaitApc where the wait block was not removed when using a zero timeout or when satisfied by a user APC + properly lock the wait block operations to avoid a race between SatisfyWait and KiTimerExpiration
* Implemented PTIMER alarm interrupt of NV2A + fixed a bug in timer_init
* Fixed wrong nv2a clock frequency
* Fixed a bug in KeTickCount + check all timer indices when we are late in KiClockIsr
* Make sure to reset WaitStatus when a new wait starts
* Make sure that GetNativeHandle succeeds before attempting to get the native handle
* Fixed a bug in KiInsertTimerTable + log all objects being waited on in NtWaitForMultipleObjectsEx
* Account for partial milliseconds in KiClockIsr
* Fixed a race condition in WaitApc + removed wrong InsertTailList for ktimers used during a timeout
* Always create a wait object even when we satisfy the wait on the host side + fixed a bug in KiWaitTestNoYield
* Revert to using the host to do thread suspension
* Hack: <= thread priority instead of >=
* Setup a KTIMER for the other functions using WaitApc too
* Restore single interrupt loop in update_non_periodic_events
* Place nvnet in its own thread
* Use get_now directly in system_events instead of qpc
* Adjust KeSystemTime when the host system time is changed by the user
* Account for delays between calls to KiClockIsr
* Raise priority of system events thread
* Removed delta amount added to KeSystemTime
* Fixed thread order initialization when a thread starts suspended
* Make sure to hold the DPC lock until the DPC list has been emptied
* Implemented kernel unwait routines + updated/fixed KeWaitForMultipleObjects and KeWaitForSingleObject
* Only change the priority of a thread if it is being set above normal
* Unpatch D3DDevice_BlockUntilVerticalBlank and D3DDevice_SetVerticalBlankCallback
* Avoid triggering multiple gpu interrupts outside the vblank
* Moved position of ObfDereferenceObject in NtSuspendThread
* Removed scaling hack in KeInterruptTime and KeTickCount + added yield in system_events routine
* Implemented suspend/resume kernel Nt routines with the corresponding Ke routines
* Fixed a bug in KeSetBasePriorityThread
* Merge many different periodic events in a single thread, instead of each having its own busy loop
* Merge lle and hle vblank routines in a single thread
* Removed unnecessary lock in the interrupt thread
* EmuX86: Let invalid memory accesses trigger a warning rather than a fatal error
* Merge branch 'master' of https://github.com/cxbx-reloaded/cxbx-reloaded
* Merge branch 'fix-compilation-vs2022'

Download: Cxbx Reloaded (2024/06/08)
Source: Here

0 Comments

Post a Comment