Commit Graph

6497 Commits

Author SHA1 Message Date
Luke Usher efe42f4eba
Merge pull request #1985 from CookiePLMonster/fix-rdtsc-overflow
Make RDTSC and ACPI timers stateful to fix overflows
2020-10-13 19:16:29 +01:00
Silent 0d1a8e3afd
Make RDTSC and ACPI timers stateful to fix overflows
Stateless RDTSC and ACPI timers were ticking relative
to the host QPC and multiplied to nanoseconds.
This resulted in values so huge they would overflow since
20-30 minutes.

Introducing state allows to multiply to nanoseconds only over
a delta value, which should be reasonably small in almost call cases.
2020-10-12 18:26:29 +02:00
Luke Usher 7767250624
Merge pull request #1987 from ergo720/mem_page_usage_fix
Memory manager fixes
2020-10-12 08:46:08 +01:00
Luke Usher 756ad91cbe
Merge pull request #1976 from CookiePLMonster/set-texture-ltcg
Add several D3D8LTCG function variations for xdk-3911
2020-10-12 08:41:01 +01:00
ergo720 dd5a029ee6 Restore correctly the pfn database during reboots when using the debug layout 2020-10-11 23:33:43 +02:00
ergo720 cd918389a4 Restore correct page usage upon xbe reboot 2020-10-11 21:29:49 +02:00
ergo720 0a3dd68191 Use UnknownType page usage for the pfn pages 2020-10-11 19:38:08 +02:00
RadWolfie 216b5c274e
Merge pull request #1983 from CookiePLMonster/mixbin-improvements
Improvements to old style (mask based) mixbin
2020-10-11 09:27:58 -05:00
Silent 2d649c969f
Improve mixbin handling for Revision 1 mixbin
Added an union combining both a pointer to new mixbins
and a mixbin mask, and a function to convert to the new format.
This allows to initialize mixbins for Revision 1 XDKs too.

Implements IDirectSoundBuffer_SetMixBinVolumes_12 and
CDirectSoundStream_SetMixBinVolumes_12.
2020-10-11 15:43:38 +02:00
RadWolfie 24c4e3d0a7
Merge pull request #1970 from LukeUsher/optional-maintain-aspect-ratio
Allow users to disable aspect ratio correction
2020-10-11 07:07:59 -05:00
RadWolfie 1887f3ac29
Merge pull request #1984 from CookiePLMonster/fix-setbufferdata-deadlock
IDirectSoundBuffer_SetBufferData: Stop the sound before waiting for finish
2020-10-11 06:12:51 -05:00
Silent a4c4719a19
IDirectSoundBuffer_SetBufferData: Stop the sound before waiting for it to end 2020-10-11 12:20:44 +02:00
Silent ad6438f936
Fix issues related to volume getting/setting
Not adding headroom to volume in HybridDirectSoundBuffer_SetMixBinVolumes_8
caused the sound to be attenuated by the headroom value every time
it was updated.
2020-10-11 00:21:46 +02:00
Luke Usher a380927fba
Merge pull request #1981 from CookiePLMonster/fix-ivb-zeroing
Actually zero g_InlineVertexBuffer_Table[0]
2020-10-09 21:22:41 +01:00
Silent fd490e9929
Actually zero g_InlineVertexBuffer_Table[0]
Operator= invoked default constructors where available,
and a default constructor for D3DXVECTOR4 does nothing.
memset/memcpy zeroes and copies the entire structure for real.
2020-10-09 22:15:15 +02:00
Silent ec8c930ebc
Update XbSymbolDatabase submodule
Add a signature for D3DDevice_DrawIndexedVertices for xdk-3911 LTCG
2020-10-09 17:39:25 +02:00
Luke Usher 2c72faad81
Merge pull request #1977 from CookiePLMonster/new-rdtsc-pattern
Add a new rdtsc pattern based on NASCAR Heat 2002 logs
2020-10-08 22:03:02 +01:00
Luke Usher 4271a857cc settings: better if statements for settings versioning 2020-10-08 13:43:36 +01:00
Luke Usher a0ae63d030 settings: use if statements rather than switch/case 2020-10-08 09:20:54 +01:00
Silent 665dc37877
Implemented D3DDevice_SetVertexShader_0
LTCG version of D3DDevice_SetVertexShader which passes
Handle in EBX
2020-10-07 19:11:02 +02:00
Silent 13d79192c8
Implemented D3DDevice_DrawVerticesUP_12
LTCG version of D3DDevice_DrawVerticesUP which passes
pVertexStreamZeroData in EBX
2020-10-07 18:56:29 +02:00
Silent ad3c042df2
Add a new rdtsc pattern based on NASCAR Heat 2002 logs
New pattern detects the following:

