A downloadable tool for Windows, macOS, and Linux

Download NowName your own price

crustyBASIC is a BASIC cross-compiler for retro systems and newer. It compiles BASIC source into native machine code. It runs on Windows, MacOS, and Linux.  NOTE: this is a work in progress, but is being very actively developed/improved.

--== Join our new Discord at https://discord.gg/yFwSHMEm9 ==--

Currently supported target machines are: 

  • Apple ][
  • Atari 8-bit (inc 5200), 2600 VCS, 7800
  • Commodore 64, 128, Vic-20, Plus/4
  • TRS-80 Color Computer 1/2/3
  • Nintendo NES
  • MSDOS 16 bit
  • Windows 64 bit (Windows XP - 11)
  • Linux 64 bit
  • Sinclair ZX81

Some are a little further along than others.  More will be added in the future.  Lots of example code is included to get you started.

  • Compiles BASIC to native machine code for speed
  • Options for speed vs size, carts, math libs, etc
  • Flexible syntax at compile time with @REWRITE and @REWRITE_EXPR
  • Modularity supported by @INCLUDE, pull in files and resources
  • Portable APIs (TILE, SPRITE, FILE, GRAPHICS, CELL, IMAGE, INPUT, SOUND, etc) - write once and run multiple on systems
  • Supports compiling old BASIC listings, including tokenized, even running on different systems!

Quick Start

@OPTION TARGET c64
CLS
POSITION 0, 0
PRINT "HELLO, WORLD!"

Build a runnable .prg in one shot:

crustybasic hello.cbs

Compile to assembly:

crustybasic compile hello.cbs -o hello.s

Full usage guide and language reference included as well as lots of example code.  Bug reports/feature requests can be posted here in the forums or at https://github.com/bsturk/crustybasic

Updated 5 days ago
StatusIn development
CategoryTool
PlatformsWindows, macOS, Linux
Authortelengard
Made withRust
Tags8-Bit, apple2, atari, basic, Commodore 64, MS-DOS, nintendo, Retro, tandy, VIC-20
AI DisclosureAI Assisted, Code

Download

Download NowName your own price

Click download now to get access to the following files:

crustybasic-1.4.0-x86_64-pc-windows-msvc.zip 7.8 MB
crustybasic-1.4.0-x86_64-unknown-linux-gnu.tar.gz 8.8 MB
crustybasic-1.4.0-aarch64-apple-darwin.zip 7.9 MB
crustybasic-1.4.0-x86_64-apple-darwin.zip 8.4 MB
crustybasic-1.4.0-universal2-apple-darwin.zip 14 MB

Development log