No more const where it is not needed
This commit is contained in:
@@ -108,12 +108,12 @@ execute cpu = \case
|
|||||||
H -> cpu ^. registers . h
|
H -> cpu ^. registers . h
|
||||||
L -> cpu ^. registers . l
|
L -> cpu ^. registers . l
|
||||||
(newValue, newFlags) = add (cpu ^. registers . a) value $ _c && cpu ^. registers . flags . carry in
|
(newValue, newFlags) = add (cpu ^. registers . a) value $ _c && cpu ^. registers . flags . carry in
|
||||||
cpu & registers . a %~ const newValue & registers . flags %~ const newFlags
|
cpu & registers . a .~ newValue & registers . flags .~ newFlags
|
||||||
AddHL _c -> let value = fetch cpu . getHL $ cpu ^. registers
|
AddHL _c -> let value = fetch cpu . getHL $ cpu ^. registers
|
||||||
(newValue, newFlags) = add (cpu ^. registers . a) value $ _c && cpu ^. registers . flags . carry in
|
(newValue, newFlags) = add (cpu ^. registers . a) value $ _c && cpu ^. registers . flags . carry in
|
||||||
cpu & registers . a %~ const newValue & registers . flags %~ const newFlags
|
cpu & registers . a .~ newValue & registers . flags .~ newFlags
|
||||||
AddN value _c -> let (newValue, newFlags) = add (cpu ^. registers . a) value $ _c && cpu ^. registers .flags . carry in
|
AddN value _c -> let (newValue, newFlags) = add (cpu ^. registers . a) value $ _c && cpu ^. registers .flags . carry in
|
||||||
cpu & registers . a %~ const newValue & registers . flags %~ const newFlags
|
cpu & registers . a .~ newValue & registers . flags .~ newFlags
|
||||||
SubR t _c -> let value = case t of
|
SubR t _c -> let value = case t of
|
||||||
A -> cpu ^. registers . a
|
A -> cpu ^. registers . a
|
||||||
B -> cpu ^. registers . b
|
B -> cpu ^. registers . b
|
||||||
@@ -123,12 +123,12 @@ execute cpu = \case
|
|||||||
H -> cpu ^. registers . h
|
H -> cpu ^. registers . h
|
||||||
L -> cpu ^. registers . l
|
L -> cpu ^. registers . l
|
||||||
(newValue, newFlags) = sub (cpu ^. registers . a) value $ _c && cpu ^. registers . flags . carry in
|
(newValue, newFlags) = sub (cpu ^. registers . a) value $ _c && cpu ^. registers . flags . carry in
|
||||||
cpu & registers . a %~ const newValue & registers . flags %~ const newFlags
|
cpu & registers . a .~ newValue & registers . flags .~ newFlags
|
||||||
SubHL _c -> let value = fetch cpu . getHL $ cpu ^. registers
|
SubHL _c -> let value = fetch cpu . getHL $ cpu ^. registers
|
||||||
(newValue, newFlags) = sub (cpu ^. registers . a) value $ _c && cpu ^. registers . flags . carry in
|
(newValue, newFlags) = sub (cpu ^. registers . a) value $ _c && cpu ^. registers . flags . carry in
|
||||||
cpu & registers . a %~ const newValue & registers . flags %~ const newFlags
|
cpu & registers . a .~ newValue & registers . flags .~ newFlags
|
||||||
SubN value _c -> let (newValue, newFlags) = sub (cpu ^. registers . a) value $ _c && cpu ^. registers .flags . carry in
|
SubN value _c -> let (newValue, newFlags) = sub (cpu ^. registers . a) value $ _c && cpu ^. registers .flags . carry in
|
||||||
cpu & registers . a %~ const newValue & registers . flags %~ const newFlags
|
cpu & registers . a .~ newValue & registers . flags .~ newFlags
|
||||||
CpR t _c -> let value = case t of
|
CpR t _c -> let value = case t of
|
||||||
A -> cpu ^. registers . a
|
A -> cpu ^. registers . a
|
||||||
B -> cpu ^. registers . b
|
B -> cpu ^. registers . b
|
||||||
@@ -138,12 +138,12 @@ execute cpu = \case
|
|||||||
H -> cpu ^. registers . h
|
H -> cpu ^. registers . h
|
||||||
L -> cpu ^. registers . l
|
L -> cpu ^. registers . l
|
||||||
(_, newFlags) = sub (cpu ^. registers . a) value $ _c && cpu ^. registers . flags . carry in
|
(_, newFlags) = sub (cpu ^. registers . a) value $ _c && cpu ^. registers . flags . carry in
|
||||||
cpu & registers . flags %~ const newFlags
|
cpu & registers . flags .~ newFlags
|
||||||
CpHL _c -> let value = fetch cpu . getHL $ cpu ^. registers
|
CpHL _c -> let value = fetch cpu . getHL $ cpu ^. registers
|
||||||
(_, newFlags) = sub (cpu ^. registers . a) value $ _c && cpu ^. registers . flags . carry in
|
(_, newFlags) = sub (cpu ^. registers . a) value $ _c && cpu ^. registers . flags . carry in
|
||||||
cpu & registers . flags %~ const newFlags
|
cpu & registers . flags .~ newFlags
|
||||||
CpN value _c -> let (_, newFlags) = sub (cpu ^. registers . a) value $ _c && cpu ^. registers .flags . carry in
|
CpN value _c -> let (_, newFlags) = sub (cpu ^. registers . a) value $ _c && cpu ^. registers .flags . carry in
|
||||||
cpu & registers . flags %~ const newFlags
|
cpu & registers . flags .~ newFlags
|
||||||
IncR t -> let (target, target') = case t of
|
IncR t -> let (target, target') = case t of
|
||||||
A -> (a,a)
|
A -> (a,a)
|
||||||
B -> (b,b)
|
B -> (b,b)
|
||||||
@@ -153,11 +153,11 @@ execute cpu = \case
|
|||||||
H -> (h,h)
|
H -> (h,h)
|
||||||
L -> (l,l)
|
L -> (l,l)
|
||||||
(value, newFlags) = add (cpu ^. registers . target) 1 False in
|
(value, newFlags) = add (cpu ^. registers . target) 1 False in
|
||||||
cpu & registers . target' %~ const value & registers . flags %~ const newFlags
|
cpu & registers . target' .~ value & registers . flags .~ newFlags
|
||||||
IncHL -> let target = getHL $ cpu ^. registers
|
IncHL -> let target = getHL $ cpu ^. registers
|
||||||
value = fetch cpu target
|
value = fetch cpu target
|
||||||
(newValue, newFlags) = add value 1 False in
|
(newValue, newFlags) = add value 1 False in
|
||||||
cpu & bus %~ (flip V.update $ V.singleton (fromIntegral target, newValue)) & registers . flags %~ const newFlags
|
cpu & bus %~ (flip V.update $ V.singleton (fromIntegral target, newValue)) & registers . flags .~ newFlags
|
||||||
DecR t -> let (target, target') = case t of
|
DecR t -> let (target, target') = case t of
|
||||||
A -> (a,a)
|
A -> (a,a)
|
||||||
B -> (b,b)
|
B -> (b,b)
|
||||||
@@ -167,11 +167,11 @@ execute cpu = \case
|
|||||||
H -> (h,h)
|
H -> (h,h)
|
||||||
L -> (l,l)
|
L -> (l,l)
|
||||||
(value, newFlags) = sub (cpu ^. registers . target) 1 False in
|
(value, newFlags) = sub (cpu ^. registers . target) 1 False in
|
||||||
cpu & registers . target' %~ const value & registers . flags %~ const newFlags
|
cpu & registers . target' .~ value & registers . flags .~ newFlags
|
||||||
DecHL -> let target = getHL $ cpu ^. registers
|
DecHL -> let target = getHL $ cpu ^. registers
|
||||||
value = fetch cpu target
|
value = fetch cpu target
|
||||||
(newValue, newFlags) = sub value 1 False in
|
(newValue, newFlags) = sub value 1 False in
|
||||||
cpu & bus %~ (flip V.update $ V.singleton (fromIntegral target, newValue)) & registers . flags %~ const newFlags
|
cpu & bus %~ (flip V.update $ V.singleton (fromIntegral target, newValue)) & registers . flags .~ newFlags
|
||||||
where
|
where
|
||||||
add :: Word8 -> Word8 -> Bool -> (Word8, FlagRegister)
|
add :: Word8 -> Word8 -> Bool -> (Word8, FlagRegister)
|
||||||
add o n _c = let new = o + n + if _c then 1 else 0
|
add o n _c = let new = o + n + if _c then 1 else 0
|
||||||
|
|||||||
Reference in New Issue
Block a user