Warning

You're browsing the old v2.x documentation. This version is no longer maintained. Click here to go the v3.x documentation.

Welcome to the XC=BASIC Wiki

XC=BASIC is a dialect of the BASIC programming language for the Commodore-64 and xcbasic64 is a cross-compiler that compiles XC=BASIC source code to 6502 machine code. The language is extensible.


Some of the advantages of programming in XC=BASIC are:

  • Cross development - use your favourite OS/editor/etc.
  • Higher execution speed - no interpreter, the source is compiled to pure machine code.
  • More available RAM - the XC=BASIC runtime banks out the BASIC ROM by default, thus allowing to have a continuous RAM space from $0801 to $CFFF (~50K).

Advanced features

  • complex expressions are allowed
  • global and local variables
  • integer and floating point types, type casting
  • constants
  • procedures
  • user defined functions
  • recursive procedure calls
  • inclusion of other source or binary files
  • C-like strings
  • inline assembly support
  • automatic code optimizer

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

This site contains the documentation for XC=BASIC V2.x. Click here if you're looking for the v1.x documentation.

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!