Commit Graph

2856 Commits

Author SHA1 Message Date
Luke Usher c609654f35 Merge pull request #745 from LukeUsher/KeEvent-api
Implement KeEvent Api's for non-windows event structures.
2017-09-21 20:54:01 +01:00
Luke Usher 5a78f70f1f Merge pull request #742 from PatrickvL/work
Logging improvements
2017-09-21 20:53:39 +01:00
Luke Usher 18a64386cd Implement KeEvent Api's for non-windows event structures. 2017-09-21 20:49:35 +01:00
PatrickvL ca03ea3df2 Merge pull request #741 from LukeUsher/fix-xmarbles
Re-enable SurfaceDesc patches
2017-09-20 22:35:40 +02:00
Luke Usher 7067db44dc Re-enable SurfaceDesc patches
This fixes black screens/missing textures in XMarbles
These *shouldn't* be required, but until Patrick's texture branch is merged,we need them anyway
2017-09-20 20:55:26 +01:00
PatrickvL c6290f1796 Logging enhancements and corrections 2017-09-20 17:07:01 +01:00
PatrickvL 6eaafaf241 Fix a few code analysis warnings 2017-09-20 16:50:10 +01:00
PatrickvL 28477f0a80 Rename EEPROM into pEEPROM 2017-09-20 16:40:21 +01:00
PatrickvL d7cf092a3b Merge pull request #740 from LukeUsher/patch-removal
Patch Removal
2017-09-20 16:13:11 +02:00
Luke Usher efa51fb91b The unpatching of CreateDevice allows these patches to be removed with no negative effects. 2017-09-20 14:14:33 +01:00
Luke Usher 761143945c Merge pull request #738 from LukeUsher/fixing-jsrf
Fix JSRF Regression after NV2A merge
2017-09-20 10:33:15 +01:00
Luke Usher 96925bc97d Oops: Device_End is a required patch for HLE as it processes draw comments 2017-09-20 10:05:59 +01:00
Luke Usher d06fc6d669 Prevent NV2A VBlank Thread creation when in HLE Mode.
VBlank callbacks were effectively being called twice, oops!
2017-09-20 10:05:12 +01:00
Luke Usher 66502da40f Merge pull request #736 from PatrickvL/PixelPorting
Ported Dxbx Pixel Shader conversion (Currently disabled)
2017-09-19 14:05:37 +01:00
Luke Usher a4fa55519d Implement INC/DEC opcodes 2017-09-19 13:30:07 +02:00
Luke Usher e16468c83d Disable another patch that is not required now (D3DDevice_End()) 2017-09-19 13:30:07 +02:00
Luke Usher 56caba8feb Remove some patches that are no longer required with D3D_CreateDevice unpatched 2017-09-19 13:30:07 +02:00
Luke Usher 64025e0096 Mark contiguous memory region as executable.
No benefit right now, but this is essential if we want to load/run a real kernel
2017-09-19 13:30:07 +02:00
Luke Usher ab5138a3b9 Fix an issue with SUB and CMP opcodes where the carry flag would not be calculated correctly 2017-09-19 13:30:07 +02:00
Luke Usher 1cd9cafb78 EmuX86: Implement SUB opcode 2017-09-19 13:30:07 +02:00
Luke Usher 5f60dddd8f Allow CxbxPopupMessage to be called with Non-const strings 2017-09-19 13:30:07 +02:00
Luke Usher 7283193101 Allow CxbxPopupMessage to be called with non-const strings 2017-09-19 13:30:07 +02:00
Luke Usher 1e677f30c1 Use a higher precision clock for more accurate VBlank timing 2017-09-19 13:30:07 +02:00
Luke Usher dea313b234 More NV2A Work 2017-09-19 13:30:07 +02:00
Luke Usher a3c6c17c24 Line ending consistency 2017-09-19 13:30:07 +02:00
Luke Usher d573332431 More PGRAPH 2017-09-19 13:30:07 +02:00
Luke Usher c9cc6eced0 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.
2017-09-19 13:30:07 +02:00
Luke Usher abdaf89602 Move interrupt processing thread to CxbxKrnl rather than specific to EmuNV2A 2017-09-19 13:30:07 +02:00
Luke Usher 9fccb952b2 EmuNV2A: Fix a crash caused by a double lock. 2017-09-19 13:30:07 +02:00
Luke Usher ce1ecf1371 More NV2A work 2017-09-19 13:30:07 +02:00
Luke Usher 4465f2a33a 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!
2017-09-19 13:30:07 +02:00
Luke Usher 10f783470c Remove TEST dialog: Not required 2017-09-19 13:30:07 +02:00
Luke Usher a1048d0042 Working towards making Interrupt support more generic/less NV2A specific 2017-09-19 13:30:07 +02:00
Luke Usher 147b293c8c Oops: Interrupt Service Routine was being called with the wrong calling convention. 2017-09-19 13:30:07 +02:00
Luke Usher e36a607009 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.
2017-09-19 13:30:07 +02:00
Luke Usher 6814e2afeb Make sure HLE Vblank doesn't get triggered when LLE is enabled
Make GetNextVBlankTime available to EmuNV2A
2017-09-19 13:30:07 +02:00
Luke Usher 03ce1333a4 More porting from XQEMU.
LLE execution now gets stuck on D3D_BlockOnTime.

Could be lack of interrupts.
2017-09-19 13:30:07 +02:00
Luke Usher fb74bb8e9c Disable CreateDevice/KickPushBuffer patches
Allows NV2A LLE to take over this part of bootup.

NOTE: This needs testing extensively before merging is possible.
2017-09-19 13:30:07 +02:00
Luke Usher 338b627b2b Porting NV2A From QEMU
No PGRAPH emulation yet, but this is enough to get past Direct3D_CreateDevice init.
2017-09-19 13:30:07 +02:00
PatrickvL 0bb636b9e0 Merge remote-tracking branch 'origin/PixelPorting' into PixelPorting 2017-09-19 09:40:15 +02:00
PatrickvL 7cbdd7b430 Allow merging this code by NOT switching over to new pixel shader code yet (it requires more work before this can be enabled). 2017-09-19 09:33:32 +02:00
PatrickvL 09872bf16d 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. 2017-09-19 09:33:31 +02:00
PatrickvL 6d131d5fc0 Finished translation of functional part of Dxbx Pixel Shader conversion code.
(Albeit PSH_XBOX_SHADER::DecodedToString is still incomplete).
2017-09-19 09:33:31 +02:00
PatrickvL 2149e4a4a5 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!
2017-09-19 09:33:31 +02:00
PatrickvL 19b7a5da33 Corrected all other pixel-shader comments which got damaged by a global find&replace 2017-09-19 09:33:31 +02:00
PatrickvL 92f4581d3c Fix global find&replace errors 2017-09-19 09:33:31 +02:00
PatrickvL 5cbf7b61fd Another batch of translation (about 40% to go) 2017-09-19 09:33:30 +02:00
PatrickvL 901d16785e Half-way translating pixel shader conversion code from Dxbx (Delphi) to Cxbx-Reloaded (C++) 2017-09-19 09:33:30 +02:00
PatrickvL a325f6aa87 Back porting of more Dxbx PixelShader conversion types.
Also moved most of the types from PixelShader.h to PixelShader.cpp
2017-09-19 09:33:30 +02:00
PatrickvL 1f966bc7eb More back porting of Dxbx pixel-shader related type definitions and comments 2017-09-19 09:33:30 +02:00