blob: f858ee4563cbd217cb7e7e99ba7fce45d1b47414 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#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
|