*************************************************************************
*                                                                       *
*                      F r a k t a l i k   V 2.03                       *
*                                                                       *
*************************************************************************



=========================================================================
1.                              Einleitung
                               ------------
1.1                               Vorwort
1.2                         Systemanforderungen
1.3                               Features


2.                          Funktionserklärung
                           --------------------
2.1                              Die Menus
2.2                            Die Requester


3.                                Fehler
                                 --------
3.1                             allgemein
3.2                         Betriebssystem 1.3
3.3      Betriebssystem 3.0 (wahrscheinlich auch 2.0, 2.1, 3.1...)


4.                               Der Autor
                                -----------
=========================================================================



--------------
1. Einleitung:
--------------

1.1 Vorwort:
~~~~~~~~~~~~
"...Schon wieder das X-te, diesmal ultimative Programm über Mandel-
brotmengen & Co...", werden sicherlich viele stöhnen. Zugegebenermaßen
ist Fraktalik auch ein solches. Obwohl schon unzählige gute Programme auf
dem PD-Markt erhältlich sind, habe ich trotzdem versucht ein Programm zu
entwickeln, das neben der eigentlichen Berechnung des sog. Apfelmänn-
chens, auch noch einiges mehr leistet (siehe: 1.3 Features). Außerdem ist
es vollständig in "E" geschrieben, einer Programmiersprachenkreuzung
zwischen C und Pascal (Vielen Dank an Wouter van Oortmerssen !!!). Es soll
somit die Leistungsfähigkeit dieses Dialekts beweisen (bestes Feature meiner
Meinung nach sind die sprachinternen Exceptions).
Weiterhin habe ich mich bemüht, vollkommen systemkonform zu programmieren -
daß trotzdem Probleme unter 3.0 entstehen ist mir bekannt (Druck mit Strei
fen, IFF-Format fehlerhaft), aber da nach dem Durchstöbern sämtlicher
verfügbaren Bücher und Programmlistings in verschiedensten Programmier-
sprachen immer noch keine Lösung parat war, habe ich die Suche aufgegeben
(Vielleicht kann jemand helfen? Meine Adresse steht am Ende dieses Textes).

...Achso: entwickelt wurde Fraktalik auf einem Standard Amiga500 (ja, es
gibt noch Leute, die damit arbeiten) mit 1MB Speicher und 2 Laufwerken.
Als Programmiersprache habe ich Amiga-E V2.1b von Wouter van Oortmerssen
verwendet. Es gab ab ca. 2700 Zeilen Probleme mit dem Speicher, der nicht
mehr für das Compilieren ausreichte, weshalb ich jede größere Funktionen
einzeln testen und andere vorübergehend aus dem Quellcode herausnehmen mußte.
Letztendlich übersetzt wurde dann auf einem Amiga1200 mit 6MB Speicher
(vielen Dank hier noch mal an Frank Rogin).


1.2 Systemanforderungen:
~~~~~~~~~~~~~~~~~~~~~~~~
Fraktalik sollte auf JEDEM Amiga laufen, egal mit welchem Chipset und
welcher Betriebssystemversion er ausgerüstet ist.
Auf AGA-Maschinen ist eine Bildschirmtiefe von 8 Bit möglich, wird jedoch
nicht direkt unterstützt (Reqtools-Palettenrequester zeigt nur bis zu 32
Farben, feinere Farbabstufungen als 16 Werte pro Farbanteil sind wegen der
Verwendung von SetRGB4 nicht möglich - Kick3.0 Includes mit SetRGB32 für "E"
waren nicht verfügbar). Trotzdem können mit vorbereiteten Paletten, die
geladen werden müssen, 256 verschiedene Farben dargestellt werden.


1.3 Features:
~~~~~~~~~~~~~
- Trennung zwischen berechneten Daten und eigentlichem Bild ermöglicht
  schnelle Berechnung unterschiedlicher Ansichten ein- und derselben Menge
- 2 verschiedene Ansichtsmodi (kann beliebig im Programm erweitert werden)
- unbegrenzte Anzahl an geöffneten Mengen    \ beides vom Speicheraus-
- unbegrenzte Anzahl an Ansichten pro Menge  / bau begrenzt
- Laden und Speichern der berechneten Daten (ohne das eigentliche Bild)
- Unterbrechung und spätere Weiterberechnung möglich
- Farbrollen (zwar ohne Interrupt, schont aber trotzdem wertvolle Rechenzeit)
- Speichern der Ansichten als IFF-Bild (ByteRun1 packen, leider teilw.
  fehlerhaft - Wo liegt der Fehler???)
- Laden und Speichern beliebiger Paletten als IFF
- vorbildliches Drucken im Hintergrund mit PrinterCheck vor Druckbeginn
  (Schleim, Schmalz...)
- gleichzeitiges Drucken mehrer Ansichten müßte möglich sein auf Amigas
  mit mehreren parallelen Schnittstellen (konnte nicht getestet werden)
