A CHIP-8 IDE written in Java 11, complete with assembler,debugger,disassembler and emulator.
Maven 3.x, JDK 11+
mvn clean package
java -jar target/chip8.jar
- Emulator
- Complete CHIP-8 emulation
- Debugger
- single stepping
- step over subroutine calls
- conditional & unconditional breakpoints (just click on the '[ ]' on a line in the debugger window so add/remove a breakpoint).
- Assembler
- Instruction set as described in http://devernay.free.fr/hacks/chip8/C8TECH10.HTM
- Syntax highlighting
- Build-in syntax help :)
- Support for expressions with parentheses and the following operators: < > && || == != - + * / >> << | & ^
- Support for hexadecimal (0x1234), decimal (1234) and binary (%101101) number literals
- Support for global ( label: ) and local ( .label) labels Labels must not be a reserved word or start with a digit. Valid characters are only digits,letters or underscores
- Support for .byte / .word / .reserve / .origin directives
- Supports assigning alias names to registers (.alias) and clearing them (.clearAliases) to make coding less error-prone
- Support for parameterized macros (.macro)
- Disassembler
- Syntax as described in http://devernay.free.fr/hacks/chip8/C8TECH10.HTM
- A crude sprite viewer
- Prettify compilation error messages
- .alias sometimes behaves weird (unknown symbol errors although the alias was previously defined)
- UI does not show stack contents
- UI does not support evaluating 'I' register in expressions (crashes)