AROS: Onboard the Last Train to Amiga Neverland

It was 1997 and in these dark ages of the Amiga history, a few brave ones have embarked on a seemingly impossible journey. It is difficult to start from a clean slab, but complete rewrite of the AmigaOS Application Programming Interface (API), in open source domain, was the only option for Amiga community to gain control over destiny of the beloved platform. The Amiga Research Operating System (AROS) was born. Under, at times slow but steadfast progress, the vision is nearly complete. Not only is AROS almost feature-for-feature complete when compared to AmigaOS 3.x, but it has excelled many of the original design specifications.

Introduction

What made AROS fundamentally different from other AmigaOS rebirths since the demise of Commodore and those who tried to follow, most notably MorphOS and AmigaOS 4.0 pre-release, is that it is not tied to an esoteric hardware platform. AROS is developed to run on any low-spec x86 system – the most common PC hardware on the planet. I have a native install on my obsolete Pentium 200MHz box and I’m happy to report – it flies. Today, AROS runs natively on x86, and can be hosted within a number of operating systems such as Windows and Linux. For those traditionalists, AROS port is underway for PowerPC platform, and more recently there are even talks about port to ARM processor for handheld and embedded devices.

Enter the Cat

If installed natively, AROS uses GRand Unified Bootloader (GRUB). The native AROS installation boots in a matter of few seconds (that’s on my obsolete PC). If you ever used AmigaOS 3.x, you will feel right at home. The famed RAM disk, the System hard drive and CD-ROM (if any loaded) icons are stacked in the upper-left corner of the workbench. Actually, in AROS the workbench is called, intriguingly, the Wanderer. Context menu at the top will give you information on the available system resources. The graphical user interface (GUI) behind AROS is developed in Zune. Zune is an object-oriented GUI toolkit which is a clone of the well-known Magic User Interface (MUI) product for AmigaOS. Developers have opted for a ‘cartoonish’ look and chunky 3-D make-a-statement icons which are
professionally designed and go well with the whole Amiga theme.


For users used to Microsoft Windows, I should note that windows in Zune operate differently than windows in the Explorer shell. There is no clutter of pull-down menus at the top of application windows. Instead, right-click anywhere on the active window and a complete menu associated with this application will appear next to the mouse pointer, or in the context bar. Then, just select a menu item of choice while holding the mouse button. Similarly, Wanderer (desktop) itself is a window, and right-clicking anywhere on it will list various menu options in the context bar at the top of Wanderer. From there you can access GUI-related settings, objects and actions such as AROS shell (a command line interface), take a desktop screenshot, execute a program or a command, or reboot or quit AROS. It’s just that easy.

A sexy toon cat is the AROS mascot. You can meet her at the Wonderer About window. There, you can also find the build date of your installation, information on the AROS Public Licence, as well as who are the authors and contributors to the project.

Know Your Windows

Before we delve any deeper, let’s just look at some GUI basics. Double-clicking on the System icon will open a new window listing contents of the System disk in iconified view. Folders (in AROS they are called drawers) are easily identifiable by a composite icon which has a manila folder as a background and another icon, usually depicting the drawer theme, in the foreground. Therefore, each drawer is uniquely depicted. Clicking on any drawer will make it selected. Right-clicking mouse while a drawer or a file is selected will give additional file options in the context menu. For example, select Icon , then Information from the pull-down menu and you will see additional information such as file name, type, size, date when it was last modified, file protection (which you can change) and so on. Similarly, you can also rename or delete any selected file or drawer, or just open it (which is equivalent of double-clicking on them). You may notice that each time a drawer is opened, its contents will be listed in a new window.

Some of the described actions can be completed using shortcuts listed next to a particular action item in the context menu. For example, a selected drawer can be opened using the Amiga key + O shortcut. Amiga key you may ask? Well it is the Windows key on your keyboard but we all know who first invented it. The Window item in the context menu has a few options you may want to explore further such as creating a new drawer, various sorting options, switching between iconified and listing view, opening a parent drawer, updating (refreshing) the window contents and so on.