- Bildgröße theoretisch unbegrenzt, sinnvollerweise aber bis ca. 2000 Pixel
  beschränkt
- Bildschirmmodus wählbar



---------------------
2. Funtionserklärung:
---------------------

2.1 Die Menus:
~~~~~~~~~~~~~~

I. Projekt:
===========

Die Aktionen dieses Menus sind entweder vom aktiven Prozeßfenster
abhängig (Laden & Speichern) oder sind global wirksam, d.h. das Ergebnis
ist in jedem Fall gleich, egal von welchem Fenster aus man eine Funktion
wählt.

Öffnen:
-------
    Eine berechnete Mandelbrotmenge im Fraktalik-eigenen Format wird
    geladen - kein IFF-Bild!!!
        Es öffnet sich zunächst ein Dateiauswahlfenster mit der Liste der
    Dateinen des aktuellen Verzeichnisses (siehe 2.2 Requester).
    Als Dateiendung ist voreingestellt ".FRAK". Deshalb erscheinen
    in der Dateiliste auch nur Dateien mit dieser Endung bzw. gar
    keine. Sie können diese "Beschränkung" aufheben, indem Sie den
    Eintrag neben "Pattern" löschen (näheres zum sog. Patternmatching
    im AmigaDOS-Handbuch). Eine Änderung ist aber i.d.R. nicht nötig,
    da beim Speichern auch die Endung .FRAK angehangen wird.
        Falsche Dateiformate werden erkannt und nicht geladen.
    Bei erfolgreichem Laden öffnet sich ein normales Mengen-Fenster,
    dessen Parameter noch geändert werden können, wenn die Menge noch
    nicht fertig berechnet wurde. Im anderen Fall liegt das Fenster
    nur noch zum Öffnen von Ansichten auf der Oberfläche, steht also eher
    repräsentativ für die Menge innerhalb dieser Koordinaten.
        Um später eventuell noch einmal zu speichern, merkt sich Fraktalik
    den zuletzt eingestellten Dateinamen und läßt ihn im Requester
    erscheinen.
            
Speichern:
----------
    Speichern eine berechnete Menge und beachtet dabei den jeweiligen
    Status (fertig oder nicht). Gespeichert wird jeweils die Menge,
    dessen Fenster gerade aktiv ist (Kontrolle im Bildschimtitel!).
    Wurde die Menge schon einmal gesichert wird ihr alter Name bei-
    behalten ansonsten wird nach ihm gefragt (=Speichern als).

Speichern als:
--------------
    ...wie Speichern, nur daß in jedem Fall ein Dateiauswahl-
    fenster erscheint. Als Name wird voreinstellungsgemäß der gleiche wie
    beim Laden verwendet bzw. eine Bezeichnung, die die wichtigsten Parameter
    enthält (BREITExHÖHExITERATIONEN) sowie mit ".FRAK" endet, erstellt.
    Sie können ihn jedoch beliebig ändern. Existiert eine Datei schon
    einmal, fragt das Programm nach, ob sie überschrieben werden soll.
 
Neue Menge:
-----------
    Ein neues Mengenfenster wird geöffnet, ihre Parameter entsprechen
    dabei den Voreinstellung. Mit einem Klick in das entspr. Feld
    können die Werte geändert werden. Sie entsprechen dabei einem 
    Koordinatensystem mit einer realen X-Achse und einer imaginären
    Y-Achse. Iterationen gibt die Berechnungstiefe an. Bei starker
    Vergrößerung sollte dieser Wert erhöht werden. Hierbei gilt das
    Prinzip probieren geht über studieren. Ein Klick auf Start läßt
    die Berechnung beginnen und alle Eingabemöglichkeiten werden
    gesperrt. Man kann, um eine Vorschau zu erhalten, den Vorgang mit
    Stop unterbrechen. Bis das Programm reagiert, kann es ein wenig
    dauern, da jeweils erst nach der Berechnung einer ganzen Zeile
    Eingaben ausgewerten werden. Es genügt aber auf jeden Fall EIN
    Klick auf "Stop". Nach einer Unterbrechung sind alle Aktionen
    des Programms möglich (Sichern, Ansicht öffnen), wobei nach einer
    Änderung der Parameter (allein die Aktivierung eines String-
    gadgets wird so gewertet) die Berechnung von vorn gestartet wird
    und alle Ansichten geschlossen werden. Bei unveränderten Werten
    wird an der unterbrochenen Stelle fortgesetzt.

Alle löschen:
-------------
    In diesem Menu bewirkt "Alle löschen" das Schließen aller Mengen
    mit ihren jeweils angeschlossenen Ansichten. Dabei wird bei
    nicht abgespeicherten Mengen eine Sicherheitsabfrage durchge-
    führt. Es kann vorkommen, daß eine Ansicht gerade gedruckt wird,
    und somit nicht geschlossen werden kann. Die zugehörige Menge
    kann deshalb auch nicht gelöscht werden und die Funktion unter-
    bricht an dieser Stelle.

