summaryrefslogtreecommitdiffstats
path: root/src/core/hle
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/function_wrappers.h4
-rw-r--r--src/core/hle/svc.cpp6
2 files changed, 6 insertions, 4 deletions
diff --git a/src/core/hle/function_wrappers.h b/src/core/hle/function_wrappers.h
index cd500e83d..cb0b430ee 100644
--- a/src/core/hle/function_wrappers.h
+++ b/src/core/hle/function_wrappers.h
@@ -267,9 +267,9 @@ void Wrap() {
func(((s64)PARAM(1) << 32) | PARAM(0));
}
-template <void func(const char*, int len)>
+template <void func(VAddr, int len)>
void Wrap() {
- func((char*)Memory::GetPointer(PARAM(0)), PARAM(1));
+ func(PARAM(0), PARAM(1));
}
template <void func(u8)>
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 61360bede..37eeeb860 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -619,8 +619,10 @@ static void Break(u8 break_reason) {
}
/// Used to output a message on a debug hardware unit - does nothing on a retail unit
-static void OutputDebugString(const char* string, int len) {
- LOG_DEBUG(Debug_Emulated, "%.*s", len, string);
+static void OutputDebugString(VAddr address, int len) {
+ std::vector<char> string(len);
+ Memory::ReadBlock(address, string.data(), len);
+ LOG_DEBUG(Debug_Emulated, "%.*s", len, string.data());
}
/// Get resource limit