- add memory viewer
- add debugger/disassembler
- implement graphics
- make source encoding more compact (pack register args)
- figure out bank switching
- separate TVM and core cpu
- MMIO/modular devices (graphics should be implemented like this)
- encapsulate memory access (move memory system outside of CPU)