#Titel Tests / Software / Rainboot 2.1
#Logo gadget30:pinsel/AG.Tests
#Font Losse 16
#C31
         Test : Rainboot 2.1
#Font topaz 8
#C21

Genre   :                               Vertriebsform   :
Fundort :                               Autor           :
#Y-20
#C10
            Bootprogramm                                    Freeware
            Aminet (/util/boot/)                            Kimmo Pekkola
#C21

Bereits vor Bildschirmumschaltern und Taskleisten gab es eine andere,
weitaus weniger praktischen Nutzen bringende Sparte, in der die Amiga-Gemeinde
fleißig der Wintel-Welt nacheiferte. Mit zahlreichen "Bootprogrammen",
wie z.B. dem sehr beliebten "SysPic", ist es auch auf einem Amiga möglich,
beim Systemstart mit mehr oder weniger schönen Grafiken und Logos beglückt
zu werden - "Windows" läßt grüßen. Nun hat der finnische Programmierer
Kimmo Pekkola Version 2.1 von "Rainboot", das erst ab Kickstart 3.0 mit allen
Features zum Laufen zu bewegen ist, vorgelegt, mit der er seine Vorstellungen
zum Thema verwirklicht. Treffen sich diese auch mit den Bedürfnissen des
Anwenders ?

Zumindest die Installation erfolgt sehr benutzerfreundlich mit Hilfe des
"Installers". Doch schon bei der Suche nach der auf der Workbench zunächst
weit und breit nicht zu entdeckenden Anleitung wird deutlich, daß "Rainboot"
zumindest rudimentäre Amigakenntnisse voraussetzt. Und während hier die
Lösung noch recht leicht fällt (es wurde einfach ein Icon für die
Schublade "docs" vergessen), geht es dann bei der eigentlichen Bedienung
des Programmes noch ein Stückchen weiter ans Eingemachte heran. Dabei ist
das Grundprinzip, nach dem "Rainboot" funktioniert, noch recht einfach.
Das Programm muß vom CLI aus unter Angabe des kompletten Pfadnamens einer
Konfigurationsdatei gestartet werden. Dann öffnet es sofort einen Bootscreen
nach den in dieser Datei enthaltenen Vorgaben und führt ebenfalls dort
einstellbare Aktionen durch. Spätestens mit einem zweiten Programmaufruf,
der nun auch von der Workbench aus erfolgen kann, wird der Bootscreen
geschlossen und "Rainboot" beendet. Normalerweise dürfte "Rainboot" also
in die "WBStartup"-Schublade kopiert, relativ früh in der Startup-Sequence
aufgerufen und dann mit dem automatischen Programmstart nach dem
Hochfahren der Workbench beendet werden. Es ist aber natürlich auch ein
"Rainboot"-Vorgang denkbar, bei dem am Ende der Startup-Sequence ein
zweiter Programmaufruf den Bootscreen verschwinden läßt, ohne daß jedesmal
die Workbench geladen werden müßte. Ja, es sind sogar Einsatzmöglichkeiten
denkbar, die völlig unabhängig vom Bootvorgang sind. Dies besonders deshalb,
weil man "Rainboot" anweisen kann, bei gedrückter linker oder rechter (und
sogar mittlerer) Maustaste eine andere als die zunächst als Parameter
übergebene Konfigurationsdatei zu verwenden, so daß eine gewisse
Interaktivität ermöglicht wird.

Doch wie diese Beschreibung schon verdeutlicht, liegt das eigentliche Salz
in der Suppe nicht im Programmaufruf sondern in der Konfigurationsdatei.
Dahinter verbirgt sich eine ganz normale ASCII-Datei, die mit einem
beliebigen Editor verändert oder auch ganz neu erstellt werden kann. Zum
Glück liegen "Rainboot" bereits zwei Beispielkonfigurationen bei, so daß
man nicht im Trüben fischen muß, sondern Vorbilder hat, an denen man sich
orientieren kann. Außerdem wurden in der Zwischenzeit bereits einige
weitere "Rainboot"-Konfigurationen im Aminet veröffentlicht, so daß
ausreichend Anschauungsmaterial für eigene Konfigurationen zur Verfügung
stehen sollte. Diese definiert man nun in zwei Schritten, welche auch die
Konfigurationsdateien in zwei große Bereiche unterteilen:

#C12
1. Die Schlüsselworte (Keywords):
#C21
#Y-10
                                  Sie legen grundsätzliche Fragen zum
Aussehen des Bootscreens und des Programmverhalten fest. Auf jeden Fall
erforderlich ist der Befehl

