BlitzBasic/AmiBlitz

From Amiga Coding
(Redirected from BlitzBasic/Amiblitz)
Jump to: navigation, search

Amiga Blitz Basic was originally developed as commercial software under the name of Blitz Basic and then Blitz Basic 2 by Simon Armstrong and Mark Sibley of Acid Software in New Zealand. It was later re-released as freeware under the GNU General Public License. More recently Bernd Roesch and others of Amiforce have continued development of the editor and compiler, under the name AmiBlitz.

AmiBlitz has continued to grow and evolve, adding many features that allow for more modern coding styles and techniques while retaining compatibility with the original Blitz Basic. For example, a set of "Include" files are now included with the AmiBlitz distribution which extend and improve the functionality of AmiBlitz by offering many useful functions and system-friendly alternatives to the older built-in commands. These files include support for most common dos.library functions, intuition functions, AHI support, graphics functions with 24-bit colour support and so on.

The AmiBlitz IDE has also been improved and offers such features as context-sensitive help for Include functions, variable and struct browser, syntax reference browser and so on. However, this means that the AmiBlitz development environment has higher requirements than the original Blitz Basic environment on which it's based, so for developing on an unexpanded Amiga, getting hold of the older Blitz Basic 2.1 might be simpler.

Introduction to This Guide

This guide is intended to provide useful information and a reference to help Blitz programmers get started and move onto more advanced programming. It's not intended to be a full reference for all Blitz functions, but to provide useful guidance on the most commonly used commands. The Blitz basic 2.1 manual and the AmiBlitz documentation include far more reference material which should be consulted should you find that what you want to do isn't covered here.

How Blitz Works

Blitz uses a compiler integrated with the editor so you can directly compile and run your code without having to leave the editing environment. Commands come from a variety of sources and Blitz has the ability to add more commands if required.

Acid Libs

Commands are stored in a number of Blitz "libraries" - these files contain the machine code representation of a number of related commands, and it's these that the compiler strings together to make your program work. The standard built-in commands are in a number of these libraries collectively known as the "Acid Libs", as they were developed by Acid software. These are the commands detailed in the Blitz Basic 2.1 Manual.

User Libs

In addition to these command libraries, many other libraries were written by users and added over time; these are known as User Libs. Over the years, a standard set of the most useful User Libs was gathered together and are now included as part of the Blitz distribution. These libraries extend the Blitz functionality beyond the standard Acid Libs, adding new capabilities (such as GadTools Menu support), or reimplementing existing commands in an alternative or better way (such as the NASL library which provides more flexibility than the Acid ASL library).

To speed up loading, in newer distributions of Blitz the Acid Libs and the common User Libs are collected together in one large file called Deflibs.

More user libs can be added by the user, and these libs can be found in various places such as Aminet and the Blitz archives. However, using includes is a more flexible method of adding functionality to AmiBlitz, and should generally be preferred where possible.

Includes

These are a collection of source code files that can be included in your program and offer a replacement for many of the Deflibs commands. The advantage is that they are more modern and so more compatible with OS4, MorphOS etc., and since they're source, they can be modified and improved over time. As for the User Libs, they implement new functionality (such as 24-bit graphics support), as well as replacing built-in commands with better, more system-friendly equivalents (such as file access). All versions of Blitz can use Include files you write yourself, but only AmiBlitz includes a comprehensive set of ready-made include files. Read more about them in the Includes section.