What is it?
Vinegar is a CHIP-8 and SCHIP 'emulator'/interpreter.
CHIP-8 was a simple language interpreter found on some early home computers, and has a very small instruction set. The machines it ran on had a 64x32 resolution display; they also had a simple hex keypads (a 4x4 grid of keys 0 to F) for input, which might explain the odd key layout this program uses.
CHIP-8 was revisited in the 1990s thanks to an interpeter for the HP48 calculator. The instruction set was extended and the screen resolution doubled to 128x64, but is fully backwards compatible with the original CHIP-8. This is the "SUPER-CHIP" (SCHIP) part of this interpreter.
It is easy to find programs in CHIP-8 or SCHIP, and using the command script file included you can easily convert the files to a format that can be sent to your calculator.
Features
- Almost complete CHIP-8 and SCHIP opcode support.
- 128x64 SCHIP mode is either presented in pan-and-scan or squashed 96x64 resolution to fit it on the small calculator display.
- Detailed configuration screen allows you to fine-tune speed of the simulation.
- Sound.
- Error trapping.
Limitations
- No 1802 emulation (the PC CHIP-8 emulators I've used ignore this as well).
- Games must be loaded at $200. I store the font data in the first 512 bytes, as this saves me from having to allocate even more memory than the already generous 5KB required. There is only one ROM, to my knowledge, that requires to be loaded to $000 (the CHIP-8 editor that allows you to type in CHIP-8 code and then execute it).
- As sound is done in software, emulation slows down when the sound is playing.
- I have no idea what the HP48 flags are meant to do. You can copy registers V0 to V7 to and from them in Vinegar, so if a program uses them as temporary storage then that's all well and good.
- As the CHIP-8 display is handled at a 1:1 resolution, not stretched to 2:1, half-pixel scrolls don't work.
Usage
This package comes with 3 binaries; one for TI-83, and two for TI-83 Plus. Send the one that best matches your calculator model and shell to your calculator using your linking program.
You won't be able to use this interpreter without having a few CHIP-8 programs installed. I've included a rather large number of them in the ROMs subfolder of this package. Note that ones with (CHIP-8) in their name are CHIP-8 programs, and that ones with (SCHIP) in their name are SCHIP programs.
If you run the program, you should be able to see the installed program in a list, a bit like Ion's main view. Highlight the program you wish to start, then press 2nd or Enter to run it.