{
  "added_at": "2026-11-09",
  "additional_evidence_urls": [
    "https://github.com/robhagemans/pcbasic/blob/6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5/tests/basic/gwbasic/PRINT_USING_scientific/TEST.BAS",
    "https://github.com/robhagemans/pcbasic/blob/6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5/tests/basic/gwbasic/PRINT_USING_scientific/PCBASIC.INI",
    "https://github.com/robhagemans/pcbasic/blob/6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5/tests/basic/gwbasic/PRINT_USING_scientific/model/OUTPUT.TXT",
    "https://github.com/robhagemans/pcbasic/blob/6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5/tests/basic/testbasic.py",
    "https://github.com/robhagemans/pcbasic/blob/6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5/LICENSE.md"
  ],
  "category": "reconstruction-cases",
  "class": "software",
  "description_en": "A cross-platform interpreter for GW-BASIC, BASICA, PCjr Cartridge BASIC, and Tandy 1000 GWBASIC. Release v2.0.8 is commit 6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5; the shipped program tests/basic/gwbasic/PRINT_USING_scientific/TEST.BAS is compared byte for byte with model/OUTPUT.TXT.",
  "description_zh": "面向 GW-BASIC、BASICA、PCjr Cartridge BASIC 和 Tandy 1000 GWBASIC 的跨平台解释器。发布版 v2.0.8 是提交 6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5；随仓库提供的 tests/basic/gwbasic/PRINT_USING_scientific/TEST.BAS 与 model/OUTPUT.TXT 做整文件字节比较。",
  "entry_url": "https://awesomerea.org/resources/pcbasic-interpreter-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/pcbasic-interpreter-case/",
  "evidence_url": "https://github.com/robhagemans/pcbasic/blob/6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5/README.md",
  "group": "cases",
  "id": "pcbasic-interpreter-case",
  "json_url": "https://awesomerea.org/resources/pcbasic-interpreter-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/pcbasic-interpreter-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/pcbasic-interpreter-case/index.md",
  "name": "PC-BASIC: a GW-BASIC-family interpreter",
  "name_zh": "PC-BASIC：GW-BASIC 家族解释器",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "scope",
    "testing",
    "license"
  ],
  "requirements": [
    "The README calls PC-BASIC a free interpreter for those four BASIC dialects, aiming for bug-for-bug compatibility, running .BAS programs, and using Microsoft Binary Format floating point. Tag v2.0.8 points at commit 6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5. Desktop installers are published on that GitHub release.",
    "At that commit, tests/basic/gwbasic/PRINT_USING_scientific/TEST.BAS is 362 bytes. PCBASIC.INI in the same directory sets run=TEST.BAS and quit=True. The oracle model/OUTPUT.TXT is 82 bytes. tests/basic/testbasic.py compares each model file with filecmp.cmp and shallow=False, a full byte compare.",
    "The README says the program is released under GPL version 3. LICENSE.md grants the GNU GPL version 3 or, at the recipient’s option, any later version."
  ],
  "requirements_zh": [
    "README 把 PC-BASIC 称为这四种 BASIC 方言的自由解释器，目标是逐错误兼容，能运行 .BAS 程序，并使用 Microsoft Binary Format 浮点。标签 v2.0.8 指向提交 6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5。该 GitHub 发布页提供桌面安装包。",
    "在该提交，tests/basic/gwbasic/PRINT_USING_scientific/TEST.BAS 为 362 字节。同目录的 PCBASIC.INI 设置 run=TEST.BAS 和 quit=True。对照文件 model/OUTPUT.TXT 为 82 字节。tests/basic/testbasic.py 用 filecmp.cmp 且 shallow=False 比较每个 model 文件，也就是整文件字节比较。",
    "README 写明程序以 GPL 第 3 版发布。LICENSE.md 授予 GNU GPL 第 3 版，或由接受方选择的任何更高版本。"
  ],
  "targets": [
    "app"
  ],
  "url": "https://github.com/robhagemans/pcbasic",
  "verification": "source-reviewed",
  "verified_at": "2026-11-03"
}
