Current Features
- Reads roms from hex and binary files
- Steppable execution
- Full introspection of programs
- Cycle accurate
Current Limitations
- Decimal mode is not implemented (similar to NES)
- Interrupts are not fully implemented (hardware)
Each CPU component can be printed using the Debug trait here is and example of printing the cpu, cpu.reg, and cpu.mem:
Currently executing: 70 BVS $03 Cycles remaining: 1
a: 0x08 x: 0x05 y: 0x00 s: 0x00 pc: 0x000D SV-BDIZC
00001000 00000101 00000000 00000000 0000000000001101 00110100
0000: 4C 10 00 65 FE A6 FD 86 FE 85 FD 70 03 4C 03 00 L..e.......p.L..
0010: 18 A9 01 85 FE A9 00 85 FD 4C 03 00 00 00 00 00 .........L......
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 08 05 00 ................