{-| Module : Lazyboy.Constants Description : Constant definitions for Lazyboy Copyright : (c) Rose 2019 License : BSD3 Maintainer : rose@lain.org.uk Stability : experimental Portability : POSIX This module provides definitions of constants referring to the Game Boy hardware. -} module Lazyboy.Constants where import Data.Word -- | Work RAM (WRAM) Bank 0 wram0 :: Word16 wram0 = 0xC000 -- | Work RAM (WRAM) Bank 1 wram1 :: Word16 wram1 = 0xD000 -- | Player 1 Joypad joypad :: Word16 joypad = 0xFF00 -- | LCD Control lcdc :: Word16 lcdc = 0xFF40 -- | LCD state lcdstate :: Word16 lcdstate = 0xFF41 -- | Scroll X scx :: Word16 scx = 0xFF42 -- | Scroll Y scy :: Word16 scy = 0xFF43 -- | LCDC Y-coordinate ly :: Word16 ly = 0xFF44 -- | LCDC Y-compare lyc :: Word16 lyc = 0xFF45 -- | DMA start address dma :: Word16 dma = 0xFF46 -- | Background Palette Data bgp :: Word16 bgp = 0xFF47 -- | Video RAM (VRAM) vram :: Word16 vram = 0x8000 -- | Start of 32x32 tile background map #1 background1 :: Word16 background1 = 0x9800 -- | Start of 32x32 tile background map #2 background2 :: Word16 background2 = 0x9C00 -- | High RAM (HRAM) hram :: Word16 hram = 0xFF80 -- | OAM oam :: Word16 oam = 0xFE00 -- | Screen width screenWidth :: Word8 screenWidth = 160 -- | Screen height screenHeight :: Word8 screenHeight = 144