What's in the beta version?

On this page we collect the new targets and new features that are present in the beta version of ugBASIC and which will therefore be available in the next version. Note that the documentation may be a little lacking, and the features not fully tested: this is to give a chance to take a look at ugBASIC to come. You should not use this version to produce games or programs.


Targets Features Download

New targets

  • TRS-80 Color Computer (version 3) 6809 testing
    The Color Computer 3 was announced on July 30, 1986 by Tandy. It came with 128 kB of RAM, which could be upgraded to 512 kB. The keyboard surround and cartridge door plastic were changed from black to grey. The keyboard layout was revised, putting the arrow keys in a diamond configuration and adding CTRL, ALT, F1 and F2 keys. The CoCo 3 was compatible with most older software and CoCo 2 peripherals. Taking the place of the graphics and memory hardware in the CoCo 1 and 2 was an application-specific integrated circuit called the "GIME" (Graphics Interrupt Memory Enhancement) chip.

  • Sharp MZ z80 todo
    The Sharp MZ is a series of personal computers sold in Japan and Europe (particularly Germany and Great Britain) by Sharp beginning in 1978.

  • Apple II(48kb) / Apple IIe(64kb) 6502 todo
    The Apple II series (trademarked with square brackets as "Apple ][" and rendered on later models as "Apple //") is a family of home computers, one of the first highly successful mass-produced microcomputer products, designed primarily by Steve Wozniak, manufactured by Apple Computer (now Apple Inc.), and launched in 1977 with the original Apple II.

Features

  • issue #3 - Add support for array of bits testing
    The compiler will be able to support the BIT data type, i.e. a 1-bit storage, as single variable or as a vector / matrix. A vector of 128 elements of type BIT will occupy only 16 bytes.

  • issues #134 and #136 - Migrate inline code to library call on demand todo
    Once put to work, the compiler proves to be inefficient from the point of view of the space occupied. In fact, if we exclude the need to introduce portable mechanisms to differentiate the data memory banks from the code ones, the code itself is not very optimized in terms of size. It would be better to allow the use of embedded libraries instead of inline code. Since this implies a deterioration in performance, every single function must be registered with a code, which must be indicated to suggest to the compiler to replace the inline code with a function call.

  • issue #141 - Memory layout optimization todo
    It is required to optimize the space occupied by the various resources (code, data, graphics, ...) so that all the space available for the home computer can be exploited. Currently, the memory is limited, while the space that should be reached should be equal to about the available.

  • issue #148 - Better management of CODE overflow todo
    Actually, if a program is too big to be stored in memory, an error appears. We should give to the user a better message.

  • Spatial optimization todo
    On some targets the executable is bulky, especially in relation to the space actually available. Specific optimizations will be implemented, linked to the space occupied by the generated executables.

  • Audio improvement todo
    Despite the MIDI support, the result is not optimal, and could be improved.

  • Storage support todo
    You should be able to access your storage devices to read and write data.

Download beta

The ugBASIC compiler is a console application for Linux and Microsoft Windows operating system, with a convenient IDE environment for Microsoft Windows.

In order to install and use beta ugBASIC only one executable (per target) is needed, while the IDE is in common to all targets. Depending on which target you are interested in, you will need to download and install additional software. With these few choices we try to take you directly to the most appropriate executable. Obviously, you can use ugBASIC by recompiling them from the source code on repository (branch: beta).

First of all, select the host operating system, that is, the modern operating system you will use to produce programs for 8-bit home computers and/or consoles:

Linux (32 bit) Linux (64 bit)
Windows (32 bit) Windows (64 bit) IDE (Windows 32/64 bit)