[FS/Memory] Add ENVINFO and some FS calls for Metroid 2

This commit is contained in:
wheremyfoodat 2022-10-15 21:58:14 +03:00
parent ec26631e5d
commit 015343a848
5 changed files with 45 additions and 2 deletions
include

View file

@ -6,6 +6,7 @@ namespace ConfigMem {
enum : u32 {
KernelVersionMinor = 0x1FF80002,
KernelVersionMajor = 0x1FF80003,
EnvInfo = 0x1FF80014,
AppMemAlloc = 0x1FF80040,
Datetime0 = 0x1FF81020,
LedState3D = 0x1FF81084

View file

@ -124,6 +124,10 @@ class Memory {
std::optional<u32> findPaddr(u32 size);
u64 timeSince3DSEpoch();
// https://www.3dbrew.org/wiki/Configuration_Memory#ENVINFO
// Report a retail unit without JTAG
static constexpr u32 envInfo = 1;
public:
u16 kernelVersion = 0;
u32 usedUserMemory = 0;

View file

@ -28,10 +28,16 @@ class FSService {
// Service commands
void closeArchive(u32 messagePointer);
void getPriority(u32 messagePointer);
void initialize(u32 messagePointer);
void initializeWithSdkVersion(u32 messagePointer);
void openArchive(u32 messagePointer);
void openFile(u32 messagePointer);
void openFileDirectly(u32 messagePointer);
void setPriority(u32 messagePointer);
// Used for set/get priority: Not sure what sort of priority this is referring to
u32 priority;
public:
FSService(Memory& mem, Kernel& kernel) : mem(mem), saveData(mem), sdmc(mem), selfNcch(mem), kernel(kernel) {}