The ugBASIC compiler is a console application for Linux and Microsoft Windows operating system. A convenient IDE environment is also available for Microsoft Windows operating system, which downloads and installs all dependencies. If you are using this operating system we recommend that you download and use it.
So, the compiler depends on different software in order to obtain an executable for the various targets (make sure you have the latest version):
atari), Atari 1200XL (
atarixl), Atari 600XL/800XL (
atarixl), Atari XE Video Game System (
atarixl), Commodore 128 (
c128), Commodore 64 (
c64), Commodore PLUS/4 (
plus4), Commodore VIC-20 (
cl65, an assembler / linker from CC65;
d32), Dragon 64 (
d64), Dragon 200-E (
d64), Olivetti PC128 Prodest (
pc128op), Thomson (
mo5), TRS-80 Color computer (
asm6809, an assembler / linker from 6809.ORG;
cpc), ColecoVision (
coleco), MSX (
msx1), SEGA SC-3000 (
sc3000), SEGA SG-1000 (
sg1000), ZX Spectrum 48K (
So you need to download them from their website and make sure that you can launch them from any directory on your console. There is a reference to the github repositories for each of these tools in the ugBASIC source, in case the latest version doesn't work.
You will find all binaries under the latest release. Each target has its compiler, and each compiler will run under Linux or Microsoft Windows. All of them are compiled for 64-bit processors. If you need the 32 bit version, you have to download sources and recompile the compiler from that.
If you downloaded binary please move to usage section.
You can download as a ZIP or clone the latest version directly from github, by clicking the the Code button. If you download the zip file, you must extract all the files before continuing. In order to compile the compiler, you need the following software installed:
gccfor GCC v10.3.0
flexfor GNU FLEX v2.6.4
bisonfor GNU BISON v3.7
Moreover, you have to download / init all submodules, as well, by executing the following command:
git submodule update --recursive --init --remote
If something goes wrong, use this alternate command line:
git config core.protectNTFS false cd modules/6502 git config core.protectNTFS false cd ../.. git submodule update --force --recursive --init --remote
In order to compile the compiler you have to use the
make target=xxxx clean compiler
xxxx is one of the targets given above.
The compiler will be placed under the
If you recompiled the compiler, please move to usage section.