A downloadable tool for Windows, macOS, and Linux

Download NowName your own price

crustyBASIC is a BASIC cross-compiler targetting retro systems, Linux and Windows.

It compiles BASIC source into native machine code. It runs on Windows, MacOS, and Linux.  

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

Currently supported target machines are: 

  • Apple ][+, //c, IIe
  • Atari 400/800/XL/XE, 5200, 2600 VCS, 7800
  • Commodore 64, 128, Vic-20, Plus/4
  • TRS-80 Color Computer 1/2/3
  • Nintendo NES
  • Sinclair ZX81, ZX Spectrum
  • MSDOS 16 bit
  • x64 - Windows (including graphics), Linux (text only)

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
  • Many options - speed vs size, carts, math libs, memory layouts, etc
  • Flexible syntax at compile time with @REWRITE
  • Modularity supported by @INCLUDE, pull in files and resources
  • Portable APIs (TILE, SPRITE, CHARSET/MAP, FILE, GRAPHICS, CELL, IMAGE, INPUT, SOUND, etc) - write once and run multiple on systems, including your desktop
  • Supports compiling old BASIC listings, including tokenized, even running on the listings 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 23 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.5.0-x86_64-pc-windows-msvc.zip 9.5 MB
crustybasic-1.5.0-x86_64-unknown-linux-gnu.tar.gz 10 MB
crustybasic-1.5.0-aarch64-apple-darwin.zip 9.6 MB
crustybasic-1.5.0-x86_64-apple-darwin.zip 10 MB
crustybasic-1.5.0-universal2-apple-darwin.zip 18 MB

Development log