====== Commander X16 support ======
XC=BASIC can compile programs to the [[https://www.commanderx16.com/|Commander X16]] from version 3.2.x16-beta. Mostly everything that has been part of the core language is ported to the [x16], including [[v3:sprite|sprites]], [[v3:voice|sound]] and [[v3:interrupts|interrupts]]. In addition, a [[x16.bas|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 [[https://github.com/neilsf/XC-BASIC3/issues|GitHub]].
The Commander X16 is still a work in progress. XC=BASIC was tested on emulator version [[https://github.com/commanderx16/x16-emulator/releases/tag/r41|R41 "Marrakesh"]].
===== How to get started =====
- Download the [[https://github.com/commanderx16/x16-emulator|x16-emulator]] if you haven't yet done so.
- Download [[https://github.com/neilsf/xc-basic3/releases/tag/v3.1.x16-beta|XC=BASIC V3.1.x16-beta]] release from GitHub.
- Follow the installation steps found on the [[v3:installation_and_usage|]] page. You can skip steps 1 and 2 as you've already downloaded the version of your choice. Download and install [[https://dasm-assembler.github.io/|dasm]], XC=BASIC's dependency as well.
- Open a text editor and write a small test program, for example ''PRINT "hello world"'' and save it as //test.bas//.
- Open your terminal and run the command ''xcbasic3 test.bas test.prg --target=x16''
- If compilation was successful, you can load the compiled program with ''x16emu'' using the command ''x16emu -prg test.prg''
- Issue the command ''RUN'' in the emulator window:
{{ :v3:ksnip_20221230-145459.png?640 |}}
===== 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.
* [[https://www.facebook.com/groups/xcbasic|Facebook group]]
* [[https://discord.gg/UB6QpSsEQE|Discord invite]]