mirror of
https://github.com/d0k3/GodMode9.git
synced 2025-06-26 13:42:47 +00:00
30 lines
826 B
C
30 lines
826 B
C
#pragma once
|
|
|
|
#include "common.h"
|
|
#include "nand.h"
|
|
|
|
#define AGBSAVE_MAGIC '.', 'S', 'A', 'V'
|
|
|
|
// see: http://3dbrew.org/wiki/3DS_Virtual_Console#NAND_Savegame
|
|
typedef struct {
|
|
u8 magic[4]; // ".SAV"
|
|
u8 reserved0[0xC]; // always 0xFF
|
|
u8 cmac[0x10];
|
|
u8 reserved1[0x10]; // always 0xFF
|
|
u32 unknown0; // always 0x01
|
|
u32 times_saved;
|
|
u64 title_id;
|
|
u8 sd_cid[0x10];
|
|
u32 save_start; // always 0x200
|
|
u32 save_size;
|
|
u8 reserved2[0x8]; // always 0xFF
|
|
u32 unknown1; // has to do with ARM7?
|
|
u32 unknown2; // has to do with ARM7?
|
|
u8 reserved3[0x198]; // always 0xFF
|
|
u8 savegame[(0x000180-1)*0x200]; // unknown on custom partitions
|
|
} __attribute__((packed)) AgbSave;
|
|
|
|
u32 GetAgbSaveSize(u32 nand_src);
|
|
u32 CheckAgbSaveCmac(u32 nand_src);
|
|
u32 FixAgbSaveCmac(u32 nand_dst);
|