module Nes.CPU.Instructions.Interrupt (brk) where import Nes.CPU.Monad import Nes.Internal.MonadState import Nes.Interrupt brk :: CPU r () brk :: forall r. CPU r () brk = do CPU r () forall r. CPU r () incrementPC (InterruptStatus -> InterruptStatus) -> CPU r () forall s (m :: * -> *). MonadState s m => (s -> s) -> m () modify ((InterruptStatus -> InterruptStatus) -> CPU r ()) -> (InterruptStatus -> InterruptStatus) -> CPU r () forall a b. (a -> b) -> a -> b $ \InterruptStatus s -> InterruptStatus s{irq = Just BRK}