go-studybox/cmd
Zorchenhimer 88e095f426
[sbutil] Use filname field in json when packing
- Use the filename provided in the json file when writing out a .studybox
  file.  By default, it will not overwrite an existing file.
- Passing --force will overwrite an existing file.
- Passing --output will override the filename in the json.
2025-11-22 19:42:10 -05:00
..
README.md Add some READMEs and a LICENSE 2025-11-09 12:34:13 -05:00
extract-imgs.go [docs] Add images.md, move instructions.md, add some comments 2025-11-13 21:03:26 -05:00
just-stats.go [script] Add CDL; Add "smart" parsing 2025-09-14 16:52:06 -04:00
sbutil.go [sbutil] Use filname field in json when packing 2025-11-22 19:42:10 -05:00
script-decode.go [script] Rework CDL & Label stuff 2025-09-21 22:26:59 -04:00

README.md

extract-imgs

Extract images from an unpacked .studybox ROM file. Requires the tile packets as well as the CHR packets to build an image. Handles both nametable and sprite data.

just-stats

Decodes scripts similar to script-decode, but does not save the output. Instead, scripts are decoded in bulk and instruction usage is recorded to an output file.

sbutil

Pack and unpack .studybox ROM files. Unpacking extracts all of the data from the ROM into a subdirectory and writes a .json file with metadata. Packing does the reverse using the .json metadata file.

script-decode

Decode script segments from an unpacked .studybox ROM file. Labels and a CDL file are supported. Two modes are available: dumb and --smart decoding.

Dumb decoding is the default and will attempt to decode every byte in the file as script data. This will try and decode variable data as script data which is usually undesired.

--smart decoding starts at given entry points and decodes scripts by following the logic of the script and recording branches as new entry points. By default the only entry point is the top of the script (third byte in the file), but additional entry points can be given in the CDL file.