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 As of Zeta Notes
gb Game Boy Color Released Here Here 0.9.0
gb Analogue Pocket Released Here Here 0.9.0
gg Game Gear Planned Here
ws WonderSwan (Color) Released Here Here 0.9.0
gba Game Boy Advance Planned

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

  1. 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.
  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:
    • Ares v131+ - the most accurate of the lot.
    • Mednafen - not perfectly accurate, but has debugging tools.
release/tinyzoo.txt · Last modified: 2023/03/29 16:53 by asie