added (a lot of) code to ZCpu