Blitz Basic Download

0 views
Skip to first unread message

Rosy Demorest

unread,
Aug 4, 2024, 9:53:32 PM8/4/24
to foodssudeemat
BlitzBASIC is the programming language dialect of the first Blitz compilers, devised by New Zealand-based developer Mark Sibly. Being derived from BASIC, Blitz syntax was designed to be easy to pick up for beginners first learning to program. The languages are game-programming oriented but are often found general purpose enough to be used for most types of application. The Blitz language evolved as new products were released, with recent incarnations offering support for more advanced programming techniques such as object-orientation and multithreading. This led to the languages losing their BASIC moniker in later years.[1]

The first iteration of the Blitz language was created for the Amiga platform and published by the Australian firm Memory and Storage Technology. Returning to New Zealand, Blitz BASIC 2 was published several years later (around 1993 according this press release [2]) by Acid Software (a local Amiga game publisher). Since then, Blitz compilers have been released on several platforms. Following the demise of the Amiga as a commercially viable platform, the Blitz BASIC 2 source code was released to the Amiga community. Development continues to this day under the name AmiBlitz.[3]


Idigicon published BlitzBasic for Microsoft Windows in October 2000. The language included a built-in API for performing basic 2D graphics and audio operations. Following the release of Blitz3D, BlitzBasic is often synonymously referred to as Blitz2D.


Recognition of BlitzBasic increased when a limited range of "free" versions were distributed in popular UK computer magazines such as PC Format. This resulted in a legal dispute between the developer and publisher which was eventually resolved amicably.


In February 2003, Blitz Research Ltd. released BlitzPlus also for Microsoft Windows. It lacked the 3D engine of Blitz3D, but did bring new features to the 2D side of the language by implementing limited Microsoft Windows control support for creating native GUIs. Backwards compatibility of the 2D engine was also extended, allowing compiled BlitzPlus games and applications to run on systems that might only have DirectX 1.


The first BlitzMax compiler was released in December 2004 for Mac OS X. This made it the first Blitz dialect that could be compiled on *nix platforms. Compilers for Microsoft Windows and Linux were subsequently released in May 2005. BlitzMax brought the largest change of language structure to the modern range of Blitz products by extending the type system to include object-oriented concepts and modifying the graphics API to better suit OpenGL. BlitzMax was also the first of the Blitz languages to represent strings internally using UCS-2, allowing native-support for string literals composed of non-ASCII characters.


BlitzMax's platform-agnostic command-set allows developers to compile and run source code on multiple platforms. However the official compiler and build chain will only generate binaries for the platform that it is executing on. Unofficially, users have been able to get Linux and Mac OS X to cross-compile to the Windows platform.


BlitzMax is also the first modular version of the Blitz languages, improving the extensibility of the command-set. In addition, all of the standard modules shipped with the compiler are open-source and so can be tweaked and recompiled by the programmer if necessary. The official BlitzMax cross-platform GUI module (known as MaxGUI) allows developers to write GUI interfaces for their applications on Linux (FLTK), Mac (Cocoa) and Windows. Various user-contributed modules extend the use of the language by wrapping such libraries as wxWidgets, Cairo, and Fontconfig as well as a selection of database modules. There are also a selection of third-party 3D modules available namely MiniB3D[4] - an open-source OpenGL engine which can be compiled and used on all three of BlitzMax's supported platforms.


In October 2007, BlitzMax 1.26 was released which included the addition of a reflection module.[5] BlitzMax 1.32 shipped new threading and Lua scripting modules and most of the standard library functions have been updated so that they are unicode friendly.[6]


Blitz3D SDK is a 3D graphics engine based on the engine in Blitz3D. It was marketed for use with C++, C#, BlitzMax, and PureBasic, however it could also be used with other languages that follow compatible calling conventions.


In 2008, the source code to Max3D - a C++-based cross-platform 3D engine - was released under a BSD license. This engine focused on OpenGL but had an abstract backend for other graphics drivers (such as DirectX) and made use of several open-source libraries, namely Assimp, Boost, and ODE.


Despite the excitement in the Blitz community of Max3D being the eagerly awaited successor to Blitz3D, interest and support died off soon after the source code was released and eventually development came to a halt. There is no indication that Blitz Research will pick up the project again.


