Commit Graph

5232 Commits

Author SHA1 Message Date
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
patrickvl 5841042ade X86 : Emulate a bunch of additional instructions (all fences, all jumps and all sets) 2018-09-19 21:19:45 +02:00
Luke Usher dc452eb415 NOT shouldn't set flags 2018-09-19 20:16:53 +01:00
PatrickvL 338879ba96
Merge pull request #1440 from LukeUsher/interpret-larger-blocks
Interpret larger blocks during exception handler to reduce the number of exceptions per-frame
2018-09-18 10:50:57 +02:00
Luke Usher 49e1851323 More opcodes 2018-09-17 20:35:14 +01:00
Luke Usher 521bddba0f
Merge pull request #1437 from PatrickvL/ptimer_fix
nv2a: Ptimer fixes
2018-09-17 13:25:18 +01:00
Luke Usher 075236fbea
Merge pull request #1439 from PatrickvL/vm_fix
Prevent dead-lock in VMManager::AllocateContiguous
2018-09-17 13:24:59 +01:00
PatrickvL a195045e84 Prevent dead-lock in VMManager::AllocateContiguous, by moving the if-IsMappable-goto-Fail line down below the Lock() call, so that we won't Unlock an unlocked critical section (which according to MS documentation, will cause a deadlock on the next call to EnterCriticaSection).
Source https://docs.microsoft.com/en-us/windows/desktop/api/synchapi/nf-synchapi-leavecriticalsection :
"If a thread calls LeaveCriticalSection when it does not have ownership of the specified critical section object, an error occurs that may cause another thread using EnterCriticalSection to wait indefinitely."
2018-09-17 13:12:37 +02:00
Luke Usher 68f1293090 Fix incorrect flag masks in jump instructions 2018-09-15 22:37:35 +01:00
Luke Usher 1413f2960e Fix comment again... Are these comments really needed? Or/Xor/Operands are self-explanatory 2018-09-15 16:39:01 +01:00
Luke Usher 9bac79c44d Fix a compiler warning 2018-09-15 16:24:38 +01:00
Luke Usher b3338288a6 Fix OR->XOR in comment 2018-09-15 16:22:07 +01:00
Luke Usher b8889b6857 Fix a crash on invalid memory accesses 2018-09-15 16:19:50 +01:00
Luke Usher 1102133475 Attempt to interpret code blocks rather than single instructions, reducing MMIO overheads 2018-09-15 12:20:28 +01:00
patrickvl 6af5b65e4a HLE : Extract common CreateDevice code to two separate functions. 2018-09-12 17:03:37 +02:00
patrickvl 7b4dc90b73 nv2a: Ptimer fixes
Ported from https://github.com/xqemu/xqemu/pull/113 by dracc https://github.com/dracc

A few GPU timing related fixes
NV2A crystal frequency is currently set to debug unit speed of 13.5MHz.
Later retail xboxes had a 16.67MHz crystal according to @JayFoxRox's research(?).
Also, current ptimer clock value calculation is flipped around and on top of that always overflows.

With these fixes, running get_timers.py against xqemu reports values close to what real hardware gives.

Proposed changes
Set NV2A_CRYSTAL_FREQ to retail speed
Fix ptimer_get_clock() behaviour
2018-09-12 16:38:53 +02:00
PatrickvL 63f9128ae4
Merge pull request #1436 from faha223/FixArgcChecks
Fixed the argc checks in winmain and CxbxKrnl.cpp
2018-09-11 18:39:11 +02:00
Frederick Arthur Hallock III 440b62d63e Fixed the argc checks in winmain and CxbxKrnl.cpp that were checking against the wrong value. This was preventing the emulator from being launched in Kernel mode. 2018-09-11 12:18:55 -04:00
Luke Usher f798a23a85 Fix wrong calling convention around calls to KeGetPCR 2018-09-10 11:24:53 +01:00
PatrickvL db8cf258ba
Merge pull request #1434 from PatrickvL/d3d_plugins
Implemented drawing plugins
2018-09-08 08:07:59 +02:00
PatrickvL 7ccd90e2bd Implemented drawing plugins by moving HLE and LLE push buffer drawing into separate functions and passing HLE pushbuffer command handling on to the LLE pgraph method handler.
Also removed a few unused symbols (X_D3DRESOURCE_LOCK_PALETTE, extern EmuUpdateActiveTextureStages, g_bBadIndexData)
2018-09-07 10:48:19 +02:00
Luke Usher b46a82b23a
Removed Debug builds
Having multiple build types for each branch is proving to be confusing for some users. 

