Luke Usher
d5c83bd12b
Merge pull request #1463 from LukeUsher/tweaks-fixes
...
Implement STOS, Inline OutputDebugStringA & Fix Vertex Declaration oversight
2018-10-05 13:15:12 +01:00
Luke Usher
04bc37589f
Oops: badly named variables caused confusion: OriginalDeclarationSize was a count, HostDeclarationSize was actual size
2018-10-05 08:56:56 +01:00
Luke Usher
f8b1c890be
Oops, it was also falling-through to sub
2018-10-04 23:06:34 +01:00
Luke Usher
5797cdd6c1
Oops: STOS was very slightly broken
2018-10-04 23:06:30 +01:00
Luke Usher
e1210de04e
Implement int2dh, int3 combination for in-lined OutputDebugStringA
2018-10-04 23:06:18 +01:00
Luke Usher
d6a44b6c72
Oops: STOS was not returning true on success..
2018-10-04 23:06:09 +01:00
Luke Usher
bd14740bbe
Implement (REP)STOS: This is used extensively by USB code
2018-10-04 23:05:32 +01:00
PatrickvL
c4511563da
NV2A : clear is now pluggable too
2018-10-04 18:19:02 +02:00
PatrickvL
becac6d4c8
Remove duplicate call to CxbxUpdateNativeD3DResources
2018-10-04 10:13:58 +02:00
PatrickvL
97878f4396
Added a few test-case comments to PGRAPH
2018-10-04 10:13:58 +02:00
PatrickvL
40a543b9b5
Merge pull request #1460 from LukeUsher/d3d-tweaks
...
Detect and fix the situation when EmuD3DDeferrdRenderState is derived incorrectly
2018-10-03 22:03:56 +02:00
Luke Usher
cbb2bce17f
Update XbSymbolDatabase again + fix a crash when SetViewPort is called with a null value
2018-10-03 19:57:21 +01:00
Luke Usher
de87ffd1e4
Update XbSymbolDatabase submodule
2018-10-02 16:18:04 +01:00
Luke Usher
b91ebafd97
Detect and fix incorrect EmuD3DDeferredRenderState. Requires XbSymbolDatabase PR #44 to be merged first
2018-10-02 16:09:36 +01:00
PatrickvL
78a49202f9
Merge pull request #1458 from LukeUsher/d3d-tweaks
...
Various fixes/improvements to D3D HLE
2018-10-02 13:23:39 +02:00
Luke Usher
1c78e5bced
Various fixes/improvements to D3D HLE
...
The key change is that more of the D3D state is written back to the
internal Xbox D3D state, allowing GetXXX functions to return the correct
values, and that GetVertexShaderDeclaration now returns the correct size
to the running Xbox title.
Note that this needs testing with as many titles as possible: The
additional trampolines may cause regressions if they hit an
unimplemented instruction in subhook (eg. I had to update Subhook to add
xor, in order to be able to make this PR work at all)
2018-10-02 11:01:05 +01:00
Luke Usher
da5e977d45
Merge pull request #1455 from PatrickvL/fix_Turok_movie
...
HLE overlay fix for Turok
2018-09-28 13:08:47 +01:00
PatrickvL
c8b09130ae
HLE overlay fix for Turok, by reading color-space conversion from PGRAPH (for which handling was added to NV097_SET_CONTROL0). This allowed removal of the D3DDevice_SetRenderState_YuvEnable patch.
...
Note, that we're still not doing anything special regarding color-space conversions; This is just an accuracy change.
This fixes #1435 .
PS : Now that we're reading more and more state from PGRAPH (even under HLE GPU) we really need a push-buffer flush function!
2018-09-28 13:46:51 +02:00
Luke Usher
2918526586
Merge pull request #1454 from LukeUsher/x86-tweaks
...
X86 tweaks: Fixes WWE Raw LLE regression
2018-09-27 22:36:50 +01:00
Luke Usher
42aae20d8e
Oops, we sign-extended the wrong value for ADD. This fixes 4627 graphics
2018-09-27 22:31:18 +01:00
Luke Usher
cd22ba6145
This fixes 4627 vertices sample when executing 3 instructions in a batch.
...
We're on the right lines here, however, WWE Raw and all XDK samples regressed further, despite the above
improvement.
Stack corruption now happens for most software with while(true).
Perhaps there's an extra condition on sign-extension that we're not checking for?
2018-09-27 22:21:32 +01:00
Luke Usher
ae572166f1
Merge pull request #1453 from PatrickvL/more_x86
...
More x86 logging improvements
2018-09-27 20:43:19 +01:00
PatrickvL
2fb98429e6
X86 : Log segments and prefixes
2018-09-27 18:28:54 +02:00
PatrickvL
795b0a5a5e
X86 : Log when starting instruction emulation, and log before assert(false), also insert missing newlines
2018-09-27 15:21:29 +02:00
Luke Usher
d3e2e7d475
Merge pull request #1452 from PatrickvL/x86_asserts
...
Added X86 asserts
2018-09-27 12:47:41 +01:00
PatrickvL
48cb6c8ba2
X86 : Removed special-casing for is_register (doesn't seem to be needed), added asserts everywhere we're unsure of the input, simplified EmuX86_Opcode_CMPXCHG accessing EAX, fixed logging O_MEM without a base.
2018-09-27 13:22:34 +02:00
PatrickvL
6e1432f644
Merge pull request #1449 from LukeUsher/use-native-flags
...
Have the host CPU computer flags for us
2018-09-26 15:24:29 +02:00
Luke Usher
427cf4e513
Fi CMPXCHG
2018-09-25 22:30:34 +01:00
Luke Usher
bf9b7a26f6
Minor tweaks
2018-09-25 22:30:34 +01:00
Luke Usher
d5ac1040ca
Fix an issue where non 32-bit register reads/writes would use the wrong bits
2018-09-25 22:30:34 +01:00
Luke Usher
dde8c8b71c
Minor instruction tweaks/fixes
2018-09-25 22:30:34 +01:00
Luke Usher
9566f85767
Have the host CPU computer flags for us
2018-09-25 22:30:33 +01:00
Luke Usher
42504ed309
Merge pull request #1451 from PatrickvL/x86_logging
...
X86 logging
2018-09-25 22:24:01 +01:00
PatrickvL
fc3f0161bf
X86 : Improved instruction dumping
2018-09-24 15:19:59 +02:00
PatrickvL
9487ec09a7
X86 : Implemented NEG opcode
2018-09-24 12:52:31 +02:00
PatrickvL
17fdc8e01d
Logging : Renamed DbgPrintf to DBG_PRINTF (it's a macro after all), introduced Ex-tended versions of a few macro's, which accept something else than LOG_PREFIX and removed and/or applied LOG_PREFIX where appropriate. Also applied LOG_CHECK_ENABLED in EmuX86 to avoid slowdowns when X86 debug logging is disabled.
2018-09-24 11:26:30 +02:00
Luke Usher
ac719e2a40
Merge pull request #1445 from PatrickvL/X86_expand
...
X86 expand
2018-09-22 22:53:35 +01:00
Luke Usher
2e58a218ea
Fix hang while exiting emulation: CxbxKrnlShutdown was not called from WM_CLOSE...
2018-09-22 21:30:30 +01:00
Luke Usher
8c5b262e84
Change X86 log from info too Debug
2018-09-21 21:21:22 +01:00
Luke Usher
614a2c1792
Fix push/pop/jmp/jcc: HLE XDK samples + dashboard work again
2018-09-21 20:01:44 +01:00
PatrickvL
381e478862
X86 : Added instruction dumping to better see where our emulation goes haywire. As a result, PC-relative address decoding turned out to be faulty - let's see what else needs correcting...
2018-09-21 15:00:57 +02:00
PatrickvL
3216fac4ad
X86 : Restored indent (by request of Radwolfie)
2018-09-20 18:20:30 +02:00
PatrickvL
6782c89b62
X86 : Implemented CDQ, POP, PUSH and SAR, sorted CLI and STI and crash (instead of hang) when the initial (exception-causing instruction) is unhandled
2018-09-20 17:52:23 +02:00
PatrickvL
3d203d1d56
X86 : Sorted interpreted opcodes, implemented instructions I_JMP_FAR and I_RDTSC, refactored to use the emulation of RDSTC elsewhere, renamed SXX to SETcc, renamed JXX to Jcc, mention Distorm instruction numbers in comments
2018-09-20 15:13:37 +02:00
PatrickvL
ca32db6be4
Merge pull request #1444 from RadWolfie/develop
...
D3D8(LTCG) signatures update and small clean up of scanning process
2018-09-19 23:53:05 +02:00
RadWolfie
d908075573
Sync with XbSymbolDatabase module
2018-09-19 15:03:13 -05:00
Luke Usher
70a4a8602a
Merge pull request #1443 from PatrickvL/avoid_cpu_hang
...
X86 : Emulate a bunch of additional instructions (all fences, all jum…
2018-09-19 20:52:42 +01:00
Luke Usher
c99d7341bc
Merge pull request #1441 from PatrickvL/CreateDevice_refactoring
...
HLE : Extract common CreateDevice code to two separate functions.
2018-09-19 20:34:07 +01:00
patrickvl
c8f3f53667
X86 : Emulate SHL
2018-09-19 21:28:55 +02:00
Luke Usher
d053f9c827
Merge pull request #1442 from LukeUsher/not-shouldnt-set-flags
...
NOT shouldn't set flags
2018-09-19 20:21:29 +01:00