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
release:tinyzoo [2022/05/31 18:17] asierelease:tinyzoo [2023/03/29 16:53] (current) asie
Line 1: Line 1:
 {{tag>type:source_port}} {{tag>type:source_port}}
  
-====== tinyzoo ======+====== TinyZoo ======
  
-tinyzoo is a collection of small ZZT source ports by asie, with the following traits:+TinyZoo is a collection of small ZZT source ports by asie, with the following traits:
  
   * Custom, optimized binary bytecode format,   * Custom, optimized binary bytecode format,
Line 10: Line 10:
 ===== Platform support ===== ===== Platform support =====
  
-^ ID ^ Name ^ Progress ^ Engine files ^ Source code ^ Notes ^ +NOTEThe Analogue Pocket using the "gb" platform ID is correct.
-| gb | GameBoy Color | WIP | [[https://zeta.asie.pl/files/tinyzoo-gb/|Here]] | [[https://github.com/OpenZoo/gbzoo|Here]] | | +
-| gg | Game Gear | Planned | | [[https://github.com/OpenZoo/gbzoo|Here]] | | +
-| ws | WonderSwan (Color) | Planned | | | |+
  
-===== Converting your world =====+^ ID ^ Name ^ Progress ^ Engine files ^ Source code ^ As of Zeta ^ Notes ^ 
 +| gb | Game Boy Color | Released | [[https://zeta.asie.pl/files/tinyzoo-gb/|Here]] | [[https://github.com/OpenZoo/tinyzoo-gb|Here]] | 0.9.0 | | 
 +| gb | Analogue Pocket | Released | [[https://zeta.asie.pl/files/tinyzoo-ap/|Here]] | [[https://github.com/OpenZoo/tinyzoo-gb|Here]] | 0.9.0 | | 
 +| 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]] | 0.9.0 | | 
 +| gba | Game Boy Advance | Planned | | | | |
  
-NOTE: This is complicated because it's early. It will get easier. (I think.)+===== 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: [[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). 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; 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 [[https://adoptium.net/temurin/releases/|here]].     * You need **Java 17** for new zima builds. Download a copy [[https://adoptium.net/temurin/releases/|here]].
 +    * Some features and bugfixes may only be available in the development builds. To download the latest CI zima build: visit [[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**.
   - Download the latest engine file for your platform - see above.   - 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_name -e engine_file_path -p platform_id input_world_path'', replacing the underscored identifiers with the necessary values.+  - 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 ===== ===== Links =====
 +
 +  * [[https://museumofzzt.com/discord/|Museum of ZZT Discord]] - TinyZoo discussion is welcome in the ''#zzt-programs'' channel.
  
release/tinyzoo.1654021039.txt.gz · Last modified: 2022/05/31 18:17 by asie