#ifndef SYS_FLASHROM_H #define SYS_FLASHROM_H #include "ultra64.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 #define FLASH_TYPE_MAGIC 0x11118001 s32 SysFlashrom_InitFlash(void); s32 SysFlashrom_Read(void* addr, u32 pageNum, u32 pageCount); void SysFlashrom_WriteAsync(void* addr, u32 pageNum, u32 pageCount); s32 SysFlashrom_IsBusy(void); s32 SysFlashrom_AwaitResult(void); void SysFlashrom_WriteSync(void* addr, u32 pageNum, u32 pageCount); #endif