Full savestating to memory

This commit is contained in:
2025-05-23 15:49:26 -06:00
parent e9d5b359d0
commit b86d550812
23 changed files with 378 additions and 56 deletions

View File

@ -19,6 +19,46 @@ typedef struct {
u16 global_checksum;
} rom_header;
typedef struct {
char filename[1024];
u32 rom_size;
u8 *rom_data;
rom_header *header;
//mbc1 data
bool ram_enabled;
bool ram_banking;
u8 *rom_bank_x;
u8 *rom_bank_x2;
u8 banking_mode;
u8 rom_bank_value;
u8 rom_bank_value_2;
u8 ram_bank_value;
u8 *ram_bank;
u8 *ram_banks[16];
//battery
bool battery;
bool need_save;
} cart_context;
typedef struct {
bool ram_enabled;
bool ram_banking;
u8 banking_mode;
u8 rom_bank_value;
u8 rom_bank_value_2;
u8 ram_bank_value;
u8 ram_banks[16][0x2000];
bool need_save;
} cart_state;
void cart_load_state(const cart_state*);
void cart_save_state(cart_state*);
bool cart_load(char *cart);
rom_header *get_rom_header();