From 9d875ab8fb539246e3aea0aae58d2c9f227c8276 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Wed, 17 Apr 2024 22:45:19 -0400 Subject: Some basic emulator graphics --- fig-emulator-gb/src/Fig/Emulator/GB/Bus.hs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'fig-emulator-gb/src/Fig/Emulator/GB/Bus.hs') diff --git a/fig-emulator-gb/src/Fig/Emulator/GB/Bus.hs b/fig-emulator-gb/src/Fig/Emulator/GB/Bus.hs index 730378a..dd61dbc 100644 --- a/fig-emulator-gb/src/Fig/Emulator/GB/Bus.hs +++ b/fig-emulator-gb/src/Fig/Emulator/GB/Bus.hs @@ -22,16 +22,16 @@ instance Pretty Addr where data Component m = forall (s :: Type). Component { compState :: !s , compMatches :: !(Addr -> Bool) - , compUpdate :: !(s -> m s) + , compUpdate :: !(s -> Int -> m s) , compWrite :: !(s -> Addr -> Word8 -> m s) , compRead :: !(s -> Addr -> m Word8) } newtype Bus m = Bus { busComponents :: [Component m] } -update :: forall m. MonadIO m => Bus m -> m (Bus m) -update b = Bus <$> forM (busComponents b) \Component{..} -> do - s <- compUpdate compState +update :: forall m. MonadIO m => Int -> Bus m -> m (Bus m) +update t b = Bus <$> forM (busComponents b) \Component{..} -> do + s <- compUpdate compState t pure Component { compState = s, ..} write :: forall m. MonadIO m => Bus m -> Addr -> Word8 -> m (Bus m) -- cgit v1.2.3