Co-Authored-By: Noumi <139501014+noumidev@users.noreply.github.com>
This commit is contained in:
wheremyfoodat 2024-12-10 17:59:47 +02:00
parent 4ce0768ba1
commit 4857341b89
20 changed files with 456 additions and 107 deletions

View file

@ -19,6 +19,7 @@ class ACService {
void closeAsync(u32 messagePointer);
void createDefaultConfig(u32 messagePointer);
void getConnectingInfraPriority(u32 messagePointer);
void getNZoneBeaconNotFoundEvent(u32 messagePointer);
void getStatus(u32 messagePointer);
void getLastErrorCode(u32 messagePointer);
void getWifiStatus(u32 messagePointer);

View file

@ -14,10 +14,14 @@ class BOSSService {
// Service commands
void cancelTask(u32 messagePointer);
void deleteNsData(u32 messagePointer);
void initializeSession(u32 messagePointer);
void getAppNewFlag(u32 messagePointer);
void getErrorCode(u32 messagePointer);
void getNsDataHeaderInfo(u32 messagePointer);
void getNewArrivalFlag(u32 messagePointer);
void getNsDataIdList(u32 messagePointer, u32 commandWord);
void getNsDataLastUpdated(u32 messagePointer);
void getOptoutFlag(u32 messagePointer);
void getStorageEntryInfo(u32 messagePointer); // Unknown what this is, name taken from Citra
void getTaskIdList(u32 messagePointer);
@ -26,12 +30,15 @@ class BOSSService {
void getTaskState(u32 messagePointer);
void getTaskStatus(u32 messagePointer);
void getTaskStorageInfo(u32 messagePointer);
void readNsData(u32 messagePointer);
void receiveProperty(u32 messagePointer);
void registerNewArrivalEvent(u32 messagePointer);
void registerStorageEntry(u32 messagePointer);
void registerTask(u32 messagePointer);
void sendProperty(u32 messagePointer);
void setAppNewFlag(u32 messagePointer);
void setOptoutFlag(u32 messagePointer);
void startBgImmediate(u32 messagePointer);
void startTask(u32 messagePointer);
void unregisterStorage(u32 messagePointer);
void unregisterTask(u32 messagePointer);

View file

@ -18,7 +18,7 @@ class CFGService {
// Service functions
void getConfigInfoBlk2(u32 messagePointer);
void getConfigInfoBlk8(u32 messagePointer);
void getConfigInfoBlk8(u32 messagePointer, u32 commandWord);
void getCountryCodeID(u32 messagePointer);
void getLocalFriendCodeSeed(u32 messagePointer);
void getRegionCanadaUSA(u32 messagePointer);
@ -26,7 +26,14 @@ class CFGService {
void genUniqueConsoleHash(u32 messagePointer);
void secureInfoGetByte101(u32 messagePointer);
void secureInfoGetRegion(u32 messagePointer);
void setConfigInfoBlk4(u32 messagePointer);
void updateConfigNANDSavegame(u32 messagePointer);
void translateCountryInfo(u32 messagePointer);
void isFangateSupported(u32 messagePointer);
// cfg:nor functions
void norInitialize(u32 messagePointer);
void norReadData(u32 messagePointer);
void getConfigInfo(u32 output, u32 blockID, u32 size, u32 permissionMask);

View file

@ -121,4 +121,4 @@ class GPUService {
std::memset(ptr, 0, 0x1000);
}
}
};
};

View file

@ -6,15 +6,13 @@
#include "result/result.hpp"
class LCDService {
using Handle = HorizonHandle;
Handle handle = KernelHandles::LCD;
Memory& mem;
MAKE_LOG_FUNCTION(log, gspLCDLogger)
// Service commands
void setLedForceOff(u32 messagePointer);
public:
public:
LCDService(Memory& mem) : mem(mem) {}
void reset();
void handleSyncRequest(u32 messagePointer);

25
include/services/ns.hpp Normal file
View file

@ -0,0 +1,25 @@
#pragma once
#include "helpers.hpp"
#include "kernel_types.hpp"
#include "logger.hpp"
#include "memory.hpp"
#include "result/result.hpp"
class NSService {
Memory& mem;
MAKE_LOG_FUNCTION(log, nsLogger)
// Service commands
void launchTitle(u32 messagePointer);
public:
enum class Type {
S, // ns:s
P, // ns:p
C, // ns:c
};
NSService(Memory& mem) : mem(mem) {}
void reset();
void handleSyncRequest(u32 messagePointer, Type type);
};

View file

@ -24,6 +24,7 @@ class PTMService {
public:
enum class Type {
GETS, // ptm:gets
U, // ptm:u
SYSM, // ptm:sysm
PLAY, // ptm:play

View file

@ -28,10 +28,11 @@
#include "services/mcu/mcu_hwc.hpp"
#include "services/mic.hpp"
#include "services/ndm.hpp"
#include "services/nwm_uds.hpp"
#include "services/news_u.hpp"
#include "services/nfc.hpp"
#include "services/nim.hpp"
#include "services/ns.hpp"
#include "services/nwm_uds.hpp"
#include "services/ptm.hpp"
#include "services/soc.hpp"
#include "services/ssl.hpp"
@ -52,11 +53,11 @@ class ServiceManager {
MAKE_LOG_FUNCTION(log, srvLogger)
ACService ac;
ACService ac;
ACTService act;
AMService am;
AMService am;
APTService apt;
BOSSService boss;
BOSSService boss;
CAMService cam;
CECDService cecd;
CFGService cfg;
@ -76,7 +77,8 @@ class ServiceManager {
NewsUService news_u;
NFCService nfc;
NwmUdsService nwm_uds;
NIMService nim;
NIMService nim;
NSService ns;
PTMService ptm;
SOCService soc;
SSLService ssl;