User Tools

Site Tools


release:tinyzoo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
release:tinyzoo [2022/08/21 10:45] asierelease:tinyzoo [2023/03/29 16:38] – add WonderSwan port files asie
Line 1: Line 1:
 +{{tag>type:source_port}}
 +
 +====== 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 | [[https://zeta.asie.pl/files/tinyzoo-gb/|Here]] | [[https://github.com/OpenZoo/tinyzoo-gb|Here]] | |
 +| gb | Analogue Pocket | Released | [[https://zeta.asie.pl/files/tinyzoo-ap/|Here]] | [[https://github.com/OpenZoo/tinyzoo-gb|Here]] | |
 +| gg | Game Gear | Planned | | [[https://github.com/OpenZoo/tinyzoo-gb|Here]] | |
 +| ws | WonderSwan (Color) | Released | [[https://zeta.asie.pl/files/tinyzoo-ws/|Here]] | [[https://github.com/OpenZoo/tinyzoo-ws|Here]] | |
 +| 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: [[https://github.com/OpenZoo/ClassicZoo/actions?query=branch%3Aproject%2Fclassiczoo-zxt-native-take2|GitHub Workflows]] ([[https://img.asie.pl/irMo.mp4|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 CI zima build: [[https://github.com/OpenZoo/zima/actions/workflows/gradle.yml?query=branch%3Amaster|GitHub Workflows]] ([[https://img.asie.pl/irMo.mp4|video guide]] - generally, pick the topmost entry; **THE DOWNLOADS WILL NOT SHOW UP UNLESS YOU'RE LOGGED INTO GITHUB**, this is not ideal and will be resolved eventually)
 +    * You need **Java 17** for new zima builds. Download a copy [[https://adoptium.net/temurin/releases/|here]].
 +  - 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 [[https://github.com/OpenZoo/tinyzoo-gb|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 [[https://github.com/binji/binjgb|binjgb]].
 +
 +  - Download binjgb from [[https://github.com/OpenZoo/tinyzoo-gb/tree/main/html5/gb-binjgb|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 ===
 +
 +[[https://bbbbbr.github.io/GameBoy-Flash-Carts/|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:
 +    * [[https://sameboy.github.io/|SameBoy]] - the most accurate of the lot,
 +    * [[https://emulicious.net/|Emulicious]] - best debugging tools (but the necessary symbols files are currently not packaged).
 +  * ''ws'' port:
 +    * [[https://ares-emu.net/|Ares]] v131+ - the most accurate of the lot.
 +    * [[https://mednafen.github.io/|Mednafen]] - not perfectly accurate, but has debugging tools.
 +
 +===== Links =====
 +
 +  * [[https://museumofzzt.com/discord/|Museum of ZZT Discord]] - TinyZoo discussion is welcome in the ''#zzt-programs'' channel.
  
release/tinyzoo.txt · Last modified: 2023/03/29 16:53 by asie