Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ullenius/gbsinfo-js
View Game Boy Sound-files (gbs) headers in the browser
https://github.com/ullenius/gbsinfo-js
gameboy gbs gplv3 tags
Last synced: about 1 month ago
JSON representation
View Game Boy Sound-files (gbs) headers in the browser
- Host: GitHub
- URL: https://github.com/ullenius/gbsinfo-js
- Owner: ullenius
- License: gpl-3.0
- Created: 2022-07-17T13:17:15.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-10-29T20:43:51.000Z (about 2 years ago)
- Last Synced: 2023-03-09T07:18:09.904Z (almost 2 years ago)
- Topics: gameboy, gbs, gplv3, tags
- Language: JavaScript
- Homepage: https://ullenius.github.io/gbsinfo-js
- Size: 98.6 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# Read Game Boy Sound-files in the browser
* Read and parse gbs-file headers in the browser.
* Mimics output of the `gbsinfo` tool found in [gbsplay](https://www.github.com/mmitch/gbsplay).> “Any application that *can* be written in JavaScript, *will* eventually be written in JavaScript.”
> - Atwood's law## Features
* Vanilla JavaScript. No dependencies.
* UTF-8 support.## How to use it
### Web version
1. [Open gbsinfo-js](https://ullenius.github.io/gbsinfo-js).
2. Select a `.gbs`-file using the GUI.### Node version
Output results as JSON:```bash
$ node gbsinfo.js [FILE]...
```For pretty printed JSON:
```bash
$ node gbsinfo.js blastermaster.gbs | jq
```
```json
{
"identifier": "GBS",
"version": 1,
"songs": 14,
"firstSong": 1,
"loadAddress": 16368,
"initAddress": 16368,
"playAddress": 16387,
"stackPointer": 57344,
"title": "Blaster Master: Enemy Below",
"author": "Akira Suda",
"copyright": "2000 Sunsoft",
"timing": "128.00Hz timer",
"file": {
"size": 112,
"romSize": 16384,
"banks": 1
}
}
```
#### Differences from browser-version
* Only supports ASCII-format.
* Number fields are displayed as zero-padded hex-values in the web version.## Requirements
* Browser with ES6-support.
* Node v12.x or later.## Running tests
Run `$ node tests/decode.test.js`.They are written using [jspunytest](https://www.github.com/ullenius/jspunytest) which is bundled inside `tests/punytest.js`.
## Licence
GPL-3.0-only.
See [COPYING](COPYING).### Libraries
* Uses `jspunytest` (MIT licence) for testing.## Se also
* [gbstag](https://www.github.com/ullenius/gbstag) - similar tool in Java.
* [jbstag](https://www.github.com/ullenius/jbstag) - GUI tagger made in Java.
* [gbs-lib](https://www.github.com/ullenius/gbs-lib) - gbs java library.