Now let’s have a look at the window controls themselves. Window title is at the top and it lists the full path, for example System:Demos/Zune. In the far upper-right corner is a control to move the window to background or foreground. On its left is a control which will toggle the window between its current and a much smaller, stamp-like size. Then, we have vertical and horizontal sliders and their controls. In the far lower-right corner is a control for window resizing, click-and-pull action. Finally, clicking on the push-pin at the top left corner will close the window.

All this will give novices a good summary how to navigate in Zune GUI – it is not meant to be a tutorial. Now, let’s explore the AROS System drawer and some of the things included in the build.

What’s in the Box?

Initially of most interest to a new user would probably be the Prefs (preferences) drawer. This is the place where you can customise the look and feel of Wanderer and Zune GUI, set your preferred language (yes, there is internationalisation support), time zone and preferences relating to screen resolution and depth, input and peripheral devices. The Prefs options provide user with capability to customise the desktop and behaviour of AROS much beyond what one may think is possible for a hobbyist system.

The next interesting drawer is Tools. In Tools, there is a bunch of neat little helper gadgets stored in the Commodities drawer. There is also a fully-featured text editor – when it opens, don’t let its simple, plain window fool you, remember, right-click for the application menu in the context bar. Calculator is very much a must-have and there is also a Screen Grabber tool which has a few options making your screen capture a breeze. In terms of accessing your hardware, PCI Tool will list information about your installed cards – think of it as what the Device Manager is for Microsoft Windows.

I have to mention one more tool called the Window Manipulation Program (WiMP) since this is something I haven’t seen yet on any mainstream OS. In a nutshell, WiMP gives you a detail information about all of your open windows and allows you to manipulate them in many ways from a single place, rather than having to attend to each window individually. One of the neat features is that you can hide any window (not to be confused with minimising a window). Unless you look-up in WiMP, one would never know a hidden window exists. The remaining couple of tools in the Tools drawer are the HD Tool Box utility for managing your data storage devices that, among other things, allows you to configure and format disk partitions. I would not recommend using the Install AROS tool. At the time of writing this article, this particular tool is known to be buggy, and the whole AROS installation process and tools are being re-examined as part of the work on the AROS Installer Mark 2.

The Utility drawer contains a simple analogue clock and a couple of programs – More and Multi View for viewing files with various datatypes. You may also find the Installer program here – you have been warned.

Other than a number of system drawers, I have covered most, but not all, features directly related to the operating system itself.

Well, I have saved the best for last. If you really want to find out what AROS can do right now, you will need to venture into the Extras drawer. It contains a treasure-trove of software. I have to stress, however, this is not everything, but only software that was contributed and managed in the AROS Subversion tree. While I will talk more about certain outstanding applications and development software later in the article, to see how AROS scores in the graphics department see one of over 15 demos, in the System:Extras/Demos drawer. They are all great but my personal favourites are Firework, Metaballs, NewVox and Tunnel. Then we have games – real, playable games. Be sure to check out the Bomber and Ibrekout2. CXHextris is a Tetris clone using hexagon-shaped elements. If you fancy an old-look vector-based graphic game, XInvaders3D might just please you. Then there are Doom and Quake ports (these may not work well in a hosted environment).

A couple of very good games, not in the Games drawer, are stored in the System:/Extras/aminet drawer. These are a solitaire game named Soliton and it has a much more polished look than any Solitaire or FreeCell Microsoft bloated their Windows with. Everyone should know AmiChess, another popular game of chess where you can put your brain at work against the computer. The reason why these two games are in the aminet drawer is because their sources came from the Aminet archive. This drawer has a ton of useful programs and games which, honestly, I did not have a chance to have a good look at yet. A few things worth mention are, as we consider usability of the system, a number of programs to handle a variety of compressed and archived files, a terminal client and what appears to be a media player.

