What is Mochi8?
Mochi8 is a CHIP-8/S-CHIP toolkit written in Java, including an emulator, an assembler and a disassembler. It is written from scratch, not a port of existing C/C++ code. There are numerous people who wrote excellent documentations and fancy programs. To name a few, Christian Egeberg, who wrote the CHIPPER program, assembler for CHIP-8 and David Winter whose comprehensive work revived the trend of CHIP-8 programming etc. Mochi8 would not have been here without referencing their work.
Features And Limits
Emulator
- Supports both CHIP-8/S-CHIP instruction sets
- Supports 64x32, 64x64 (CHIP-8 Hires) and 128x64 screen resolutions
- Supports various window sizes and aspect ratios
- Supports changing foreground and background colors
- Supports various speed mode
- Supports misc features such as Windows Always On Top, Pause on Background etc
- Assembler is mostly Christian Egeberg's CHIPPER v2.11 compatible with a few exceptions
- Supports forward referencing of variables before they are declared
- Supports bin/hex/oct mixed notions in expressions, e.g., (9%3) * 2 + #F & 8 - 77/$111
- Limits: currently only supports assembling to a binary file for emulators. Does not support generating CHIP-48 or other real hardware-recognizable formats.
- Limits: Need to implement more error detection for the assembler.