Skip to content
/ chip8 Public

A CHIP-8 IDE written in Java 11, complete with assembler,debugger,disassembler and emulator.

License

Notifications You must be signed in to change notification settings

toby1984/chip8

Repository files navigation

chip8

A CHIP-8 IDE written in Java 11, complete with assembler,debugger,disassembler and emulator.

Requirements

Maven 3.x, JDK 11+

Running

mvn clean package
java -jar target/chip8.jar

Screenshot

Features

  • 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
  • A crude sprite viewer

To do

  • 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)

About

A CHIP-8 IDE written in Java 11, complete with assembler,debugger,disassembler and emulator.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published