PRG
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.
Commodore 64 PRG Preview.
At a glance
| Purpose | A Commodore 64 program file: a two-byte load address followed by the bytes loaded there, a tokenised BASIC program or machine code. |
| Extensions | .prg |
| Poka parser | poka-c64-prg |
| Viewer | poka-metadata-card-viewer |
| Depth tier | Metadata card (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-c64-prg/src/main.rs (272 lines) and plugin.json. No unit tests or tests/samples.rs, and the corpus has no .prg, .prg-c64 and .d64-prg sample. Covers .prg, .prg-c64 and .d64-prg. The card shows the load address with its memory region, the payload size and range, and the kind; for BASIC at $0801 it walks the line chain, counts lines, shows the first five lines detokenised and finds a SYS launcher. Judgement: B4: the program is summarised but not listed in full or disassembled.
What Poka does not read
- Only the first five BASIC lines are listed, each cut at 64 characters
- BASIC tokens above SYS…NEW (from TAB( onwards, 0xA3–0xCB) are shown as ?TOKEN
- PETSCII graphics and control characters are shown as ?
- Machine code is not disassembled
- BASIC loaded at other addresses (VIC-20, C128) is treated as machine code
- Files over 8 MiB are cut (flagged)
Sources
- parsers/poka-c64-prg/src/main.rs
- parsers/poka-c64-prg/plugin.json