#C10
    %BGPIC = <FILENAME>
#C21

Mit diesem wird der Pfad eines Hintergrundbildes bestimmt. Auch wenn man auf
seinem Bootscreen nur eine einfarbige Fläche sehen möchte, kommt man nicht
umhin, eine solche mit einem Malprogramm zu erstellen und in "Rainboot" als
Grafik einzubinden. Dabei ist darauf zu achten, daß das Programm derzeit leider
nur das IFF-Format unterstützt - dieses aber dafür umfassend. Ein weiterer
sehr wichtiger Befehl ist

#C10
    %FONT<NUMMER> = <FONTNAME>/<GRÖßE>
#C21

Hiermit lassen sich verschiedene Zeichensätze in unterschiedlichen Größen
festlegen. Als <NUMMER> gibt man dabei eine beliebige (wobei sich im Test
herausgestellt hat, daß "Rainboot" auf sehr hohe Werte allergisch reagiert)
ganzzahlige Zahl an, die der Zeichensatz dann auch im folgenden zugeordnet
bleibt und über die er aktiviert werden kann. Ähnliches gilt für Pinsel mit
dem Befehl
#C10
    %BRUSH<NUMMER> = <X>/<Y>/<FILENAME>
#C21

Für diese müssen zusätzlich die Zielkoordinaten der linken oberen Ecke
angegeben werden. Sie werden dort noch nicht automatisch beim Programmstart
angezeigt sondern erst später durch einen speziellen Aktivierungsvorgang.
Auch Samples können so (mit dem Befehl %SAMPLE) geladen und für eine spätere
Verwendung vorgemerkt werden. Von praktischer Bedeutung ist der entsprechend
funktionierende Befehl

#C10
    %ERASE<NUMMER> = <X>/<Y>/<FILENAME>
#C21

Er wird es nachher ermöglichen, mit Pinseln oder Text versehene
Bildschirmbereiche wieder zu löschen (etwa um sie zu überschreiben), ohne
daß darunter die Hintergrundgrafik zu leiden hätte. Mit

#C10
    %TIME = <X>/<Y>(/<PEN>)
#C21

wird an den angegebenen Koordinaten eine automatisch aktualisierte Uhr
ausgegeben. <PEN> bestimmt dabei den zu verwendenden Palette-Eintrag. Als
Zeichensatz greift "Rainboot" hier grundsätzlich auf den Font-Eintrag 1
zurück. Ein sehr interessantes Schlüsselwort stellt schließlich

#C10
    %BAR = <X>/<Y>/<BREITE>/<HÖHE>/<PEN>(/<ZEIT>)
#C21

dar. Damit ist es nämlich möglich, einen Fortschrittsbalken an angegebener
Stelle mit den vorgegebenen Ausmaßen darstellen zu lassen. Je nachdem, welche
Ausdehnung überwiegt, wird der Fortschrittsbalken horizontal oder vertikal
aufgefüllt. Gibt man den ZEIT-Wert an, so dauert es entsprechend viele
Sekunden, bis der Balken vollständig gefüllt ist. Verzichtet man auf diesen
Wert, ermittelt "Rainboot" bei der ersten Verwendung dieser Konfiguration
die Zeit, die bis zum Schließen des Bootscreens vergeht und speichert diese
in eine Datei, welche dann den Wert für spätere Bootvorgänge vorrätig hält.
Mit weiteren Schlüsselworten läßt sich festlegen, ob und wie schnell der
Bootscreen ein- oder ausgefadet, ob er beim Beenden "Rainboot"s nach unten
hin weggescrollt, ob ein Protracker-Modul, die ptreplay-Library vorausgesetzt,
abgespielt oder ob gar ein externes Programm ausgeführt werden soll. Hat man
alle diese Dinge eingestellt, oder zumindest die, derer man sich in der eigenen
Konfiguration bedienen will, kann man endlich das Schlüsselwort
#C10
    %TEXT
#C21

angeben. Alle darauf in der Konfigurationsdatei folgenden Zeilen, also auch
etwaige Schlüsselworte oder Kommentare ("/*"..."*/"), werden von "Rainboot" nur
noch für Textinformationen gehalten. Denn diese bilden den zweiten großen
Teil einer "Rainboot"-Konfiguration.

#C12
2. Die Kommandos (Commands):
#C21
#Y-10
                             Grundsätzlich wird alles, was hinter und unter dem
