https://github.com/rwtodd/bascat
Decode GWBASIC/BASICA tokenized files, in multiple languages (1 per branch)
https://github.com/rwtodd/bascat
decoder gwbasic
Last synced: 2 months ago
JSON representation
Decode GWBASIC/BASICA tokenized files, in multiple languages (1 per branch)
- Host: GitHub
- URL: https://github.com/rwtodd/bascat
- Owner: rwtodd
- License: mit
- Created: 2019-01-02T00:35:31.000Z (about 7 years ago)
- Default Branch: go-version
- Last Pushed: 2025-08-03T05:04:54.000Z (8 months ago)
- Last Synced: 2025-08-03T06:24:22.297Z (8 months ago)
- Topics: decoder, gwbasic
- Language: Go
- Homepage:
- Size: 660 KB
- Stars: 12
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# bascat
bascat is a program to print out tokenized gwbasic .BAS files in ASCII. There are
actually a fair amount of .BAS files out there in the default tokenized format,
but you'd need a working GWBASIC/BASICA to see the source.
This is mostly a toy program that I'm using to help get familiar with
Go, but it might be useful to someone.
## Multiple Languages
The original version I did was in Go (in this branch). I did several other verisions in
other languages (scala, java, kotlin, fsharp etc.), and most of them are on other
branches of this repository.
## Unprotect Feature
It was possible to save your file encrypted in GW-BASIC, and I found the decryption
algorithm in the [PC-BASIC](http://sourceforge.net/p/pcbasic/wiki/Home/) project. So,
I implemented that decryption scheme... and in some basic tests running GW-BASIC 3.23 in DOSBOX it does work.
## Licesnse
I put this implementation under the MIT license
## Referece
The documentation I used for the tokenized file format was
here: [http://chebucto.ns.ca/~af380/GW-BASIC-tokens.html](http://chebucto.ns.ca/~af380/GW-BASIC-tokens.html).