Web Analytics
eXec.plAMIGA COMPUTERS USER'S MAGAZINE

Added: 2006-03-06, Author: Szymon Tomzik, Rafał Chyła, Konrad Bielski, Category: AmigaOS, Page views: 2702

A A A

AmigaOS 4.0 - the fourth pre-release update

It seemed to be that update 3 of June 2005 was the last OS update before final release. However, it was not. On February 8, 2006 the users of Amiga One have been granted access to the next update of AmigaOS. Consequently, we decided to examine it closer.

Motorola 680x0 CPUs emulation

petunia

The most important element of this pre-release update seems to be JIT emulator Petunia, originally announced as a part of the final issue of the system. JIT is for "Just In Time" - a special technology of generating native executable code on the basis of code being translated. Motorola 680x0 CPU family is closely tied to Amiga computers since the begining of Amiga itself. AmigaOS 4.0 is the first version of the Operating System for Amiga computers natively compiled for PowerPC processors. However, it does not mean we may forget about 680x0 processors at all. The newest Operating System contains special facilities to emulate old processors in software beacause of compatibility with software created for previous versions of AmigaOS. AmigaOS 4.0 starting from the 4 update is equipped with two independent software emulators of 680x0 CPU family. Operating System identifies emulated processor as 68020 CPU with 68881 math coprocessor but in reality it serves compatibility with the codebase up to 68060. The first interpretive emulator is part of the OS kernel as (emulator.resource). It has it's main advantage in short response time well suited to handle time critical mechanisms as for example interrupts. The second emulator (petunia.library) performs its job on the basis of just-in-time (JIT) recompilation ie. code translation in only just enough parts for the needs of first execution with consequent storing these parts in memory for future executions. Such approach is well known in JAVA Virtual Machine environments. The advantage of such "on-the-fly" translation and store, from the old 680x0 code to the new PPC code is high speed of emulation leading to very good performance of execution the old code. This performance reaches level impossible to achieve by hardware processing units mounted originally on the mainboards of the former Amigas. The main disadvantage is quite a large memory consumption, so AmigaOS 4.0 provides the user with free choice of suitable type of emulating. Default setup causes all programs created for AmigaOS up to version 3.9 to be executed through Petunia's JIT. However, Petunia may be suppressed totally if more important factor is low memory consumption rate than speed of execution. In order to do that the user is allowed to put the line:

MODULE System:Kickstart/petunia.library.kmod

he/she may find in the file Kicklayout into the comments. This file constitutes the kind and order of external modules being loaded from hard drive into the kernel during first stage of booting the AmigaOS. Since the advent of the 4 update, Kicklayout offers the user four configuration setups of booting:

  • Default
  • Default Debug
  • Default No JIT
  • Debug No JIT

The majority of old 68k software performs very well and fast even through conventional interpretive emulation. The huge performance gain from Petunia's JIT is the most distinguished in cases of heavy calculations or frequent small calculations in the short periods of time. The last example most frequently deals with amusement software.


TVPaint test picture loading - 2560 x 1920(in seconds)


Performance tests for 750 GX 800 MHz, in seconds, Cinema4D, scene Delphine


LightWave, scene Truck

At last, the game Exodus The Last War commenced to work in OS4 with so fast performance that it could be easily recognized the most dynamic RTS of all times. The game Foundation has got quite big boost, as well. Honestly speaking, it doesn't work as fast as Exodus, but nevertheless it offers comfortable high resolution together with Goroud shading. ImageFX 4.5 performs very well and with good stability, also good is performance of PerfectPaint, whereas FxPaint works still slowly (obviously it is far more rapid than running on 68k CPUs). The last mentioned program is not fast through WarpOS emulation, too. Very quick are ArtEffect and Photogenics. Second big advantage of Petunia for sure is its compatibility with old software, despite of high speed. It is hard task to find old program which refuses to work through JIT emulation but works through interpretive one. For example, Amiga version of popular in Poland messenger software called AmiGG works well. The reader may find results of its test (in Polish) in our service on the page Benchmarks. However, there are some programs excluded from being emulated through JIT in default setup of new system preferences. This new kind of preferences is called Compatibility. Among others, excluded program is: one CPU specific version of javascript.library from IBrowse package. This is due to an error in petunia.library which has been fixed in current beta-version of the system.

