Anwenderdokumentation 0.1
01.06.1996

von


Christian Krüger
Im Erpelgrund 16
13503 Berlin

Internet: chrisker@cs.tu-berlin.de


Inhaltsverzeichnis




1 Rechtliches / Copyright

Das Copyright an Liberty und dieser Dokumentation liegt bei Christian Krüger, Berlin. Die Weitergabe des Programms ist Grundsätzlich frei (Stichwort FREEWARE), dennoch sind folgende Punkte zu beachten:


           LIBERTY -> AUTO        -> LIBERTY.PRG
                      DOKU        -> HTML         -> LIBERTY.HTM
                                                     LIBERTY.GIF
                                                     MYSELF.GIF
                                                     UDO_LF.GIF
                                                     UDO_RG.GIF
                                                     UDO_UP.GIF
                                     LIBERTY.TXT
                                     LIBERTY.HYP
                      SIZEJAR.TTP

1.1 Haftungsausschluß

Trotz sorgfältiger Entwicklung und umfangreichen Tests kann keine Gewährleistung für die Richtigkeit des Inhalts dieser Dokumentation und die einwandfreie Funktion von "Liberty" übernommen werden.

Der Autor kann keine Haftung für irgendwelche direkten oder indirekten Schäden - einschließlich aber nicht beschränkt auf materielle oder finanzielle - übernehmen, die durch die Benutzung von "Liberty" oder dessen Untauglichkeit für einen bestimmten Zweck entstehen.

1.2 Warenzeichen

Innerhalb dieser Dokumentation wird auf Warenzeichen Bezug genommen, die nicht explizit als solche ausgewiesen sind. Aus dem Fehlen einer Kennzeichnung kann nicht geschlossen werden, daß ein Name frei von den Rechten Dritter ist.

1.3 Spenden

Wie schon erwähnt ist Liberty Freeware. Ich habe aber selbstverständlich nichts gegen TOS-Programmentwicklungsstützungskäufe ;-). Wer mit also eine motivationssteigernde Spende zukommen lassen möchte, kann das über die Kontaktadresse tun.
Wer keine Lust hat etwas zu spenden und trotzdem meine Motivation steigern möchte, der sollte sich 'Freedom2' kaufen. Dann bekommt man wenigstens etwas für's Geld ;-) ...


2 Installation

(Bitte dieses Kapitel komplett vor der Installation durchlesen!)

Kopieren Sie einfach 'LIBERTY.PRG' in den AUTO-Ordner ihres Boot-Laufwerkes.

Nach dem Kopieren von 'LIBERTY.PRG' und dem folgenden Systemstart installiert sich dann die Library automatisch.

2.1 Bootreihenfolge

'LIBERTY.PRG' sollte physikalisch möglichst früh im AUTO-Ordner stehen, auf jeden Fall vor (wenn Sie es denn einsetzen) MiNT! Viele Bootselektoren (z.B. XBOOT) erlauben es, konfortabel die Bootreihenfolge der AUTO-Ordner Programme zu verändern. Sollten Sie nicht in Besitz eines solchen Programms sein hilft folgendes:
Betrachten Sie sich ihren AUTO-Ordner im Desktop in unsortierter Ausgabeart. Hier sollte 'LIBERTY.PRG' möglichst weit vorne stehen. Ein Ändern der Bootreihenfolge erreichen Sie durch Verschieben des kompletten AUTO-Ordners in ein anderes Verzeichnis und dem Zurückverschieben aller AUTO-Ordner-Programme in gewünschter Reihenfolge in den AUTO-Ordner. (Wer absolut nicht versteht was ich meine, kann mich unter später genannter Adresse kontaktieren.) MagiCMac Benutzer müssen den Umweg über Umbenennen der Dateien oder Bootreihenfolgedatei (wie in der MagiCMac Dokumentation beschrieben) gehen um Liberty möglichst früh zu initalisieren (MiNT wird wohl keiner auf Macs benutzen ;-) ).


3 Was ist Liberty?

LIBERTY ist eine residente Systemerweiterung. Das bedeutet, daß eine Vielzahl von Funktionen die in LIBERTY vorhanden sind, anderen Programmen angeboten werden. Das bloße Vorhandensein von LIBERTY ändert nicht viel an Ihrem System, sondern die Funktionen der Library (oder auch Systemerweiterung, folgend Lib genannt) müssen von anderen Programmen genutzt werden. Freedom2 ist z.B. ein solches Programm. Freedom2 benutzt viele der Liberty-Funktionen, so daß es ohne diese Lib nicht lauffähig ist.

Nun gibt es (oft zurecht) viele Gegner solcher Systemerweiterungen. Die Argumente gegen den Einsatz einer residenten Erweiterung sind meistens folgende:

Die Vorteile solcher Erweiterungen:

LIBERTY hat natürlich diese Vorteile und entkräftet zusätzlich mit seiner Art des Aufbaus die Nachteile:

Überzeugt?


4 Was bietet Liberty?

Liberty setzt sich aus Funktionen mit den unterschiedlichsten Aufgabengebieten zusammen. Obwohl daher das Funktionsangebot vielleicht etwas zusammengewürfelt scheint, ist dem nicht so. Wie schon erwähnt versucht Liberty die nervensten Schwächen des Betriebsystems auszugleichen: Funktionen, die immer wieder programmiert oder eingebunden werden müssen und die viele Programme benötigen. Das diese Schwächen nicht konzentriert an einer Stelle des Betriebssystems auftreten ist logisch. So besteht die Lib intern aus folgenden Teilen:

XBIOS-Erweiterung:

Erweiterungen mit GEMDOS-Charakteristik:

Erweiterungen mit VDI-Charakteristik:

AES-Unterstützung:

4.1 CJar-Erweiterung

Liberty legt beim Start im AUTO-Ordner automatisch einen 'Cookie-Jar' an. Programme die dieses sonst übernommen haben ('CJARxxx.*' etc.) sind damit überflüssig! Ebenfalls, das für den MiNT Aufsatz 'Geneva' benötigte 'JARxxx.PRG' ist unnötig. In Liberty sind die Fähigkeiten dieses Programms enthalten! (JARxxx wurde getestet, für gut befunden und die Funktionalität (erweitert) aufgenommen.)

Die Größe des 'Cookie-Jar' kann mit dem beigefügten Programm 'SIZEJAR.TTP' verändert werden. In der Grundeinstellung wird beim Start von Liberty für 32 zusätzliche 'Kekse' (zu den aktuell vorhandenen Systemcookies) Platz geschaffen. Diesen Wert kann man wiefolgt ändern:

  1. Man kopiert 'SIZEJAR.TTP' in das Verzeichnis in dem 'LIBERTY.PRG' steht (also normalerweise in den AUTO-Ordner).

  2. Man startet das Programm durch Doppelklick und gibt dann die gewünschte Anzahl an Keksen als Zahl in den erscheinenden Dialog ein.

  3. Nach Beendigung des Programms muß man 'SIZEJAR.TTP' wieder aus dem AUTO-Ordner entfernen.

  4. Beim Neustart des Systems berücksichtigt dann Liberty die angegebene Anzahl. Fertig!

In der Regel sollte dieses Vorgehen jedoch unnötig sein, da 32 (zusätzliche) Kekse ausreichen und auch keine große Speicherverschwendung darstellen.

4.2 Vektorgrafikfunktionen

Vektorzeichensätze und Bezierkurven sollten heutzutage eine Selbstverständlichkeit sein. So werden diese Befehle auch von den Vektorgrafikfunktionen in Liberty ordnungsgemäß verarbeitet. Leider ist das Original-VDI (der Betriebssystemteil der für die Ausgabe von Grafiken verantwortlich ist) nicht in der Lage diese Befehle zu verarbeiten und ignoriert sie völlig.
Das bedeutet, daß wenn ein Programm die Vektorgrafikdarstellungsfunktionen von Liberty benutzt und die darzustellende Grafik Bezierkurven und/oder Vektorzeichensätze enthält, das Ergebnis auf dem Bildschirm nicht der Originalgrafik entspricht. Dieses trifft aber selbstverständlich nur für VDIs zu, die diese Befehle nicht verstehen!
Wie alle Funktionen von Liberty sind auch die Vektorgrafikfunktionen auf Geschwingidkeit getrimmt. Bei der Vektorgrafikausgabe wurde z.B. ein großer Geschwindigkeitsvorteil dadurch erreicht, daß die Ausgabe direkt an das VDI geleitet wird und die Befehle nicht erst durch einen TRAP geschickt werden! Das dabei verwendete Verfahren ist keinenfalls 'schweinisch' sondern bekannt! (Für die Experten: Man läd das Register D0 mit -1 und macht einen TRAP #2 Aufruf. Als Ergebnis erhält man die Einsprungsadresse des VDI-Dispatchers.)
VDI-Erweiterungen, die das VDI hinsichtlich z.B. einer Bezierkurvenausgabe erweitern, müssen dieses Verfahren unterstützen (Profibuch, 10. Auflage, Seite 298 unten)!

'NVDI' (da sauber) hat damit keine Probleme und in Verbindung mit diesem VDI klappt die Ausgabe obiger Befehle wunderbar (auch wenn 'NVDI' nur als GDOS eingesetzt wird)! Leider kann man das vom 'SpeedoGDOS' nicht behaupten. Diese VDI-Erweiterung versäumt es offensichtlich obiges Verfahren zu unterstützen und somit ist dieses Ausgabesystem für Liberty praktisch nicht vorhanden (keine Bezierkurven und keine Vektorzeichensätze!!!).

Ich weiß, daß diese Tatsache sicherlich einige Leute ziemlich verärgert und möchte deshalb hier Forderungen nach 'konformer' Ausgabe über den TRAP vorbeugen:

Meine Empfehlung an SpeedoGDOS-Fanatiker die programmieren können:
Programmiert ein Utility welches sich in den TRAP #2 hängt, die -1 abfängt und die Adresse des SpeedoGDOS-Dispatchers zurückliefert. Dann klappt's auch mit Liberty... ;-)


5 An die programmierenden Zunft

Sie sind Programmierer, die Featureliste von Liberty hat Sie locker vom Hocker geworfen und Sie sagen sich:"Eine tolle Library, die will ich auch unterstützen!" Kein Problem (wenn Sie in PureC/PurePascal programmieren) - treten Sie vertrauensvoll mit mir in Verbindung und ich werde sehen was ich tun kann! Eine Dokumentation für Programmierer ist in Arbeit und wird (auch abhängig von der Resonanz) bestimmt bald fertig sein.

Einzige Voraussetzung um die Library benutzen zu dürfen: Ich erhalte ein kostenloses Exemplar des Programms welches die Library benutzt! Software die den Status 'Public Domain', 'Freeware' oder 'Fairware' hat, ist davon natürlich ausgenommen ;-).


