| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Nes.CPU.State
Synopsis
- data CPUState = MkCPUState {
- _registerA :: !Byte
- _registerX :: !Byte
- _registerY :: !Byte
- _registerS :: !Byte
- _status :: !StatusRegister
- _pc :: !Addr
- newCPUState :: CPUState
- data Register
- register :: Register -> Lens' CPUState Byte
- newtype StatusRegister = MkSR {}
- data StatusRegisterFlag
- = Carry
- | Zero
- | InterruptDisable
- | DecimalMode
- | BFlag
- | Unusued
- | Overflow
- | Negative
- registerA :: Lens' CPUState Byte
- registerX :: Lens' CPUState Byte
- registerY :: Lens' CPUState Byte
- registerS :: Lens' CPUState Byte
- status :: Lens' CPUState StatusRegister
- pc :: Lens' CPUState Addr
State
Offset in the vram of the next instruction to execute
State of the CPU
Constructors
| MkCPUState | |
Fields
| |
newCPUState :: CPUState Source #
Get a brand new, clear CPU
Note: the PC will have to be set by reading value at programLocation
Accessing registers
Enumeration of the CPU's registers
Accessing status flags
newtype StatusRegister Source #
Instances
| Show StatusRegister Source # | |||||
Defined in Nes.CPU.State Methods showsPrec :: Int -> StatusRegister -> ShowS # show :: StatusRegister -> String # showList :: [StatusRegister] -> ShowS # | |||||
| FlagRegister StatusRegister Source # | |||||
Defined in Nes.CPU.State Associated Types
Methods fromByte :: Byte -> StatusRegister Source # toByte :: StatusRegister -> Byte Source # flagToBitOffset :: Flag StatusRegister -> Int Source # | |||||
| Eq StatusRegister Source # | |||||
Defined in Nes.CPU.State Methods (==) :: StatusRegister -> StatusRegister -> Bool # (/=) :: StatusRegister -> StatusRegister -> Bool # | |||||
| type Flag StatusRegister Source # | |||||
Defined in Nes.CPU.State | |||||
data StatusRegisterFlag Source #
Flags for the CPU's status
Constructors
| Carry | |
| Zero | |
| InterruptDisable | |
| DecimalMode | |
| BFlag | |
| Unusued | |
| Overflow | |
| Negative |
Instances
| Enum StatusRegisterFlag Source # | |
Defined in Nes.CPU.State Methods succ :: StatusRegisterFlag -> StatusRegisterFlag # pred :: StatusRegisterFlag -> StatusRegisterFlag # toEnum :: Int -> StatusRegisterFlag # fromEnum :: StatusRegisterFlag -> Int # enumFrom :: StatusRegisterFlag -> [StatusRegisterFlag] # enumFromThen :: StatusRegisterFlag -> StatusRegisterFlag -> [StatusRegisterFlag] # enumFromTo :: StatusRegisterFlag -> StatusRegisterFlag -> [StatusRegisterFlag] # enumFromThenTo :: StatusRegisterFlag -> StatusRegisterFlag -> StatusRegisterFlag -> [StatusRegisterFlag] # | |
| Show StatusRegisterFlag Source # | |
Defined in Nes.CPU.State Methods showsPrec :: Int -> StatusRegisterFlag -> ShowS # show :: StatusRegisterFlag -> String # showList :: [StatusRegisterFlag] -> ShowS # | |
| Eq StatusRegisterFlag Source # | |
Defined in Nes.CPU.State Methods (==) :: StatusRegisterFlag -> StatusRegisterFlag -> Bool # (/=) :: StatusRegisterFlag -> StatusRegisterFlag -> Bool # | |