summaryrefslogtreecommitdiff
path: root/Source/Core/AudioCommon/OpenALStream.cpp
diff options
context:
space:
mode:
authorEmptyChaos <EmptyChaos@users.noreply.github.com>2016-09-25 03:03:25 +0000
committerEmptyChaos <EmptyChaos@users.noreply.github.com>2016-10-03 16:27:42 +1100
commit83407263e59450b940d3df7d98c022e77c25726e (patch)
tree32cc1864aea343d903e9e019af9be53927e0baa0 /Source/Core/AudioCommon/OpenALStream.cpp
parent249d8a76e163c7b899f5f636cddc8bc913624224 (diff)
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.
Diffstat (limited to 'Source/Core/AudioCommon/OpenALStream.cpp')
0 files changed, 0 insertions, 0 deletions