summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDerek Hensley <hensley.derek58@gmail.com>2025-01-21 08:34:12 -0800
committerGitHub <noreply@github.com>2025-01-21 09:34:12 -0700
commitf013a028f42a1b11134bc5f22f28e9f48236b6f0 (patch)
tree494da42deed3acac82e26dbdfc28f89e961f16ef /include
parent7c3634c2fbfa2756445435d62f0e20c2465cbfc8 (diff)
sFRm_flashrom OK (#240)
* YAML setup * func_800CDF78_jp * func_800CDEDC_jp * func_800CDCC0_jp * func_800CDE54_jp * func_800CDB10_jp * func_800CDECC_jp * func_800CE04C_jp * func_800CDBE0_jp * func_800CDBF0_jp * func_800CDC10_jp * func_800CDC30_jp * func_800CDDE0_jp * func_800CE090_jp * func_800CE0E8_jp * func_800CE110_jp * Cleanup
Diffstat (limited to 'include')
-rw-r--r--include/6F17B0.h25
-rw-r--r--include/6F1DC0.h10
-rw-r--r--include/code_variables.h14
-rw-r--r--include/m_thread.h2
-rw-r--r--include/sFRm_flashrom.h32
5 files changed, 45 insertions, 38 deletions
diff --git a/include/6F17B0.h b/include/6F17B0.h
deleted file mode 100644
index 3ae179f..0000000
--- a/include/6F17B0.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef C_6F17B0_H
-#define C_6F17B0_H
-
-#include "ultra64.h"
-
-// void func_800CDB10_jp();
-// void func_800CDBE0_jp();
-// void func_800CDBF0_jp();
-// void func_800CDC10_jp();
-// void func_800CDC30_jp();
-// void func_800CDCC0_jp();
-// void func_800CDDE0_jp();
-// void func_800CDE54_jp();
-// void func_800CDECC_jp();
-// void func_800CDEDC_jp();
-// void func_800CDF78_jp();
-// void func_800CE04C_jp();
-// void func_800CE090_jp();
-// void func_800CE0E8_jp();
-// void func_800CE110_jp();
-// void func_800CE120_jp();
-// void func_800CE1CC_jp();
-// void func_800CE328_jp();
-
-#endif
diff --git a/include/6F1DC0.h b/include/6F1DC0.h
new file mode 100644
index 0000000..f0a0c1e
--- /dev/null
+++ b/include/6F1DC0.h
@@ -0,0 +1,10 @@
+#ifndef C_6F1DC0_H
+#define C_6F1DC0_H
+
+#include "ultra64.h"
+
+// void func_800CE120_jp();
+// void func_800CE1CC_jp();
+// void func_800CE328_jp();
+
+#endif
diff --git a/include/code_variables.h b/include/code_variables.h
index 45c637c..228cb9c 100644
--- a/include/code_variables.h
+++ b/include/code_variables.h
@@ -758,7 +758,7 @@ extern s32 fuusen_DEBUG_mode_flag;
// extern UNK_TYPE D_8010EF30_jp;
// extern UNK_TYPE D_8010EF48_jp;
// extern UNK_TYPE D_8010EF50_jp;
-// extern UNK_TYPE D_8010EF60_jp;
+
extern char D_8010EF70_jp[];
extern vs32 D_8010EFB0_jp; // TODO: Determine where this goes
@@ -1901,18 +1901,6 @@ extern u16 D_80000400[];
// extern UNK_TYPE B_FLT_801446D0_jp;
// extern UNK_TYPE B_801446D4_jp;
// extern UNK_TYPE B_801446DB_jp;
-// extern UNK_TYPE B_801446E0_jp;
-// extern UNK_TYPE B_801446F8_jp;
-// extern UNK_TYPE B_80144700_jp;
-// extern UNK_TYPE B_80144718_jp;
-// extern UNK_TYPE B_80144B18_jp;
-// extern UNK_TYPE B_80144B38_jp;
-// extern UNK_TYPE B_80144CE8_jp;
-// extern UNK_TYPE B_80144CEC_jp;
-// extern UNK_TYPE B_80144CFC_jp;
-// extern UNK_TYPE B_80144D04_jp;
-// extern UNK_TYPE B_80144D0C_jp;
-// extern UNK_TYPE B_80144D14_jp;
// extern UNK_TYPE B_80145390_jp;
// extern UNK_TYPE B_80145610_jp;
diff --git a/include/m_thread.h b/include/m_thread.h
index 0f6936e..3906cac 100644
--- a/include/m_thread.h
+++ b/include/m_thread.h
@@ -9,8 +9,10 @@
#define M_THREAD_ID_DMAMGR 8
#define M_THREAD_ID_IRQMGR 9
#define M_THREAD_ID_AUDIOMGR 10
+#define M_THREAD_ID_FLASHROM 13
#define M_PRIORITY_GRAPH 8
+#define M_PRIORITY_FLASHROM 9
#define M_PRIORITY_DMAMGR_LOW 10 // Used when decompressing files
#define M_PRIORITY_AUDIOMGR 11
#define M_PRIORITY_IDLE 12
diff --git a/include/sFRm_flashrom.h b/include/sFRm_flashrom.h
new file mode 100644
index 0000000..cfebe2b
--- /dev/null
+++ b/include/sFRm_flashrom.h
@@ -0,0 +1,32 @@
+#ifndef SFRM_FLASHROM_H
+#define SFRM_FLASHROM_H
+
+#include "ultra64.h"
+#include "unk.h"
+
+typedef struct FlashromRequest {
+ /* 0x00 */ s32 type;
+ /* 0x04 */ s32 response;
+ /* 0x08 */ void* addr;
+ /* 0x0C */ u32 pageNum;
+ /* 0x10 */ u32 pageCount;
+ /* 0x14 */ OSMesgQueue queue;
+ /* 0x2C */ OSMesg msgBuf[1];
+} FlashromRequest; // size = 0x30
+
+#define FLASHROM_REQUEST_WRITE 1
+#define FLASHROM_REQUEST_READ 2
+
+s32 sFRm_Init(void);
+s32 sFRm_IsInit(void);
+s32 sFRm_EraseAll(void);
+s32 sFRm_WritePage(void* addr, u32 pageNum);
+s32 sFRm_ReadPage(void* addr, u32 pageNum);
+void sFRm_InitRequest(void);
+void sFRm_WriteAsync(void* addr, u32 pageNum, u32 pageCount);
+s32 sFRm_IsBusy(void);
+s32 sFRm_AwaitResult(void);
+void sFRm_WriteSync(void* addr, u32 pageNum, u32 pageCount);
+s32 sFRm_GetResult(void);
+
+#endif