module Nes.Bus.Constants (
    ramRange,
    stackAddr,
    stackReset,
    ppuRegisters,
    programLocation,
    programEnd,
    prgRomRange,
) where

import Nes.Memory

ramRange :: (Addr, Addr)
ramRange :: (Addr, Addr)
ramRange = (Addr
0x0000, Addr
0x1fff)

stackAddr :: Addr
stackAddr :: Addr
stackAddr = Addr
0x0100

stackReset :: Byte
stackReset :: Byte
stackReset = Byte
0xfd

ppuRegisters :: (Addr, Addr)
ppuRegisters :: (Addr, Addr)
ppuRegisters = (Addr
0x2000, Addr
0x3fff)

-- | The address where to read the program's offset
programLocation :: Addr
programLocation :: Addr
programLocation = Addr
0xfffc

-- | End of the program's in the memory
programEnd :: Addr
programEnd :: Addr
programEnd = Addr
memorySize

prgRomRange :: (Addr, Addr)
prgRomRange :: (Addr, Addr)
prgRomRange = (Addr
0x8000, Addr
0xffff)