service: Add mvd and qtm services

Adds the two New3DS-only modules.

3dbrew was used for command information.
This commit is contained in:
Lioncash 2016-12-08 04:26:23 -05:00
parent d098d941d7
commit 2061d2014d
14 changed files with 271 additions and 0 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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