Commander X16 support

XC=BASIC can compile programs to the Commander X16 from version 3.2.x16-beta. Mostly everything that has been part of the core language is ported to the X16, including sprites, sound and interrupts. In addition, a new library is available to the user to exploit some of the additional features that this machine offers.


This release is yet in beta state and may contain bugs. If you find a bug, please report it on GitHub.


The Commander X16 is still a work in progress. XC=BASIC was tested on emulator version R41 "Marrakesh".

How to get started

  1. Download the x16-emulator if you haven't yet done so.
  2. Download XC=BASIC V3.1.x16-beta release from GitHub.
  3. Follow the installation steps found on the Installation and Usage page. You can skip steps 1 and 2 as you've already downloaded the version of your choice. Download and install dasm, XC=BASIC's dependency as well.
  4. Open a text editor and write a small test program, for example PRINT “hello world” and save it as test.bas.
  5. Open your terminal and run the command xcbasic3 test.bas test.prg --target=x16
  6. If compilation was successful, you can load the compiled program with x16emu using the command x16emu -prg test.prg
  7. Issue the command RUN in the emulator window:

Next steps

  • Familiarize yourself with the language by reading the pages linked in the left sidebar of this page.
  • Know what commands and functions are supported on the Commander X16. If you see the X16 label on the top of the command or function's page, then it is supported. Any differences are explained within the documentation.
  • Read how to use the X16.BAS library and what built-in subroutines and functions it allows you to use.
  • Reach out to the community if you have questions.