Add FRD service

This commit is contained in:
wheremyfoodat 2023-01-05 22:23:05 +02:00
parent 94fe205c48
commit 9f07286de8
7 changed files with 91 additions and 4 deletions

View file

@ -10,11 +10,12 @@ namespace KernelHandles {
// Hardcoded handles
CurrentThread = 0xFFFF8000, // Used by the original kernel
CurrentProcess = 0xFFFF8001, // Used by the original kernel
AC,
AC, // Something network related
APT, // App Title something service?
CECD, // Streetpass stuff?
CFG, // CFG service (Console & region info)
HID, // HID service (Handles everything input-related including gyro)
FRD, // Friend service (Miiverse friend service)
FS, // Filesystem service
GPU, // GPU service
DSP, // DSP service (Used for audio decoding and output)

View file

@ -28,10 +28,12 @@ namespace Log {
static Logger<false> rendererLogger;
// Service loggers
static Logger<false> acLogger;
static Logger<false> aptLogger;
static Logger<false> cecdLogger;
static Logger<false> cfgLogger;
static Logger<false> dspServiceLogger;
static Logger<false> frdLogger;
static Logger<false> fsLogger;
static Logger<false> hidLogger;
static Logger<false> gspGPULogger;

21
include/services/frd.hpp Normal file
View file

@ -0,0 +1,21 @@
#pragma once
#include "helpers.hpp"
#include "kernel_types.hpp"
#include "logger.hpp"
#include "memory.hpp"
class FRDService {
Handle handle = KernelHandles::FRD;
Memory& mem;
MAKE_LOG_FUNCTION(log, frdLogger)
// Service commands
void getMyFriendKey(u32 messagePointer);
void getMyPresence(u32 messagePointer);
void setClientSDKVersion(u32 messagePointer);
public:
FRDService(Memory& mem) : mem(mem) {}
void reset();
void handleSyncRequest(u32 messagePointer);
};

View file

@ -10,6 +10,7 @@
#include "services/cfg.hpp"
#include "services/dsp.hpp"
#include "services/hid.hpp"
#include "services/frd.hpp"
#include "services/fs.hpp"
#include "services/gsp_gpu.hpp"
#include "services/gsp_lcd.hpp"
@ -35,6 +36,7 @@ class ServiceManager {
CFGService cfg;
DSPService dsp;
HIDService hid;
FRDService frd;
FSService fs;
GPUService gsp_gpu;
LCDService gsp_lcd;