There is mechanism of preventing programs from being executed through JIT emulation. This mechanism consists of text file applications.dos in Devs directory and preferences editor with cute name Compatibility. Text file serves as black list which keeps for Petunia information describing what programs have to be excluded from execution through the JIT emulation. Petunia deals with these informations utilizing dos.library. The user is not forced to edit this black list manually. Preferences editor, Compatibility is designed to ease management of information collected in the black list through drag&drop mechanism. The user is allowed to drag icons of programs and drop them into editor's window. One man has to remember that typical software package consists of many different modules, libraries, plugins and executables. All of them may be configured in Compatibility editor separately. There is an option to reenable JIT emulation for a program without removing coresponding entry from the black list. This option is particularly useful during testing new versions of the JIT emulator. There is another reason why Compatibility application performs duties as information window for programs put in the applications.dos file handled by dos.library. In AmigaOS 4 this library has quite big capabilities in the area of resource tracking and alerting the user about strange behaviour of running software (mainly the older one).

The user is allowed to notify the Operating System of his/her need to be informed or not about such behaviour by putting suitable entry in the applications.dos file.



The New Picasso96

There is no need to use noncomfortable Picasso96Mode in order to set up basic screen modes. That old fashion application probably dissapear in final version of the system at all. Now, it is possible to enter proper values (according to monitor specs) to the ToolTypes of the drivers icon:

  • VSYNCMIN - vertical minimum synchronization
  • VSYNCMAX - vertical maximum synchronization
  • HSYNCMIN - horizontal minimum synchronization
  • HSYNCMAX - horizontal maximum synchronization
  • MODE - screen mode, syntax is as follows:
width x height[x depth-list]@frequency[-hsync][-vsync]
Examples
MODE=640x480@85 adds the mode 640x480 85 Hz for screens with all colour depths
MODE=1024x768@100i adds the mode 1024x768 100 Hz with interlace for screens with all colour depths
MODE=800x600x8@75 adds the mode 800x600 75 Hz, only for screens with 8 bit colour depth
MODE=800x600x8,16@75 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 it by puting the path to that set up in the ToolTypes of the driver.

SETTINGSFILE=SYS:Devs/Picasso96Settings

We executed speed test of graphics with P96Speed benchmark program ran on micro Amiga One equipped with Radeon 7000. The results (in Polish) were collected in our service on the page Benchmarks. The graphical operations have got quite a large boost, and ScreenToFront() feature was the biggest surprise to us. Previously it had worse outcome on new micro Amiga than on old A1200. Now, it is over 80 times faster! Probably, such increase of the speed is due to the new version of the 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 to nonpublic version of the FPSE Sony Playstation emulator with 3D acceleration code.



Quake 1 - timedemo demo1, Heretic II - timerefresh, maximal amount of details, beginning of the training level, Quake 2 - timerefresh, beginning of the first level

The new version of the 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 previous update he enriched all ReAction classes with the new capabilities. Consequently, they can demonstrate themselves in the new noninterlaced refreshing mode (the option "redraw without clear" in GUI preferences). All of them work so well that we are impressed. What is more, they are even better than those in MUI. At last, it is possible to scale windows with their content having beatific impressions. However, the most significant alterations were made to the intuition.library.

Dragging of the screens (watch this on the short movie) Now it is possible to drag the screen in whatever direction and moment, no matter if it is the frontmost screen in given moment or not. Obviously, the screen may be "taken" by the uppermost bar. Moreover, it is also possible to "catch" the screen in whatever place, having pressed a key chosen in preferences. The screen is not going to return to its last position when the keys are released - in effect it is possible to manipulate with the screens as with the windows. Additionaly, the user may bind the functionality of bringing the screen to the top with the middle button of the mouse. This binding may be set up in the FKey commodity. There are two userdefined ways of dragging the screens, normal and alternative with special key sequence. The user is allowed to establish constraints of the movement for each of them. Just to recall: in former versions of AmigaOS the movement of the screens was restricted only to the top-down direction. They were not able to be moved horizontally. It was possible to drag the screen only beyond the bottom edge. Nowadays, the user is capable to set constraints on the screen movement in a much wider range. For example, the screen may be restricted to be moved only beyond the left edge or beyond all of them. It may be set up in such way that the standard behaviour of the screens is similar to the one of the windows. It means the screens can be dragged around horizontally and vertically. After pressing the key sequence of [Amiga+A] (new in the AmigaOS) or having holded both shift key and middle button of the mouse for a short while, the screens becomes restricted not to pass left and top edges. Such alternative setup lets us to even them easily.

Dropping the icons between the screens. This new feature of the Intuition is particularly functional to the users manipulating with the files on the Workbench screen and paralelly working with the editor or paint program on the other. Icons may be dragged&dropped between windows opened not only on the Workbench screen but also on the other screens. During such operation 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. Try to start the clock with the second hand in AmigaOS 3.x and then pull down the upper menu for a short while - the clock freezes, and continues indicating the time with second hand jumping forth to the exact value. It is no more the case in AmigaOS 4.0 starting from the update 4. There is the option "Don't block" in the GUI/Menu preferences which allows the users to avoid such not wanted behaviour. Due to this option we may show you the look of the upper menu on the screenshots (example configs with the AmiXP and YellowBabel themes), at last. The new Intuition has got another interesting capabilities which may be utilized by a programmer developing the software. One of them called toolbox windows will be mentioned below in the article while describing the new version of the KeyShow.

