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