Ever since we implemented #1388, there has been no end-user benefit for using Debug builds, as they can get the same logging result by toggling the log level to Debug
2018-09-06 08:12:46 +01:00
RadWolfie 3c8169b076
Merge pull request #1427 from RadWolfie/Use-SimpleIni-class-for-Symbol-Cache-File
Use SimpleIni class for symbol cache file
2018-09-04 12:52:05 -05:00
RadWolfie 1e555bec3f Update UI and internal task to clear cache 2018-09-04 02:15:07 -05:00
RadWolfie 8ff36ffbef Include missing copyright authors 2018-09-03 21:47:32 -05:00
RadWolfie de347a1719 Replace Windows API to SimpleIni class
Plus also replace spaces to tabs in edited functions.
2018-09-03 21:46:57 -05:00
RadWolfie eff6da7551
Merge pull request #1426 from RadWolfie/move-source-files-to-their-own-folder-part1-of-2
Move source files to their own folder part1.2
2018-09-02 09:54:11 -05:00
RadWolfie 75ac4079aa Oops missed one link fixup 2018-09-02 09:44:18 -05:00
RadWolfie de1633dab5 Move D3D8 and Direct3D9 files into its own folder 2018-09-02 09:10:30 -05:00
RadWolfie 385e0c612d Oops 2018-09-02 06:55:23 -05:00
PatrickvL aeca7066bc
Updated readme
Changed Direct3D 8 into Direct3D 9
Removed d3d8to9 mention
2018-09-02 08:22:48 +02:00
RadWolfie 4ea37624a6
Merge pull request #1425 from RadWolfie/move-source-files-to-their-own-folder-part1
Move source files to their own folder (Part 1)
2018-09-01 15:12:18 -05:00
RadWolfie a2c667f706 Final clean up except for D3D8 files. 2018-09-01 14:49:03 -05:00
RadWolfie a89f702d1e Add D3D8 filter to visual studio 2018-09-01 14:23:18 -05:00
RadWolfie f083da6666 Move XGraphic to its own folder 2018-09-01 14:22:58 -05:00
RadWolfie 81d3ae8510 Move XOnline files to its own folder 2018-09-01 14:11:37 -05:00
RadWolfie dc24c3f1c1 Move XActEng files to its own folder 2018-09-01 13:34:50 -05:00
RadWolfie 696dc019d5 Fix file path comments 2018-09-01 12:55:13 -05:00
RadWolfie ba9dd0b399 Move XInput plugin in OHCI folder 2018-09-01 12:47:53 -05:00
RadWolfie a650e1e4f3 Move Xapi, XInput, and DInput into their own folder
Both XInput and DInput are migrated together. It's best to keep them in XInput folder.

As for Xapi files, may not require any plugin? Or possible put into their own folder?
2018-09-01 11:54:58 -05:00
RadWolfie 5ff6e9e6b5 Move DirectSound plugin to its own folder
Will eventually need to separate the APIs and its classes into a generic class.
2018-09-01 11:54:58 -05:00
RadWolfie ce67dea010 Move HLE's Intercept and Patches to their own folder
First step to organize the filesystem! (Beside hardware files has its own directory, good job!)
2018-09-01 11:54:58 -05:00
Luke Usher 9d6843f043
Merge pull request #1424 from LukeUsher/fix-depth-issues-cb-woc
Quick patch to fix Depth-Buffer issues in Crash Bandicoot: The Wrath of Cortex
2018-09-01 14:41:04 +01:00
Luke Usher f2b3a01210 Quick patch to fix Depth-Buffer issues in Crash Bandicoot: The Wrath of
Cortex (and likely many others)

Calling the unpatched trampoline of the patched function is enough to
solve the issue: This further enforces that unpatching these functions
and reading from NV2A state is the right thing to do, work will continue
on that as a seperate branch.
2018-09-01 14:33:50 +01:00
Luke Usher 9172cef216
Merge pull request #1400 from revel8n/shader_improvements
Shader improvements (Pixel Shader 2.0)
2018-08-30 21:39:47 +01:00