From 12b2dc153eecdb16cac7376b13764c50ac120d6e Mon Sep 17 00:00:00 2001 From: Ben Vanik Date: Fri, 24 May 2013 23:43:11 -0700 Subject: [PATCH] Disabling the faked KeDebugMonitorData. --- src/xenia/kernel/modules/xboxkrnl/module.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/xenia/kernel/modules/xboxkrnl/module.cc b/src/xenia/kernel/modules/xboxkrnl/module.cc index b28e109bd..7902ad715 100644 --- a/src/xenia/kernel/modules/xboxkrnl/module.cc +++ b/src/xenia/kernel/modules/xboxkrnl/module.cc @@ -60,12 +60,13 @@ XboxkrnlModule::XboxkrnlModule(Runtime* runtime) : uint8_t* mem = xe_memory_addr(memory_, 0); // KeDebugMonitorData (?*) - // I'm not sure what this is for, but games make sure it's not null and - // exit if it is. + // Set to a valid value when a remote debugger is attached. + // Offset 0x18 is a 4b pointer to a handler function that seems to take two + // arguments. If we wanted to see what would happen we could fake that. resolver->SetVariableMapping( "xboxkrnl.exe", 0x00000059, 0x80102100); - XESETUINT32BE(mem + 0x80102100, 0x1); + XESETUINT32BE(mem + 0x80102100, 0); // XboxHardwareInfo (XboxHardwareInfo_t, 16b) // flags cpu# ? ? ? ? ? ?