diff --git a/src/xenia/kernel/modules/xboxkrnl/module.cc b/src/xenia/kernel/modules/xboxkrnl/module.cc index 25e199d16..d1f8ffea1 100644 --- a/src/xenia/kernel/modules/xboxkrnl/module.cc +++ b/src/xenia/kernel/modules/xboxkrnl/module.cc @@ -134,6 +134,15 @@ XboxkrnlModule::XboxkrnlModule(Runtime* runtime) : XESETUINT16BE(mem + pXboxKrnlVersion + 2, 0xFFFF); XESETUINT16BE(mem + pXboxKrnlVersion + 4, 0xFFFF); XESETUINT16BE(mem + pXboxKrnlVersion + 6, 0xFFFF); + + // KeTimeStampBundle (ad) + uint32_t pKeTimeStampBundle = xe_memory_heap_alloc(memory_, 0, 24, 0); + resolver->SetVariableMapping( + "xboxkrnl.exe", ordinals::KeTimeStampBundle, + pKeTimeStampBundle); + XESETUINT64BE(mem + pKeTimeStampBundle + 0, 0); + XESETUINT64BE(mem + pKeTimeStampBundle + 8, 0); + XESETUINT32BE(mem + pKeTimeStampBundle + 12, 0); } XboxkrnlModule::~XboxkrnlModule() { diff --git a/src/xenia/kernel/modules/xboxkrnl/xboxkrnl_debug.cc b/src/xenia/kernel/modules/xboxkrnl/xboxkrnl_debug.cc index 76db2932d..90951e4e9 100644 --- a/src/xenia/kernel/modules/xboxkrnl/xboxkrnl_debug.cc +++ b/src/xenia/kernel/modules/xboxkrnl/xboxkrnl_debug.cc @@ -204,7 +204,7 @@ SHIM_CALL DbgPrint_shim( local[0] = '\0'; strncat(local, start, end + 1 - start); - XEASSERT(arg_size == 0); + XEASSERT(arg_size == 4); if (arg_extras == 0) { uint32_t value = arg_index < 7 ? SHIM_GET_ARG_32(1 + arg_index) diff --git a/src/xenia/kernel/modules/xboxkrnl/xboxkrnl_module.cc b/src/xenia/kernel/modules/xboxkrnl/xboxkrnl_module.cc index abee49775..ba585db72 100644 --- a/src/xenia/kernel/modules/xboxkrnl/xboxkrnl_module.cc +++ b/src/xenia/kernel/modules/xboxkrnl/xboxkrnl_module.cc @@ -38,6 +38,11 @@ X_STATUS xeExGetXConfigSetting( case 0x0003: // XCONFIG_USER_CATEGORY switch (setting) { + case 0x0009: + // Language + setting_size = 4; + value = 0x00000001; // English + break; case 0x000A: // VideoFlags setting_size = 4;