Skip to content

Blitz Basic 2

The Amiga BASIC that compiled to machine code

Mark Sibly's compiled BASIC for the Amiga, published by Acid Software of Auckland in 1992 and launched in Britain in 1993. It gave programmers sprites, bobs, the blitter, the copper, Intuition and inline 68000 assembler in one language, and games from Skidmarks to Worms were written with it. Its line runs on through Blitz3D and BlitzMax on the PC, and through AmiBlitz on the Amiga.

In June 1992 the first thousand boxes of Blitz Basic 2 sat by the door of Acid Software’s office in St Kevins Arcade, Auckland, waiting to be shipped around the world. Each held “1.5 kgs of manuals” and, in the words of Acid’s Simon Armstrong, “2 years of hard work from Mark”. Mark Sibly’s language looked like BASIC but compiled every program to machine code. It could open Workbench windows with gadgets and menus, or shut down the operating system and drive the Amiga’s hardware directly: sprites, blitter objects, the copper, smooth scrolling and dual playfields. Amiga Format could see no reason “why any budding games programmer would ever want to learn Assembler”. Programmers wrote racing games, arcade conversions and public domain hits in it, and Worms began as an entry to a Blitz programming competition.

Fast facts

  • Author: Mark Sibly, in New Zealand.
  • Publisher: Acid Software, Auckland. Simon Armstrong edited its magazine, Blitz User, and handled the marketing.
  • Predecessor: Blitz BASIC, launched in 1990 by Memory and Storage Technology.
  • Released: mid-1992 from New Zealand; launched in Britain in September 1993 at £69.95.
  • Machine: Commodore Amiga, from Kickstart 1.3 machines to the AGA models.
  • Written with it: Skidmarks, Worms (with some assembler), and public domain games such as Insectoids 2 and Zombie Apocalypse.
  • Descendants: BlitzBasic, Blitz3D and BlitzMax on the PC; AmiBlitz on the Amiga.

The first Blitz

Blitz BASIC was launched in September 1990 at the offices of Memory and Storage Technology, an Australian firm. The Australian Commodore and Amiga Review described its author as a “very talented young programmer” of 22 who already had ten years’ experience, starting on a Tandy TRS-80 and moving through the Apple II, the VIC-20 and the Commodore 64. The launch audience watched a version of Defender written in Blitz, with a two-player split screen the arcade original never had. Memory and Storage Technology showed Blitz BASIC at the AmiEXPO show in the United States that summer, protected by a hardware dongle; programs made with it did not need one. Its American advertisements, at $149, promised a “Lightning Fast Compiler” and “Fast Optimised Object Code”.

Blitz Basic 2

Sibly spent the next two years on a much larger language, published by Acid Software. The first issue of Blitz User, Acid’s magazine for owners, came free in the box, with tutorials on the tools on the program disk and type-in libraries for the serial port and the Amiga’s speech synthesiser. By November 1992 Armstrong expected to ship the thousandth copy by the end of the month, and Acid was promising to “upgrade Blitz every few months”, often with commands users had asked for. The second issue’s cover disk carried a pre-release of a 3D library.

British readers met it properly in 1993. Amiga Computing reviewed it in July, and Amiga Format marked its “UK launch” in September. Two months later Amiga Format put a complete working copy of Blitz Basic 2 on its November 1993 cover disk, with a ten-page tutorial, and ran a competition with Acid for the best program written in it. The prizes were two Amiga 4000s.

What it was like to use

Everything happened in Ted, Acid’s editor, which ran under Intuition like any other Amiga program. From its menu you compiled and ran your code, and the result was a stand-alone program: no run-time system, no separate compiler to buy. Amiga Format’s first cover-disk lesson was two lines:

BASIC
Print "THUMBS UP DUDE!"
MouseWait

Without the MouseWait, the tutorial explained, the program would finish and return to Ted before anyone could read the message.

A Blitz program could work in two ways. In Amiga mode it opened screens and windows, with gadgets and pull-down menus designed in the IntuiTools utility, and multitasked politely. The BlitzMode command suspended multitasking and took over the whole machine, which is where the games lived. Paul Overaa of Amiga Computing singled out its “super-smooth scrolling and dual-playfield tricks”, along with commands for sprites, shapes (Blitz’s name for blitter objects), bitmaps, palettes and copper lists. It played IFF samples and Soundtracker and Noisetracker modules. Jason Holborn of Amiga Format wrote that “seeing Blitz literally hurling bobs around the screen comes as something of a culture shock”.

