poka.sh

Docs

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