Adding audio stub methods.

This commit is contained in:
Ben Vanik
2013-10-23 23:09:16 -07:00
parent ca22980dc0
commit ebef2aef36
5 changed files with 122 additions and 0 deletions

View File

@@ -7,6 +7,8 @@
'kernel_state.h',
'object_table.cc',
'object_table.h',
'xboxkrnl_audio.cc',
'xboxkrnl_audio.h',
'xboxkrnl_debug.cc',
'xboxkrnl_debug.h',
'xboxkrnl_hal.cc',

View File

@@ -0,0 +1,83 @@
/**
******************************************************************************
* 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/kernel/xboxkrnl/xboxkrnl_audio.h>
#include <xenia/apu/apu.h>
#include <xenia/kernel/shim_utils.h>
#include <xenia/kernel/xboxkrnl/kernel_state.h>
#include <xenia/kernel/xboxkrnl/xboxkrnl_private.h>
using namespace xe;
using namespace xe::apu;
using namespace xe::kernel;
using namespace xe::kernel::xboxkrnl;
namespace xe {
namespace kernel {
namespace xboxkrnl {
SHIM_CALL XMACreateContext_shim(
xe_ppc_state_t* ppc_state, KernelState* state) {
uint32_t context_ptr = SHIM_GET_ARG_32(0);
XELOGD(
"XMACreateContext(%.8X)",
context_ptr);
// TODO(benvanik): allocate and return -- see if size required or just dummy?
SHIM_SET_RETURN(X_ERROR_ACCESS_DENIED);
}
SHIM_CALL XMAReleaseContext_shim(
xe_ppc_state_t* ppc_state, KernelState* state) {
uint32_t context_ptr = SHIM_GET_ARG_32(0);
XELOGD(
"XMAReleaseContext(%.8X)",
context_ptr);
// TODO(benvanik): free
}
} // namespace xboxkrnl
} // namespace kernel
} // namespace xe
void xe::kernel::xboxkrnl::RegisterAudioExports(
ExportResolver* export_resolver, KernelState* state) {
SHIM_SET_MAPPING("xboxkrnl.exe", XMACreateContext, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMAInitializeContext, state);
SHIM_SET_MAPPING("xboxkrnl.exe", XMAReleaseContext, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMAEnableContext, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMADisableContext, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMAGetOutputBufferWriteOffset, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMASetOutputBufferReadOffset, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMAGetOutputBufferReadOffset, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMASetOutputBufferValid, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMAIsOutputBufferValid, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMASetInputBuffer0Valid, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMAIsInputBuffer0Valid, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMASetInputBuffer1Valid, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMAIsInputBuffer1Valid, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMASetInputBuffer0, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMASetInputBuffer1, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMAGetPacketMetadata, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMABlockWhileInUse, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMASetLoopData, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMASetInputBufferReadOffset, state);
// SHIM_SET_MAPPING("xboxkrnl.exe", XMAGetInputBufferReadOffset, state);
}

View File

@@ -0,0 +1,29 @@
/**
******************************************************************************
* 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. *
******************************************************************************
*/
#ifndef XENIA_KERNEL_XBOXKRNL_AUDIO_H_
#define XENIA_KERNEL_XBOXKRNL_AUDIO_H_
#include <xenia/common.h>
#include <xenia/core.h>
#include <xenia/xbox.h>
namespace xe {
namespace kernel {
namespace xboxkrnl {
} // namespace xboxkrnl
} // namespace kernel
} // namespace xe
#endif // XENIA_KERNEL_XBOXKRNL_AUDIO_H_

View File

@@ -29,6 +29,7 @@ class KernelState;
extern KernelState* shared_kernel_state_;
// Registration functions, one per file.
void RegisterAudioExports(ExportResolver* export_resolver, KernelState* state);
void RegisterDebugExports(ExportResolver* export_resolver, KernelState* state);
void RegisterHalExports(ExportResolver* export_resolver, KernelState* state);
void RegisterIoExports(ExportResolver* export_resolver, KernelState* state);