"%TEXT"-Schlüsselwort steht, so auf den Bildschirm ausgegeben. Allerdings
leitet ein "%"-Zeichen ein Kommando ein. Mit diesen kann man erheblichen
Einfluß auf die Art und Weise der Ausgabe nehmen. (Ein "%" selbst wird übrigens
mit Hilfe des Kommandos "%%" ausgegeben.) Die wichtigsten Kommandos sind:

#C10
%X<SPALTE>
#C21
#Y-10
           plaziert den Ausgabecursor an die angegebene X-Koordinate.,

#C10
%Y<REIHE>
#C21
#Y-10
          plaziert den Ausgabecursor an die angegebene Y-Koordinate.

#C10
%F<NUMMER>
#C21
#Y-10
           macht den mit der entsprechenden <NUMMER> definierten Zeichensatz
zum aktuellen Font.
#C10
%C<NUMMER>
#C21
#Y-10
           setzt die Zeichenfarbe auf den Palette-Eintrag <NUMMER>.

#C10
%R<METHODE>(<PEN>)
#C21
#Y-10
                   legt den Zeichenstil der Textausgabe fest. Als Werte für
<METHODE> kommen "N" (Normal), "B" (Fett), "I" (Kursiv), "U" (Unterstrichen),
"S" (Schatten) und "E" (Kontur) in Betracht. Bei den beiden letztgenannten kann
mit <PEN> auch noch der zur Darstellung des entsprechenden Effekts benötigte
zweite Farbton angegeben werden.

#C10
%D<NUMMER>
#C21
#Y-10
           läßt "Rainboot" nach der Ausgabe jedes Buchstaben eine bestimme
Zeitdauer warten (die Angabe erfolgt in Fünfzigstelsekunden). Gibt man hierfür
keinen Wert an, wird der Bildschirm praktisch sofort mit dem vorgegeben Text
gefüllt.

#C10
%SWS<NUMMER>(C<KANAL>V<LAUTSTÄRKE>R)
#C21
#Y-10
                                     bringt das Programm dazu, nach jedem
ausgegebenen Buchstaben ein vorher der <NUMMER> zugeordnetes Sample zu spielen
und ermöglicht so zusammen mit dem "%D"-Kommando sehr interessante Effekte,
z.B. die Illusion einer Schreibmaschinenausgabe.

#C10
%SWE
#C21
#Y-10
     beendet diesen Effekt.
#C10
%Q
#C21
#Y-10
   bricht das Skript und "Rainboot" ab.

#C10
%W
#C21
#Y-10
   läßt das Programm so lange warten, bis es vom Anwender (oder durch einen
zweiten Programmaufruf) beendet wird.

Daneben ist es natürlich auch möglich, die im "Schlüsselworte"-Teil
festgelegten Pinsel darzustellen, die Samples abzuspielen und die Bereiche
zu löschen. Und schließlich kann man "Rainboot" auch zahlreiche Daten ausgeben
lassen - nämlich den noch freien Speicherplatz ("%M"), die vorhandene CPU
und/oder FPU ("%P"), die Versionsnummer von Kickstart, Workbench oder
Grafikchipset ("%V"), das Datum ("%TD"), die Zeit ("%TT") und den
Wochentag ("%TV"). Um die Funktionsweise des ganzen ein wenig zu verdeutlichen,
folgt nun eine kurzes, im Ergebnis ästhetisch wenig überzeugendes
Anwendungsbeispiel:

#C10
%BGPIC  = work:Test.iff
/* Als Hintergrund wird eine Testdatei verwendet, die eine einfarbige
   bildschirmfüllende Fläche enthält. */

%FONT1  = times.font/11
/* Als Zeichensatz 1 wird Times / 11 Punkt verwendet. */

%FONT2  = helvetica.font/24
/* Als Zeichensatz 2 wird Helvetica / 24 Punkt verwendet. */

%TIME   = 0/0/1
/* In der linken oberen Bildschirmecke wird die Echtzeituhr angezeigt. */

/* Nun folgt der Text. Zuerst wird die Zeichenfarbe auf 1 und der
   Zeichensatz auf 2 gesetzt. Dann wird an den Koordinaten 200/50 das Wort
   "Bootscreen" ausgegeben. Dann wird auf Zeichensatz 1 umgeschaltet und an
   den Koordinaten 400/150 das aktuelle Datum ausgegeben. Ab den Koordinaten
   10/200 erfolgt schließlich die Ausgabe diverser Systeminformationen.
   Dabei werden jeweils die Werte mit der Farbe 2 ausgegeben, der Rest
   dieser Informationszeile mit dem auch bisher verwendeten
   Paletten-Eintrag 1. Am Ende der Textausgabe wird "Rainboot" veranlaßt,
   auf die Beendigung des Programmes zu warten. */

