Amiga Research OS

Previous Next Top of Manual blank.gif

AROS - The Amiga Research OS

    Old News
    Old News (2001)
    Old News (2000)
    Coding Style
    HIDD Intro
    HIDD Model
    Random Ideas
1. FAQ - Frequently Asked Questions
1.1 What is this all about ? (30.03.2003)
1.2 Why do you implement the current OS ? (30.03.2003)
1.3 Please implement this feature ! (30.03.2003)
1.4 What is the legal status of AROS ? (30.03.2003)
1.5 How legal is AROS ? (30.03.2003)
1.6 How compatible is AROS ? (30.03.2003)
1.7 For what kinds of hardware is AROS available ? (30.03.2003)
1.8 How about UAE ? (30.03.2003)
1.9 You should not use Linux or X11 ! (30.03.2003)
1.10 How do you want to make it portable ? (30.03.2003)
1.11 AROS won't make it (30.03.2003)
1.12 AROS won't compile (30.03.2003)
1.13 What do I need to compile AROS ? (30.03.2003)
1.14 Memory protection, VMM, RT, ... (30.03.2003)
1.15 How about PPC or PPC cards ? (30.03.2003)
1.16 I want to be a beta tester (30.03.2003)
1.17 What mailing lists are there ? (30.03.2003)
1.18 AROS and MorphOS (30.03.2003)
1.19 AROS and H&P (30.03.2003)
1.20 What programming languages are available ? (30.03.2003)
1.21 Why is there no m68k emulator in AROS ? (30.03.2003)
1.22 Will there be an AROS in a Kickstart ROM ? (30.03.2003)
1.23 How can I use UAE to access AROS' floppy images ? (30.03.2003)
1.24 How can I access AROS' floppy images in AROS Linux/x86 ? (30.03.2003)
1.25 Is there an IRC channel ? (30.03.2003)

1. FAQ - Frequently Asked Questions

1.1 What is this all about ?

Last Update: 30.03.2003

Ok, AROS is a rewrite of AmigaOS 3.1 (Kickstart 40.68 and up).

These are the main goals:

  1. Be binary compatible on Amiga (so it can plug&play replace the original OS)
  2. Be source compatible on any other hardware (so Amiga software can be ported to other hardwares with no effort)
  3. Provide every hardware with Amiga apps with native look and feel or, as the user chooses, foreign hardware with Amiga look and feel.
  4. AROS will come in three flavours: 1) A standalone OS like Linux, Win, etc. 2) An Amiga Emulation (ie. a window in which you have a Workbench. Every new screen will open a new window) 3) A link-library with which you can port Amiga apps to other OSs (eg. Windows). 1) will have Amiga look&feel, 2) will have a mixture and 3) will have native look&feel. The flavours 1 and 2 will optionally have binary compatibility if possible.

1.2 Why do you implement the current OS ?

Last Update: 30.03.2003

There have been some talks about writing something which is something like an advanced OS with the features of the AmigaOS. This has been dropped for a good reason. First, everyone agrees that the current AmigaOS should be enhanced, but no one knows how to do that or even agrees on what has to be enhanced or what is important. Some want memory protection, but don't want to pay the price (major rewrite of the available software and speed cut-offs).

In the end, the discussions ended in either flame wars or "do it this way ! - Won't work because !". So we just said: First we do something we know to handle. Then we have the experience to decide what is possible and how. And then we decide.

Also we want to be binary compatible to the old AmigaOS on Amiga. The reason for this is just that a new OS without any programs which run on it has no chance to survive. Therefore we try to make the shift from the old OS to our new one as painless as possible (but not to the extent that we can't improve AROS afterwards). As usual, everything has its price and we try to decide carefully what that price might be and if we and everyone else will be willing to pay it.

1.3 Please implement this feature !

Last Update: 30.03.2003

No. a) If it was that important, it would be in the OS already :-) b) Why don't you do it yourself and send it to us ?

