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
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