2017-09-20

Cxbx Reloaded Git (2017/09/20)

EmuCR:Xbox EmulatorsCxbx Reloaded Git (2017/09/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 #738 from LukeUsher/fixing-jsrf
Fix JSRF Regression after NV2A merge
* Oops: Device_End is a required patch for HLE as it processes draw comments
* Prevent NV2A VBlank Thread creation when in HLE Mode.
VBlank callbacks were effectively being called twice, oops!
* Merge pull request #736 from PatrickvL/PixelPorting
Ported Dxbx Pixel Shader conversion (Currently disabled)
* Merge remote-tracking branch 'origin/PixelPorting' into PixelPorting
* Allow merging this code by NOT switching over to new pixel shader code yet (it requires more work before this can be enabled).
* First attempt to use Dxbx pixel shader code. Will probably crash. It'd better to base this on Luke's work to get D3D_CreateDevice running unpatched. That way, many patches (including PixelShader related ones) can be disabled, allowing much easier emulation.
* Finished translation of functional part of Dxbx Pixel Shader conversion code.
(Albeit PSH_XBOX_SHADER::DecodedToString is still incomplete).
* Nearly finished back-porting Dxbx pixel shader conversion code.
With this change, Cxbx-Reloaded is linking again.
Two functions need to be completed (PSH_XBOX_SHADER::DecodedToString and ConvertConstantsToNative), after which testing can commence!
* Corrected all other pixel-shader comments which got damaged by a global find&replace
* Fix global find&replace errors
* Another batch of translation (about 40% to go)
* Half-way translating pixel shader conversion code from Dxbx (Delphi) to Cxbx-Reloaded (C++)
* Back porting of more Dxbx PixelShader conversion types.
Also moved most of the types from PixelShader.h to PixelShader.cpp
* More back porting of Dxbx pixel-shader related type definitions and comments
* Started back-porting Dxbx pixel shaders
* Allow merging this code by NOT switching over to new pixel shader code yet (it requires more work before this can be enabled).
* First attempt to use Dxbx pixel shader code. Will probably crash. It'd better to base this on Luke's work to get D3D_CreateDevice running unpatched. That way, many patches (including PixelShader related ones) can be disabled, allowing much easier emulation.
* Finished translation of functional part of Dxbx Pixel Shader conversion code.
(Albeit PSH_XBOX_SHADER::DecodedToString is still incomplete).
* Nearly finished back-porting Dxbx pixel shader conversion code.
With this change, Cxbx-Reloaded is linking again.
Two functions need to be completed (PSH_XBOX_SHADER::DecodedToString and ConvertConstantsToNative), after which testing can commence!
* Corrected all other pixel-shader comments which got damaged by a global find&replace
* Fix global find&replace errors
* Another batch of translation (about 40% to go)
* Half-way translating pixel shader conversion code from Dxbx (Delphi) to Cxbx-Reloaded (C++)
* Back porting of more Dxbx PixelShader conversion types.
Also moved most of the types from PixelShader.h to PixelShader.cpp
* More back porting of Dxbx pixel-shader related type definitions and comments
* Started back-porting Dxbx pixel shaders
* Implement INC/DEC opcodes
* Disable another patch that is not required now (D3DDevice_End())
* Remove some patches that are no longer required with D3D_CreateDevice unpatched
* Mark contiguous memory region as executable.
No benefit right now, but this is essential if we want to load/run a real kernel
* Fix an issue with SUB and CMP opcodes where the carry flag would not be calculated correctly
* EmuX86: Implement SUB opcode
* Allow CxbxPopupMessage to be called with Non-const strings
* Allow CxbxPopupMessage to be called with non-const strings
* Use a higher precision clock for more accurate VBlank timing
* More NV2A Work
* Line ending consistency
* More PGRAPH
* More NV2A porting from XQEMU
Current Status:
Official XDK titles deadlock while calling BlockOnTime.
NXDK titles are generating render commands and appear to be working, although we do not actually implement pgraph yet, so we get a blank screen.
* Move interrupt processing thread to CxbxKrnl rather than specific to EmuNV2A
* EmuNV2A: Fix a crash caused by a double lock.
* More NV2A work
* More porting from XQEMU + Fixed a major Cxbx-Unique NV2A BUG
DEVICE_READ/WRITE_32_REG:
Registers were being written to the completely wrong addresses!
* Remove TEST dialog: Not required
* Working towards making Interrupt support more generic/less NV2A specific
* Oops: Interrupt Service Routine was being called with the wrong calling convention.
* NV2A Interrupts now fire in an Xbox thread!
The interrupt service routine runs, sets up the DPC call, but then the global kernel DPC handler crashes when accessing the KPCR.
This DPC code is marked as experimental, so it needs work.
* Make sure HLE Vblank doesn't get triggered when LLE is enabled
Make GetNextVBlankTime available to EmuNV2A
* More porting from XQEMU.
LLE execution now gets stuck on D3D_BlockOnTime.
Could be lack of interrupts.
* Disable CreateDevice/KickPushBuffer patches
Allows NV2A LLE to take over this part of bootup.
NOTE: This needs testing extensively before merging is possible.
* Porting NV2A From QEMU
No PGRAPH emulation yet, but this is enough to get past Direct3D_CreateDevice init.

Download: Cxbx Reloaded Git (2017/09/20)
Source: Here

0 Comments

Post a Comment