Case study
PC-BASIC: a GW-BASIC-family interpreter
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.
- Targets
- App
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Stars
- 473
- Last commit
- 2026-07-12
- Language
- Python
GitHub data as of 2026-11-09
Requirements & limits
- Scope: 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.
- Testing evidence: 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.
- License: 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.
Cite
BibTeX
@misc{pcbasic-interpreter-case,
title = {{PC-BASIC: a GW-BASIC-family interpreter}},
howpublished = {\url{https://github.com/robhagemans/pcbasic}},
url = {https://github.com/robhagemans/pcbasic},
urldate = {2026-11-03},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/pcbasic-interpreter-case/}}
}Plain text
PC-BASIC: a GW-BASIC-family interpreter. https://github.com/robhagemans/pcbasic (accessed 2026-11-03). Awesome REA entry: https://awesomerea.org/resources/pcbasic-interpreter-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · robhagemans/pcbasic · Revision 6a3a035
- tests/basic/gwbasic/PRINT_USING_scientific/TEST.BAS GitHub · robhagemans/pcbasic · Revision 6a3a035
- tests/basic/gwbasic/PRINT_USING_scientific/PCBASIC.INI GitHub · robhagemans/pcbasic · Revision 6a3a035
- tests/basic/gwbasic/PRINT_USING_scientific/model/OUTPUT.TXT GitHub · robhagemans/pcbasic · Revision 6a3a035
- tests/basic/testbasic.py GitHub · robhagemans/pcbasic · Revision 6a3a035
- LICENSE.md GitHub · robhagemans/pcbasic · Revision 6a3a035
More in Apps
- ReactOS: a Windows NT-compatible operating system · Case study
- viaduct: a Linux port of NetNewsWire · Case study
- zalo-linux: a Linux package of the Zalo desktop app · Case study
- Free-BBN: recreating the PlayStation Broadband Navigator dashboard · Case study
- Serato Tags: reconstructing Serato DJ GEOB metadata · Case study
- lsdj-decomp: matching Little Sound Dj 9.4.2 reconstruction · Case study