%TEXT
%C1%F2%X200%Y50Bootscreen
%F1%X400%Y150Today is %TW,  %TD
%X10%Y200CPU: %C2%PC%C1    FPU: %C2%PF%C1    Kickstart: %C2%VK%C1    Workbench:
%C2%VW%C1    Chipset: %C2%VC%C1    DOS: %C2%VD%C1
%W
#C21

Man sieht schon, daß das ganze nicht unbedingt auf den ersten Blick
verständlich ist. Andererseits ist das Prinzip so einfach, daß man schon nach
recht kurzer Einarbeitungszeit mit dem System umgehen und sich eigene
Konfigurationen erstellen kann. Dabei wird man natürlich ein bißchen
Experimentierfreude mitbringen müssen, da durchaus etwas Zeit vergeht, bis
alles genau da erscheint, wo man es gerne sehen möchte.

Als kleinen Bonus verfügt "Rainboot" schließlich noch über einen Arexx-Port mit
minimalem Befehlssatz. Die komplett in Englisch gehaltene Programmanleitung im
AmigaGuide-Format ist ansprechend gestaltet, ausreichend ausführlich (ein paar
praktische Beispiele mehr hätte sie schon enthalten dürfen) und sehr gut
strukturiert, so daß man jede Information quasi auf Anhieb findet.
Was weniger erfreulich ist, ist die technische Seite des Programmes. Nicht nur,
daß es nur das IFF-Format und nicht auch Datatypes unterstützt, was sich ja
bei der ohnehin bestehenden Mindestanforderung nach Kickstart 3.0 angeboten
hätte, und daß die Wochentagsanzeige stets in Englisch erfolgt, "Rainboot"
leidet leider auch unter einigen ernsthaften Programmierfehlern. Das beginnt
bei dem Parser, der frohen Mutes alles macht, was man ihm sagt, ohne zu
überprüfen, ob die geforderten Zeichensätze, Pinsel, Samples, etc. tatsächlich
existieren, was bei fehlerhaften Konfigurationen durchaus zum Systemabsturz
führen kann. Das geht weiter über die Tatsache, daß das Programm auf
Grafikkarten sang- und klanglos abstürzt, wenn man es nicht mit dem für
die "CyberGraphX"-Software vorgesehenen Schalter "CGFX" startet (welcher
übrigens auch mit dem Konkurrenz-RTG-System "Picasso '96" funktioniert). Und
das endet bei zahleichen Enforcer-Hits, die "Rainboot" produziert - je
komplizierter die Konfigurationen desto zahlreicher die illegalen Schreib-/
Lesevorgänge ins RAM. Zu diesen wirklich schwerwiegenden Mängeln kommt das
gewöhnungsbedürftige Format für die Konfigurationsdateien. Einen dringend
benötigten komfortablen Voreinstellungen-Editor, den Kimmo Pekkola durchaus
angedacht hat, wird er der Anleitung zufolge aus Zeitgründen nicht selbst
programmieren, so daß man wohl auch in Zukunft als "Rainboot"-Anwender die
Unannehmlichkeit der Einrichtung einer Konfigurationsdatei auf sich nehmen muß.

Das alles sollte aber nicht darüber hinwegtäuschen, daß "Rainboot" ein
sehr mächtiges Programm ist, mit dem man den Bootvorgang auf
vielfältigste Art und Weise abwechslungsreich gestalten kann. Die Zahl der
zur Verfügung stehenden Befehle ist überwältigend und die Ergebnisse (etwa
die beiliegenden Demokonfigurationen) können sich sehen lassen, ja,
übertreffen die Produkte entsprechender Softwarelösungen zum Teil bei
weitem. Bei alledem ist "Rainboot" ein erfreulich schlankes Programm und
paßt sich somit im Prinzip schnell und unauffällig in das System ein. Und
wem das alles noch nicht reicht, um die herausragenden Qualitäten "Rainboot"s
zu erkennen, der sei bei seiner Geldbörse gepackt - "Rainboot" ist
Freeware und kann somit im Gegensatz etwa zu "SysPic" auch von Leuten
verwendet werden, die einen Bootscreen nicht für so wichtig halten, daß
sie nicht auf ihn verzichten könnten. Ob sie allerdings
auch noch dieser Ansicht sind, wenn sie erstmal eine
zeitlang "Rainboot" genießen konnten, sei dahingestellt.
#Y-20
#Pinsel gadget30:pinsel/an rechts
