- Break into submodules
- Move bus into submodule of CPU
- Keep program and charset rom inside CPU
- Take only the screen on the external Bus
- Refactor the disassembler into an instruction definition and the actual "Dis" item
- Rewrote the instruction decoder as an enum
- Used imperative_rs to auto-generate the bit twiddling logic
- Implemented Display on that enum, for disassembly
- Rewrote CPU::tick
- Now >10x faster
- Disassembly mode is still 5x slower though
- Implemented time-based benchmarking
- (use option -S to set the number of instructions per epoch)