sys_flashrom matched (#1251)

* done

* WIP

* Fix the rebase

* fix build

* re match

* Last thing before the PR

* PR fixes

* PR Fixes (tharo)

* fix

* format

* PR fixes (hensldm)

* oops

* MAGIC

* Fix BSS and rename FLASH_MAGIC

* PR Fixes (Engineer)

* remove from functions.h
This commit is contained in:
louist103
2023-05-29 20:39:14 -04:00
committed by GitHub
parent 4143097c5a
commit 51cd9df591
9 changed files with 336 additions and 117 deletions
+7 -15
View File
@@ -2222,21 +2222,13 @@ void func_8018450C(PlayState* play, SkeletonInfo* skeleton, Mtx* mtx, OverrideKe
// void func_801853C8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
// void func_80185460(void);
// void func_801857C0(void);
// char* func_801857D0(void);
// void func_80185864(void);
u32 func_80185908(void);
UNK_TYPE func_80185968(void* arg0, UNK_TYPE arg1, UNK_TYPE arg2);
// void func_801859F0(void);
// void func_80185A2C(void);
// void func_80185B1C(void);
// void func_80185BE4(void);
// void func_80185C24(void);
void SysFlashrom_ThreadEntry(s80185D40* param_1);
void func_80185DDC(u8* arg0, u32 arg1, u32 arg2);
s32 func_80185EC4(void);
s32 func_80185F04(void);
void func_80185F64(void* arg0, UNK_TYPE arg1, UNK_TYPE arg2);
s32 SysFlashrom_InitFlash(void);
s32 SysFlashrom_ReadData(void* addr, u32 pageNum, u32 pageCount);
void SysFlashrom_WriteDataAsync(u8* addr, u32 pageNum, u32 pageCount);
s32 SysFlashrom_IsBusy(void);
s32 SysFlashrom_AwaitResult(void);
void SysFlashrom_WriteDataSync(void* addr, u32 pageNum, u32 pageCount);
s32 func_80185F90(u32 param_1);
u32 osFlashGetAddr(u32 pageNum);
OSPiHandle* osFlashReInit(u8 latency, u8 pulse, u8 pageSize, u8 relDuration, u32 start);
+22 -7
View File
@@ -68,6 +68,7 @@
#define Z_THREAD_ID_MAIN 3
#define Z_THREAD_ID_GRAPH 4
#define Z_THREAD_ID_SCHED 5
#define Z_THREAD_ID_FLASHROM 13
#define Z_THREAD_ID_DMAMGR 18
#define Z_THREAD_ID_IRQMGR 19
@@ -76,6 +77,7 @@
#define Z_PRIORITY_AUDIOMGR 11
#define Z_PRIORITY_IDLE 12
#define Z_PRIORITY_MAIN 12
#define Z_PRIORITY_FLASHROM 13
#define Z_PRIORITY_PADMGR 15
#define Z_PRIORITY_SCHED 16
#define Z_PRIORITY_DMAMGR 17
@@ -118,13 +120,13 @@ typedef struct {
} NmiBuff; // size >= 0x18
typedef struct {
/* 0x00 */ int unk0;
/* 0x04 */ void* unk4;
/* 0x08 */ int unk8;
/* 0x0C */ int unkC;
/* 0x10 */ int unk10;
/* 0x14 */ OSMesgQueue unk14;
} s80185D40; // size = 0x2C
/* 0x00 */ s32 requestType;
/* 0x04 */ OSMesg response;
/* 0x08 */ void* addr;
/* 0x0C */ s32 pageNum;
/* 0x10 */ s32 pageCount;
/* 0x14 */ OSMesgQueue messageQueue;
} FlashromRequest; // size = 0x2C
// End of RDRAM without the Expansion Pak installed
#define NORMAL_RDRAM_END 0x80400000
@@ -642,6 +644,19 @@ typedef struct {
#define FRAM_STATUS_REGISTER FRAM_BASE_ADDRESS // FRAM Base Address in Cart Memory
#define FRAM_COMMAND_REGISTER 0x10000 // Located at 0x08010000 on the Cart
#define FLASH_VERSION_MX_PROTO_A 0x00C20000
#define FLASH_VERSION_MX_A 0x00C20001
#define FLASH_VERSION_MX_C 0x00C2001E
#define FLASH_VERSION_MX_B_AND_D 0x00C2001D
#define FLASH_VERSION_MEI 0x003200F1
#define FLASH_TYPE_MAGIC 0x11118001
#define FLASH_PAGE_SIZE 128
#define FLASHROM_REQUEST_WRITE 1
#define FLASHROM_REQUEST_READ 2
enum fram_command {
/* Does nothing for FRAM_COMMAND_SET_MODE_READ_AND_STATUS, FRAM_MODE_NOP, FRAM_COMMAND_SET_MODE_STATUS_AND_STATUS
Initializes fram to 0xFF in FRAM_MODE_ERASE