# 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.

- Type: Case study
- Targets: App
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-03
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/robhagemans/pcbasic>
- Primary source: <https://github.com/robhagemans/pcbasic/blob/6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5/README.md>
- Catalog page: <https://awesomerea.org/resources/pcbasic-interpreter-case/>
- Record JSON: <https://awesomerea.org/resources/pcbasic-interpreter-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/pcbasic-interpreter-case/index.md)

## 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.

## Primary sources

1. <https://github.com/robhagemans/pcbasic/blob/6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5/README.md>
2. <https://github.com/robhagemans/pcbasic/blob/6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5/tests/basic/gwbasic/PRINT_USING_scientific/TEST.BAS>
3. <https://github.com/robhagemans/pcbasic/blob/6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5/tests/basic/gwbasic/PRINT_USING_scientific/PCBASIC.INI>
4. <https://github.com/robhagemans/pcbasic/blob/6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5/tests/basic/gwbasic/PRINT_USING_scientific/model/OUTPUT.TXT>
5. <https://github.com/robhagemans/pcbasic/blob/6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5/tests/basic/testbasic.py>
6. <https://github.com/robhagemans/pcbasic/blob/6a3a035b0a1c1029d48bc9284e642b6b4bd64fb5/LICENSE.md>

## More in Apps

- [ReactOS: a Windows NT-compatible operating system](https://awesomerea.org/resources/reactos-nt-compatible-case/index.md) · Case study
- [viaduct: a Linux port of NetNewsWire](https://awesomerea.org/resources/viaduct-netnewswire-case/index.md) · Case study
- [zalo-linux: a Linux package of the Zalo desktop app](https://awesomerea.org/resources/zalo-linux-desktop-case/index.md) · Case study
- [Free-BBN: recreating the PlayStation Broadband Navigator dashboard](https://awesomerea.org/resources/free-bbn-case/index.md) · Case study
- [Serato Tags: reconstructing Serato DJ GEOB metadata](https://awesomerea.org/resources/serato-tags-case/index.md) · Case study
- [lsdj-decomp: matching Little Sound Dj 9.4.2 reconstruction](https://awesomerea.org/resources/lsdj-9-4-2-decomp-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
