Differences

This shows you the differences between two versions of the page.


Previous revision
start [2026/08/22 13:03] (current) neils
Line 1: Line 1:
 +====== Welcome to XC=BASIC 3 ======
  
 +XC=BASIC is a cross compiled, modern BASIC programming language for 8-bit Commodore (and alike) machines, such as
 +
 +  * Commodore-64
 +  * Commodore VIC-20
 +  * Commodore-16
 +  * Commodore Plus/4
 +  * Commodore-128
 +  * Commodore PET series (with limitations)
 +  * [[https://www.commanderx16.com/default.html|Commander X16]] (beta) ((See [[commanderx16_support|]]))
 +  * [[https://mega65.org/|MEGA65]] (beta)
 +  * The [[https://gametank.zone/|GameTank]] console ([[https://github.com/fetchingcat/gametank_basic_sdk|GameTank BASIC SDK]] is built on XC=BASIC)
 +
 +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.
 +
 +
 +====== Language characteristics ======
 +
 +  * Statically typed - [[datatypes|7 data types]] for different purposes.
 +  * Advanced [[flowcontrol|control flow statements]].
 +  * Local, global and shared [[variables#variable_scope|scopes]].
 +  * Static or recursive [[subroutines|subroutines and functions]], forward declaration, overloading, etc.
 +  * [[udt|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 [[libraryref|libraries]].
 +
 +The term "XC=BASIC" stands for "Cross Compiled BASIC".
 +
 +====== Download ======
 +
 +  * [[https://github.com/neilsf/xc-basic3/releases|Download latest stable: v3.1]]
 +  * [[https://github.com/neilsf/xc-basic3/releases/tag/v3.2.0-beta|Download v3.2.0-beta with MEGA65 and Commander X16 support]]
 +====== Contribute ======
 +
 +There are multiple ways you can contribute to the XC=BASIC community. XC=BASIC is a free software, meant to be maintained by the community and therefore any contribution is highly appreciated.
 +
 +You can contribute with the following:
 +
 +  * Improve the documentation. Sign up on this site and make any edits.
 +  * If you would like to report issues, bugs or have suggestions, [[https://github.com/neilsf/xc-basic3/issues|open an issue on GitHub]].
 +  * Code contributions are welcome. Fork the project on GitHub and open a pull request. [[https://docs.github.com/en/pull-requests/how-tos/create-pull-requests/creating-a-pull-request-from-a-fork|Here's how]].
 +====== About the author ======
 +
 +{{:tutorial1-tetris:2019-09-13.jpg?nolink&70 |}} 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 [[https://twitter.com/xc_basic|@xc_basic]] in your tweet. If you like what I do, consider [[https://ko-fi.com/S6S613XO0|supporting me on Ko-fi]]! Thank you and happy coding!
 +
 +====== Thanks ======
 +
 +A big thank you goes to those who helped improving XC=BASIC 3 and its documentation:
 +
 +  * Oliver Hermanni
 +  * JakeBullet
 +  * Thraka
 +  * Shawn
 +  * mrg-75
 +  * Locodarwin
 +  * orlof
 +  * JJFlash
 +  * Dan Sanderson
 +
 +<- ^ start|Home ^ installation_and_usage|Next page ->