Über:
-----
    Wie üblich erscheint hier ein Info-Requester mit Angaben über
    Version, Programmautor und außerdem Speicherauslastung.

Beenden:
--------
    Wie der Name schon sagt, wird das Programm hier verlassen. Vorher
    wird die Funktion "Projekt/Alle löschen" ausgeführt. Je nach Erfolg
    kann das Programm dann verlassen werden, wobei auch hier noch
    eine Sicherheitsabfrage eventuelle Fehleingaben abfängt.



II. Ansicht:
============

In diesem Menu wirkt sich jede Funktion auf das Fenster aus, das gerade
aktiv ist. Es ist also darauf zu achten, daß die gewünschte Menge bzw. Ansicht
angewählt ist, ansonsten passiert gar nichts.


Alle löschen:
-------------
    Diese Funktion bewirkt nur bei einem aktiven Prozeß-Fenster (=Menge),
    daß alle Ansichen dieser Menge gelöscht werden. Ansichten die gerade
    gedruckt werden, können nicht geschlossen werden. In einem solchen Fall
    bricht die Funktion ab und versucht nicht weiter eventuell andere
    Ansichten zu schließen.

Vergrößern:
-----------
    Wie der Name schon vermuten läßt, wird hier ein Ausschnitt einer Menge
    vergrößert. Dazu muß eine entsprechende Farbansicht geöffnet und akti-
    viert sein (d.h. das Fenster ist aktiv). Nach dem Anwählen des Menupunktes
    markieren Sie dann in diesem Fenster den gewünschten Ausschnitt:
    Markieren Sie mit gedrückter linken Maustaste den ersten Eckpunkt, ziehen
    das erscheinende Rechteck bis zur gegenüberliegenden Ecke des zu
    vergrößernden Ausschnitts und lassen dann die Maustaste erst wieder los.
    Daraufhin öffnet sich ein neues Prozeßfenster mit den neuen Koordinaten.
    Die weiteren Parameter (Iterationen, Breite, Höhe) werden von der
    "Muttermenge" übernommen. Sie können nun noch Veränderungen vornehmen,
    bevor Sie die Berechnung starten. Sie sollten weiterhin darauf achten,
    daß der gesamte Ausschnitt vor Benutzung der Funktion sichtbar ist, da
    während des Markierens kein Scrolling möglich ist. Außerdem kann es
    passieren, daß das Bild sehr stark verzerrt wird, falls die Verhältnisse
    Breite/Höhe zwischen markierem Ausschnitt und späterer Bildgröße
    voneinander abweichen. Soll die neue Menge also beispielsweise eine
    Größe von 160x80 haben, so sollten Sie ihr Markierungsrechteck auch
    ungefähr doppelt so breit wie hoch ziehen.
        Haben Sie versehentlich "Vergrößern" angewählt, klicken Sie außerhalb
    des Ansichtsfensters und die Funktion bricht mit einem Bildschirmblitz
    ab.

Verkleinern:
------------
    ...funktioniert analog zu Vergrößern, nur daß der angewählte Ausschnitt
    angibt, wo sich die aktuelle Menge innerhalb einer weitreichenderen Menge
    befinden soll. Man stellt sich also vor, die Ansicht zeigt die gesamte
    verkleinerte Mandelbrotmenge und das markierte Rechteck enthält genau
    an dieser Position meine aktuelle "Muttermenge".

IFF-Speichern:
--------------
    Um eine Ansicht als IFF-Bild zu speichern, aktivieren Sie bitte die An-
    sicht selbst und wählen anschließend diesen Menupunkt. Danach öffnet sich
    ein übliches Dateiauswahlfenster, wo Sie Namen und Verzeichnis eingeben
    können. Auch hier enthält der voreingestellte Name die wichtigsten
    Parameter (BREITExHÖHExBILDSCHIRMTIEFE). Das Bild erhält dabei die
    Palette Ihres Fraktalikbildschirms. Gespeichert wird immer die ganze
    Ansicht, unabhängig vom gerade sichtbaren Ausschnitt. Weiterhin existiert
    ein genormtes Kompressionsverfahren (ByteRun1), daß eigentlich jedes
    Programm erkennen und laden sollte. Sie können das sogenannte Packen ab-
    schalten, indem Sie im Menu "Spezial" den Punkt "IFF packen?" deakti-
    vieren (der Haken davor verschwindet). Die Bilddatei kann dadurch aber 
    vor allem bei größeren Ausmaßen erheblich aufblähen. Leider gibt es
    manchmal noch Probleme mit dieser Funktion, so daß das Bild von einigen
    Programmen nicht gelesen werden kann (siehe 3.1 allgemeine Fehler).

