ugBASIC

An isomorphic language
for retrocomputers

What's News Get Started

WHAT IS ugBASIC?

ugBASIC is an isomorphic and open source language, fully documented and designed to develop portable programs, without sacrificing efficiency. With a single source it is therefore possible to create games for numerous 8 bit platforms.

Download the compiler

You can download the official ugBASIC compiler (ugbc), which directly converts a program written in ugBASIC into the assembly equivalent for the given CPU / computer. The compiler is free, open source and licensed under the Apache 2.0 license. You can download or recompile the latest version from the GitHub repository.

* = available only for Microsoft Windows 7/8/10/11

Some features and examples

An integrated IDE*

* = available only for Microsoft Windows 7/8/10/11

Documentation and manuals

At the moment there are two manuals available: the user manual, with which you can start developing using this language, and the reference manual, useful for those wishing to modify and/or to extend the language.

What's news?

 

 

The current version (1.11) introduces support for audio and the Commodore 128 target.

Use IDE Download executables How to compile

 

Happy birthday ugBASIC! Today (25/04) we celebrate one year since the first commit, and with this milestone in mind let's take a look at some of the results obtained by the development team.

From a qualitative point of view, the system supports as many as 14 heterogeneous systems, ranging from ATARI to Olivetti Prodest, passing through MSX and, obviously, Commodore computers.

From a quantitative point of view, ugBASIC is composed of over 137,000 lines of C code and over 36,000 lines of assembly code (MOS 6502, Zilog Z80 and Motorola 6809), where the lexer and the parser occupy 6,408 lines!

Following the sizing indicated by the "COCOMO model", to redevelop ugBASIC from scratch it would take 55 man-months or, if you like, two and a half years of development. Alternatively, having 22 developers, it would be done in a year.

For published data: generated using David A. Wheeler's 'SLOCCount'

Use IDE Download executables How to compile

 

 

The version 1.10.3 introduces support for SEGA SC-3000 home computer and SG-1000 console.

Use IDE Download executables How to compile

 

 

The version 1.9.1 introduces support for ColecoVision console architecture.

Use IDE Download executables How to compile

 

 

An interesting competition is held at the beginning of each year: the BASIC 10Liner Contest, and it is possible to use ugBASIC to join in the next competition with your preferred home computer.

How to join Use IDE executables

 

 

The version 1.8.2 introduces support for MSX home computer architecture.

Use IDE Download executables How to compile

 

 

The version 1.7.2 introduces various improvements and bug fixes.

Use IDE Download executables How to compile

 

 

A brand new IDE has been released for ugBASIC: ugBASIC IDE makes it easier to download and install the various software required for one or more retrocomputers, all just one "click away". It offers syntactic highlighting, multiple windows, file history, online help and an integration for error diagnostics. With just one click you can see your program running directly on one of the supported emulators.

Download executables

 

 

The current version (1.6) introduces various improvements and bug fixes.

Download executables How to compile

 

 

The version 1.5 introduces support for Commodore VIC-20, film strip animations and multitasking.

Complete list of targets How to use multitasking Download executables How to compile

 

 

The version 1.4 introduces support for Olivetti PC128 Prodest and Thomson MO5 computer.

Complete list of targets Download executables How to compile

 

 

The version 1.3.2-beta introduces various improvements and bug fixes.

Download executables How to compile

 

 

The version 1.3.1-beta introduces various improvements and bug fixes.

Download executables How to compile

 

 

The version 1.3-beta introduces support for Dragon 32 computer.

Complete list of targets Download executables How to compile

 

 

The version (1.2-beta) introduces various improvements and bug fixes.

Download executables How to compile

 

 

The version 1.1-beta introduces support for the Atari 8-bit family of computers, such as Atari 400/800, Atari 600XL / 800XL / 1200XL and XEGS.

Complete list of targets Download executables How to compile