Chip8Java
Chip8Java copied to clipboard
A Super Chip 8 emulator written in Java
The `--logic_quirks` controls whether the F register is cleared after logic operations such as AND, OR, and XOR. By default, `F` is left undefined following these operations. With the `logic_quirks`...
The `--clip_quirks` controls whether sprites are allowed to wrap around the display. By default, sprites will wrap around the borders of the screen. If `clip_quirks` is turned on, then sprites...
The `--jump_quirks` controls how jumps to various addresses are made with the jump (`Bnnn`) instruction. In the original Chip8 language specification, the jump is made by taking the contents of...
The `--index_quirks` flag controls whether post-increments are made to the index register following various register based operations. For load (`Fn65`) and store (`Fn55`) register operations, the original specification for the...
In order to be compatible with a wide variety of Chip 8 ROMs, a change to the shift operation is required. In the original language specification two registers were required:...
The documentation in the `README.md` file should be updated to reflect how the new XO chip specification works. Additionally, the list of compatible ROMs should be updated with some of...
The XO Chip specification states that a new 16-byte pattern buffer should be generated to hold digital samples for playback. This internal buffer is set using the `audio` operation with...
With the bitplane selector in place (see issue #27), the various draw functions need to be updated to only update elements on the selected bitplane(s). As mentioned before, the `bitplane`...
**Describe the bug** With games such as `mastermind`, pressing any key will leave the keyboard in a state where the emulator continues to see it as being pressed, advancing quickly...