#pragma once

#include <common.h>

typedef struct {
    u8 wram[0x2000];
    u8 hram[0x80];
} ram_context;

typedef struct {
    ram_context ctx; 
} ram_state;

void ram_save_state(ram_state*);
void ram_load_state(const ram_state*);

u8 wram_read(u16 address);
void wram_write(u16 address, u8 value);

u8 hram_read(u16 address);
void hram_write(u16 address, u8 value);