summaryrefslogtreecommitdiffstats
path: root/src/core/arm/dynarmic
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2016-09-15 23:58:06 +0200
committerbunnei <bunneidev@gmail.com>2016-09-15 23:58:06 +0200
commit1b95f61d82da17f691cc70cc108a08bef0831abd (patch)
treebb57f41d9d26c4a75059f28165acaff88cfde652 /src/core/arm/dynarmic
parentmicroprofile: Double buffer size to 16MB. (diff)
downloadyuzu-1b95f61d82da17f691cc70cc108a08bef0831abd.tar
yuzu-1b95f61d82da17f691cc70cc108a08bef0831abd.tar.gz
yuzu-1b95f61d82da17f691cc70cc108a08bef0831abd.tar.bz2
yuzu-1b95f61d82da17f691cc70cc108a08bef0831abd.tar.lz
yuzu-1b95f61d82da17f691cc70cc108a08bef0831abd.tar.xz
yuzu-1b95f61d82da17f691cc70cc108a08bef0831abd.tar.zst
yuzu-1b95f61d82da17f691cc70cc108a08bef0831abd.zip
Diffstat (limited to 'src/core/arm/dynarmic')
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic.cpp b/src/core/arm/dynarmic/arm_dynarmic.cpp
index a9cb973df..a521aec7c 100644
--- a/src/core/arm/dynarmic/arm_dynarmic.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic.cpp
@@ -87,14 +87,21 @@ void ARM_Dynarmic::SetVFPReg(int index, u32 value) {
}
u32 ARM_Dynarmic::GetVFPSystemReg(VFPSystemRegister reg) const {
- // TODO(bunnei): ImplementMe
- UNIMPLEMENTED();
- return 0;
+ if (reg == VFP_FPSCR) {
+ return jit->Fpscr();
+ }
+
+ // Dynarmic does not implement and/or expose other VFP registers, fallback to interpreter state
+ return interpreter_state->VFP[reg];
}
void ARM_Dynarmic::SetVFPSystemReg(VFPSystemRegister reg, u32 value) {
- // TODO(bunnei): ImplementMe
- UNIMPLEMENTED();
+ if (reg == VFP_FPSCR) {
+ jit->SetFpscr(value);
+ }
+
+ // Dynarmic does not implement and/or expose other VFP registers, fallback to interpreter state
+ interpreter_state->VFP[reg] = value;
}
u32 ARM_Dynarmic::GetCPSR() const {