diff options
| author | LLLL Colonq <llll@colonq> | 2024-04-17 22:45:19 -0400 |
|---|---|---|
| committer | LLLL Colonq <llll@colonq> | 2024-04-17 22:45:19 -0400 |
| commit | 9d875ab8fb539246e3aea0aae58d2c9f227c8276 (patch) | |
| tree | ba14b76a69fa39ec5cdb614d76ff6fdd02c81e94 /fig-emulator-gb/src/Fig/Emulator/GB/Bus.hs | |
| parent | 3a0a7b0a89fd841edd5f25f79cdb877051d0e948 (diff) | |
Some basic emulator graphics
Diffstat (limited to 'fig-emulator-gb/src/Fig/Emulator/GB/Bus.hs')
| -rw-r--r-- | fig-emulator-gb/src/Fig/Emulator/GB/Bus.hs | 8 |
1 files changed, 4 insertions, 4 deletions
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) |