Finally, for those with interest in development, a peek at many examples (and sources) provided in Demos and Tests drawers may prove useful. The latter also has a number of benchmark tools. Perhaps, one day I’ll be reporting to you how AROS performs against some other system?

Getting Productive

The focus to date has been very much on the operating system per se. Having AROS to a stage where it is usable, with many of the original OS features implemented, the past year or so has seen activity in porting and developing of native applications. The threshold of usability and variety of development tools has been reached and many of those skilled enthusiasts who were perhaps looking over the fence are coming on-board AROS development train. Some examples, distinguished for their professional look and feel, are:

  • AiRcOS Internet Relay Chat (IRC)
  • Digital Almanac III astronomy software for Amiga
  • DOpus (as in the famous Directory Opus) file management utility (and more)
  • Lunapaint for painting and animation (inspired by classic DeluxePaint and TVPaint for Amiga)
  • MisticView slideshow/presentation software by Neoscientists
  • Simple Data Base (SDB) is, as name suggests, a database engine (implemented in AmiLua) and post of SQLlite

and more.

A word processor, a ‘serious’ AROSAmp MP3 player and a number of other interesting applications are currently in the works.

There are already first attempts with commercial software for AROS, with Airsoft Softwair making their Hollywood 2 release, for creating multimedia applications and games, available on AROS, in addition to their offerings for other Amiga-based operating systems. Another small software workshop, The Blue Suns, has released the Frying Pan, which is a CD/DVD burning and mastering software, also running on AROS.

What about the classic software, you may ask? Not a problem with the port of E-UAE you will have access to a large library of ‘classic’ titles, both games and productivity software. There is also a port of the Script Creation Utility for Maniac Mansion (SCUMM) virtual machine to run classic graphic adventures, such as Monkey Island, Simon the Sorcerer and Beneath a Steel Sky. In addition, recent port of the VICE emulator for 8-bit Commodore computers will let you enjoy all that games from the ‘other side’ of the Commodore family, or shall we say the Amiga’s poor cousins.

A repository of freely available software for AROS is available from the AROS Archives website but note that it does not contain all of the currently available AROS software. It is the intention that AROS Archives will grow into the definitive distribution hub for all AROS applications. There is also a fair collection of software written for AROS on the Aminet archive, the Internet’s oldest software repository.

The Bad and the Ugly

Well, what’s not so good about AROS?

If you want to install native AROS on a multi-boot PC, you are in for some difficult times. At present AROS Installer does not play nicely with other partitions, hence you will need to use other tools and have a certain amount of real geek mojo to configure AROS in a multi-boot environment. It is possible, but it’s not as easy as pressing a button. This issue will be resolved in the Installer Mark 2, work on which has not yet commenced but is scheduled as one of the main development priorities. In the meantime, you may find instructions on AROS multi-boot installation at the AROS Workshop hosted on the Reziztanzia website.

Browser, anyone? Yes, there is no good, native browser available for AROS. A modern browser is today a must-have – not having one severely reduces usability of the operating system for everyday tasks a regular user would expect to be able to do. Currently, AWeb port is on the cards but let’s face it, we need something modern and technologically up-to-date, with support for cascading style sheets (CSS), Java and various third-party plug-ins such as Flash Player. An AROS-unrelated project named AmiZilla may deliver something useful in the future, and perhaps the browser would be ported to AROS platform. There is also talk about porting Dillo, highly compact but feature packed browser which has been under solid development for some years now. In the meantime this is probably one of the major productivity shortcomings for AROS, but this is also true for other AmigaOS-like platforms. Well, you can still use a couple of browser offerings for ‘classic’ AmigaOS 3.x in UAE emulation.