The language borrowed a good deal from C. Every numeric variable had a type, given by a suffix: .b for a byte, .w for a 16-bit word, .l for a 32-bit long word, .f for floating point, and .q, a fast fixed-point “quick” type for fractions. NEWTYPE defined structures, much like C’s struct, whose fields were reached with a backslash. Lists of structures could be walked with ResetList and NextItem, and pointers, macros, constants and conditional compilation were all there. Remarks started with a semicolon, as in assembly language, instead of REM. This short program uses a structure and loops until the mouse button is pressed:

BASIC
; a structure with two 16-bit fields
NEWTYPE .alien
  x.w
  y.w
End NEWTYPE

a.alien\x=160
a.alien\y=20

While Joyb(0)=0     ; repeat until the mouse button goes down
  a\y=a\y+1
  Print a\y
Wend

For the parts that had to be fastest, Blitz included a 68000 assembler, and assembly could sit inline among the BASIC. A run-time debugger could single-step through a program, trace it, show the 68000 registers and even step backwards through the commands already executed.

What the magazines said

Overaa was won over quickly. At first he worried that “some of these things may cause problems for the new Basic coder”, but “within hours of using the package I’d changed my mind”. Because the core language was small, he thought it would be “less difficult to get to grips with than many other Basics”, and that “even novice programmers are going to be able to produce a lot of clever effects very easily indeed”. He gave it 8 out of 10 overall, 9 for implementation, and advised C and assembler programmers who looked down on BASIC to try it, “because I suspect that it may change your mind”.

Holborn’s Amiga Format review put it that software houses “would not be able to tell the difference between a well-written Blitz game and Assembler equivalent”, and that “in terms of raw performance” it “leaves AMOS for dead”. His complaint was the documentation: the software was “definitely Format Gold material”, but the manuals were not, and they kept it from the award. Version 1.6, the one he reviewed, could already use the AGA chipset’s 16.7 million-colour palette and some of its screen modes, and Acid promised full AGA support. Later Blitz User issues added a new display library for AGA machines and development commands for the CD32 console.

The games

Acid tested the language on its own games. Insectoids 2, a Galaxians-style shooter by Sibly, went on to Amiga Format’s cover disk, and Acid’s public domain disks carried Sibly’s Defender conversion and Vision Software’s Zombie Apocalypse, all with their Blitz source code. The team hoped Skidmarks, a top-down racer, would be “the first Blitz2 commercial game to hit the top ten”. Amiga Format gave away a demo, “written in Blitz Basic 2 by Acid Software”, on its October 1993 cover disk, and the full game was in the shops by early 1994. When Amiga Computing looked back at Amiga BASICs in 1997, Skidmarks was the game it named for Blitz.

The most famous Blitz game started with that November 1993 cover disk. Andy Davidson wrote Total Wormage with it and entered the Amiga Format competition in February 1994. “Some of it’s in Blitz, but some of it’s in assembler,” he told The One. It did not win, but Team17 took it on at that September’s ECTS show and published it in 1995 as Worms.

Later Amiga years

Blitz Basic 2.1 stayed on sale for the rest of the Amiga’s commercial life. In February 1998 CU Amiga reviewed the Ultimate Blitz CD, “all things Blitz, on a single CD”, and Blitz Basic 2.1 was still in Amiga mail-order lists in 2003. Looking back in October 1999, Simon Goodwin wrote in Amiga Format that Blitz’s selling point was that it “was used to write real commercial games”, and that “Blitz BASIC 2 brought us Skidmarks, Defender and even a Spectrum 128 emulator”. He found it inconsistent, “smacking of an enthusiast’s long-term project rather than a commercial product”, and gave much of the credit for its success to Armstrong’s support and demos.

Amiga programmers kept the language going themselves. By 2004 German developers were working in AmiBlitz, described by one of them to Amiga Insider as the continuing development of Acid Software’s Blitz BASIC. AmiBlitz3 is maintained today as an open-source project.