See, there are plenty of people around who think that their feature is the most important and that "the AmigaOS has no future if this feature is not built in right now". We say: The AmigaOS' demise has nothing to do with missing features. The AmigaOS can do everything a modern OS should do. We see that there are possibilities to enhance the AmigaOS, but if we do it, who would write the rest of the OS ? In the end, we would have lots of nice improvements to the original AmigaOS which would break most of the available software and worth nothing, because the OS itself would be missing. So we decided to block every attempt to implement major new features in the OS until it's more or less done.

1.4 What is the legal status of AROS ?

Last Update: 30.03.2003

AROS is Open Source as defined by the APL which is derived from the Mozilla Public License (we replaced the name "Mozilla" by "AROS" and modified some text so that all files below the AROS source directory are subject to the license). Here is an online version.

If you want to use AROS' code in your own project, you may do so without paying us a fee but if you modify the source, you must at least open the interface to the new functionality so that we can provide a compatible replacement for other users. We also would like you to state explicitly that you are using our work so that we can be proud :-)

1.5 How legal is AROS ?

Last Update: 30.03.2003

Well, European law says "To gain interoperability, it is legal to apply reverse engineering techniques. It is illegal to distribute the knowledge gained by such techiques". So what does that mean ? It means basically that you are allowed to disassemble or resource any software to write something which is compatible (ie. it would be legal to disassemble Word to write a program which converts Word into ASCII text).

Now there are of course limitations: You are not allowed to disassemble a software if the information you would gain by this process can be obtained by other means and it can be expected that one would use this is other means. And you must not tell others what you learned. A book like "Windows inside" is therefore illegal or at least dubious.

Since we avoid disassembling techniques (hey, we want the spirit and not the bugs) but use common available knowledge (including programming manuals) which don't fall below the NDA, this doesn't apply directly to AROS, but what counts here is the intention of the law: It's ok to write a software which is compatible to some other software. Therefore we believe that AROS is protected by the law.

Patents and header files are a different issue, though. We can use patented algorithms (eg. screen dragging or getting a menu when you press the right mousebutton) in Europe but this must not be imported into the US. Header files on the other hand must be compatible but "as different as possible" from the orignal.

Therefore to avoid any trouble we applied for an official Ok by Amiga Inc. Amiga Inc is quite positive about the effort but they are very uneasy about the legal implications. We suggest that you take that fact that Amiga Inc did not send us any Cease&Desist letters (yet) as a positive sign. Unfortunately, no legal sound agreement could be made yet besides good intentions on both sides.

1.6 How compatible is AROS ?

Last Update: 30.03.2003

Most compatible. We expect that AROS will run existing software on the Amiga without problems. On other hardware (like PCs), the existing software must be recompiled. We will offer a preprocessor which you can use on your code which will change any code that might break with AROS and/or warn you about such code.

1.7 For what kinds of hardware is AROS available ?

Last Update: 30.03.2003

Currently AROS is available for Intel PCs with Linux (Linux/i386) or FreeBSD and Amiga with AmigaOS and Linux/m68. We are working on versions for SPARC, HPUX, Alpha, PIOS ONE/transAm and any other available hardware if someone wants to do that.

  1. Linux/i386 with 2.x kernel. Status: everything works. Flavours: Emulation
  2. IBM PC Status: Some parts work. Flavours: Native
  3. FreeBSD/i386: Status: everything works. Flavours: Emulation
  4. Amiga/AmigaOS: Status: parts work (like a big SetPatch()). Flavours: Standalone
  5. Linux/m68k: Status: alpha. Flavours: Emulation (binary compatible)

There have been efforts to port AROS to PPC and Sparc (Sun) but these projects did not take off. If you want AROS on PPC, you should wait for MorphOS because the people behind MorphOS are using AROS to fill in the missing parts in their Amiga emulator.

1.8 How about UAE ?

Last Update: 30.03.2003

UAE is an A500 emulator. Its goals differ somewhat from that of AROS: UAE wants to be able to be binary compatible even for games and hardware banging code, while AROS wants to have native applications. Therefore AROS is much faster than UAE, but UAE has more software.