AmigaInput


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.

The overview of Gaming-API for AmigaOS 4 has been described by Steffen Haeuser in the Club Amiga Magazine #3 (Polish translation may be found on the PPA). The new shared libraries corresponding to aforementioned 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. The user is allowed to connect joysticks to the A1 / micro A1 in three ways: through USB port, GamePort located on the mainboard or port located on the SBLive sound card. A number of devices work with standard USB driver: joypads, joysticks, and another more sophisticated levers that conforms to HID (Human Interface Devices) class being the part of the USB stack. The drivers for "GamePort" and SBLive let the user to control analogue joysticks (from many producers) and joypads (from the Hornet company). The list of tested devices is presented here. General usage rule: plug your preferred gaming lever 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.

However, a lot of old games call 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 of the old Amiga handled previously by lowlevel.library:

  • 0 - mouse port
  • 1 - joystick port
  • 2 i 3 - adaptors

In order to utilize new devices in the old games the user has to remap them as the mouse, keyboard, joypad or joystick, and then configure them. Owing to that operations, joypad connected through USB port may be treated for example in the Wipeout2097 game as original CD32's joypad.

AmiSSL v3

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 de facto standard in the Internet and that version have been included in pre-release update 4 as well. The AmiSSL v3 consists of 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 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 that by granting access to the software development package with example codes included. The old programs need previous versions of AmiSSL which may be downloaded from here.

Polish localization

Polish division of the ATO leaded by Mariusz Danilewicz is preparing localization of the AmigaOS 4 for Polish language. The files of this localization have been included in pre-release update 4, first time in AmigaOS 4.0. The picture alongside presents this localization. Unfortunately there is lack of locale files for all preferences programs. The reason probably are continuous changes of this part of the system by developers.

Another news

Workbench preferences - one small change dealing with upper bar may be noticed. The new option automatic has emerged. It allows the user to have Workbench bar hidden until pointed by mouse pointer. So the user is capable to choose between three option: one for hiding the bar permanently, one for showing it continously and one for showing it on demand. The traditionalists not willing to use context menus may welcome the information that 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 Amiga One. For sure that semblance in black&white shade is not going to bring to our mind the Amiga. Developers of Amiga OS 4.0 decided to remedy this and starting from update 4 the user is allowed 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 to mention the new tool BIOSUpdater, which provides the user with possibility to do U-Boot upgrades from the system and additionally to save 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 few applications. It was not accessible by the system at all. The mouse wheel worked only when the mouse had been connected through USB port. The users overcame that difficulty by using FreeWheel program created for AmigaOS3.x. From now there is no need to use it anymore. The wheels work perfectly in the mouses connected through USB and PS/2 ports as well. The wheels let the user to scroll content of the 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 let the third party programmers to use the so called "multimedia keyboards" equipped with additional, nonstandard keys. 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 the text to 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 former three icons representing three speed values have been replaced by the slider. This change let the user to adjust the speed of the mouse more precisely. A few new keyboard shortcuts are accesible in the system. We have already mentioned about two of these while describing Intuition. The full list of them is presented in our Chest.

First time in over 20 years of the Amiga history the Operating System may be controlled entirely (together with the shell) without the use of the keyboard. The tool which makes it possible is well known KeyShow. In the update 4 this application has its capabilities totally changed. It has been turned from the testing program to the fully functional virtual keyboard operated by the mouse. From now, KeyShow reacts to the mouse clicks instead of the keyboard typing. The user is able to enter the letters and the other signs to the active window of whatever program by clicking the virtual keys of the keyboard drew in the KeyShow window which remains inactive all the time. The 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 get in trouble while working with the new KeyShow as for example the AWeb. To sum up, the new KeyShow is an excellent idea. It gives the user possibility to write some text with the mouse in 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 capability to perform that content by dedicated software.

The AmigaOS 4.0 introduces its own format of storing the userdefined software configurations. The format is based on the XML technology with addition of the MIME types contained in the DTD file. From the advent of update 4 the users of the 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 to edit and navigate comfortably system configuration files. In the future it will handle config files of the 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. First of them is Flower - moving circles. Second is Forest - with the name more adequate to its on-screen presentation of colourized trees. The next is Moire - its look is the most similar to the old motif well known from years. The following is Pipe - that makes us think of a black hole in the space. The last is Spiral - the module with such "selfexplaining" name shows us spinning spiral. The user may have influence on behaviour of almost each of the modules (without the Pipe). The picture presents example controls and possibility to see the effect instantly in preview window. The options to test settings on the full screen, activate or unload modules are also available.

Subsequent options of the timer preferences are similar to the ones known from the OS 4 old blanker. So the new Screen Blanker is capable to take adavantage of the DPMS and has two main time settings. First setting defines the blanker on-screen appearance after given period of time. Second setting lets the users to control the time after which the monitor has to be turned to stand-by mode, or entirely switched off. Then we may set up the shortcuts responsible for instant switching off the working blanker module, or the monitor, or entire blanker application. In the last tab there are options to control the sequence of modules loaded during work of the blanker. The user may decide to have this sequence ordered or random. Finally, good news for the traditionalists willing to use the old blanker. Being not only present in the system, it is developed further. The last version of the old blanker creation date is 16 October 2005.

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 improved engine. It performs much faster, and gives the user additional option to decide whether he/she likes speed or else lower memory usage.

Also, the postcript files viewer AmiGS has been enhanced. Now, it utilizes the Ghostscript 8.15. The new possibility in both viewers is the option to show their toolbars vertically.

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 it was also the final version. Now, the developers are focused on porting MUI 4 to the newest AmigaOS.

Another small elements

In the Presets drawer we may find a nice addendum to the AmiDock - a set of four animated GIF files showing "boingballs".

The CrossDos commodity in the new native version has returned to the system. It may 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 to mention 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 the mods. A lot of the scene productions as for example the mag Seven Days are not devoid of the sound any more.

The new RoadshowControl command has appeared in the C catalogue. This command allows us to fine tune the TCP/IP Roadshow stack by setting particular variables which in consequence may improve data transfer rates.

Quite a few changes occured in the GrimReaper. In standard mode it does not show the all options, as it is presented on the picture. The autors left only safe options in the first window. Also in the second window the behaviour of this program is more intelligent. In case of some errors it deactivates "Continue" and "Ignore" buttons. After pressing the "Restart" button the user is capable 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 comprehensive documentation file Installer.guide, covering the details of creating Installing scripts.

Now, after starting the computer without startup sequence the system greets us in such way.

And how about booting time after update 4? At present, the Amiga OS 4 ran on the big A1 is booting after soft reset in about 10 seconds. But keep in mind that this time is going to become longer together with progress of development. Particularly it depends on the content of WBStartup, Amidock and another 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 red in 5 seconds. Summing up, the system is ready to work in about 30 seconds after switching on.

The fixes

The fourth update introduces the fixes to almost all parts of the system. Newer are the commands in the C drawer, libraries, datatypes, net drivers, printer drivers and USB classes. Newer are versions of the kernel, dos.library (64-bit addressing, handling files with the size over 4 GB) and the bootloader slb_v2. We have prepared a table with changes and improvements of the most important parts of the system in all subsequent updates.

We have also updated section Compatibility - owing to the update 4 the following programs started to work properly: the game Exodus, well known 3D modeller and renderer LightWave and also DigiBoosterPro. We have added to the list near 40 programs tested earlier in the new Amiga system: AHIRecord, AmiNetRadio, APC, ArtPRO, Cinema4D, CyberAnim, Cycas, Diavolo Backup, dynAMIte, FileX, FlashPlayer, FreeDB, FryingPan, GoldED, Graphics Publisher, Heretic II, JoinSplitter, JulioSalinas, KDEView, MakeIndex, MultiRen, Next, Ort, PciTool, Photogenics, Play16, ResourcesManager, Samplemanager, SampleZ, SearchGuide, SevenDays, Simon the Sorcerer 2, Timidity, TurboPrint, Wipeout2097, Wordworth, VisualGuide, XPKatana, ZoneXplorer.

The bugs

We have found four bugs in the Prerelease Update 4:

1. The line initializing net interfaces in the startup-sequence has been shortened incidentally. 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.

2. There is an error in the AmigaInput driver, making harder 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 troubles the user has to return to 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 all agenda from the official OS4 features list, Hyperion has to prepare:

  • the port of the Mesa - OpenGL (in development)
  • SCSI drivers (in betatesting)
  • the new memory subsystem (in betatesting)

There are some problems to be solved:

  • the overlay mode for Radeon gfx cards
  • 3D drivers for Radeon 8500 & 9100
  • possibility to set up nonstandard display modes in modern way (without the need to use an awkward Picasso96Mode)
  • finishing of the Polish localization

A nice surprise would be:

  • support for TV-out & DVI port
  • SNAP
  • the new filesystem (in development and testing)
  • the bigger amount of the printer drivers
Szymon Tomzik, Rafał Chyła, Konrad Bielski
Amiga Podcast
Image Album

1

OS4 Depot