Add NS service stub

This commit is contained in:
Nomi 2023-09-25 12:04:55 +02:00
parent 23b6f8301d
commit 82154b3b40
3 changed files with 45 additions and 2 deletions

View file

@ -151,7 +151,7 @@ set(SERVICE_SOURCE_FILES src/core/services/service_manager.cpp src/core/services
src/core/services/act.cpp src/core/services/nfc.cpp src/core/services/dlp_srvr.cpp
src/core/services/ir_user.cpp src/core/services/http.cpp src/core/services/soc.cpp
src/core/services/ssl.cpp src/core/services/news_u.cpp src/core/services/amiibo_device.cpp
src/core/services/csnd.cpp src/core/services/nwm_uds.cpp
src/core/services/csnd.cpp src/core/services/nwm_uds.cpp src/core/services/ns.cpp
)
set(PICA_SOURCE_FILES src/core/PICA/gpu.cpp src/core/PICA/regs.cpp src/core/PICA/shader_unit.cpp
src/core/PICA/shader_interpreter.cpp src/core/PICA/dynapica/shader_rec.cpp
@ -196,7 +196,7 @@ set(HEADER_FILES include/emulator.hpp include/helpers.hpp include/termcolor.hpp
include/applets/applet.hpp include/applets/mii_selector.hpp include/math_util.hpp include/services/soc.hpp
include/services/news_u.hpp include/applets/software_keyboard.hpp include/applets/applet_manager.hpp include/fs/archive_user_save_data.hpp
include/services/amiibo_device.hpp include/services/nfc_types.hpp include/swap.hpp include/services/csnd.hpp include/services/nwm_uds.hpp
include/fs/archive_system_save_data.hpp include/lua.hpp
include/fs/archive_system_save_data.hpp include/lua.hpp include/services/ns.hpp
)
cmrc_add_resource_library(

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

@ -0,0 +1,24 @@
#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
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);
};

19
src/core/services/ns.cpp Normal file
View file

@ -0,0 +1,19 @@
#include "services/ns.hpp"
#include "ipc.hpp"
namespace NSCommands {
enum : u32 {
a,
};
}
void NSService::reset() {}
void NSService::handleSyncRequest(u32 messagePointer, Type type) {
const u32 command = mem.read32(messagePointer);
// ns:s commands
switch (command) {
default: Helpers::panic("NS service requested. Command: %08X\n", command);
}
}