We are in loose contact with the author of UAE and there is a good chance that code for UAE will appear in AROS and vice versa. For example, UAE is interested in the source for the OS because it could run some apps much faster if it could replace the OS calls by native code. On the other hand, AROS needs hardware drivers (eg. audio.device).

Since most code will not be available on AROS from the start, Fabio Alemagna has ported UAE to AROS so you can at least run the old code in an emulation box.

1.9 You should not use Linux or X11 !

Last Update: 30.03.2003

The final version of AROS will not depend on Linux or X11 anymore (but it will run on them if you insist). Currently, we use Linux and X11 to speed up development. For example, if I write a new function to open a window, I can write that single function and need not write hundreds of other functions in layers, graphics, etc.

1.10 How do you want to make it portable ?

Last Update: 30.03.2003

One of the major new features of AROS will be the new Hardware Independent Device Drivers (HIDD). They will allow us to port AROS to any hardware with almost no fuzz. But that's a bit in the future. So don't worry that your old code won't work anymore, say, next month.

1.11 AROS won't make it

Last Update: 30.03.2003

Yeah, we hear that all the day from every person. But most of them either don't know what we are doing or they think the Amiga is already dead. After we explained what we do to the former, most agreed that it is possible. The latter make more problems. Well, is Amiga dead right now ? I really can't say. Just a few hints: Did your A500 or A4000 blew up when C= went bankrupt ? Or when AT did ?

Fact is that there is only few new software for the Amiga (although Aminet has never seen better times) and that hardware is also developed at a lower speed (but the most amazing gadgets appear right now). I say, the Amiga community (which is still there) just sits and waits. And if someone releases something which is a bit like the Amiga back in 1984, then that machine will boom again. And who knows, maybe you will get a CD along with the machine labeled "AROS" :-)

1.12 AROS won't compile

Last Update: 30.03.2003

Please post a message with details (for example, the error messages you get) on the AROS-User mailing list or become a developer and subscribe to the AROS-Dev list.

1.13 What do I need to compile AROS ?

Last Update: 30.03.2003

You need a Linux distribution (SuSE usually works, RedHat usually less :-) AROS compiles with GCC 2.95.3 and also with GCC 3.0

1.14 Memory protection, VMM, RT, ...

Last Update: 30.03.2003

Hot themes. Oh well...

Several hundred Amiga experts (or at least what they thought of themselves) tried for three years to find a way to implement MP (memory protection) into the AmigaOS. They failed. You should take it as a fact that the normal AmigaOS will never have something like Unix or WindowsNT.

But not all is lost. There are plans to integrate MP into AROS which will allow to protect at least new programs which know about MP. Some efforts in this area look really promising and in the end: Is it really a problem if your machine crashes ? Let me explain, before you nail me to a tree :-) The problem is not that the machine crashes, the problems are: 1. If that happens, you have no good idea why it did, so you have to poke with a 100ft pole into a swamp with a thick fog. 2. You loose your work. Rebooting the machine is really no issue.

So what we try to establish is a system which will at least alert if something dubious is happening and which can tell you in great detail what was happening when the machine crashed and which will save your work and *then* crash. There will also be a means to check what has been saved so you can be sure that you don't continue with corrupted data.

The same with VMM, RT, SMP and RTG. We are currently planning how to implement them and we make sure that adding these features will be painless, but they are no #1 priorities right now. A very basic RT has been added, though.

1.15 How about PPC or PPC cards ?

Last Update: 30.03.2003

We are regularily asked about AROS on PPC. The answer has always been the same: While many people ask, no one applies to do the work. Currently, the best bet for AROS on PPC is probably MorphOS.

1.16 I want to be a beta tester

Last Update: 30.03.2003

Sure, no problem. But we don't keep a list of beta testers, so all you have to do is to download the part of AROS you want to test and send us the report.

1.17 What mailing lists are there ?

Last Update: 30.03.2003

