Commit Graph

5171 Commits

Author SHA1 Message Date
Luke Usher c23b3b25fc
Merge pull request #1423 from PatrickvL/newline_cleanup
Cleanup remnants from the FUNC_EXPORTS removal
2018-08-30 15:59:04 +01:00
PatrickvL 361504e97b Cleanup remnants from the FUNC_EXPORTS removal 2018-08-30 16:39:54 +02:00
Luke Usher b40431f976
Merge pull request #1421 from RadWolfie/minor-fixup-for-wm_move
Fix flickering window on move
2018-08-30 07:22:43 +01:00
RadWolfie 44013064e0 Fix flickering window on move
Using this method perform very minor flicker when moving around on screen.
2018-08-29 19:17:40 -05:00
Luke Usher a0cf419193
Merge pull request #1420 from LukeUsher/hle-patching
Split Symbol scanning and patching phases
2018-08-28 18:43:07 +01:00
Luke Usher 2c5873a070 Fix complation after rebase 2018-08-28 16:26:08 +01:00
Luke Usher b00ab30648 Split Symbol scanning and patching phases
This allows for both steps to be completely disconnected, easily
allowing patches to be turned on or off based on a set of flags, as well
as preventing the need to clear the HLE cache when switching from
HLE->LLE.

This also allows patches to be seen/modifed from a central location,
no more searching through the codebase to determine if a function should
be patched or not, and no more 'FUNC_EXPORTS/GetProcAddress' magic!

Currently, this is used for HLE only, but could really shine when
extended to introduce optional detour based logging even when LLE is
enabled.

For example We could easily add a LLE_D3D_DETOUR flag, which when
enabled, patches functions with a wrapper, which simply logs input and
output, calling the original xbox function via a trampoline.

This would be great for debugging, as we'd get a full call trace from
the API level, even when not implementing HLE.

