What is AmigaOS 4.0?

- AmigaOS 4.0, one small step for computing, one giant leap for Amiga users.

For many years, every Amiga User has seen their beloved system left behind by the 'big three' Operating Systems: Windows, Mac OS and Linux. These OSs have all gone places and done things that AmigaOS couldn't do. The gap between Amiga Users and the rest of the computing world has grown bigger and bigger with every passing day. There were so many differences that a lot of Amiga Users have the abandoned the platform altogether, and it has been becoming more and more difficult to have faith in the future of AmigaOS.

The Classic Amiga hardware was chronically outdated, with many boards in computers being over 10 years old; the AmigaOS itself, although still very usable, was outdated. The Amiga had to change !

Now the AmigaONE line of computers has given Amiga Users access to hundreds of Megahertz of CPU power, many MBs of RAM, many GBs of disk space and a lot of standard hardware cards for top quality graphics and sound. AmigaOS had to be adapted to make use of this new hardware and, at the same time, a lot of new features had to be added to reduce the gap between the Amiga system and all others.

Looking at the huge amount of work that has been done to update AmigaOS, every Amiga User should consider that it has been rewritten from scratch. It now features a lot of the structure that is needed to prepare the system for the next step: AmigaOS 4.1 
Of course, OS4 is not yet an operating system that can compete with the 'big three' OSes out there. But you will find in it enough features to make you be proud to run an Amiga again when you show your OS to your PC friends.

AmigaOS 4.0 will make all Amiga Users happy again! (we hope!) 

- Who did it ?

AmigaOS 4.0 is 100% the work of Hyperion Entertainment and third party developers. You'll find some well known Amiga people in the OS4 team: Olaf Barthel, Stephan Rupprecht, Stefan Burstroem, Alexander Kneer and a lot more. You'll find a complete list of them on the final AmigaOS 4.0 CD.

A huge volume of work has been done by David Rey, Richard Drummond (the guy behind the new UNIX/Amiga version of UAE) and Martin Steigerwald. They manage the AmigaOS 4.0 betatesters, the daily updates sent through to them and, of course, they are the guys behind the pre-release CD that you are playing with.

More than 150 betatesters are testing AmigaOS 4.0 day and night, on various hardware built around the 3 target platforms: AmigaONE (including the newer MicroA1), Amiga 4000 and Amiga 1200 (the latter two with PPC upgrades, of course).

- Some figures

AmigaOS 4.0 has been worked on for more than 2 and a half years. At this stage, approximately 30 people have released almost 5000 updates from the smallest (such as keymap files) to the biggest ones (Kernel, Dos.library etc...). As an example, the Dos.library has been updated 76 times since Oct 2002 and of course, each update brought several new features as well as bug fixes. Its source code is now 1 MB whereas it was only 200 KB in ROM 3.1!

An OS4 system partition is approximately 25 MB. The ROM is now 3.7 MB of PPC binary files compared to the 512 KB of ROM with 3.1. Of course, it is worth remembering PPC binaries are bigger than 68k ones because of the RISC architecture.

How is AmigaOS 4.0 structured?

- Uboot, the Second Level Booter and the System disk

The structure of the system disk (S, C, Devs...) is almost the same as AmigaOS 3.9. The most important new directory is the one called SYS:Kickstart.
In order to understand its role, some comments are needed on how AmigaOS 4.0 will boot on the AmigaONE and what are the differences between AmigaOS for Classic and AmigaOS 4.0.

On a Classic, the initial boot was handled by the Kickstart ROM. This chip contains all base libraries: Exec, Dos, Intuition. In the Amigaone, the ROM contains Uboot. Its job is to initialize the hardware and to start the booting process of the system you want - AmigaOS or Linux. Uboot doesn't contain all the kickstart components (ExecSG, FFS2...); they are now stored on disk. This means they exist like all the other Amiga OS files.

These components must be placed in the SYS:Kickstart directory. They will be loaded in memory from there and when they are executed, the rest of the system will be loaded through the Startup-Sequence as usual.

So the boot process goes like this on the AmigaONE: Uboot checks the disk you want to boot from (CDROM, harddisk...), it finds on it the SLB (Second Level Booter). This program has been installed on the disk RDB during the installtion of OS4.
The SLB checks all partitions of the disk that has been flagged as "bootable" and chooses the partition to boot depending on the partition's boot priority. In the case of AmigaOS, the SLB will load the kickstart modules that are stored in SYS:Kickstart. Then all modules are executed, the system is booted and the Startup-Sequence is executed by the Dos.library.

So to sum it up, the boot process does Uboot => SLB => Kickstart modules => Startup-Sequence.

The SLB is a binary file that has to be written on the RDB of your disk with Media Toolbox. The fact that the partition recognition code is in this SLB makes it easier to update it. If it was in Uboot, you would have to update your flash ROM to fix/enhance your system loading routines.

- Kickstart directory with kickstart modules

The name of this kickstart directory can't be changed because the SLB will look into it to find the configuration you want to load. It will look for the text file called Kicklayout. You can have a look at it with a text viewer. It describes all different configurations of kickstart modules that are usable.

Within this kicklayout file you can describe for example a configuration with the debug version of the kernel and one with the non-debug kernel, or a configuration with one version of the FastFileSystem and one with another version. This allows you to test different configurations or to install new versions of kickstart modules whereas you always keep a safe configuration you can boot when something goes wrong. This new system makes SetPatch as good as obsolete, now you can update your OS Kickstart files just copying the new files to the SYS:Kickstart directory.

- Improved directory layout