Drucken:
--------
    Mit Hilfe dieser Funktion haben Sie die Möglichkeit, die aktive
    Ansicht auf ihrem Drucker auszugeben. Dabei werden die Einstellungen
    von "Preferences" bzw. ab Kick2.0 "PrinterGfx" übernommen. Lediglich
    die Größe des Ausdrucks kann noch im erscheinenden Fenster in Zenti-
    metern angegeben werden. Ein besonderes Feature ist die mögliche
    Angabe der Gerätenummer (=Unitnummer des Druckerports). Damit sollte
    es möglich sein, über mehrere Schnittstellen gleichzeitig zu drucken,
    was allerdings nicht getestet werden konnte. Sie können nun mit einem
    Klick auf "OK" den Druck starten oder durch das Schließen des Fensters
    die Funktion abbrechen. Vor der Ausgabe der Ansicht auf den Drucker
    wird überprüft, ob dieser eingeschalten und Papier eingelegt ist. Weiter-
    hin kann ein Fehler auftreten, wenn bereits ein anderes Programm den
    Drucker benutzt. Fraktalik informiert Sie dann mit einer entsprechenden
    Meldung. Ist alles in Ordnung, öffnet sich ein kleines Fenster mit dem
    Titel der gewählten Ansicht und einem "Abbruch"-Gadget, das ein Abbruch
    ermöglicht. Sie können nun weiterarbeiten, da der Druck im Hintergrund
    abläuft (Tja, Multitasking auf dem Amiga !). Einzig eingeschränkt sind
    Sie darin, daß keine Funktion ausgeführt wird, die die Ansicht schließt.
    Ist die Ausgabe beendet, schließt sich dieses Fenster wieder und sie
    werden darüber informiert.


Neue Ansicht:
-------------
    Dieser Menupunkt öffnet eine neue Ansicht einer Menge. Hierbei ist es
    gleichgültig, ob Sie das Fenster der Menge selbst (das Prozeßfenster)
    oder eine zugehörige Ansicht dieses Prozesses aktiviert haben. Es wird
    immer eine neue Ansicht erzeugt. Sie haben hierbei die Wahl zwischen
    einfacher Farbansicht und 3D-Ansicht.

Farbbereich:
    Die erstere Variante markiert Bereiche unterschiedlicher Iterations-
    tiefe in verschiedenen Farben. Schwarz sind die Bereiche, in der die
    maximale Iterationstiefe erreicht wurde (die Mandelbrotmenge selbst).
    Weiß bedeutet, daß Sie eine unvollständige Vorabansicht geöffnet haben,
    von einer unterbrochenden Berechnung. Diese Bereiche sind also noch zu
    füllen.

3D-Ansicht:
    Die andere Möglichkeit der 3D-Ansicht versucht, die unterschiedlichen
    Tiefen in Höhenwerte umzusetzen. Außerdem werden die "Bergspitzen" auch
    mit unterschiedlichen Farben gefüllt. Leider ist es mir nicht gelungen,
    einen besseren Tiefeneindruck zu vermitteln. Wer also einen besseren Al-
    gorithmus kennt, sollte sich bei mir melden.



III. Spezial:
=============

Palette:
--------

Einstellen:
    Hiermit ist ein Verändern der verwendeten Bildschirmfarben möglich.
    Es öffnet sich ein Palettenrequester der Reqtools Library
    (© Nico François). Dessen Bedienung ist in "2.2 Requester" erklärt.

Farbrollen:
    Diese Funktion bewirkt, daß die Farben zyklisch gerollt werden.
    Dadurch entsteht bei Farbansichten der Eindruck als bewege man sich
    in das Bild hinein (bzw. heraus), und 3D-Ansichten beginnen zu wachsen
    (bzw. zu schrumpfen).
        In dem sich öffnenden Fenster können Sie die Rollgeschwindigkeit
    ändern, indem sie den Schieberegeler betätigen. Große Zahlenwerte
    bewirken schnelles Rollen - kleine verlangsamen den Vorgang. Mit einem
    Klick auf "Umkehren" wird das Scrolling in die andere Richtung umgekehrt.
        Sie können während des Farbrollens weiterarbeiten, allerdings wird
    es während des Ausführens anderer Funktionen unterbrochen. (Wer kann
    mir sagen, wie ich das umgehe? Ich habe von Interrupts gelesen, weiß
    aber nicht, wie man sie programmiert.) Wird während des Farbrollens ein
    Ausdruck gestartet, so muß es sogar ganz abgeschalten werden.
        Beendet wird diese Funktion, indem Sie das Kontrollfenster schließen.


Standard:
    ...stellt die Farben auf den Ausgangszustand nach Programmstart oder
    Bildschirmwechsel (schwarz - pink [- grün]).