Good ol’ documentation, both technical and user. By all means, documentation is not skimpy but, rather, the problem is that it is scattered everywhere – on AROS official sites, Wiki (books), some good and very useful information embedded in various discussion forums, some maintained on personal websites – the list is endless. As a consequence, some of it may be outdated or is just abandoned. For a novice and especially a new developer, it may take a considerable effort to find exact information he or she needs. Luckily, the AROS community is very helpful and patient with newbies. I myself have often been pointed by those in the know to a right place. Nevertheless, it would be useful to have all documentation accessible from a single point where information can be easily found and maintained.

At this stage Wanderer/Zune does not support drag-and-drop operations on GUI objects. While not really a show-stopper, it is certainly a nice feature to have, as many other modern operating systems do. Again, this is currently on the development list.

Get Some

So, you want to get your hands dirty, you say? Welcome to AROS then!

There are various ways to obtain, and even build your own AROS installation. If you just want to try it out, probably the easiest way is to download the AROS-Max ISO image and burn a bootable CD, or run the image under QEMU emulator within your host operating system. The most current AROS-Max distribution is version 0.4.8 (at the time of writing this article), which does not to have a download link to on the official AROS-Max website (be careful not to download the old version 0.2.0). It is just one of strange quirks of how we, at the AROS community, function. You can download AROS-Max 0.4.8 torrent or via this direct download link which is from the official site. Work on the next version – 0.5 – is about to commence but there is no date set for a release.

Once you have the AROS-Max distribution CD prepared you can also, in addition to booting directly from the CD, install AROS on your local hard drive. Note however, my previous comments about installations in multi-boot environment. This would be a good opportunity to make use of your old boxen tucked away in a closet – this is what I did. Step-by-step instructions about how to make native install from AROS-Max distribution, including the required partitioning and formatting of your hard drive to Fast File System (FFS) with internationalisation support, can be found at the Mark Carter’s website.

You can also run AROS in a hosted environment – Linux, Windows or FreeBSD. Stable snapshots of these builds can be found at the AROS Download page. These stable snapshots are not released very frequently and if you want the latest and greatest, you may try your luck with nightly builds of the Subversion tree on the same page – they usually do work just fine.

Another option, especially if you want to get really down and dirty developing your own applications for AROS or making various customisations to the OS itself, is to download the AROS source, contributed programs sources, development tools and documentation to build your own. Again, you have an option of going for a stable code base or playing risqué with the nightly’s. I would go for nightly builds. I have so far built twice my own AROS system hosted on Fedora Core 3 (yes, I’m a bit backwards with my Linux distros) from nightly sources and have not encountered any build problems. When the build starts do yourself a favour and grab a cup of coffee as it would probably take a good chunk of an hour (as it did on my 2 GHz Centrino laptop). Once the build is complete, you will need to set and source a few environment variables and paths to make it all working. More information on building AROS is also available from the Compiling AROS page on the official AROS website.

Finally, if you run into any problems, there is always someone willing to help on the most frequented AROS forum on the web, the AROS-Exec.

Make Some

If you are interested in developing AROS or software for AROS, as I am, then you should consider, in my opinion, the ultimate development package for AROS – the AmiDevCpp. AmiDevCpp is an integrated cross-platform development environment for Microsoft Windows that allows you to develop C/C++ applications for the variety of target Amiga-like platforms with ease. The targets include AmigaOS (m68k), AmigaOS4 (PPC), MorphOS (PPC) and, of course, AROS (x86). If this is your cup of tea, just download the Monster Pack version 0.9.5 and the configuration files from their download page. You have option of installing the AROS-only IDE or multi-target IDE. I went with the IDE for multiple targets and if disk space is not an issue, I would highly recommend this very fine and free software development kit.

