AmigaOS 4.0 - the fourth pre-release update
It had appeared that update 3 of AmigaOS 4 in June 2005 was to be the last update before the final release of Amiga OS 4. However, it was not. On the 8th of February 2006 `update 4' was made available to users of the Amiga One. Consequently, we decided to examine this surprise update a bit closer.
The most important element of this pre-release update appears to be the JIT emulator `Petunia', which was originally announced as a part of the final release of the operating system. JIT stands for "Just In Time" - a special technology for generating native executable code from existing code.
Motorola 680x0 CPUs emulation
Classic Amiga computers run on the Motorola 680x0 CPU family, however AmigaOS 4.0 is the first version of the Amiga Operating System to be natively compiled for PowerPC processors. This doean't mean that the new OS wont run older 68k code, the new Operating System contains special facilities to emulate code used in the Classic AmigaOS.
Starting from `update 4' AmigaOS 4.0 is equipped with two independent software emulators for the 680x0 CPU family. The Operating System emulates Classic processors from the 68020 CPU with 68881 math coprocessor up to the 68060.
The first interpretive emulator is part of the OS kernel and is called the `emulator.resource'. It's main advantage is a very quick response which is well suited to handling time critical mechanisms for example, interrupts.
The second emulator `petunia.library' performs its job on the basis of JIT recompilation. That is, code translation in only just enough parts for the need of first execution and then consequent storing of these parts in memory for future execution. This approach is well known in JAVA Virtual Machine environments. The advantage of such "on-the-fly" translation and storage from the old 680x0 code to the new PPC code results in high speed emulation leading to very good performance and execution of the old code.
This performance reaches levels impossible to achieve by hardware processing. The main disadvantage is quite large memory consumption, so AmigaOS 4.0 provides the user with a free choice of suitable types of emulation.
Petunias Default setup causes all programs created for Classic AmigaOS to be executed through Petunia's JIT.
However, Petunia may be suppressed totally if a more important factor such as a low memory consumption rate is prefered rather than speed of execution.
The pre release update 4 Kicklayout offers the user four configuration setups during the first stage of booting into AmigaOS 4, this allows the kind and order of external modules being loaded from hard drive into the kernel
- Default Debug
- Default No JIT
- Debug No JIT
The majority of old 68k software performs very fast even through its run through conventional interpretive emulation. The huge performance gain from Petunia's JIT is most notable in the case of heavy calculation or frequent small calculations in short periods of time.
TVPaint test picture loading - 2560x1920
Performance tests for 750 GX 800 MHz
The game Exodus The Last War is very fast. The game Foundation has quite a big boost as well, allthough it doesn't run as fast as Exodus it offers a comfortable high resolution together with Goroud shading.
ImageFX 4.5 and PerfectPaint, perform very well, whereas FxPaint still runs slowly, allthough it runs faster than when its running on 68k CPUs. FxPaint emulation still runs slowly in WarpOS.
ArtEffect and Photogenics are very quick.
Its very hard to find an old program which refuses to work through JIT emulation but works through conventional interpretive emulation.
However there are some programs which are excluded from emulation through JIT in the default setup of the new system preferences.
This new preference is called Compatibility. Among others is one CPU specific version of the
| ||All programs depicted on the list work flawlessly through Petunia's JIT. They have been put on this list only to meet demonstration needs.|
There is a way of preventing programs from being executed through JIT emulation. This consists of a
text file applications.dos in Devs directory and a preferences editor with the cute name Compatibility.
This text file serves as black list which tells Petunia which programs have to be
excluded from execution through the JIT emulation. Petunia deals with this information using the dos.library.
The user is not forced to edit this black list manually. The Preferences editor Compatibility is designed to ease management of information collected in the black list through the drag&drop mechanism.
The user is allowed to drag icons of programs and drop them into the editor's window where they can be configured in the Compatibility editor separately. There is an option to re-enable JIT emulation for a program without removing an entry from the black list. This option is particularly useful during testing new versions of the JIT emulator.
There is another reason why the Compatibility application performs duties as an information window for programs put in the applications.dos file handled by dos.library. In AmigaOS 4 this library has quite a big job in the area of resource tracking and alerting the user to any strange behaviour of running ( mainly older ) software.
The user is allowed to input the need to be informed about any strange behaviour by putting a suitable entry in the applications.dos file.
The New Picasso96
There is no need to use Picasso96Mode in order to set up the basic screen modes.Now it is possible to enter the proper values (according to the monitor specs) in the ToolTypes of the drivers icon.
VSYNCMIN=minv - vertical minimum synchronization
VSYNCMAX=maxv - vertical maximum synchronization
HSYNCMIN=minh - horizontal minimum synchronization
HSYNCMAX=maxh - horizontal maximum synchronization
MODE=modeline - screen mode, syntax is as follows:
||adds the mode 640x480 85 Hz for screens with all colour depths
||adds the mode 1024x768 100 Hz with interlace for screens with all colour depths
||adds the mode 800x600 75 Hz, only for screens with 8 bit colour depth
||adds the mode 800x600 75 Hz for screens with 8 or 16 bit colour depth
Of course the user is still allowed to define nonstandard screen modes and test them by
puting the path in the ToolTypes of the driver.
The graphical operations have got quite a large boost, and the ScreenToFront() feature was the biggest surprise to us. Previously it was worse on a new micro Amiga than on old A1200. Now, it is over 80 times faster! This increase of speed is probably due to the new version of Intuition, which we have described below.
The new 3D drivers
The 3D acceleration is available in the 4 update for: Voodoo 3/4/5
and ATI Radeon, models 7000, 7200, 7500, 9000, 9200 i 9250.
The errors in minigl.library regarding Radeon gfx cards have been fixed and consequently
the game Heretic II works well. We have noticed quite a large boost of performance regarding
the nonpublic version of the FPSE Sony Playstation emulator with 3D acceleration code.
The games with 3D acceleration - [FPS]
Quake 1 - timedemo demo1
Heretic II - timerefresh, maximum amount of detail, beginning of the training level
Quake 2 - timerefresh, beginning of the first level
* a note by Konrad Bielski
The new version of Intuition
Massimo Tantignone is the author of this part of the new Amiga Operating System
and it has to be pointed out that he is excellent in his job. Since the previous update he has enriched all ReAction classes with new capabilities. These are demonstrated in the new
noninterlaced refreshing mode (the option "redraw without clear" in GUI preferences). All of these work so well that we where very impressed. What is more, they are even better than those in MUI. At last, it is possible to scale windows with their content with full graphical beauty.
However the most significant alterations were made to the intuition.library:
Dragging of the screens
Now it is possible to drag any screen in any direction by grabbing the screen bar. It is also possible to "catch" the screen in any place after pressing a Hotkey chosen in preferences.
There are two userdefined ways of dragging screens, normal and alternative with a special key sequence.
The user is allowed to limit the movement for each of them.
Just to recap: in previous versions of AmigaOS the movement of the screens was restricted only to Down and Up. There was no ablility to move them horizontally. It was possible to drag the screen only beyond the bottom edge.
With AmigaOS ver 4 the user is able to set constraints on the screen movement in a much wider range, this means the screens can be dragged around horizontally and vertically. After pressing the key sequence of [Amiga+A] (new in the AmigaOS) or holding both shift key and middle button of the mouse the screens become configured not to pass left and top edges.
Dropping icons between screens
This new feature of Intuition is particularly usefull to users manipulating files between the
Workbench screen and other sreens. Icons may be dragged & dropped between windows opened not only on the Workbench screen but also on the other screens. During these operations the mouse pointer changes its shape (the arrow pointed down when icon dropping is possible and the 'X'
mark when it is not possible).
The upper non-blocking menu of the system
In AmigaOS 3.x if you start the clock with the second hand and then pull down the upper menu for a short while - the clock freezes and continues indicating the time untill the second hand jumps to the exact value.
in AmigaOS 4.0 starting from the update 4 there is the option "Don't block" in the GUI/Menu preferences which allows the user to avoid such behaviour. Look at the upper menu on the screenshots (example configs with the AmiXP and YellowBabel themes), at last.
The new Intuition has got another interesting capability which may be utilized by a programmer developing software. One of them called toolbox windows is mentioned below in the article describing the new version of the KeyShow.
The overview of the Gaming-API for AmigaOS 4 has been described by Steffen Haeuser
in the Club Amiga Magazine #3. The new shared libraries corresponding to the API AmigaInput.library and lowlevel.library a bunch of drivers for many different devices and the new version of the AmigaInput preferences have been included in pre-release update 4.
Joypad destined for games to be executed through PSX emulator, conventional joystick indispensable
in the Sensible World of Soccer and the analogue joystick of Freespace fan's dreams.
It is possible to connect joysticks to the A1 / micro A1 in three ways: through USB port, GamePort located on the mainboard or a port located on the SBLive sound card.
A number of devices work with standard USB driver: joypads, joysticks, and more sophisticated add ons that conform to HID (Human Interface Devices) class which is part of the USB stack.
The drivers for "GamePort" and SBLive let the user control analogue joysticks (from many producers) and joypads (from the Hornet company).
General usage rule: plug your preferred gaming controller to the computer, run AmigaInput preferences, do some calibration and save settings. From this moment on, the device is accessible for the all applications calling the new Gaming-API.
A lot of old games call the `old' lowlevel.library. In Amiga OS 4 these old calls are directed to the AmigaInput. In the Lowlevel tab of the preferences program, the user is allowed to remap new device to the ports handled previously by lowlevel.library:
0 - mouse port
1 - joystick port
2 i 3 - adaptors
In order to utilize new devices in old games the user has to remap them as the mouse, keyboard, joypad or joystick, and then configure them. Owing to this, a joypad connected through a USB port may be treated for example in the Wipeout2097 game as original CD32's joypad.
SSL is the protocol that provides endpoint authentication and communications privacy between client/server
applications over the Internet using cryptography. Actually, version 3 of the SSL is the de facto standard
in the Internet and that version have been included in pre-release update 4 as well.
The AmiSSL v3 consists of the following elements: libraries (main - amisslmaster.library and
amissl_v097g.library), certificates that conform to x.509 standard and the tool OpenSSL.
Such programs as Epistula, RDesktop and IBrowse 2.4 (not available as yet) have already taken advantage
of the AmiSSL v3 implemented in AmigaOS 4.0. The authors of AmiSSL and also the developers of Amiga OS 4.0
Andrija Antonijevic and Stefan Burstroem are encouraging other programmers to use the new SSL
in their products. The authors are doing this by granting access to the software development
with example codes included.
Old programs need previous versions of AmiSSL which may be downloaded from
Workbench preferences - one small change dealing with the upper bar may be noticed. A new option
automatic has emerged. It allows the user to have the Workbench bar hidden until covered by the mouse pointer. So the user is able to choose between three options: one to hide the bar permanently,
one to show it continously and one for showing it on demand. The traditionalists who are not willing to use context menus may welcome the information that the state of the bar being hidden does not affect the functionality of the upper menu at all.
UBoot - As everybody knows, the U-Boot appears on the screen after switching on the Amiga One or micro
Developers of Amiga OS 4.0 `update 4' allows the user to give colour to U-Boot by choosing from 16 colours for text and 8 colours for background. Staying closely to U-Boot it is worth mentioning the new tool BIOSUpdater, which provides the user with ability to do U-Boot upgrades from the system and additionally to save a copy of the U-Boot image on the hard drive (the file uses about 220 kB).
The mouse and the keyboard
The next important element is the new input.device.
Until now, support for the mouse was not sufficient and did not take into consideration compulsory standards.
The middle button of the mouse was utilized only by a few applications and notaccessible by the system at all.
The mouse wheel worked only when the mouse had been connected through a USB port.
Users overcame this difficulty by using the FreeWheel program created for AmigaOS3.x.
From now there is no need to use FreeWheel. The wheels now work perfectly in mouses connected
through USB and PS/2 ports as well. The wheels let the user scroll the content of Workbench windows, system application windows and ASL requesters.
Many of the system classes and also the new version of the MUI classes have already taken advantage of the changes
introduced to the system by the Hyperion developers. The changes in the input.device allow the third party
programmers to use the so called "multimedia keyboards" equipped with additional, nonstandard keys.
| ||The new version of the FKey commodity and a perfected way of adjusting the mouse speed in the Input Preferences|
Moreover, the FKey commodity has been developed further, giving the user possibility to
attach a lot of operations to the mouse buttons. Among other things, these operations are:
popping the windows and the screens to the frontmost or the rearmost positions, maximalization of the
window, changing its size, closing the window, entering text in the window, execution of the ARexx
script, execution of a program. The last element which eases the use of the mouse is the new Input
preference program where the former three icons representing three speed values have been replaced by a slider.
This change lets the user adjust the speed of the mouse more precisely.
A few new keyboard shortcuts are accesible in the system. We have already mentioned two of these
while describing Intuition.
For the first time in over 20 years of Amiga history, the Operating System can be controlled entirely (together with
the shell) without the use of the keyboard. The tool which makes this possible is the well known KeyShow.
This application has its capabilities totally changed in update 4. It has been changed from a testing program to a now fully functional virtual keyboard operated by the mouse. From now, KeyShow reacts to
the mouse clicks instead of keyboard typing. The user is able to enter the letters and other signs
into the active window of whatever program by clicking the virtual keys of the keyboard in the
KeyShow window which remains inactive all the time. This state of being inactive is one of the capabilities of the new Intuition windows.
We have checked this new feature with regard to the system program (Shell) and external applications such as:
CED, AmigaWriter and IBrowse.
However, some programs happen to have trouble while working with the new KeyShow, for example AWeb.
To sum up, the new KeyShow is an excellent idea. It gives the user the possibility to write text with the mouse in a critical moment when something wrong has happened to the keyboard. Typing letters with the mouse is rather inconvenient, but nevertheless it may be helpful.
The Amiga & XML
The Extensible Markup Language (XML) is a W3C-recommended general-purpose
markup language capable of describing many different kinds of data by
providing a text-based means to define and apply a tree-based structure to information.
Its main advantage is possibility to keep complex content in human readable format while preserving
the capability to perform that content by dedicated software.
AmigaOS 4.0 introduces its own format of storing the userdefined software configurations. The format
is based on the XML technology with the addition of the MIME types contained in the DTD file. From the advent of update 4 users of Amiga OS 4.0 may use the new tool PrefsObjectsEditor which is a combination of XML parser with an editor. This tool lets the user edit and navigate with comfort system configuration files.
In the future it will handle config files and software made by third party developers.
The new blanker
Finally the old blanker with only one boring and practically nonconfigurable module has its successor.
At present, there are five new modules and this amount is expected to be bigger.
The first blanker is Flower - moving circles. The Second Blanker is
Forest - with the name more than adequate to its on-screen presentation of colourized trees.
The Third Blanker is Moire - its look is the most similar to the old motif well known from years ago.
The Fourth Blanker is Pipe - that makes us think of a black hole in the space.
The Fifth Blanker is Spiral - the module with such a "selfexplaining" name shows a spinning spiral.
The user can change the prefs of all but the Pipe Blanker. There are controls which give the ablity to see the effect instantly in a preview window. The options to test settings on the full screen, activate or unload modules are also available.
| ||The new blanker
consists of a number of parts: preferences, modules in the Tools drawer and the engine (commodity) which is put in the
Subsequent options of the timer preferences are similar to the ones known from the OS 4 old blanker.
The new Screen Blanker is capable to take adavantage of the DPMS and has two main time settings.
The first setting defines the blanker on-screen appearance after a given period of time.
The second setting lets the users control the time after which the monitor has to be turned to stand-by mode, or entirely switched off.
It's also possible to set up the shortcuts responsible for switching off the working blanker module, or the monitor, or entire blanker application. In the last tab there is an option to control the sequence of modules of the blanker. The user can decide to have this sequence ordered orrandom.
Finally, good news for the traditionalists willing to use the old blanker. The last version of the old blanker creation date is 16 October 2005.
|Enhanced configuration of the Flower module|| |
The new versions of AmiPDF, AmiGS and Ghostscript
The PDF document viewer AmiPDF is based on the newest 3.01 version of the XPDF -
and has an improved engine. It performs much faster, and gives the user additional options to decide speed or lower memory usage.
The postcript files viewer AmiGS has been enhanced. It now utilizes Ghostscript 8.15.
and has the ability to show their toolbars vertically.
Magic User Interface - MUI
The port of Magic User Interface version 3.9 for AmigaOS 4 is done by
Jens Langner and Stefan Burstroem. Jens Langner wrote in the "ChangeLog-OS4" file that
this version had been compiled with the newest GCC 4.0.2 and is also the final version.
Now, the developers are focused on porting MUI 4 to the newest AmigaOS.
Another small elements
In the Presets drawer you will find a nice addendum to the AmiDock - a set of four animated GIF files
The CrossDos commodity in the new native version has returned to the system. It can be succefully used for work with the USB pendrive|
The audio subsystem
One of the elements of update 4 is version 6.2 of the AHI. This version does not differ in essence from previous versions. It is worth noting that old error dealing with SoundBlaster card has been fixed. This bug prevented reading data from CD while playing sound.
The dbplayer.library also works with the newest version of AHI. In effect it is possible to run
DigiBoster and listen to mods. A lot of the scene productions as for example the mag Seven Days do not loose sound any more.
The new RoadshowControl command has appeared in the C catalogue. This command allows you to
fine tune the TCP/IP Roadshow stack by setting particular variables which in may improve
data transfer rates.
Quite a few changes have occured to the GrimReaper. In standard mode it does not show the all options as is presented on the picture. The authors have left only safe options in the first window.
Also in the second window the behaviour of this program is more intelligent. In the case of some errors
it deactivates "Continue" and "Ignore" buttons. After pressing the "Restart" button the user is able to choose between soft and hard reset.
The amount of available documentation has been doubled. The Documentation drawer consisting
of the text files uses now about 1.3 MB of storage. In update 3 it had about 600 kB.
In the HELP: there is a comprehensive documentation file Installer.guide, covering the details
of creating Installation scripts.
Now after starting the computer without startup sequence the system shows.
And how about booting time after update 4?
At present Amiga OS 4 Big A1 boots in about 10 seconds after soft reset. But keep in
mind that this time is going to become longer inline with the progress of development. Particularly it will depend on the content of WBStartup, Amidock and other elements loaded during startup. The same operation done
on the micro Amiga One (with many additions) takes no less than 15 seconds. After cold reset the micro Amiga One
with FFS2 loads UBoot and Kickstart (about 6.6 MB now) in about 15 seconds, then after about 10 seconds
the Workbench screen emerges, then the content od WBStartup is executed and the content of Amidock is read
in 5 seconds. Summing up, the system is ready to work in about 30 seconds after switching on.
The fourth update introduces the fixes to almost all parts of the system. Newer commands are in the
C drawer, libraries, datatypes, net drivers, printer drivers and USB classes. Newer versions of the kernel,
dos.library (64-bit addressing, handling files with the size over 4 GB) and the bootloader slb_v2.
We have found four bugs in the Prerelease Update 4:
1. The line initializing net interfaces in the startup-sequence has been shortened accidentally.
There is a lack of "run >NIL: addnetinterfaces..." phrase in the beginning which causes the system
to hang the rest of the loading procedure for a few seconds while waiting for the net. (Note from Ryu: this isn't a bug but an intended feature)
2. There is an error in the AmigaInput driver which makes the process of initialization and configuring
the preferences of the USB devices. It may be overridden by replacing config file with the older one
(details on the Amigaworld.net forum).
3. The new native version of the RX command seems not to work with the all ARexx scripts.
In case of trouble use the older one.
4. It happens that the ScreenBlankerEngine blocks the Workbench screen during reloading.
However, this application may be shut down by commodity interface.
The all aforementioned bugs have been fixed in current beta-version of the system.
What is still missing in the system?
In order to fulfill the agenda from the official OS4 features list,
Hyperion has to prepare:
There are some problems to be solved:
- the port of the Mesa - OpenGL (in development)
- SCSI drivers (in betatesting)
- the new memory subsystem (in betatesting)
A nice surprise would be:
- The overlay mode for Radeon gfx cards
- 3D drivers for Radeon 8500 & 9100
- The possibility to set up nonstandard display modes in a modern way (without the need to use an awkward Picasso96Mode)
- The finishing of the Polish localization
- support for TV-out & DVI port
- the new filesystem (in development and testing)
- the bigger amount of the printer drivers
Original Polish version
Original English translation
Originally written by: Szymon Tomzik, Rafał Chyła, Konrad Bielski
Translated to English by: Piotr Zadora
English Cleaned up by: Michael Domoney
Further edited by: Darren 'Ryu' Glenn
Published: 18th April 2006