Laden:
    ...Öffnet ein Dateiauswahlfenster, in dem Sie eine beliebige IFF-Palette
    laden können. Es ist dabei möglich eine separate Palette auszuwählen
    oder aber auch ein beliebiges IFF-Bild, das die gleichen Farbinfor-
    mationen enthält.
    Stimmt die Farbanzahl in der Datei nicht mit der des Bildschirms überein,
    so lädt Fraktalik nur die höchst mögliche Anzahl an Farben.

Speichern:
    Dieser Menupunkt bewirkt ein Sichern der aktuellen Bildschirmfarben als
    IFF-Palette. Diese Palette können Sie dann später wieder in Fraktalik
    laden oder auch in anderen Malprogrammen verwenden (z.B. Deluxe Paint).


Auflösung:
----------
    Mit der Anwahl dieses Menupunktes ist es möglich, die Auflösung (d.h. die
    Anzahl der darstellbaren Punkte) sowie die Tiefe (Anzahl an Farben) des
    verwendeten Bildschirms zu ändern. Die Auswahl des Bildschirmmodus ist
    in "2.2 Requester" beschrieben.

Workbench?:
-----------
    Diese Funktion veranlaßt Fraktalik dazu, die Workbench (d.h. den
    Workbenchscreen) zu schließen, wodurch der gesamte dadurch nicht mehr
    benötige Speicher jetzt für andere Programme, also auch Fraktalik,
    zur Verfügung steht. Es ist allerdings nicht möglich die Workbench zu
    schließen, fall noch ein anderes Programm Fenster auf diesem Screen
    geöffnet hat. In diesem Fall müssen Sie zuerst dieses Programm beenden 
    oder ab Kick2.0 auf einen anderen (öffentlichen) Bildschirm umlenken.
    Konnte die Aktion ordungsgemäß durchgeführt werden, so wird dies quit-
    tiert und der Haken vor dem Menupunkt verschwindet. Dieser zeigt somit
    immer den Status des Workbenchscreens an und reagiert auch darauf,
    wenn ein anderes Programm die Workbench schließt oder öffnet.

IFF packen?:
------------
    Hiermit wird der Kompressionsmodus für das Abspeichern von Ansichten
    als IFF Bild angegeben. Der Haken symbolisiert eingeschaltets Kom-
    primieren nach dem Byte-Run-1 Verfahren. (siehe auch 2.1 Menus: Ansicht/
    IFF Speichern bzw. Fehler)



2.2 Die Requester:
~~~~~~~~~~~~~~~~~~

Requester sind Fenster, die vorübergehend geöffnet werden, um vom Benutzer
bestimmte Eingaben zu erhalten oder ihn nur über ein bestimmtes Ereignis zu
informieren. Sie sind im Grunde genommen nichts anderes als ganz normale
Fenster mit einem oder mehreren Schaltern (engl. Gadgets oder Icons).
Deshalb wird auch für Sie Speicher benötigt. Das hat zur Folge, daß bei ex-
tremem Speichermangel (ca. 100K noch frei) auch keine Requester mehr geöffnet
werden können, um den Benutzer eben darauf aufmerksam zu machen oder um noch
schnell etwas abzuspeichern. In einem solchen Fall reagiert Fraktalik immer
so, daß möglichst wenig Schaden angerichtet wird, d.h. an der Stelle an der
eigentlich ein Requester erscheinen sollte, wird so fortgefahren, als hätte
man im Requester "Abbruch" angeklickt (negative Entscheidung).
Es ist also beispielsweise nicht möglich zu Speichern (automatische Wahl
von Cancel) oder das Programm zu verlassen ("Wirklich beenden?" -> nein).
Versuchen Sie deshalb, wenn Sie merken, daß ihr Speicher zur Neige geht,
unnötige Ansichten zu schließen, den Bildschirmmodus auf möglichst wenig
Farben und eine tiefe Auflösung einzustellen, andere Programme im Hinter-
grund zu beenden oder sich eine Speichererweiterung zuzulegen.


