User Tools

Site Tools


release:tinyzoo

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.

ID Name Progress Engine files Source code Notes
gb Game Boy Color Released Here Here
gb Analogue Pocket Released Here Here
gg Game Gear Planned Here
ws WonderSwan (Color) Planned
gba Game Boy Advance Planned

Converting your ZZT world

NOTE: This is complicated because it's early. It will get easier. (I think.)

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

  1. Download the latest CI zima build: 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)
    • You need Java 17 for new zima builds. Download a copy here.
  2. Download the latest engine file for your platform - see above.
  3. 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.

  1. Download binjgb from the pre-configured TinyZoo/GB copy.
  2. 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.
  • gb port:
    • SameBoy - the most accurate of the lot,
    • Emulicious - best debugging tools (but the necessary symbols files are currently not packaged).
  • ws port:
    • Mednafen - not perfectly accurate, but good enough for the port.
release/tinyzoo.txt · Last modified: 2022/08/28 21:09 by asie