BlitzPlus was released as open-source on 28 April 2014 under the zlib license on GitHub.[7][8] Blitz3D followed soon after and was released as Open Source on 3 August 2014.[9][10] BlitzMax was later released as Open Source on 21 September 2015.[11]


Blitz Basic 2.1 was well received by Amiga magazines. CU Amiga highlighted its ability to create AmigaOS compliant applications and games (unlike AMOS Basic)[12] and Amiga Shopper called it a powerful programming language.[13]


In 2011, BRL released a new cross-platform programming language called Monkey and its first official module called Mojo. Monkey has a similar syntax to BlitzMax, but instead of compiling direct to assembly code, it translates Monkey source files directly into source code for a chosen language, framework or platform e.g. Windows, Mac OS X, iOS, Android, HTML5, and Adobe Flash.


This extension adds language support for the Amiga version of Blitz Basic 2 (and Amiblitz). The extension is in alpha state so syntax highlighting is still limited. Big thanks to Youen Chn who has made a lot of improvements to this extension!


I also used Hi-Soft Basic a lot, which was (imho) better suited for writing desktop applications (as in multi-window business applications, like invoicing and flat-file database programs). Amos Basic was likewise fun but way too slow for any practical use. It had too much dependency on the OS and lacked a compiler. When the compiler eventually was released it was a huge disapointment, producing monstrous executables with no real speed benefit. So I never really took to Amos Basic like others did. I wanted more.


Fact is that Delphi has been updated steadily in concert with C/C++ and have all the features you would expect from a modern language. Delphi runs rings around C# in almost every test. In 2020 there were some six million Object Pascal developers in the world (including third party compilers and dialects such as Freepascal, Oxygene, Smart Pascal [a product i made earlier] and others).


With Quartex Pascal, my second Object Pascal development system, I have modernized the platform further. This time compiling to JavaScript rather than machine code, with an RTL that interacts with the DOM and Node.js server-side.


Wrapping existing JavaScript and Webassembly libraries so that they can be used, side by side with QTX based components is likewise easy. I spent over a year working on a standard that would be able to usurp and absorb frameworks and libraries from Delphi, Turbo Pascal, JavaScript and WebAssembly.


The entire system is package based, meaning that you can isolate your code in package-files (zip file is used as package containers). Just put a package in the packages folder, and the IDE installs the components on the component-palette. Then you can drag & drop them onto your forms.


Imagine you have a cluster of 5 Raspberry PI machines, all daisy chained together using a switch (a motherboard with 5 compute modules would be better, but this is just an example). How exactly can an application make use of all that computing power?


It still surprises me just how well the Amiga has aged. It is a fascinating operating system with features that was only recently added to MacOS and Windows. It was lightyears ahead of everything else, held back by dirt poor management and even worse advertising.


I will shortly continue my re-implementation of AmigaOS for cloud and NAS systems. A task that is best described as a love story, a labour of passion, a lasting meditation on a system that inspired millions of us to learn technology. Be it programming, music, art, authoring or simply problem solving. Learning to code is to learn how to think.


It is an absolute honor to be able to do this for a living, and building Quartex Pascal is probably the most intellectually satisfying project I have ever done. But even that pales in comparison to reimplementing AmigaOS.


That computer made an otherwise terrifying upbringing livable. It taught me how to solve problems, create music, paint and draw; it taught me English, mathematics; it gave me friends and a community where I belonged, spread over many nations and boundaries. And it was great company for an otherwise introverted teenager surrounded by violence, alcohol and drugs. A blank canvas where everything was possible and where thoughts became things. If you knew how to code, then nothing was impossible.


Usb ports, Sata drives, Wi-fi networking, Hdmi displays, video and audio playback -it has almost become a statement of excellence for programmers to adapt new technologies to the Amiga. There is something about the restrictions of the old hardware that inspire people to think differently; to find new ways of achieving the same result. To deliver more with less.


I have often pondered why leading companies today ignores the genius of the Amiga, especially the operating system design. I mean, here is a system with a 4 megabyte footprint (the basic OS install of 4 floppies) that can operate -thrive even, with as little as 1 (one!) megabyte of memory; yet scale to a gigabyte of ram if need be. But a gigabyte of memory is an unbelievable amount of ram for an Amiga; far more than you can make use of. Applications are usually small and compact due to how 68k machinecode instructions are encoded.

3a8082e126
Reply all
Reply to author
Forward
0 new messages