I. Entscheidungsrequester:
==========================

    -> erscheint immer dann, wenn (Mehrfach-) Entscheidungen zu
       treffen sind oder um auf ein Ereignis hinzuweisen.

    Im oberen Teil des Requesters steht immer ein Text, der Sie in irgendeiner
    Art informiert oder zu einer Eingabe auffordert. Darunter stehen dann 
    ein oder mehrere Gadgets zur Auswahl bereit, deren Anwahl auf verschie-
    denste Weise möglich ist:
    
    1. Maus:
        Sie klicken mit der Maus auf das gewünschte Feld -  einfacher geht's
        nicht.

    2. Tastatur:
        Bietet sehr viele Möglichkeiten, abhängig von den zur Verfügung
        stehenden Gadgets. Dabei kommt ein Tastendruck einem Klick auf das
        Feld gleich.
            Haben Sie versehentlich eine falsche Taste gedrückt,
        halten Sie diese bitte fest und drücken gleichzeitig auf die Shift-
        Taste. Dadurch wird die Auswahl abgebrochen. Diese Funktion ist bei
        jedem Tastendruck möglich.
         
        <Enter>  eine fettgedruckte Option wird mit <Enter> bestätigt
                 (meist positive Entscheidung)

        <Esc>    das jeweils am weitesten rechts befindliche Gadget wird
                 ausgewählt (immer negative Entscheidung, z.B. "Abbruch")

        <A..Z>   ist in einem Gadget-Text ein Buchstabe unterstrichen, wird
                 das dazugehörige Gadget mit einem Druck auf diesen Buchstaben
                 ausgewählt

        <rechte AmigaTaste + A..Z>
                 gleicht A..Z, nur daß diese Funktion auch aus Stringgadgets
                 (Texteingabe) heraus funktioniert, da bei einem einfachen
                 Druck auf einen Buchstaben, dieser als Texteingabe interpre-
                 tiert würde (im Dateiauswahlfenster möglich).

        <linke Amiga-Taste + B>
                 entspricht <Esc>
    
        <linke Amiga-Taste + V>
                 entsprincht <Enter>

        Hat der Requester nur 1 Gadget (z.B. "OK") funktioniert alles gleich.

                     
II. Das Dateiauswahlfenster:
=============================

    -> erscheint bei folgenden Funktionen:
        Projekt/Öffnen...
               /(Speichern)
               /Speichern als...

        Ansicht/IFF Speichern...

        Spezial/Palette/Laden...
                       /Speichern...

    Ein solcher Requester erleichtert das Auswählen von Dateien auf einem
    Datenträger.
        Eine Liste aller Verfügbaren Datenträger erhalten Sie mit einem
    Klick auf Volumes, der Betätigung von <rechte AMIGA-Taste & V> oder
    einem Klick mit der rechten Maustaste irgendwo in das Fenster. In der
    oberen Liste erscheinen alle "Volumes" und "Assigns", aus der Sie dann
    ihr gewünschtes Verzeichnis auswählen können.
        Daraufhin werden alle Dateien (schwarz) und Verzeichnisse (weiß)
    die sich auf diesem Datenträger befinden angezeigt. Haben Sie im Feld
    "Pattern" (=Muster) ein Dateinamenmuster eingegeben, so werden nur die
    passenden Dateien aufgelistet (siehe AmigaDOS Handbuch). Beispiels-
    weisen stellt Fraktalik beim Laden und Speichern von Mengen das Muster
    auf "#?.FRAK". Dadurch wird die Dateiliste übersichtlicher und die Aus-
    wahl fällt leichter.
        Sie können sich nun durch die Verzechnisstruktur "hangeln", indem
    Sie auch einen weißen Verzeichnis klicken. Sie gelangen in das nächst
    höher gelegene Verzeichnis mit einem Klick auf "Parent" oder <rechte
    Amiga-Taste P>. Auf diese Weise können Sie den gesamten Datenträger
    durchsuchen. Bitte selektieren Sie dann eine Datei in der oberen
    Liste oder geben ihren Namen und das zugehörige Verzeichnis in die
    beiden Textfelder ein. Existiert ein eingegebenes Verzeichnis nicht,
    wird nachgefragt, ob es angelegt werden soll oder nicht. Diese Möglich-
    keit besteht allerdings nur, wenn Sie etwas Speichern (Menge, IFF-Bild,
    Palette) wollen, beim Laden (Menge oder Palette) kann nur aus den
    schon vorhandenen ausgewählt werden. Haben Sie dann den Namen korrekt
    eingegeben bestätigen Sie bitte mit <Enter> oder <rechte Amiga-Taste
    und O> oder einem Klick auf "OK".
        Wollen Sie die Dateiauswahl abbrechen schließen Sie das Fenster,
    klicken auf "Cancel" oder drücken <rechte Amiga-Taste C>.