You can also conduct software development within AROS hosted environment on Linux. From the perspective of novice developer, I had some difficulties with it. This was not due to the software development kit for AROS on Linux being difficult or bug-ridden, but because of my inexperience with the build process in general and some specifics of the AROS build system. In fact, the AROS build system should provide, to an experienced developer, environment which is much easier to manage. When I, inadvertently, rebuilt a part of my AROS hosted installation and in the process lost a couple of days work on LUA-based application, I have decided to pull the plug on building under AROS and switched to AmiDevCpp. Sorry, I just like to build with a press of a button – you old skool guys can shake your heads as much as you like. If you are new to software development, I would highly recommend that you consider AmiDevCpp – it is so much easier on a newbie.

You can still write your own programs even if C/C++ are too heavy for you. While C is by far the best supported language on AROS, there is a choice of other easier, scripting languages now available. Some of those are listed here.

AmiLua is a port of Lua general-purpose programming language. The port includes a library called Siamiga which is linked with the Lua interpreter. The library supports basic Zune windows, widgets, menus and graphic functions. The whole package allows you to write virtually any program with a professional looking user interface. If you have to develop or prototype something quickly, AmiLua is the way to go. What’s the best is that the port is maintained and is up to the current official version of Lua.

We cannot talk about Amiga without mentioning ARexx, the Rex port. ARexx has been available on Amiga since the time immemorial, so it is on AROS.

PyAROS is a port of Python. Don’t let the release numbers fool you – PyAROS 0.1 is the port of Python 2.2. However, some time went by now since the first PyAROS release and I would assume that, at present, the port is no longer maintained.

sdlBasic is yet another AMOS-inspired port of BASIC for AROS. If you need something even more basic, Bywater BASIC interpreter is available too.

There are many other software tools, of interest to a developer, already available in AROS, such as Simple DirectMedia Layer (SDL) multimedia library, current work on porting of MesaGL/3D implementation of the OpenGL graphics library, to name just a few. If you are really interested to find out more, the best thing is to get involved on one of the AROS-Exec discussion forums.

Before I leave this space discussing options for a prospective AROS developer, I have to say that you don’t need to be a programmer to contribute. If someone is skilled in writing, the person could make a great contribution towards documentation. AROS documentation is stored, wisely may I add, in reStructuredText (ReST) which is extremely easy to learn and portable text document format. In fact, I have been using ReST to write a user guide for Lunapaint (note: I’m NOT the Lunapaint author), the work yet to be completed. I’m using Docutils.

The Crystal Ball

AROS has a bright future. It is the only currently remaining and realistic hope for the Amiga community. Nearly 10 years in the making and despite all criticism and odds, this open source project has demonstrated how strong the spirit and will of the AROS/Amiga community is.

As to expectations of an official AROS 1.0 release, the question is not really whether we are going to get there, but rather how long it will take. At present, there is no clearly laid-out point-release roadmap. Without question, developers are putting a lot of individual effort and there is a lot of collaboration and support going on behind the scenes. AROS has grown and just, maybe, it is the time to consider orchestrating all this effort. Perhaps the creep of time is best summarised by the AROS motto: “No schedule ‘n’ rocking”.

Nevertheless, an effort to address various ‘gaps’ in AROS has commenced and is coordinated by Team AROS – a grass roots support group. The group acts as a catalyst for AROS, mainly by raising money through donations for focused development. Anyone can donate money to special bounty projects which focus on a particular feature they would like implemented in AROS. These bounties are posted on the Team AROS website. The most topical, at present are the AROS Installer Mark 2 bounty and the bounty for tighter integration of the UAE into the operating system. Donations can now be done via PayPal and the kitty for all bounties is approaching $4,000 (USD) mark (as of time of writing this article).

Some important and outstanding work has been done in the past, utilising the bounties scheme, specifically the implementation of TCP/IP stack, support for various graphic card drivers, and soon to be completed work on USB support and AROS port to 64-bit x86 architecture.