BlitzBasic on the PC

Sibly took the idea to Windows. His BlitzBasic for the PC came out in 2000, and Edge described it the following year as a 2D game-creation package with more than 300 commands built on Microsoft’s DirectX, compiling to machine code “for fast implementation”. It was published in Britain by Guildhall Leisure at £30 and had an installed base of more than 2,000. Edge called Sibly a “Blitz BASIC veteran” and quoted him on the 3D version then in development: “Now that Blitz3D is imminent, it is completely feasible it could be used by professional developers.” Blitz3D followed, and Sibly’s company, Blitz Research, went on to BlitzPlus, the cross-platform BlitzMax and the Monkey language.

Released source code

Blitz Research published the source code of Blitz3D and of BlitzMax on GitHub in 2014, both under the zlib/libpng licence, which allows use for any purpose, including commercial software. The AmiBlitz3 repository, which describes itself as the “complete package of AmiBlitz3 including all sources”, is published under the Apache 2.0 licence.

Sources

  • The Australian Commodore and Amiga Review, vol. 7 no. 9, September 1990: the launch of Blitz BASIC at Memory and Storage Technology (Sibly’s age and background, the Defender demonstration).
  • Amazing Computing, vol. 5 no. 8, August 1990 (AmiEXPO report: Memory and Storage Technology’s Blitz BASIC and its dongle); vol. 5 no. 12, December 1990 (Blitz Basic advertisement, $149).
  • Blitz User (Acid Software, Auckland): issue 1, June 1992 (editorial, contents, the PD disks with source); issue 2, November 1992 (sales, regular upgrades, the 3D library pre-release); issue 5 (1993: Skidmarks, the new display library, CD32 commands).
  • Amiga Computing, July 1993: Paul Overaa, Blitz Basic 2 review (NewTypes, lists, type suffixes, semicolon remarks, Blitz mode, inline assembler, debugger; scores). February 1997: history of Amiga BASICs (Blitz “was used to write the highly addictive Skid Marks”).
  • Amiga Format: issue 50, September 1993, pp. 118–119, Jason Holborn, Blitz Basic 2 review (£69.95, UK launch, Ted, Intuition, bobs, version 1.6 and AGA, the manuals), and the Insectoids 2 cover-disk game by Sibly; issue 51, October 1993 (the Skidmarks demo on the cover disk); issue 52, November 1993 (the full Blitz Basic 2 on the cover disk, the tutorial and example code, the competition with Acid); issue 128, October 1999, Simon Goodwin’s comparison of Amiga BASICs.
  • Amiga Power issue 33, January 1994: Skidmarks in mail-order price lists.
  • The One issue 78, March 1995, pp. 25–27: Andy Davidson on writing Worms in Blitz and assembler.
  • CU Amiga, February 1998: Ultimate Blitz CD review.
  • NZAmiga (Amiga Down Under) issue 1, December 1992/January 1993, p. 23: Simon Armstrong’s Blitz BASIC column (“I’m the marketing manager for Acid Software”).
  • Total Amiga, summer 2003: Blitz Basic 2.1 in the magazine’s shop list.
  • Amiga Insider issue 2, May 2004: interview on AmiBlitz as the continuing development of Blitz BASIC.
  • Edge issue 91, December 2000 (Blitz Basic for the PC, Sibly as “Blitz BASIC veteran”); issue 101, September 2001 (BlitzBasic: released 2000, Guildhall Leisure, £30, 300-plus commands, DirectX, 2,000-plus users; Sibly on Blitz3D).
  • Blitz Research, “blitz3d” and “blitzmax” repositories on GitHub, created January 2014, with their LICENSE.TXT files (web, secondary): the zlib/libpng licence. https://github.com/blitz-research/blitz3d and https://github.com/blitz-research/blitzmax
  • AmiBlitz, “AmiBlitz3” repository on GitHub (web, secondary): the Apache 2.0 licence. https://github.com/AmiBlitz/AmiBlitz3
  • Wikipedia, “Blitz BASIC” (web, secondary): BlitzPlus, BlitzMax and Monkey as later Blitz Research products.

See also

Checked. Verified against primary sources and signed off by a person.