; Regions
MEM_EWRAM    = 0x02000000
MEM_IWRAM    = 0x03000000
MEM_IO       = 0x04000000
MEM_PALETTE  = 0x05000000
MEM_VRAM     = 0x06000000
MEM_OAM      = 0x07000000

MEM_ROM      = 0x08000000
MEM_GAMEPAK0 = 0x08000000
MEM_GAMEPAK1 = 0x0A000000
MEM_GAMEPAK2 = 0x0C000000
MEM_SRAM     = 0x0E000000

; IO registers addresses
DISPCNT    = 0x04000000
DISPSTAT   = 0x04000004
BG0CNT     = 0x04000008
VCOUNT     = 0x04000006

DMA3SAD    = 0x040000D4
DMA3DAD    = 0x040000D8
DMA3CNT_L  = 0x040000DC
DMA3CNT_H  = 0x040000DE

KEYINPUT   = 0x04000130
REG_IE     = 0x04000200
REG_IF     = 0x04000202
REG_IME    = 0x04000208

; IO register settings
DISPCNT_BGMODE4     = 0x0404
DMACNT_H_16BIT_IMM  = 0x8000
DMACNT_H_32BIT_IMM  = 0x8400

; GBA buttons
GBA_A      = 0x0001
GBA_B      = 0x0002
GBA_SELECT = 0x0004
GBA_START  = 0x0008
GBA_RIGHT  = 0x0010
GBA_LEFT   = 0x0020
GBA_UP     = 0x0040
GBA_DOWN   = 0x0080
GBA_R      = 0x0100
GBA_L      = 0x0200
