summaryrefslogtreecommitdiff
path: root/fig-emulator-gb/src/Fig/Emulator/GB/Component/Joystick.hs
blob: 84785b68b355960dab385febf9ec38e4f17b9371 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
module Fig.Emulator.GB.Component.Joystick where

import Fig.Prelude

import Fig.Emulator.GB.Bus

newtype JoystickError = JoystickError Text
  deriving Show
instance Exception JoystickError
instance Pretty JoystickError where
  pretty (JoystickError b) = mconcat
    [ "joystick error: "
    , b
    ]

compJoystick :: (MonadIO m, MonadThrow m) => Component m
compJoystick = Component
  { compState = ()
  , compMatches = (== 0xff00)
  , compUpdate = \s _ -> pure s
  , compWrite = \s _ _ -> pure s
  , compRead = \_ _ -> pure 0x00
  }