Browse Source
service: Add mvd and qtm services
service: Add mvd and qtm services
Adds the two New3DS-only modules. 3dbrew was used for command information.nce_cpp
14 changed files with 271 additions and 0 deletions
-
12src/core/CMakeLists.txt
-
17src/core/hle/service/mvd/mvd.cpp
-
14src/core/hle/service/mvd/mvd.h
-
32src/core/hle/service/mvd/mvd_std.cpp
-
22src/core/hle/service/mvd/mvd_std.h
-
21src/core/hle/service/qtm/qtm.cpp
-
14src/core/hle/service/qtm/qtm.h
-
23src/core/hle/service/qtm/qtm_s.cpp
-
22src/core/hle/service/qtm/qtm_s.h
-
23src/core/hle/service/qtm/qtm_sp.cpp
-
22src/core/hle/service/qtm/qtm_sp.h
-
23src/core/hle/service/qtm/qtm_u.cpp
-
22src/core/hle/service/qtm/qtm_u.h
-
4src/core/hle/service/service.cpp
@ -0,0 +1,17 @@ |
|||
// Copyright 2016 Citra Emulator Project
|
|||
// Licensed under GPLv2 or any later version
|
|||
// Refer to the license.txt file included.
|
|||
|
|||
#include "core/hle/service/mvd/mvd.h"
|
|||
#include "core/hle/service/mvd/mvd_std.h"
|
|||
#include "core/hle/service/service.h"
|
|||
|
|||
namespace Service { |
|||
namespace MVD { |
|||
|
|||
void Init() { |
|||
AddService(new MVD_STD()); |
|||
} |
|||
|
|||
} // namespace MVD
|
|||
} // namespace Service
|
|||
@ -0,0 +1,14 @@ |
|||
// Copyright 2016 Citra Emulator Project |
|||
// Licensed under GPLv2 or any later version |
|||
// Refer to the license.txt file included. |
|||
|
|||
#pragma once |
|||
|
|||
namespace Service { |
|||
namespace MVD { |
|||
|
|||
/// Initializes all MVD services. |
|||
void Init(); |
|||
|
|||
} // namespace MVD |
|||
} // namespace Service |
|||
@ -0,0 +1,32 @@ |
|||
// Copyright 2016 Citra Emulator Project
|
|||
// Licensed under GPLv2 or any later version
|
|||
// Refer to the license.txt file included.
|
|||
|
|||
#include "core/hle/service/mvd/mvd_std.h"
|
|||
|
|||
namespace Service { |
|||
namespace MVD { |
|||
|
|||
const Interface::FunctionInfo FunctionTable[] = { |
|||
// clang-format off
|
|||
{0x00010082, nullptr, "Initialize"}, |
|||
{0x00020000, nullptr, "Shutdown"}, |
|||
{0x00030300, nullptr, "CalculateWorkBufSize"}, |
|||
{0x000400C0, nullptr, "CalculateImageSize"}, |
|||
{0x00080142, nullptr, "ProcessNALUnit"}, |
|||
{0x00090042, nullptr, "ControlFrameRendering"}, |
|||
{0x000A0000, nullptr, "GetStatus"}, |
|||
{0x000B0000, nullptr, "GetStatusOther"}, |
|||
{0x001D0042, nullptr, "GetConfig"}, |
|||
{0x001E0044, nullptr, "SetConfig"}, |
|||
{0x001F0902, nullptr, "SetOutputBuffer"}, |
|||
{0x00210100, nullptr, "OverrideOutputBuffers"} |
|||
// clang-format on
|
|||
}; |
|||
|
|||
MVD_STD::MVD_STD() { |
|||
Register(FunctionTable); |
|||
} |
|||
|
|||
} // namespace MVD
|
|||
} // namespace Service
|
|||
@ -0,0 +1,22 @@ |
|||
// Copyright 2016 Citra Emulator Project |
|||
// Licensed under GPLv2 or any later version |
|||
// Refer to the license.txt file included. |
|||
|
|||
#pragma once |
|||
|
|||
#include "core/hle/service/service.h" |
|||
|
|||
namespace Service { |
|||
namespace MVD { |
|||
|
|||
class MVD_STD final : public Interface { |
|||
public: |
|||
MVD_STD(); |
|||
|
|||
std::string GetPortName() const override { |
|||
return "mvd:std"; |
|||
} |
|||
}; |
|||
|
|||
} // namespace MVD |
|||
} // namespace Service |
|||
@ -0,0 +1,21 @@ |
|||
// Copyright 2016 Citra Emulator Project
|
|||
// Licensed under GPLv2 or any later version
|
|||
// Refer to the license.txt file included.
|
|||
|
|||
#include "core/hle/service/qtm/qtm.h"
|
|||
#include "core/hle/service/qtm/qtm_s.h"
|
|||
#include "core/hle/service/qtm/qtm_sp.h"
|
|||
#include "core/hle/service/qtm/qtm_u.h"
|
|||
#include "core/hle/service/service.h"
|
|||
|
|||
namespace Service { |
|||
namespace QTM { |
|||
|
|||
void Init() { |
|||
AddService(new QTM_S()); |
|||
AddService(new QTM_SP()); |
|||
AddService(new QTM_U()); |
|||
} |
|||
|
|||
} // namespace QTM
|
|||
} // namespace Service
|
|||
@ -0,0 +1,14 @@ |
|||
// Copyright 2016 Citra Emulator Project |
|||
// Licensed under GPLv2 or any later version |
|||
// Refer to the license.txt file included. |
|||
|
|||
#pragma once |
|||
|
|||
namespace Service { |
|||
namespace QTM { |
|||
|
|||
/// Initializes all QTM services. |
|||
void Init(); |
|||
|
|||
} // namespace QTM |
|||
} // namespace Service |
|||
@ -0,0 +1,23 @@ |
|||
// Copyright 2016 Citra Emulator Project
|
|||
// Licensed under GPLv2 or any later version
|
|||
// Refer to the license.txt file included.
|
|||
|
|||
#include "core/hle/service/qtm/qtm_s.h"
|
|||
|
|||
namespace Service { |
|||
namespace QTM { |
|||
|
|||
const Interface::FunctionInfo FunctionTable[] = { |
|||
// clang-format off
|
|||
// qtm common commands
|
|||
{0x00010080, nullptr, "GetHeadtrackingInfoRaw"}, |
|||
{0x00020080, nullptr, "GetHeadtrackingInfo"}, |
|||
// clang-format on
|
|||
}; |
|||
|
|||
QTM_S::QTM_S() { |
|||
Register(FunctionTable); |
|||
} |
|||
|
|||
} // namespace QTM
|
|||
} // namespace Service
|
|||
@ -0,0 +1,22 @@ |
|||
// Copyright 2016 Citra Emulator Project |
|||
// Licensed under GPLv2 or any later version |
|||
// Refer to the license.txt file included. |
|||
|
|||
#pragma once |
|||
|
|||
#include "core/hle/service/service.h" |
|||
|
|||
namespace Service { |
|||
namespace QTM { |
|||
|
|||
class QTM_S final : public Interface { |
|||
public: |
|||
QTM_S(); |
|||
|
|||
std::string GetPortName() const override { |
|||
return "qtm:s"; |
|||
} |
|||
}; |
|||
|
|||
} // namespace QTM |
|||
} // namespace Service |
|||
@ -0,0 +1,23 @@ |
|||
// Copyright 2016 Citra Emulator Project
|
|||
// Licensed under GPLv2 or any later version
|
|||
// Refer to the license.txt file included.
|
|||
|
|||
#include "core/hle/service/qtm/qtm_sp.h"
|
|||
|
|||
namespace Service { |
|||
namespace QTM { |
|||
|
|||
const Interface::FunctionInfo FunctionTable[] = { |
|||
// clang-format off
|
|||
// qtm common commands
|
|||
{0x00010080, nullptr, "GetHeadtrackingInfoRaw"}, |
|||
{0x00020080, nullptr, "GetHeadtrackingInfo"}, |
|||
// clang-format on
|
|||
}; |
|||
|
|||
QTM_SP::QTM_SP() { |
|||
Register(FunctionTable); |
|||
} |
|||
|
|||
} // namespace QTM
|
|||
} // namespace Service
|
|||
@ -0,0 +1,22 @@ |
|||
// Copyright 2016 Citra Emulator Project |
|||
// Licensed under GPLv2 or any later version |
|||
// Refer to the license.txt file included. |
|||
|
|||
#pragma once |
|||
|
|||
#include "core/hle/service/service.h" |
|||
|
|||
namespace Service { |
|||
namespace QTM { |
|||
|
|||
class QTM_SP final : public Interface { |
|||
public: |
|||
QTM_SP(); |
|||
|
|||
std::string GetPortName() const override { |
|||
return "qtm:sp"; |
|||
} |
|||
}; |
|||
|
|||
} // namespace QTM |
|||
} // namespace Service |
|||
@ -0,0 +1,23 @@ |
|||
// Copyright 2016 Citra Emulator Project
|
|||
// Licensed under GPLv2 or any later version
|
|||
// Refer to the license.txt file included.
|
|||
|
|||
#include "core/hle/service/qtm/qtm_u.h"
|
|||
|
|||
namespace Service { |
|||
namespace QTM { |
|||
|
|||
const Interface::FunctionInfo FunctionTable[] = { |
|||
// clang-format off
|
|||
// qtm common commands
|
|||
{0x00010080, nullptr, "GetHeadtrackingInfoRaw"}, |
|||
{0x00020080, nullptr, "GetHeadtrackingInfo"}, |
|||
// clang-format on
|
|||
}; |
|||
|
|||
QTM_U::QTM_U() { |
|||
Register(FunctionTable); |
|||
} |
|||
|
|||
} // namespace QTM
|
|||
} // namespace Service
|
|||
@ -0,0 +1,22 @@ |
|||
// Copyright 2016 Citra Emulator Project |
|||
// Licensed under GPLv2 or any later version |
|||
// Refer to the license.txt file included. |
|||
|
|||
#pragma once |
|||
|
|||
#include "core/hle/service/service.h" |
|||
|
|||
namespace Service { |
|||
namespace QTM { |
|||
|
|||
class QTM_U final : public Interface { |
|||
public: |
|||
QTM_U(); |
|||
|
|||
std::string GetPortName() const override { |
|||
return "qtm:u"; |
|||
} |
|||
}; |
|||
|
|||
} // namespace QTM |
|||
} // namespace Service |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue