AmigaBASIC

from Wikipedia, the free encyclopedia
AmigaBasic
Basic data

developer Microsoft Corporation
Current  version 1.2
operating system AmigaOS
category BASIC interpreter and development environment
German speaking No

AmigaBASIC was a BASIC version developed by Microsoft for the Commodore Amiga , which was part of the scope of delivery of the AmigaOS versions 1.1 to 1.3. It replaced the ABasiC (from MetaComCo ) of version 1.0 and was in turn replaced with the AmigaOS version 2.0 of ARexx . Since the Amiga was only delivered a few months later in Germany than in the USA, it was delivered there with AmigaBASIC instead of ABasiC from the start. AmigaBASIC remained the only software that Microsoft produced for the Amiga.

construction

AmigaBASIC was one of the first BASIC versions, which got by without line numbers and in some ways enabled structured programming and was derived from the somewhat older Macintosh BASIC from Microsoft. For those switching who previously knew other BASIC dialects, the integrated development environment and the structure of the language were trend-setting. On the other hand, the takeover of existing BASIC programs was problematic. However, it quickly turned out that the extensive possibilities of the Commodore Amiga could only be used insufficiently - although Microsoft delivered AmigaBASIC with a library specially tailored to the Amiga . You could access the system libraries from BASIC - but handling these from AmigaBASIC proved to be very cumbersome and error-prone. So z. B. address the HAM mode under AmigaBASIC only with the help of the system library.

options

It was noticeable about this BASIC implementation that the interpreter was no longer an integral part of the operating system , as was the case with the previously designed home computers . In the context of the multitasking system, it ran as an equal program in the window system of the user interface and therefore had to be started first before it was available as a runtime environment or development system for programs.

AmigaBASIC broke new ground by dispensing with line numbers and enabled the definition of SUB routines and even function calls with arguments and return values . This made AmigaBASIC programs clearer than those from GW-BASIC, for example . The BASIC dialect was at least partially adapted to the possibilities of the Amiga. So there was the possibility to query the mouse, and a rudimentary possibility of event-controlled program control was implemented. The graphics and sound options of the Amiga could also be used - even if only incompletely. The output of synthetic English was possible with the "say" command.

Limitations and Problems

AmigaBASIC was considered incomplete in its development, as buggy and above all as very slow. In some cases, the difference from a lay C - or assembler implementation 1000. Has been the factor - which was common at the time - as a short performance test measured an idle loop with 1,000 runs, the figure was 800 ms should be tightly under his direct competitors C64 with around 1000 ms. Considering the fact that the underlying CPU was about 10 times faster, this is more than a disappointing result. It was also irritating that the interpreter initially offered no more than 10,000 or 25,000 bytes of available BASIC storage space - significantly less than, for example, on a C64 in the basic configuration. An Amiga 1000 offered at least 256  kB or (expanded) 512 kB, i.e. four to eight times the main memory of its competitor, with which one would have expected significantly more here as well.

When Amigas with memory beyond the megabyte limit became available, the BASIC memory could be increased successively with the "clear" command. However, it turned out that AmigaBASIC was limited to an address space of 24 bits - corresponding to 16 MB memory - due to its Mac origin . AmigaBASIC programs that claimed their RAM beyond this "artificial" limit were therefore not executable.

In addition, AmigaBASIC suffered from the then very bad reputation of the BASIC programming language. Most users therefore resorted to C, Assembler or Modula-2 very quickly , as powerful compiler packages were available for these languages ​​for the Amiga and it was only then possible to fully utilize the capabilities of the hardware and the operating system. Third-party manufacturers have tried several times to use a compiler (e.g. HiSoft Basic Compiler, GFA-BASIC or MaxonBASIC) to enhance the importance of the BASIC language, but always with moderate success. The final "death sentence" for AmigaBASIC, however, were license cost problems with the settlement with the manufacturer Microsoft.

meaning

Even if some impressive programs were developed with AmigaBASIC, this BASIC dialect never played a role commercially. Nevertheless, AmigaBASIC is also a symbol for a time when listings were still typed from magazines in order to get to small programs or simple games. Old, possibly loved, AmigaBASIC programs can be ported to QBasic or with a little more effort to FreeBASIC .

Further development to the freeware compiler "ACE-Basic"

ACE is an extended AmigaBASIC compiler which, together with the freeware tools A68K (assembler) and Blink (linker), can create executable programs on its own. Based on the syntax of AmigaBASIC, programs are possible which fully utilize the capabilities of the Intuition programming environment under AmigaOS and which can beat the interpreted AmigaBASIC by lengths in terms of execution speed. This compiler was created by the Australian David Benn, Launceston, Tasmania. It is published under the GNU General Public License . The current version 2.4 (September 17, 1996) can be downloaded from Aminet, see web links.

literature

The AmigaOS versions, with which AmigaBASIC was supplied, came with a manual which explained the range of functions in the form of a reference. As part of the system documentation, it remarkably contained the only ASCII table published by the manufacturer , which represented the complete character set (modified ISO 8859-1 ), which was otherwise missing in the official book series "The Amiga ROM Kernel Manual" . In particular from the publishers Data Becker and Markt und Technik there was a lot of literature on programming in this language between 1986 and 1991, some of which are still available in retro bookshops today.

Web links

Individual evidence

  1. Commodore Amiga: Amiga-Basic; Appendix A: ASCII Character Code Tables; German edition, approx. 1986