6 Ausblick

Zum Zeitpunkt dieser ersten Veröffentlichung von 'Liberty' sind die Rastergrafikfunktionen leider alles andere als komplett. Damit aber andere schon jetzt zumindest in den Genuß der restlichen Liberty Funktionen kommen, habe ich mich dennoch für die Herausgabe der Library im nicht vollständigem Zustand entschieden.
Erste Erweiterung wird folglich darin bestehen, den Rastergrafikteil vollständig auszubauen. Aber auch im Vektorgrafikteil fehlen noch einige wünschenswerte Zusatzfunktionen.

Wie danach die Weiterentwicklung verläuft ist schwer zu sagen. Hauptsächlich hängt das von meinen eigenen Bedürfnissen ab. Selbstverständlich können auch Wünsche anderer Programmierer die Liberty nutzen (wollen) den Funktionsumfang erweitern. Jedoch werde ich strikt darauf achten, daß Liberty nie mehr als 50k Speicher schluckt und nicht zum schon beschriebenen 'Klotz' wird.

Welche Funktionen Liberty bietet kann dem 'einfachen' Anwender eigentlich egal sein. Er kommt meist unbemerkt in den Genuß der Funktion, sobald ein Programm sie benutzt. Das einzige worauf ein Anwender achten sollte ist, daß er möglichst immer die neuste Liberty-Version installiert hat. Da Liberty benutzenden Programmen beigefügt werden darf, dürfte diese Forderung leicht zu erfüllen sein.


7 Kontaktadresse

Falls Sie irgendwelche Fragen, Probleme oder Wünsche bezüglich Liberty haben sollten, können Sie mich unter folgender Adresse erreichen:

Christian Krüger
Im Erpelgrund 16
13503 Berlin

Internet email: chrisker@cs.tu-berlin.de

Wichtig: Wer Kontakt via Sackpost zu mir aufnehmen will, der sollte (wenn er eine Antwort erwartet) einen an sich adressierten und ausreichend frankierten Rückumschlag beifügen!
Von privaten Besuchen bitte ich abzusehen, die Erfolgschancen mich anzutreffen sind ohnehin ziemlich gering.
Außerdem bitte ich alle Anwender der Library nur dann zu mir Kontakt aufzunehmen, wenn unlösbare Probleme oder gravierende Mängel bei der Installation der Library auftreten! (Ich verstehe darunter das man sich mindestens 2x die Liberty- Dokumentation durchgelesen hat und immernoch nicht schlauer ist!!!)
Zeit die ich mit der Beantwortung von Fragen verbringe steht mir nicht mehr zum Programmieren zur Verfügung... (Ein gutes und hilfreiches Forum um solche Fragen evt. zu klären stellt die "Hotline der Share-/Freeware", das Maus-Netz, Gruppe 'atari.soft' dar. Wären hier nicht viele hilfsbereite und kompetente Menschen zugegen, die bei Fragen zu Programmen durch ihre Beantwortung für die Programmautoren einspringen, wer weiß ob Liberty hätte jemals entstehen können... Ich widme daher diese Library allen Atari-Enthusiasten im Maus-Netz - Danke! :-) )

Rächtzszeibunsfälör by Zeitmangel.