rdtsc
mov address, eax
2020-10-06 21:30:58 +02:00
Silent 05bae29ec3
Add a proper D3DDevice_SetStreamSource for xdk-391 LTCG
The signature was correct, but it was redirecting to a wrong
version of SetStreamSource. The correct version passes the first
argument in EDX.
2020-10-06 21:04:06 +02:00
Silent 556a65f1dc
Fix wrong D3DDevice_SetVertexShaderConstant_8 implementation
The assumption that one of the parameters has to be taken from EDX
was correct, but the function was not implemented properly
2020-10-06 19:22:02 +02:00
Silent 3fdfa89812
Implement LTCG D3DDevice::SetTexture for xdk-3911
Test case: NASCAR Heat 2002
2020-10-06 19:22:02 +02:00
Silent 24fa7dc935
D3DDevice_SetTexture_4: Fix Xbox implementation call 2020-10-06 18:50:39 +02:00
ergo720 13bd79f930
Use fixed width types for xbox types + restructured kernel header files (#1969)
* VOID -> void_xt

* CHAR, CCHAR -> char_xt, cchar_xt

* UCHAR -> uchar_xt

* BYTE, BOOLEAN -> byte_xt, boolean_xt

* Fix bogus intellisense errors in the kernel headers

* SHORT, CSHORT, USHORT -> short_xt, cshort_xt, ushort_xt

* LONG -> long_xt

* WORD, DWORD -> word_xt, dword_xt

* HRESULT -> hresult_xt

* ULONG -> ulong_xt

* SIZE_T, ACCESS_MASK, PHYSICAL_ADDRESS -> size_xt, access_mask_xt, physical_address_xt

* UINT, INT -> uint_xt, int_xt

* LONG_PTR, ULONG_PTR, INT_PTR -> long_ptr_xt, ulong_ptr_xt, int_ptr_xt

* LONGLONG, ULONGLONG -> longlong_xt, ulonglong_xt

* WCHAR, QUAD, BOOL, FLOAT -> wchar_xt, quad_xt, bool_xt, float_xt

* Updated types in xonline.h + reverted some type changes + moved kernel header files in cxbxr source tree

* Use char16_t instead of wchar_t for wchar_xt xbox type

* Fixed macro redefinition warnings from ntstatus macros in types.h
  Fixed macro redefinition warnings from NT_SUCCESS and FIELD_OFFSET
  Fixed macro redefinition warnings from the REG_ macros used by the eeprom

* NTSTATUS -> ntstatus_xt
2020-10-06 05:33:16 -05:00
Luke Usher 8a1e4b1beb
Merge pull request #1974 from RadWolfie/symbolscan-fix
Fix Symbol Scan's Kernel Thunk Bug
2020-10-06 10:11:50 +01:00
Luke Usher f8e0b73e23
Merge pull request #1975 from CookiePLMonster/CC-005-rdtsc-false-positive
Add an rdtsc false positive check for Group S Challenge [CC-005] [1.05]
2020-10-06 10:11:06 +01:00
Silent 0a46366c22
Add an rdtsc false positive check for Group S Challenge [CC-005] [1.05] 2020-10-05 21:45:59 +02:00
RadWolfie 746a7e6450 hle: move MapThunkTable after EmuHLEIntercept plus fix hidden xbeType bug to use directly xbe type than system type. 2020-10-05 11:24:22 -05:00
RadWolfie 200c614d21 hle: fix a crash if move before MapThunkTable call 2020-10-05 11:24:22 -05:00
RadWolfie 31fd0600b6 hle: let EmuLog handler handle debug messages 2020-10-05 11:08:59 -05:00
Luke Usher a852c3ef9d
Merge pull request #1972 from CookiePLMonster/fix-thread-id
PsCreateSystemThreadEx: Fill dwThreadId immediately after creating the thread
2020-10-05 07:22:13 +01:00
Silent bd759e5858
PsCreateSystemThreadEx: Fill dwThreadId immediately after creating the thread 2020-10-04 23:47:10 +02:00
Luke Usher 550df54b77 indenting tweaks 2020-10-01 11:58:48 +01:00
Luke Usher da4e1a3aec indenting tweaks 2020-10-01 11:53:49 +01:00
Luke Usher 42dc0c0fc9 update settings version 2020-10-01 11:40:04 +01:00
Luke Usher ecc6669158 Allow users to disable aspect ratio correction
This replaces the unused 'Hardware YUV overlay' option in the video settings.
2020-10-01 08:57:57 +01:00
RadWolfie ea7007090c
Merge pull request #1968 from x1nixmzeng/fix-debugger-launch
Fix for starting with debugger
2020-09-25 19:23:05 -05:00
x1nixmzeng 6c56bcfcf3 Fix for missing embedded resources in designer 2020-09-25 23:49:12 +01:00
x1nixmzeng 2c16a3f1b6 Fixed the launch argument processing done by the debugger 2020-09-25 20:41:28 +01:00
Luke Usher 44f1e0937c
Merge pull request #1967 from RadWolfie/cleanup-includes
Remove unnecessary includes since they are handled from CMake end
2020-09-25 12:30:36 +01:00
RadWolfie 5af26d23f5 cmake: fix includes for libtommath and libtomcrypt 2020-09-25 05:20:27 -05:00
RadWolfie c48484c135 cmake: remove unnecessary includes since they are handled 2020-09-25 04:34:25 -05:00
Luke Usher e34c990ff4
Merge pull request #1966 from RadWolfie/move-to-submodule
Move xxHash to Submodule
2020-09-25 10:14:57 +01:00
RadWolfie 5aad40ce9d move xxHash to submodule 2020-09-25 03:38:29 -05:00
Luke Usher abe0c827d3
Merge pull request #1965 from RadWolfie/update-submodule
Update XbSymbolDatabase Submodule
2020-09-25 07:15:55 +01:00
RadWolfie eaeb521bd9 update XbSymbolDatabase submodule 2020-09-24 14:10:24 -05:00
RadWolfie abb50d6f99
Merge pull request #1964 from ergo720/mouse_input
Re-enable Mouse Support
2020-09-24 05:16:11 -05:00