The directories and files needed by an OS4 system are almost unchanged, compared with OS3.x. There is still a C directory for commands, Libs directory for libraries etc... Except the Kickstart directory, the differences are as follows.
 

  • Now, MUI is released with the OS. So there is a directory SYS:MUI where all MUI files are stored.
  • The Rexxc directory content has been moved in the C directory. There were only a few Shell based commands there. They had to be moved with all other commands.
  • The SYS:Internet directory is new. You'll find there the Internet dialer program that is used to do a connection to a network via a serial modem, a DSL modem, a local network or a router.
  • The SYS:Kickstart directory is used to store the kickstart modules, as previously detailed.
  • A SYS:L/CharSets directory has been added to allow the OS to read characters defined in other character sets than the US-ASCII.
  • In Libs/AmigaInput are stored the required files to handle input devices through the new AmigaInput system.
  • In the S directory, there was a mess of a lot of different scripts (and unfortunately other stuff that has nothing to do with scripts). Now each kind of script, Arexx and Shell scripts, has its own directory. Of course, it's easy to run these scripts as they are added to the system path - just type the name of a script in a Shell or in the "Execute a command" window of the Workbench and it will be executed.
  • The Tools/Dockies are used by Amidock, the AmigaOS dock bar.
  • In Utilities, you'll find the AmigaGS, AmiPDF and Ghostscripts directories. These programs will allow you to read PostScript (.PS) and Adobe PDF files.

Running 68k applications:

The OS4 kernel integrates a 68k emulator that emulates the 680x0 processors instructions. So, when you run a Classic program under OS4, the binary file will be recognized as a 68k one and it will be executed inside the 68k emulator. Of course, only applications that don't use the Classic chipset will run directly in AmigaOS 4.0. Programs that use directly the AGA chipset like demos or old games won't run directly inside the system. You will need to use UAE to run these.

All applications that use the graphics.library, intuition.library and the Picasso96/Cybergraphx graphic systems, will run immediately and without modification.

When you run a 68k program, it will directly utilise the PPC components of the system. So they will run faster than on a Classic Amiga. My G4 seems to run 68k applications almost 3 times faster than my Classic with 68060!

Improved Workbench:

The Workbench.library source code is the most difficult to update. Massimo Tantignone did a great job to enhance the Workbench and the icon.library for OS4. Even if it is well known that the Workbench needs a complete rewrite that will be done for OS 4.1, new features have been introduced in this version. Of course, each of them can be enabled/disabled through the Workbench Prefs program.

Under Workbench 3.9, you could select an icon by typing the first letters of its name. But if the opened drawer was a huge one full of icons, it was difficult to see which icon was selected. Now, the icon will blink. This is fully configurable.

The screen title in previous versions has always shown only the amount of free RAM. Now you can display any information you want there, including of course the amount of RAM, and also the name of the CPU you have in your A1, the Workbench version number or any environment variable...

Now, you can define the size of the copy buffer the Workbench will use when you copy data; under 3.9, when you select icons with the mouse, they get selected only when you release the mouse button. Now they are selected/unselected in real time, when you drag the selection box over icons. When you drag multiple selected icons, you will drag an image of the icons. Before, this image was always like the original icons (each at its position), now the image you move can be set to a column of all selected icons (one below the other).

The Workbench is still evolving as much as possible without losing its stability. And the final OS4 release will have several new features again.

New DOS library and features:

The greatest work done on the new dos.library was to remove all BCPL code. But at the same time, Colin Wenzel added several new features. A lot of them will be obvious to coders only, like new resource tracking functions that help the system to stay stable even if badly written programs are executed. But you can have an idea of these features when you run a program that was badly coded. The dos.library will recognize that the program is doing something nasty. It will then open a requester that warns the user that the running program performed and illegal call to OS functions. The displayed text is especially useful for coders that will know immediately what error they did in their program. Other users may warn the program author that they found a bug. If this nasty program is not developed any more, the user probably wants to run it without being annoyed by the warnings of the dos.library. In this case, you can edit the Devs:application.dos text file to instruct dos not to warn when this program is executed.

Intuition OS4:

The libraries; Intuition, Layers and Graphics have been enhanced to add new features to the system. A lot of people wanted to be able to modify the GUI as much as they could: add more colors, add more patterns everywhere. OS4 brings this to them. Currently the graphics.library of the pre-release AmigaOS 4.0 is still half in 68k, however users can already feel the speed increase gained by the use of modern graphics cards on the A1.

A lot of parts of the GUI are now configurable. It would be impossible to describe each possibility, so here is a screenshot that shows some of the different colour and pattern options you can use, especially the gradient you can rotate...
(I know it looks ugly, but you get the idea :-)

 

Connecting to the Internet:

AmigaOS has finally its own TCP/IP stack. This time it won't change anytime soon. Roadshow can be configured like Miami; you can define your IP address (static or dynamic), the gateways, the DNS names... The network is automatically started by the Startup-Sequence and you can control it through Shell-based commands. Of course, the well known commands are available: ping, traceroute as well as other tools to control/check the network status.

Advanced users may use the IP filtering feature. They will be able to setup a firewall to protect their system.

When you connect to the Internet through a modem, you'll use the Internet Dialer. There is a wizard that will help you to create your new connection in a few easy steps.

 

And the rest:

Obviously, it would be rather boring to give a complete list of all features of AmigaOS 4.0. It would be a long list with some descriptions and a lot of screenshots. So you'll have to find them either by yourself or reading the AmigaOS 4.0 articles that will popup here and there. There are a lot of new surprises that you'll discover in the future. As an example, since the pre-release, new stuff has been added to OS4. One of them is particularly interesting - Altivec support (for the PPC G4). It makes your Amiga fly again. :-)


Written by:
Philippe 'Elwood' Ferrucci

Thanks to:
Konrad Bielski
Bill "tekmage" Borsari

Edited by the Intuitionbase Team

published: 13th June 2004