56 lines
1.1 KiB
C
56 lines
1.1 KiB
C
|
#ifndef GUARD_FLASH_H
|
||
|
#define GUARD_FLASH_H
|
||
|
|
||
|
#include "gba/gba.h"
|
||
|
|
||
|
enum
|
||
|
{
|
||
|
SECTOR_DAMAGED,
|
||
|
SECTOR_OK,
|
||
|
SECTOR_CHECK, // unused
|
||
|
};
|
||
|
|
||
|
enum MsgBoxUpdateMessage
|
||
|
{
|
||
|
MSGBOX_WILL_NOW_UPDATE = 0,
|
||
|
MSGBOX_HAS_BEEN_UPDATED,
|
||
|
MSGBOX_UNABLE_TO_UPDATE,
|
||
|
MSGBOX_NO_NEED_TO_UPDATE,
|
||
|
MSGBOX_UPDATING
|
||
|
};
|
||
|
|
||
|
struct SaveSector
|
||
|
{
|
||
|
u8 data[0xFF4];
|
||
|
u16 id;
|
||
|
u16 checksum;
|
||
|
u32 signature;
|
||
|
u32 counter;
|
||
|
}; // size is 0x1000
|
||
|
|
||
|
// headless save section?
|
||
|
struct UnkSaveSection
|
||
|
{
|
||
|
u8 data[0xFF4];
|
||
|
u32 signature;
|
||
|
}; // size is 0xFF8
|
||
|
|
||
|
#define eSaveSection ((struct SaveSector *)0x2020000)
|
||
|
|
||
|
#define NUM_SECTORS_PER_SAVE_SLOT 14 // Number of sectors occupied by a save slot
|
||
|
#define FILE_SIGNATURE 0x08012025
|
||
|
|
||
|
#define SAVE_STATUS_EMPTY 0
|
||
|
#define SAVE_STATUS_OK 1
|
||
|
#define SAVE_STATUS_NO_FLASH 4
|
||
|
#define SAVE_STATUS_ERROR 0xFF
|
||
|
|
||
|
bool32 flash_maincb_ident_is_valid(void);
|
||
|
bool8 flash_maincb_read_save(u32);
|
||
|
void msg_load_gfx(void);
|
||
|
void msg_display(enum MsgBoxUpdateMessage);
|
||
|
bool32 flash_maincb_check_need_reset_pacifidlog_tm(void);
|
||
|
bool32 flash_maincb_reset_pacifidlog_tm(void);
|
||
|
|
||
|
#endif //GUARD_FLASH_H
|