https://github.com/bbbbbr/gbtoolsid
A command line app for identifying tools used to build Game Boy ROMs
https://github.com/bbbbbr/gbtoolsid
game-boy game-boy-roms gameboy gbdk gbdk-2020 gbstudio toolchain zgb
Last synced: about 1 month ago
JSON representation
A command line app for identifying tools used to build Game Boy ROMs
- Host: GitHub
- URL: https://github.com/bbbbbr/gbtoolsid
- Owner: bbbbbr
- License: unlicense
- Created: 2021-05-12T08:26:44.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-02-28T09:19:26.000Z (3 months ago)
- Last Synced: 2025-03-29T04:23:55.823Z (about 2 months ago)
- Topics: game-boy, game-boy-roms, gameboy, gbdk, gbdk-2020, gbstudio, toolchain, zgb
- Language: JavaScript
- Homepage:
- Size: 774 KB
- Stars: 26
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: Changelog.md
- License: LICENSE
Awesome Lists containing this project
README
gbtoolsid - Game Boy Toolchain ID
=================================A command line app for identifying tools used to build Game Boy ROMs
For the web version see:
https://bbbbbr.github.io/gbtoolsid_web/
https://github.com/bbbbbr/gbtoolsid_webIt attempts to identify the toolchain and engine through binary fingerprints:
Toolchains:
- GBDK 2.x and GBDK-2020
- Turbo Rascal Syntax Error
- GBForth
- GBBasicGame Engines:
- ZGB
- GBStudioAudio Drivers:
- Carillon Player, [DevSound](https://github.com/DevEd2/DevSound) & [DevSoundLite](https://github.com/DevEd2/DevSoundLite), Freaq, GHX, [GB Sound System](https://github.com/gbdev/GBSoundSystem), [GBT Player](https://github.com/AntonioND/gbt-player), [hUGETracker](https://github.com/SuperDisk/hUGETracker) & [fortISSimO](https://github.com/ISSOtm/fortISSimO), Lemon, LSDJ, MPlay, Music Box Black Box, MusyX, [Trackerboy](https://github.com/stoneface86/tbengine), Visual Impact's, [MMLGB](https://github.com/SimonLarsen/mmlgb), [GBMC](http://mydocuments.g2.xrea.com/html/gb/sounddriver.html), QuickThunder (Audio Arts), IMEDGBoy, Cosmigo, Makrillon, DefleMask, TonicFur Audio EngineSound FX Drivers:
- FX Hammer, [CBT-FX](https://github.com/datguywitha3ds/CBT-FX), [VAL-FX](https://github.com/ISSOtm/val-fx), [VGM2GBSFX](https://github.com/untoxa/VGM2GBSFX)Output is available in several formats:
- standard text (only this mode shows multiple entries for a given category if found)
- json (`-oj`)
- csv row (`-oc` and `-oC`)```
gbtoolsid [options] infile.gb[c]Use: Try to identify the toolchain used to build a
Game Boy game the result is printed to stdout.Options
-h : Show this help screen
-oj : json style output
-oc : csv style output
-oC : Bare csv style output (no field names)
-s : Strict mode: require GBDK match before testing ZGB or GBStudio
-pF : Show full path to file in output (default: filename only)Example: "gbtoolchainid petris.gbc"
```
Some example output:
```
File: deadeus.gb
Tools: GBDK, Version: 2.x - 2020-3.2.0
Engine: GBStudio, Version: 1.0.0 - 1.2.1
Music: GBT PlayerFile: POWA! DEMO.gbc
Tools: GBDK, Version: 2.x - 2020-3.2.0
Engine: ZGB, Version: 2020.1 - 2021.0
Music: GBT PlayerFile: IndestructoTankGB.gb
Tools: GBDK, Version: 2020.4.0.2
Music: GBT PlayerFile: Super_JetPak_DX_DMG-SJPD-UKV.gbc
Tools: GBDK, Version: 2.x - 2020-3.2.0
Music: GHXFile: Tuff.gb
Tools:File: Last Crown Warriors (Demo) 1.1.1.gb
Tools:
Music: Carillon Player
SoundFX: FX Hammer```
To scan in bulk, it can be combined with other tools, for example:
```
find path/to/some/ROMs/* -iname "*.gb*" -type f -print0 | xargs -0 -n1 path/to/gbtoolsid
```
Or, scan in bulk and dump to csv:
```
find path/to/some/ROMs/* -iname "*.gb" -type f | xargs -I {} path/to/gbtoolsid -pF -oC "{}" > path/to/someoutputfile.csv
```