- fuss' = (fu const inputs (addrs!(0 :: Index D3))) +> (
- (fu (+) inputs (addrs!(1 :: Index D3))) +> (
- (fu (-) inputs (addrs!(2 :: Index D3))) +> (
- (fu (*) inputs (addrs!(3 :: Index D3))) +> empty)))
- inputs = 0 +> (1 +> (input +> fuss))
- out = head fuss
-
-cpuState :: Vector D4 Word
-cpuState = copy 0
\ No newline at end of file
+ inputs = x +> (0 +> (1 +> s))
+ s' = (fu0 opc inputs (addrs!(0 :: Index D3))) +> (
+ (fu1 inputs (addrs!(1 :: Index D3))) +> (
+ (fu2 inputs (addrs!(2 :: Index D3))) +> (
+ (fu3 inputs (addrs!(3 :: Index D3))) +> empty)))
+ out = last s
+
+-- Some minor details
+cpuState :: Vector D4 (Signed D16)
+cpuState = copy 0
+
+type Index = RangedWord
+type Signed = SizedInt
+
+const a b = a
+xor = const
+shift = const