dolphin/Source/Core
EmptyChaos 83407263e5 HLE/GeckoCode: Add new HLE hook exit trampoline
Dolphin emulates GeckoCodes by fiddling with the CPU state when a
VI Interrupt occurs. The problem with this is that we don't know
where the PC is so it's non-deterministic and not necessarily
suitable for use with the codehandler.

There are two options: Patch the game like Gecko OS either directly
or using HLE::Patch, or use a trampoline so we can branch from any
PC even if it would otherwise not be valid. The problem with Gecko OS
patches is there are 10 of them and they have to be configured
manually (i.e. Game INIs to would need to have a [Core]GeckoHookType
property).

HLE_Misc::GeckoReturnTrampoline enables the Code Handler to be
entered from anywhere, the trampoline restores all the registers that
had to be secretly saved to the stack.
2016-10-03 16:27:42 +11:00
..
AudioCommon Reorganise a ton of logs level 2016-10-01 15:50:28 -04:00
Common Merge pull request #4244 from leoetlino/stm-shutdown 2016-10-02 20:25:13 -07:00
Core HLE/GeckoCode: Add new HLE hook exit trampoline 2016-10-03 16:27:42 +11:00
DiscIO Merge pull request #4245 from aldelaro5/logs-levels-changes 2016-10-02 16:51:44 -04:00
DolphinQt2 Merge pull request #4254 from ligfx/check_errors_postprocessing 2016-10-02 20:42:39 -07:00
DolphinWX Merge pull request #4187 from sepalani/debug_ascii_symbol 2016-10-02 20:57:59 -07:00
InputCommon Reorganise a ton of logs level 2016-10-01 15:50:28 -04:00
UICommon portable.txt enables portable configuration on linux, README updated to 2016-07-04 19:39:10 +10:00
VideoBackends Merge pull request #4240 from lioncash/include 2016-10-02 20:31:35 -07:00
VideoCommon Merge pull request #4245 from aldelaro5/logs-levels-changes 2016-10-02 16:51:44 -04:00
CMakeLists.txt [UI] Remove DolphinQt 2016-01-05 19:42:02 -06:00