+handleCommand ":trace" state =
+ do filename <- prompt "Dump to? "
+ return $ state & ssTracing .~ True & ssDumpFile .~ filename
+handleCommand ":untrace" state =
+ return $ state & ssTracing .~ False & ssDumpFile .~ ""
+handleCommand ":poke8" state =
+ do let machines = state ^. ssMachines
+ let machine = head machines
+ let machine' = machine & registers . ix 7 .~ 1
+ return $ state & ssMachines .~ (machine' : (tail machines))