Merge branch 'master' into d3d12
This commit is contained in:
40
src/xenia/kernel/xboxkrnl/xboxkrnl_hid.cc
Normal file
40
src/xenia/kernel/xboxkrnl/xboxkrnl_hid.cc
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "xenia/base/logging.h"
|
||||
#include "xenia/kernel/kernel_state.h"
|
||||
#include "xenia/kernel/util/shim_utils.h"
|
||||
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
|
||||
#include "xenia/xbox.h"
|
||||
|
||||
namespace xe {
|
||||
namespace kernel {
|
||||
namespace xboxkrnl {
|
||||
|
||||
dword_result_t HidReadKeys(dword_t unk1, unknown_t unk2, unknown_t unk3) {
|
||||
/* TODO(gibbed):
|
||||
* Games check for the following errors:
|
||||
* 0xC000009D - translated to 0x48F - ERROR_DEVICE_NOT_CONNECTED
|
||||
* 0x103 - translated to 0x10D2 - ERROR_EMPTY
|
||||
* Other errors appear to be ignored?
|
||||
*
|
||||
* unk1 is 0
|
||||
* unk2 is a pointer to &unk3[2], possibly a 6-byte vuffer
|
||||
* unk3 is a pointer to a 20-byte buffer
|
||||
*/
|
||||
return 0xC000009D;
|
||||
}
|
||||
DECLARE_XBOXKRNL_EXPORT(HidReadKeys, ExportTag::kStub);
|
||||
|
||||
void RegisterHidExports(xe::cpu::ExportResolver* export_resolver,
|
||||
KernelState* kernel_state) {}
|
||||
|
||||
} // namespace xboxkrnl
|
||||
} // namespace kernel
|
||||
} // namespace xe
|
||||
@@ -86,6 +86,7 @@ XboxkrnlModule::XboxkrnlModule(Emulator* emulator, KernelState* kernel_state)
|
||||
RegisterDebugExports(export_resolver_, kernel_state_);
|
||||
RegisterErrorExports(export_resolver_, kernel_state_);
|
||||
RegisterHalExports(export_resolver_, kernel_state_);
|
||||
RegisterHidExports(export_resolver_, kernel_state_);
|
||||
RegisterIoExports(export_resolver_, kernel_state_);
|
||||
RegisterMemoryExports(export_resolver_, kernel_state_);
|
||||
RegisterMiscExports(export_resolver_, kernel_state_);
|
||||
|
||||
@@ -33,6 +33,8 @@ void RegisterErrorExports(xe::cpu::ExportResolver* export_resolver,
|
||||
KernelState* kernel_state);
|
||||
void RegisterHalExports(xe::cpu::ExportResolver* export_resolver,
|
||||
KernelState* kernel_state);
|
||||
void RegisterHidExports(xe::cpu::ExportResolver* export_resolver,
|
||||
KernelState* kernel_state);
|
||||
void RegisterIoExports(xe::cpu::ExportResolver* export_resolver,
|
||||
KernelState* kernel_state);
|
||||
void RegisterMemoryExports(xe::cpu::ExportResolver* export_resolver,
|
||||
|
||||
@@ -869,4 +869,67 @@ XE_EXPORT(xboxkrnl, 0x00000357, XAudioGetDuckerHoldTime,
|
||||
XE_EXPORT(xboxkrnl, 0x00000358, XAudioSetDuckerHoldTime, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000359, DevAuthShouldAlwaysEnforce, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000035A, XAudioGetUnderrunCount, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000035B, DrvSetAudioLatencyCallback, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000035C, XVoicedIsActiveProcess, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000035D, KeExecuteOnProtectedStack, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000035E, XeKeysVerifyPIRSSignature, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000035F, XeCryptAesCtr, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000360, XeCryptAesCbcMac, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000361, XeCryptAesDmMac, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000362, EmaExecute, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000363, XeKeysGetTruncatedSecondaryConsoleId, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000364, ExFreeDebugPool, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000365, VdQueryVideoCapabilities, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000366, UsbdGetDeviceRootPortType, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000367, VdGet3dVideoFormat, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000368, VdGetWSS2Data, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000369, VdSet3dVideoFormat, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000036A, VdSetWSS2Data, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000036B, XexReserveCodeBuffer, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000036C, XexCommitCodeBuffer, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000036D, RtlSetVectoredExceptionHandler, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000036E, RtlClearVectoredExceptionHandler, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000036F, XAudioSetProcessFrameCallback, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000370, UsbdGetRootHubDeviceNode, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000371, UsbdGetPortDeviceNode, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000372, UsbdGetNatalHub, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000373, UsbdGetNatalHardwareVersion, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000374, UsbdNatalHubRegisterNotificationCallback, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000375, KeCallAndBlockOnDpcRoutine, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000376, KeCallAndWaitForDpcRoutine, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000377, TidDeviceRequest, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000378, DmPrintData, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000379, VdSetStudioRGBMode, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000037A, UsbdTitleDriverResetAllUnrecognizedPorts, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000037B, UsbdTitleDriverSetUnrecognizedPort, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000037C, UsbdResetEndpoint, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000037D, UsbdSetTimer, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000037E, UsbdCancelTimer, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000037F, UsbdQueueIsochTransfer, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000380, KeSetPageRelocationCallback, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000381, XexRegisterUsermodeModule, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000383, TitleDeviceAuthRequest, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000384, KeRegisterSwapNotification, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000385, XInputdGetFailedConnectionOrBind, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000386, XInputdSetFailedConnectionOrBindCallback, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000388, XInputdSetMinMaxAuthDelay, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000389, VgcHandler_SetHandlers, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000038A, VvcHandlerCancelTransfers, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000038B, VvcHandlerRetrieveVoiceExtension, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000038D, MmResetLowestAvailablePages, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000394, VeSetHandlers, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000395, HalConfigureVeDevice, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000396, XeCryptSha224Init, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000397, XeCryptAesCreateKeySchedule, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000398, XeCryptAesEncryptOne, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x00000399, XeCryptAesDecryptOne, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000039A, XeCryptAesCbcEncrypt, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000039B, XeCryptAesCbcDecrypt, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000039C, XeCryptAesGcmInitialize, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000039D, XeCryptAesGcmUpdate, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000039E, XeCryptAesGcmFinalize, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x0000039F, XeCryptEccGetCurveParameters, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x000003A0, XeCryptEccEcdhGenerateKeypair, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x000003A1, XeCryptEccEcdhExponentiate, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x000003A2, XeCryptEccEcdsaGenerateSignature, kFunction),
|
||||
XE_EXPORT(xboxkrnl, 0x000003A3, XeCryptEccEcdsaVerifySignature, kFunction),
|
||||
|
||||
Reference in New Issue
Block a user