III. Die Bildschirmmodusauswahl:
================================

    -> Funktion: Spezial/Bildschirmmodus...

    Ich habe versucht, die Bildschirmmodusauswahl auch unter 1.3 so leicht,
    wie möglich zu gestalten. Dazu habe ich einen eigenen Requester
    programmiert (mit dem der Reqtools.library gab es Probleme), der voll-
    kommen mit der Maus gesteuert wird.
    Nach dem Öffnen des Auswahlfensters stehen 4 Schalter für die Ein-
    stellung der Bildschirmbreite und -höhe sowie ein Schieberegler für
    die Farbanzahl (Tiefe) bereit.
        Die horizontale und vertikale Ausdehnung können Sie mit einem Klick
    auf das entsprechende Gadget unter "Höhe" (256 oder 512 Zeilen) bzw.
    "Breite" (320 oder 640 Spalten) wählen. Der angewählte Modus kann immer
    in der blauen Statuszeile abgelesen werden. Zu beachten wäre noch, daß
    bei der	Höhe 512 der Interlace (Flimmer-) Modus automatisch angewandt
    wird. Die augenschonenden Auflösungen des A1200 & A4000 können leider
    nicht verwendet werden (Sorry, aber der Reqtools-Requester wollte einfach
    nicht so, wie ich!).
        Die Farbtiefe des Bildschirms wählen Sie indem Sie den Schieberegler
    "Tiefe" betätigen. Die Anzahl an Farben entspricht dabei immer 2^Tiefe.
    Während die untere Grenze liegt immer bei 8 Farben liegt, ist die obere
    vom verwendeten Amiga sowie der Auflösung abhängig. Auf alten Amigas ohne
    AGA (also A500, A500+, A600, A2000, A3000) ist bei einer Breite von 320
    Spalten eine maximale Tiefe von 5 und bei 640 horizontalen Bildpunkten
    eine Tiefe von 4 möglich. Bei AGA-Maschinen sind immer maximale 256 Farben
    verwendbar (Tiefe 8), allerdings ohne direkte (Farb-) Unterstützung
    (siehe 1.2 Systemanforderungen).
        Haben Sie dann den gewünschten Modus ausgewählt, klicken Sie auf "OK",
    Fraktalik leitet seine Ausgaben auf einen neuen Screen um und schließt den
    alten. Dabei kann es vorkommen, daß nicht ausreichend (Chip-) Speicher
    vorhanden ist. In diesem Fall wird wieder der vorherige Bildschirm ge-
    öffnet. War auch das nicht möglich, wird das Programm beendet.
        Die Bildschirmmoduswahl können Sie abbrechen, indem Sie das Requester-
    fenster schließen.

IV. Das Druckerstatusfenster:
=============================

    -> erscheint nach Anwahl Funktion "Ansicht/Drucken..." und Bestätigung
       des Druck-Requesters (Breite und Höhe), wenn der Druck aus irgendeinem
       Grund nicht gestartet werden konnte.

    Sie sehen in diesem Fenster den Druckerstatus tabellarisch aufgeführt.
    Zunächst können Sie erkennen, ob ihr Drucker an der parallelen oder
    seriellen Schnittstelle angeschlossen ist (in Klammern in der 1. Zeile).
    
    1. "Bereit":
      Steht hier "OFFLINE oder Power-OFF", sollten Sie überprüfen ob:
        - ihr Drucker eingeschalten ist
        - die Kabelverbindungen Fehler aufweisen
        - der Drucker ONLINE ist (meißt leuchtet dann eine Kontrollampe)

    2. "Papier":
      Um drucken zu können, muß natürlich Papier richtig (!!!) eingelegt
      sein. Kontrollieren Sie das bitte, wenn "nicht eingelegt" erscheint.

    3. "Status":
      Es kann passieren, daß bereits ein anderes Programm auf diesem
      Drucker etwas ausgibt. In einem solchen Fall steht hier "druckt gerade"
      und Sie müssen warten, bis die Ausgabe des anderen Programms beendet
      ist oder sie dort abbrechen. Andernfalls steht hier "empfangsbereit".

    Haben Sie all diese Fehler beseitigt, müßte der Druck eigentlich funktio-
    nieren und Sie klicken bitte auf "Nochmal versuchen". Tritt immer noch
    ein Fehler auf, beginnt die Prozedur von vorn.
        Sie können den Druck aber auch an dieser Stelle mit einem Klick auf
    "Abbruch" beenden.


-------------------
3. Bekannte Fehler:
-------------------

Sie werden sich vielleicht über die Existenz überhaupt eines solchen
Kapitels wundern, aber es ist nicht leicht, besonders bei größeren
Projekten, immer den Überblick über jede Funktion zu behalten. Man macht
hier mal schnell eine Änderung und dort wird etwas vereinfacht und schon
haben sich Fehler eingeschlichen, die vorher nicht da waren. Außerdem ist
es besonders bei Betriebssystemen, die Multitasking bieten, schwierig jede
mögliche Fehlfunktion vorauszusehen und abzufangen. Und nicht zuletzt kam
bei Fraktalik noch der Umstand hinzu, daß ich selbst bald nicht mehr die
Möglichkeit hatte, das gesamte Programm selbst zu compilieren (siehe
1.1 Vorwort), sondern 50km weit fahren mußte, um das dort zu tun.
Die Fehler, die ich jetzt beim Austesten des gesamten Programms noch
gefunden habe, sind im folgenden aufgeführt.


3.1 Allgemein:
~~~~~~~~~~~~~~
    Im Gegensatz zum Anfangsstatium des Programms, konnte ich jetzt bei
    keiner Operation mehr Abstürze des Rechner feststellen. Trotzdem hat
    das Programm noch einige Fehlfunktionen:

1. Farbrollen:
--------------
    Wird das Farbrollen aktiviert, so verschwindet aus mir unerklär-
    lichen Gründen plötzlich der Pfeil hinter "Palette" im Menu
    "Spezial". Wird das Kontrollfenster wieder geschlossen, befindet er
    sich allerdings AUF dem Menueintrag anstatt daneben. Abhilfe
    schafft ein "Bildschirmmoduswechsel" mit (unveränderten) Ein-
    stellungen.
    Ein weiterer Fehler besteht darin, das die erste oder letzte Farbe
    nicht mit gerollt wird. Dadurch wird bei mehrmaligem Umkehren die ge-
    samte Farbpalette durcheinandergewürfelt. Der Fehler ist im Programm-
    code schon entfernt, ich konnte allerdings nicht noch einmal compi-
    lieren. Sie können das selbst vornehmen, wenn Sie "E" selbst besitzen.
    (Auf irgend einer Fish-Diskette oder einer Amigazeitung, die AMIGA-Text
    PLUS Heftdiskette bietet...) Für alle anderen, kann zumindest das
    dann auftretende Flackern durch Neuladen oder -einstellen der Palette
    beseitigt werden.

2. IFF-Speichern:
-----------------
    Bei Speichern der Ansicht als IFF-Bild, kann es mit einigen Programmen
    bei eingeschaltenem IFF-Packen zu Problemen kommen. Obwohl ich zunächst
    froh war, einen eigenen Algorithmus zum Komprimieren im Byte-Run-1
    Verfahren gefunden zu haben, mußte ich dann entsetzt feststellen, daß
    einige IFF-Anzeigeprogramme damit anscheinend Probleme haben. Sollte
    also eine ihrer Anwendungen das IFF-Bild nicht lesen können, speichern
    Sie das Bild noch einmal ohne IFF-Packen ab, laden es dort und speichern
    es erneut. Dieses Programm schreibt die Daten dann (hoffentlich) richtig
    auf ihre Diskette oder Festplatte. Um nicht erneut die gesamte Berechnung
    durchführen zu müssen, sollten Sie die Menge selbst schon vorher
    gespeichert haben oder die Ansicht erstschließen, wenn sicher ist, daß
    die Bilddatei richtig gelesen wird.

### Falle jemand kann mir sagen, wie IFF-Bilder richtig mit Byte-Run-1-
### Kompression abspeichert werden, wäre ich ihm sehr dankbar, wenn er sich
### bei mir melden würde. (Programmiersprachen: E, C, Assembler, Pascal, ...)

###
###

3.2 Unter Betriebsystemversion 1.3:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Da ich selbst noch mit 1.3 arbeite(n muß) und das Programm mit dieser
    Version entwickelt wurde, dürften hier eigentlich keine anderen Fehler
    mehr auftreten.
    
3.3 Unter OS2.0/2.1/3.0/3.1:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Festgestellt wurde der folgende Fehler nur auf einem A1200 mit OS 3.0,
    aber ich vermute, daß die anderen Versionen keine Ausnahme machen werden.

    Obwohl ich vollkommen systemkonform programmiert habe, also ohne direkt
    auf die Hardware zuzugreifen, treten beim Ausdruck einer Ansicht dünne
    horizontale Streifen auf und die Farben stimmen absolut nicht mit denen
    auf dem Bildschirm überein. Der Fehler kann aber natürlich auch durch die
    AA-Chips und der damit veränderten internen Farbverwaltung hervorgerufen
    sein. Die Fehlfunktion ließ sich leider nicht umgehen, so daß
    saubere Ausdrucke nur mit anderen Programmen möglich sind, wenn eine
    Ansicht zuvor als IFF-Bild abgespeichert wurde.

    Auch hier wäre ich für Hinweise dankbar.


-------------
4. Der Autor:
-------------

    Ich bin 18 Jahre alt und wohne in Bohsdorf, einem kleinen Ort nahe
    Cottbus, der vielleich durch E. Strittmatter bekannt ist. Zur Zeit
    besuche ich noch das Gymnasium in Spremberg, werde nächsten Sommer ('95)
    aber damit nach 13 Jahren fertig sein.


    Wenn Sie Fragen, Anregungen, Tips, Berichtigungen oder ähnliches haben
    würde ich mich über Post von ihnen an folg. Adresse freuen:

    *************************
    *   Marcel Bennicke     *
    *   Dorfstraße 32       *
    *                       *
    *   03130 Bohsdorf      *
    *   -----               *
    *************************

    (siehe folg. Textabschnitte:
           3.   Fehler
           2.1 Die Menus: Ansicht/Neue Ansicht/3D-Ansicht
           2.1 Die Menus: Spezial/Palette/Farbrollen)

    Ich werde versuchen - sofern gewünscht - alle Briefe zu beantworten.
    Oder Sie rufen mich einfach an unter (täglich ab ca. 15:00 Uhr):

       Tel.  (03 56 98) 262
