GBS
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
Game Boy Sound Preview.
At a glance
| Purpose | A Game Boy Sound file: music ripped from a Game Boy game, with the code needed to play it. |
| Extensions | .gbs |
| Poka parser | poka-gbs |
| Viewer | poka-tree-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B4 Summary (see Breadth tiers) |
How much Poka reads
B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.
Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-gbs/src/main.rs (214 lines) and plugin.json. No unit tests or tests/samples.rs, and the corpus has sample.gbs but no test reads it. Covers .gbs. The tree decodes the whole 112-byte header: title, author, copyright, song count and first song, version, load, init and play addresses, stack pointer and the timer registers. Judgement: B4 rather than B5, because the whole header is decoded and checked; nothing of the music (the code and data after the header) is.
What Poka does not read
- The music is not played or analysed; the code and data after the header are not read
- Timer settings are shown raw, not turned into a playback rate
- Per-song titles and lengths are not shown (the header has none)
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- Game_Music_Emu (libgme) (candidate; LGPL-2.1-or-later; unknown; https://packagehub.suse.com/packages/libgme/) — Multi-format video game music emulator that lists GBS; licence and format taken from the SUSE package page, not upstream; language not stated there.
- gbsplay (gbsinfo, gbs2gb) (reference; GPL-1.0-or-later; C; https://github.com/mmitch/gbsplay) — copyleft; Player with gbsinfo tool that reads GBS/GBR headers; licence 'GPL v1 or later' per README; language inferred from .c files.
- gbsdiff (candidate; MPL-2.0; Rust; https://github.com/ISSOtm/gbsdiff) — A tool for highlighting the differences in the execution of two GBS files.; v1.0.1, updated 2024-12-27; matched on lib.rs, not tested
Sources
- parsers/poka-gbs/src/main.rs
- parsers/poka-gbs/plugin.json