There's also the possibility of mixing in some patches even with LLE
enabled: for a hybrid HLE/LLE solution of the same functionality,
but there are no plans to implement that at this moment of time.
2018-08-28 16:23:53 +01:00
Luke Usher 8a846c357e
Merge pull request #1419 from ergo720/nt_query
Report correctly free/committed placeholder memory
2018-08-27 20:03:23 +01:00
ergo720 e28909e0f5 Report correctly free/committed placeholder memory 2018-08-27 20:00:30 +02:00
Luke Usher 878712c9a0
Merge pull request #1418 from LukeUsher/fix-window-draw
Fix an issue with window redraw when dragging over screen boundary
2018-08-27 18:43:37 +01:00
Luke Usher 22f3cc32f1 Fix an issue with window redraw when dragging over screen boundary 2018-08-27 18:38:47 +01:00
Luke Usher 346c077c87
Merge pull request #1417 from ergo720/vm_existVMA_fix
Removed CheckExistenceVMA, it's actually redundant
2018-08-27 16:08:01 +01:00
ergo720 286ff4612d Removed CheckExistenceVMA, it's actually redundant 2018-08-27 16:51:53 +02:00
RadWolfie 7b8d698fcf
Merge pull request #1413 from RadWolfie/fix-reboot-target-directory
Fix both retail and demo discs with given current directory
2018-08-26 19:42:37 -05:00
PatrickvL 51189b71be
Merge pull request #1415 from ergo720/vm_quick_fix
Count reserved bytes by the xbe image too
2018-08-26 20:03:19 +02:00
PatrickvL b760a9623f
Merge pull request #1414 from ergo720/fix_fable
Add INVLPG to X86 decoder
2018-08-26 20:02:36 +02:00
ergo720 92ffe2fb39 Count reserved bytes by the xbe image too 2018-08-26 19:47:48 +02:00
ergo720 29969913e3 Add INVLPG to X86 decoder 2018-08-26 19:16:27 +02:00
RadWolfie ce6e625954 update comment
Not really a root, more of a current directory
2018-08-26 05:50:19 -05:00
RadWolfie 503b2061ea Fix both retail and demo discs
Following titles are functional: (demos didn't work right before)
* Xbox Demos [XK-001 v1.01]
* Whacked
  * Xbox demos
* RalliSport Challenge
  * Xbox demos
* Quantum Redshift
  * Xbox demos

Confirmed does not regress:
* Xbox dashboard
  * Xbox Live
2018-08-26 04:48:04 -05:00
Luke Usher 02fda3862b
Merge pull request #1411 from ergo720/free_vma_overflow
Check overflow in free VMA
2018-08-26 09:25:24 +01:00
Luke Usher 91ed6995bf
Merge pull request #1412 from RadWolfie/kernel-mount-alt-title-link-fix
Unpatch XMountAlternateTitleA and XMountAlternateTitleA
2018-08-26 09:24:54 +01:00
RadWolfie f842ec8b38 Unpatch XMountAlternateTitleA and XMountAlternateTitleA
Plus fix NtQuerySymbolicLinkObject function.
2018-08-25 17:23:24 -05:00
ergo720 90aaa2a446 Check overflow in free VMA 2018-08-25 16:10:32 +02:00
Luke Usher 7fe7ad4f40
Merge pull request #1404 from LukeUsher/ke-kernel-fixes
General Tweaks/Improvements.
2018-08-25 09:37:45 +01:00
Luke Usher cbf018e990
Merge pull request #1410 from ergo720/fix_ff1
VMManager: allow commiting in the region xbe image - XBE_MAX_VA
2018-08-24 19:13:22 +01:00
Luke Usher 8e77819d17 Prevent double-locking: This is a work-around b/c we don't have CPU emulation to fix it properly yet 2018-08-24 19:11:56 +01:00
ergo720 1921b37310 VMManager: allow commiting in the region xbe image - XBE_MAX_VA 2018-08-24 18:54:02 +02:00
PatrickvL 71cc74a740
Merge pull request #1408 from revel8n/vertex_declaration_fixes
Fix for vertex declaration failures
2018-08-24 07:43:05 +02:00
revel8n 3ad255df4b
Fix for vertex declaration failures due to incorrectly handled Step size for VshConvertToken_CONSTMEM / D3DVSD_CONST
fixes #1381
2018-08-23 18:47:23 -05:00
Luke Usher 74c572f70a Fix deadlock in Sonic Heroes: WaitBlock support is too lacking in the
rest of the kernel.

NOTE: This brings back the previous KeBugCheck issue: Turns out it
wasn't solved by the previous commit, instead, the thread triggering the
error was hanging, preventing the error from appearing. Need to find a
better solution.

Perhaps we need to write our own custom KeWait implementation for now,
rather than attempting to mirror Xbox functionality 1:1. Direct Code
execution severely reduces the viability of an accurate
implementation of this.
2018-08-23 23:40:04 +01:00
Luke Usher 370fdf0d34 Fix unintended comment change 2018-08-23 22:14:34 +01:00
Luke Usher 02c045b4d7 Attempt at fixing KeBugCheck error: Seems to work for WWE2 Raw 2018-08-23 21:58:28 +01:00
ergo720 91ad39e934
Merge pull request #1407 from RadWolfie/fix-dinput-controller-with-spaces
Fix device name since the ending do contain spaces
2018-08-23 19:54:34 +02:00
RadWolfie 062e5b9aaf Fix device name since the ending do contain spaces
This is the only setting has spaces in it.

Other strings, list below, does not have any spaces at beginning and ending.
* VideoResolution
* File paths
2018-08-23 12:34:33 -05:00
RadWolfie e38f381d99 Fix indent alignment 2018-08-23 10:00:15 +01:00
Luke Usher 0d02840ab9 Oops: Fix compilation 2018-08-23 10:00:15 +01:00
Luke Usher 81b2017541 Experimental Chihiro Media Board ROM (Segaboot) support
Currently disabled as it doesn't work yet/is incomplete.
Work will be resumed once LLE OCHI is stable and enabled.

For now, we'll just have to skip Segaboot and launch games directly.
2018-08-23 10:00:15 +01:00
Luke Usher 910bb02b7d Fix a crash when Xbox titles attempt to access CRX registers 2018-08-23 09:59:31 +01:00
Luke Usher 06f860dd30 Don't hardcode AVPack in the kernel, read it from SMC instead 2018-08-23 09:59:31 +01:00
Luke Usher 31e3cea0f7 Fix an issue where AVPack version read from Kernel or Direct from SMC don't match 2018-08-23 09:59:31 +01:00
Luke Usher f6db500c07 Fix an issue where SMC Version String was read incorrectly 2018-08-23 09:59:31 +01:00
Luke Usher fe24e4c344 less log pollution in non-debug levels 2018-08-23 09:59:31 +01:00
Luke Usher 92d5de47aa oops, it doesn't compile without these! 2018-08-23 09:59:31 +01:00
Luke Usher 69527e5f8c Implement CriticalSections + KeWait + KeEvents* without host forwarding 2018-08-23 09:59:31 +01:00
Luke Usher 0620b1a983 Fix CritialSection, implement KeWait*Object as best as we can without custom thread scheduler 2018-08-23 09:59:31 +01:00
Luke Usher 8c9d8e448e
Merge pull request #1405 from RadWolfie/file-path-fix
Fix file path to use RootDirectory properly.
2018-08-23 09:56:51 +01:00
RadWolfie bec2b6bd3b fix indent (spaces to tab)... 2018-08-22 19:33:18 -05:00
RadWolfie 778fcddbe1 perm fix for file path
Turok Evolution now finally able to save the game.

RootDirectory handle is very important role when a title pass down with non-null handle in the structure.

Ideally should not cause any regression.
2018-08-22 19:29:21 -05:00
RadWolfie bde08beea2 workaround fix (for study) 2018-08-22 16:53:02 -05:00