Another way of financially contributing towards AROS development is through the monthly donation subscriptions (in which I too participate). In the spirit of democracy, at the end of each month donors have an opportunity to vote towards which open bounty to direct the pool of monthly donations. This system ensures that there is a continuous income stream directed towards development, regardless of individual contributions. At present, donors have a choice of $5 or $10 (USD) monthly donation through PayPal. The whole bounty and donation system managed by Team AROS is open and transparent to everyone.

Hopefully, these financial incentives will attract more developers who are prepared to give-up some of their spare time and put their talents to a good cause. There is nothing better than a feeling of satisfaction in knowing that you completed something important, made a contribution which many people will make use of, as well as having a fair award for your work in the hand.

With an increasing, ever-growing number of people being attracted to AROS, expectations of the users are high. It may sound optimistic and perhaps naïve, quality for which many of Amigans are unfortunately well-known for, but I believe AROS is not that far from becoming the total, long-lasting, ‘Amiga’ solution. If one could only fast-forward couple of years into the future.

Conclusion

I have been following AROS for about 4 years and can say with confidence that this ‘alternative’ operating system has come a long way.

If you are not fortunate enough to own astronomically priced Amiga hardware, both ’classic’ or PPC-based, emulation was the only option until now. Packages such as AmiKit, AmigaSYS, and venerable but now outdated Amiga in a Box (AIAB) may have provided a satisfactory solution. However, a long-term viability of Amiga platform can only be resolved by a new, modern operating system and hardware which is within financial reach of all users. Closed OS and esoteric hardware in hands of a handful of small and struggling commercial ventures is a recipe for failure especially in such niche market, as we have seen over the past many years.

It is worth reminding ourselves that the original goal was to create an operating system which is nearly source-compatible with the AmigaOS 3.1, highly portable and freely available. The goal was not only to re-create the classic AmigaOS, but also to, during the process, improve and build a better OS for the Amiga community. The AROS project, by and large, is on the verge of succeeding in the original aim with only a relatively few building blocks remaining for developers to patch-up. We also got our improvements, many in fact. AROS is today a usable system. Tomorrow – it will rock you.

More Amiga enthusiasts, as well as those who never owned one, are getting involved into AROS by the day. People are starting to develop completely new applications or porting classic Amiga and other open source software to AROS. Some are using it within scope of the available software titles while others may just be toying with it out of curiosity. People are willing to contribute their time and money. This is all good because as long as the community is active, there is will and support which can only nurture future AROS development. Yes, the AROS community is alive and kickin’ – why not join us and make a difference?

Acknowledgments and Credits

The author wishes to acknowledge and thank all people who have taken their time to produce fantastic AROS screenshots, kindly made them available in the AROS-Exec Gallery and allowed their use in this article. Refer to the submitter nickname (in the Gallery) to find who they are. Special thanks to 4pLaY, Allanon, d980, Kalamatee, m0ns00n, olivier, rinnan and many other members of the Team AROS.

25 Comments

  1. 2006-09-13 4:22 pm
    • 2006-09-14 7:51 am
      • 2006-09-14 9:00 am
        • 2006-09-14 9:28 am
          • 2006-09-14 11:02 am
        • 2006-09-14 1:19 pm
      • 2006-09-14 11:08 am
      • 2006-09-14 3:37 pm
  2. 2006-09-13 4:40 pm
  3. 2006-09-13 5:24 pm
    • 2006-09-13 5:56 pm
  4. 2006-09-13 5:29 pm
  5. 2006-09-13 5:32 pm
  6. 2006-09-13 6:17 pm
  7. 2006-09-13 8:52 pm
    • 2006-09-13 9:32 pm
    • 2006-09-14 2:41 pm
      • 2006-09-14 6:25 pm
      • 2006-09-15 2:04 am
  8. 2006-09-13 8:54 pm
  9. 2006-09-13 10:26 pm
    • 2006-09-14 12:28 am
      • 2006-09-14 3:34 am
  10. 2006-09-14 3:22 am
  11. 2006-09-14 10:34 pm