Tuesday, January 31, 2012

Programming on Amiga

  Programming on Amiga was just another great experience. I really enjoyed various demos that were so popular at those times (occasionally I also played games), some things were truly impressive. But I couldn't wait to try start programming on my own. It was obvious to me that since the computer was so capable it must be a great thing to write programs for it. The only problem in the beginning was lack of literature, I had the software I needed, because AmigaBasic came on one of the system disks and was complemented with some examples. First thing that caught my eye was the editor that worked in windowed mode and which was another huge leap in comparison to the little Atari.


  Another superb feature in AmigaBasic was its multitasking that it has inherited from the Amiga workbench itself. The same program could run in few windows simultaneously with other programs that were running on your computer.

 

  If you're interested in programming in this language follow the link below to download a manual:


  Great! - you say. Yeah. It was great, indeed, but speed wasn't the strongest point of AmigaBasic as it was simply an interpreter. But everyone got it bundled with their computer and operating system and if one had wanted to try programming that would've been the first language to try out.
  Fortunately, there was a better solution. Lots of different software was circulating amongst many friends and soon I became an owner of a copy of AMOS Basic. Although it didn't support the standard Amiga Workbench window system it was far more extended in comparison to AmigaBasic, and yet it was lot faster. Several people wrote many simple games in AMOS Basic in the 90s, and  communities which use it do exist even nowadays, like AMOS Factory, where you can find manuals, download software, or join a forum to get even more quotes. This website also links to other AMOS related website. I looked at it only briefly, but it looks like a very rich resource:


On Amiga Coding website you can look at and download other people's AMOS projects, download books, manuals, magazines (there's only one at the moment, though), access other references (some links might be dead) or read about history of the language or even news! Apart from that, there are also materials about different implementations of Basic (AmigaBASIC, BlitzBasic) and other languages, including C and Motorola 680x0 assembly language that I always would've loved to try.


  Let's look at some examples of clever creations in AMOS Basic. There are several screenshots on that website therefore I chose only those that I find most interesting. People have written games of nearly professional quality (for what AMOS and 16-bit Amiga have to offer):

Battle Space
Code Name Nano
DarkAngel
Prototype
Teeny Weenys
  Some utility programs also look quite good for software written in an interpreter language with limited resources:

Art School
GRAC 2 (Graphic Adventure Creator)
IFF Vector Ball Designer
Magic Paint Box
  Even quite a few disk magazines were written in AMOS Basic, MiggyByte was one of them:

MiggyByte diskmag
  Most people believe that demos on Amiga can be written only in assembly language. Well, this site largely disproves it. You can look at the videos that are linked to, or just see a few screenshots of Megademo 1 written by Daniel Bryde in 1995. It features even some 3D vector graphics.





  If you like AMOS Basic there's a link for you where you can download various development tools: AMOS The Creator, AMOS 3D, Easy AMOS, AMOS Professional, or if you need more speed in your programs there's also a compiler for you. Check this out:


  And get even more AMOS software here:


  Even the AMOS interpreter alone was much faster than AmigaBasic and to make things even faster AMOS offered a complied sprite scripting language called AMAL (AMOS Animation Language) which ran independently of the main program written in AMOS Basic. The language included several commands which allowed to use graphics and sound with a minimum effort in order to achieve quite interesting effects. The editor was also more advanced in comparison to AmigaBasic:

AMOS The Creator
AMOS Professional Version 2.0
Easy AMOS

  I got a chance to develop only in the regular AMOS Basic (AMOS The Creator) and as soon as I manage to recover some of my programs and get screenshots of them I'm going to post them here. I remember that I've built an electronic piano keyboard (all from logic gates and counters) and written a controller for it in AMOS. If I had had an opportunity to compile that program then the boosted speed would've let me add lot more functionality to it. The program was sending clock signals to a counter and them multiplexer selected one of the keys to read input from, and which then was sent back to the computer. Interpreter allowed to do that only with certain speed and didn't leave much time for any other tasks, like playing sound and controlling its envelope in real time.
  I wrote most of my programs in AMOS Basic in early 90s and then came back to it for a short time about a decade later. AmigaBasic was my programming language for only about two years, before I got a copy of AMOS and switched to this language for good.