This is an old revision of the document!


Welcome to XC=BASIC 3

XC=BASIC is a cross compiled, modern BASIC programming language for 8-bit Commodore machines, such as

  • Commodore-64
  • Commodore VIC-20
  • Commodore-16
  • Commodore Plus/4

It compiles BASIC source code to fast machine code. Although not 100% compatible, its syntax was designed to be similar to that of QuickBASIC and CBM BASIC.

Warning

XC=BASIC 3 is currently in beta state. Click here if you're looking for the latest stable version.

Language characteristics

  • Statically typed - 7 data types for different purposes.
  • Advanced control flow statements.
  • Local, global and shared scopes.
  • Static or recursive subroutines and functions, forward declaration, overloading, etc.
  • User-defined types with methods - similar to OOP classes.
  • The runtime library depends on KERNAL only, BASIC ROM is banked out while running.
  • Extensible through libraries.

The term “XC=BASIC” stands for “Cross Compiled BASIC”.

About the author

My name is Csaba and I'm the author of XC=BASIC. If you have any questions or suggestions feel free to email me to feketecsaba (at) gmail (dot) com or mention @xc_basic in your tweet. If you like what I do, consider supporting me on Ko-fi or donating a few cryptos! Thank you and happy coding!

Thanks

A big thank you goes to those who helped improving XC=BASIC 3 and its documentation:

  • JakeBullet
  • Thraka
  • Shawn
  • mrg-75
  • orlof