Table of Contents
TinyZoo
TinyZoo is a collection of small ZZT source ports by asie, with the following traits:
- Custom, optimized binary bytecode format,
- Support for ZXT-based extensions via the conversion tool.
Platform support
NOTE: The Analogue Pocket using the “gb” platform ID is correct.
Converting your ZZT world
NOTE: This is complicated because it's early. It will get easier, maybe, one day.
NOTE: If you want to utilize ZXT extensions, it is recommended - but not necessary, if you're using a different tool - to download the latest CI ClassicZoo/ZXT build, which includes necessary editing and testing facilities: GitHub Workflows (video guide - generally, pick the topmost entry; you also need to be signed in to GitHub, this is not ideal and will be resolved eventually).
- Download the latest version of zima, 0.9.0 or above.
- You need Java 17 for new zima builds. Download a copy here.
- Some features and bugfixes may only be available in the development builds. To download the latest CI zima build: visit GitHub Workflows (video guide - generally, pick the topmost entry; THE DOWNLOADS WILL NOT SHOW UP UNLESS YOU'RE LOGGED INTO GITHUB.
- Download the latest engine file for your platform - see above.
- Run the following command in the command line:
java -jar zima.jar binconv -o output_rom_path -e engine_file_path -p platform_id input_world_path
, replacing the underscored identifiers with the necessary values:output_rom_path
is the output file path for the ROM image.engine_file_path
is the path for the platform-specific engine file - you can download it above, in the platform list.platform_id
is the platform ID - you can find it in the platform list.input_world_path
is the path to the input world. You can specify multiple worlds, but this may not be supported by all platforms.
Make sure to study the licensing information before publicly releasing a converted world - or just contact me directly if you have any questions.
Platform-specific advice
Game Boy
Publishing to HTML5
Currently, the best supported GB emulator for TinyZoo/GB is binjgb.
- Download binjgb from the pre-configured TinyZoo/GB copy.
- Copy your ROM to this directory, named
game.gb
.
To upload to itch.io, pack all the files in the linked directory (including game.gb
) into a ZIP file, then publish it as an in-browser game on Itch.
Acquiring physical cartridges
List of reflashable cartridge vendors.
- There is no reason to buy a cartridge larger than 4MB ROM - bigger sizes are not supported by TinyZoo/GB at this time.
- Note that you need a cartridge with 128K RAM and MBC5.
- For smaller games (or games utilizing “board groups”), 32K RAM might be sufficient - in this case, build your ROM with
–sram-size 32
passed to binconv.
Recommended emulators
gb
port:- SameBoy - the most accurate of the lot,
- Emulicious - best debugging tools (but the necessary symbols files are currently not packaged).
ws
port:
Links
- Museum of ZZT Discord - TinyZoo discussion is welcome in the
#zzt-programs
channel.