See the Links section.

1.18 AROS and MorphOS

Last Update: 30.03.2003

MorphOS is a new PPC based computer system called bPlan. It runs Linux and an AmigaOS emulator which can run programs compiled for the Amiga. The people behind MorphOS and bPlan are very interested in AROS and have begun to port parts of AROS' code to their system to fill the gaps.

There have been rumours that AROS and MorphOS have joined forces. This is not so. The AROS team is still independent. MorphOS is just using a part of our work. Isn't this what Open Source is all about ?

1.19 AROS and H&P

Last Update: 30.03.2003

Haage&Partner have used a part of AROS, namely the Colorwheel gadget in OS 3.9. So in a way, AROS has become part of the official AmigaOS. Of course, this doesn't imply anything. AROS has not become the development branch of Amiga Inc :-)

1.20 What programming languages are available ?

Last Update: 30.03.2003

Most development for AROS is done using ANSI C by crosscompiling the sources under a different OS, eg. Linux, FreeBSD or NetBSD. There is currently no native C compiler that can be run under AROS, but there are plans to port one. This however will probably take some time, so don't hold your breath. ;-)

The languages that are available natively are Python, Regina and False.

False can be classified as an exotic language, so it will most likely not be used for serious development, although it can be lots of fun. :-)

Python is a scripting language which has become quite popular, because of it's nice design and features (object-oriented programming, module system, many useful modules included, clean syntax, ...). A seperate sourceforge project has been started for the AROS port and can found at this homepage.

Regina is a portable ANSI compliant REXX interpreter. The goal for the AROS port is to be compatible with the ARexx interpreter for the classic AmigaOS.

1.21 Why is there no m68k emulator in AROS ?

Last Update: 30.03.2003

To make old Amiga programs run on AROS, we have ported UAE to AROS. AROS' version of UAE will probably be a bit faster then any other UAE because AROS needs much less resources than any other OS (so UAE will get more CPU) plus we'll try to patch the kickstart ROM in UAE to call AROS functions which will give another small improvement (of course, this only applies to the Native flavours of AROS and not the emulation flavours).

But why don't we simply implement a virtual m68k CPU to run software directly on AROS, you ask. Well, the problem here is that m68k software expects the data to be in big endian format while AROS also runs on little endian CPUs. The problem here is that the little endian routines in the AROS core would have to work with the big endian data in the emulation. Automatic conversion seems to be impossible (just an example: There is a field in a structure in the AmigaOS which sometimes contains one ULONG and sometimes two WORDs) because we cannot tell how a couple of bytes in RAM are encoded.

1.22 Will there be an AROS in a Kickstart ROM ?

Last Update: 30.03.2003

If someone writes a port. Currently, no one has applied for the job.

1.23 How can I use UAE to access AROS' floppy images ?

Last Update: 30.03.2003

You must have UAE installed. The boot disk image can be mounted as a hardfile and then used as a 1.4meg harddisk within UAE. After you have put the files you want on the hardfile disk image (or whatever), then write it to a floppy.

The geometry of the hardfile is as follows:

Sectors    = 32
Surfaces   = 1
Reserved   = 2
Block Size = 90

1.24 How can I access AROS' floppy images in AROS Linux/x86 ?

Last Update: 30.03.2003
  1. Compile AROS or unpack the binary archive.
  2. Copy the .adf file to DiskImages directory (bin/linux-i386/AROS/DiskImages) and as Unit0.
  3. Start AROS
  4. Mount it with mount AFD0:.

1.25 Is there an IRC channel ?

Last Update: 30.03.2003

Yes! 4play was so kind to set it up for us (along with some bots :-)). He's usually hanging around there. Join the channel #aros on FreeNode.

Previous Next Top of Manual blank.gif

Amiga® is a trademark of Amiga Inc. All other trademarks belong to their respective owners.

Copyright © 1995-2001, The AROS Development Team. All rights reserved
Comments to webmaster:
Generated: Sun Mar 30, 2003

SourceForge Logo