1stGuide

Guido Vollbeding 29. April 1992

Inhaltsverzeichnis

1 Einführung 2 2 Bedienung 2 3 Dateiformate 7

3.1 Textdateien (ASCII, 1st Word, .OUT) . . . . . . . . . . . . . . 7 3.2 Resourcedateien (.RSC) . . . . . . . . . . . . . . . . . . . . . . 9 3.3 Rasterbilddateien (.IMG, XIMG, .IFF) . . . . . . . . . . . . . . 11 3.4 Metadateien (.GEM) . . . . . . . . . . . . . . . . . . . . . . . . 13 3.5 Soundsampledateien (.SAM, .SND) . . . . . . . . . . . . . . . . 14 3.6 Der Dump-Modus . . . . . . . . . . . . . . . . . . . . . . . . . 15

4 Kommunikation 16 4.1 1stGuide und Gemini . . . . . . . . . . . . . . . . . . . . . . 16 4.2 1stGuide und Tc help . . . . . . . . . . . . . . . . . . . . . . 17 4.3 1stGuide und Calclock . . . . . . . . . . . . . . . . . . . . 18 4.4 1stGuide und das GEM-Clipboard . . . . . . . . . . . . . . . 19 4.5 1stGuide und andere Applikationen . . . . . . . . . . . . . . . 19

5 Geräteausgabe 20 6 Rebuild-Funktion 21 7 Konfiguration 22 8 Grenzen 23 9 1st Index 24 10 Neu in Version 25 11 Referenz 27

1 Einführung

Hatten Sie schon immer Probleme, zur richtigen Zeit die richtigen Informationen parat zu haben?

Dann wird Ihnen dieses Accessory gerade recht kommen. Hierbei handelt es sich in erster Linie um ein Hypertext-System, welches Sie spielend und zielgerichtet durch einen Dschungel von Informationen führt. Der Multi-Window-View mit perfekter GEM-Einbindung schafft dabei den nötigen Durchblick für Ihre Arbeit.

In der Tat, eine hervorstechende Eigenschaft dieses Programms gegenüber anderen bekannten Informations-Systemen ist die Möglichkeit der Öffnung eines neuen Fensters bei jeder Verzweigung. Der gesamte Informationspfad bleibt damit ständig im Zugriff, Sie können verschiedene Pfade gleichzeitig verfolgen und haben damit verschiedene Stellen gleichzeitig im Blick.

Die Hypertext-Eigenschaft wird ermöglicht, indem Sie sogenannte Links (Verzweigungen) in Ihren Dateien auf einfache Weise definieren können (je nach Dateiformat). Physisch präsentiert sich das Informationssystem als hierarchisches System von Hilfsdateien, in dem sich durch die Links ein umfassendes Informationsnetz herausbildet, das schnell und zielgerichtet durchsucht werden kann.

Die unterstützten Dateiformate sind nicht willkürlich gewählt, sondern es handelt sich hierbei um die systemübergreifenden Standard-GEM-Formate. 1st-Guide wurde portabel in Purbo-C für den Atari ST(E)/TT und für IBM-Kompatible geschrieben und sollte in jeder Auflösung und mit jeder Grafikkarte arbeiten.

2 Bedienung

Wenn Sie bereits mit Purbo-C für den Atari ST gearbeitet haben, wird Ihnen die Bedienung wohl bekannt vorkommen. In der Tat orientiert sich 1stGuide hier an Purbo-C, d.h. Links (Keywords, Verzweigungsschlüssel) werden in Texten fett unterstrichen dargestellt, und die Verzweigung wird durch Doppelklick mit der linken Maustaste auf das jeweilige Keyword ausgelöst (oder durch Drücken der Return/Enter/Help-Taste nach Selektion des gewünschten Eintrags). Dabei wird jedoch bereits der erste Unterschied deutlich: Das Hilfe-Fenster wird nicht mit dem neuen Datei-Inhalt überschrieben, sondern es öffnet sich ein eigenes Fenster. Der Informationspfad wird genau wie bei Purbo-C im Fenstertitel dargestellt.

Wenn Sie den Doppelklick bei gedrückter Control-, Alternate- oder Shift-Taste ausführen (bzw. statt Return/Enter die Help-Taste drücken), wird kein neues Fenster geöffnet, sondern das aktuelle mit dem neuen Datei-Inhalt überschrieben, wie das etwa auch bei Purbo-C geschieht (Der ursprüngliche Inhalt wird aus dem Speicher gelöscht, wenn der neue erfolgreich geladen werden konnte). Man kann 1stGuide auch so konfigurieren (siehe Kapitel 7), daß standardmäßig das Fenster überschrieben und nur bei Drücken einer Statustaste ein neues Fenster geöffnet wird.

Mit der Undo- oder Esc-Taste können Sie den Informationspfad schrittweise zurückverfolgen. Dabei wird die vorhergehende Datei im obersten Fenster überladen und an der Position angezeigt, wo Sie abgezweigt sind.

Fast überflüssig zu erwähnen, daß Sie die Info-Fenster wie gewohnt mit der Maus manipulieren, d.h. beliebig auf Ihrem Desktop (bzw. in der Applikation) positionieren, zoomen usw. und beliebig scrollen können. Alternativ zur Maussteuerung steht eine Reihe von Tastatur-Kommandos zur Verfügung, welche Ihnen die Arbeit erleichtern können. Außerdem gibt es eine Echtzeit-Scroll-Funktion: Wenn Sie bei gedrückter rechter Maustaste in den Sliderbereich klicken, können Sie bis zum Loslassen bzw. erneuten Klick der linken Maustaste durch bloße Mausbewegung durch die Datei “browsen”.

Das Programm kann beliebig viele Info-Fenster gleichzeitig verwalten, allerdings beschränkt der Window-Manager des GEM in gegenwärtigen Versionen die Gesamtzahl der Fenster auf 7. Sie erhalten eine entsprechende Meldung, falls kein Fenster mehr geöffnet werden kann.

Es folgt eine Übersicht der möglichen Tastaturkommandos:

Control-O Öffnen eines neuen Info-Fensters. Entspricht Anwahl des Punktes “1stGuide” im Desk-Menü.

Control-D Überladen des obersten Info-Fensters mit neuer Datei.

Control-U Schließen des obersten Info-Fensters. Entspricht Anklicken des Schließfeldes im Info-Fenster mit der Maus.

Control-F Zoomen des obersten Info-Fensters. Entspricht Anklicken des Full-Knopfes im Info-Fenster mit der Maus.

Control-W Cycle Windows, d. h. zyklisch nacheinander Aktivierung aller Info-Fenster möglich.

Control-Q Schließt alle Info-Fenster.

(Shift-) Cursortasten (Seitenweises) Scrollen.

(Shift-) ClrHome Zum (unteren) oberen Rand. (Shift-) Insert Zum (rechten) linken Rand. Undo; Esc Oberstes Fenster mit vorhergehendem Inhalt überschreiben. Control-A Öffnet den Konfigurations-Dialog und zeigt das aktuelle Versions-

datum von 1stGuide. Dies kann auch durch Gedrückthalten der rechten Maustaste beim Aktivieren über das Desk-Menü erreicht werden.

Control-C Kopiert die aktuelle Datei ins GEM-Clipboard. Control-P Gibt die aktuelle Datei auf ein Gerät (Drucker) aus oder sendet

einen entsprechenden Auftrag an den System-Spooler (CALCLOCK.ACC).

Sonder-Funktionen bei Aktivierung:

Shift-Alternate Alternative Dateiausgabe Fenster/Gerät. Control-Alternate Datei im Dump-Modus laden. Shift-Control Indexdatei laden. Rechts-Shift bei IMGs Farbpalette in Reihenfolge der VDI-Indizes la-

den/speichern

Je nach Dateiformat werden zusätzlich folgende Tasten ausgewertet:

Text

Control-N Einstellen Normalschrift (10 Punkt). Control-M Einstellen Mittelschrift (9 Punkt). Control-K Einstellen Kleinschrift (8 Punkt). Control-E Font über VA-Protokoll einstellen. Control-X OUT- bzw. DMP-Datei schreiben. Backspace Suchstring um letztes Zeichen verkürzen. Delete Suchstring löschen.

2 BEDIENUNG 5 Zeichen mit einem ASCII-Code nicht kleiner als 32 werden schrittweise zu einem Suchstring zusammengefaßt, welcher im Fenstertitel angezeigt wird. Die Suche bezieht sich bei Texten mit Verzweigungsschlüsseln immer auf die Link-Einträge, sonst auf den ganzen Text. Groß/Kleinschreibung wird bei Links ignoriert, sonst nicht. Die folgenden Tasten werden nur bei Texten mit Verzweigungsschlüsseln ausgewertet: Help Zu selektiertem Eintrag verzweigen mit Überschreiben des Fensters. Return; Enter Zu selektiertem Eintrag verzweigen mit Öffnen eines neuen

Fenster. (Shift-) Tab (Vorhergehenden) Nächsten Verzweigungseintrag selektieren.

Resource Control-Cursor-Links/Rechts Vorhergehenden / Nachfolgenden Objekt-

baum darstellen. Control-K Konvertieren M68k <-> Ix86.

Image Control-S Einstellen Standard-Farbpalette. Control-E Einstellen Original-Farbpalette (nur XIMG bzw. CMAP). Control-K Wechsel zwischen geditherter und transparenter Darstellung. Control-X Sichern XIMG bzw. CMAP.

Meta Control-S Einstellen Original-Maßstab. Control-E Einpassen in Fenster. Control-Cursor-Links/Rechts Zur ersten / nächsten Seite.

Soundsample

Control-S Einstellen Original-Maßstab.

Control-E Einpassen in Fenster.

Control-Cursor-Links/Rechts Nächstniedere / Nächsthöhere Frequenz einstellen.

Control-N Interruptsound aktivieren

Control-M DMA-Sound aktivieren

Control-T Sound stoppen

Wenn Sie mit der Maus einmal auf das oberste Info-Fenster klicken, erscheint ein Popup-Menü, mit dem Sie je nach Dateiart verschiedene Parameter einstellen oder Konvertierungen vornehmen können. Die Bedienung kann wahlweise auf GEM-Art (einmal kurz drücken und loslassen, auswählen und danach noch mal drücken) oder auf Macintosh-Art (Maustaste gedrückt halten, auswählen und dann loslassen) erfolgen.

Übrigens, wenn Sie den Popup-Menü-Einfachklick bzw. den Verzweigungs-Doppelklick bei gedrückter rechter Maustaste ausführen, können Sie die entsprechende Aktion auch in einem Info-Fenster auslösen, das nicht oben liegt (ohne daß dieses, wie es sonst der Fall wäre, nach oben kommt). Wußten Sie schon, daß eine analoge Möglichkeit auch im normalen Desktop mit seinen Verzeichnisfenstern besteht (Markieren, Öffnen, Kopieren usw.)? Dies ist in den gewöhnlichen Handbüchern nicht dokumentiert, kann aber manchmal recht nützlich sein.

Das beiliegende Informationssystem ist für den informationsbedürftigen ST-C-und Assembler-Programmierer gedacht. Es ist so angelegt, daß Sie per Tastatur bzw. Doppelklick jede detaillierte Information über das Betriebssystem TOS des ST mit GEM erreichen können. Wie Sie bemerken werden, ist es allerdings noch nicht ganz komplett.

3 Dateiformate

Wie schon erwähnt, werden sämtliche Standard-GEM-Formate sowie natürlich das ASCII-Textformat unterstützt und können jederzeit geladen werden. Die Erkennung eines Formates erfolgt anhand der Extension im Dateinamen:

.RSC GEM-Resource-Dateien

.IMG GEM-Image-Dateien (Rastergrafiken)

.IFF Interchange File Format (ILBM - Interleaved Bitmaps)

.GEM GEM-Metadateien (Objektgrafiken)

.SAM,.SND Soundsample-Dateien

sonst ASCII-Textdateien, 1st Word Plus Dateien (.DOC) oder Ausgabe-Dateien mit Schriftattributen (.OUT)

Wenn Sie etwa eine Textdatei in eine Datei mit der Extension .IMG umbenennen, könnten Sie sehen, wie sich Ihr Text als Rastergrafik präsentiert. Ich rate Ihnen jedoch von derlei Experimenten ab, da Sie sonst möglicherweise unliebsame Überraschungen erleben könnten.

Verzweigungsmöglichkeiten sind derzeit beim Text- und Resource-Format eingebaut. Bei Rasterbildern kann ich mir keine solche Funktion vorstellen, bei Metadateien bieten sich die String-Objekte (v gtext oder v justified) dafür an, ich werde dies demnächst implementieren, so daß Sie dann auch diese Dateien in Ihr Info-System einbinden können. Ansonsten können Sie die Grafik-Formate derzeit zumindest als End-Knoten in Info-Ketten verwenden.

3.1 Textdateien (ASCII, 1st Word, .OUT)

Zunächst werden selbstverständlich normale ASCII-Dateien geladen, die Sie mit einem beliebigen Texteditor erzeugt haben.

Wenn Sie sich die beigefügten Texte einmal direkt (d.h. nicht unter 1stGuide) anschauen, werden Sie den Aufbau der Links erkennen. Es handelt sich um eine zweiteilige Struktur, die in drei Paragraphenzeichen eingefaßt ist. Der erste Teil enthält das anzuzeigende Keyword (das dann fett und unterstrichen dargestellt wird), der zweite Teil enthält den relativen Pfad und Dateinamen des zugehörigen Textes (dieser Teil wird unter 1stGuide natürlich nicht dargestellt).

Im Grunde genommen sollte die Informationshierarchie der Dateihierarchie entsprechen, man kann jedoch jederzeit von einer Datei zu einer beliebigen anderen Datei verzweigen. Der Pfad muß dabei immer relativ angegeben werden (“..\” benutzen), damit ein Info-System bei Bedarf problemlos im File-System umgehangen werden kann.

Die anzuzeigende Textdatei darf Tabulator-Zeichen enthalten (ASCII-Code 09), die standardmäßig ausgewertet werden (d.h. mit der Weite 8). Sonstige Steuercodes (ASCII kleiner als 32, z. B. Zeilentrenner 13, 10), werden zum Teil gefiltert, Zeichencodes über 127 werden entsprechend Zeichensatz angezeigt. Das Paragraphenzeichen (ASCII-Code 222 = 0xDE) ist für den Aufbau von Links reserviert. Auf Links folgende Tabulatorzeichen in der Zeile sollten Sie vermeiden, da diese aufgrund der speziellen Link-Darstellung nicht richtig ausgewertet werden.

Bei 1st Word Texten werden die wichtigsten Steuerzeichen gefiltert (Soft- und Wide-Spaces, Phantom-Bindestriche, variable Seitenumbrüche) bzw. ausgewertet (Textattribute fett, unterstrichen, kursiv und hell). Fußnoten sowie eingebundene Grafiken werden (noch) nicht unterstützt.

Das Popup-Menü bietet Ihnen bei Textdateien die Wahl zwischen drei verschiedenen Schriftgrößen des Systemfonts, wodurch sich die Übersicht unter Umständen erheblich verbessern läßt. Wurde die Datei über ein Programm geladen, welches das VA-Protokoll und speziell VA FILEFONT unterstützt (z.B. der Gemini-Desktop), so kann ein beliebiger GDOS-Font verwendet werden. Über das Konfigurationsmenü (siehe Kapitel 7) kann eingestellt werden, ob 1stGuide beim Öffnen des Fensters automatisch einen solchen Font erfragen und einstellen soll oder nicht. Außerdem kann der aktuell eingestellte Font permanent gesichert werden, so daß er dann auch ohne VA-Protokoll zur Verfügung steht.

Die Funktion “OUT-Datei schreiben” ist sinnvoll bei Texten mit Verzweigungsschlüsseln und besonders bei 1st Word Texten. Es werden dann nämlich die Text-Attribute der Verzweigungsschlüssel-Darstellung bzw. diejenigen von 1st Word in das von Digital Research standardisierte OUT-Format umgewandelt und damit die Texte zur Ausgabe auf einen Drucker vorbereitet. Für nähere Informationen zum OUT-Format verweise ich Sie auf das GEM-Profi-Buch von Geiß/Geiß. Welchen Vorteil bietet nun das OUT-Format dem Anwender? Nun, der entscheidende Vorteil besteht darin, daß Sie eine solche Datei mit Hilfe eines Output- (oder Ausdruck-) Programms, wie es für MS-DOS beim GEM mitgeliefert wird und auf dem Atari ST z.B. bei Easydraw oder SciGraph zu finden ist, samt Textattributen auf Ihren Drucker ausgeben können, ohne eine von 1st Word bekannte spezielle Drucker-Konfigurationsdatei PRINTER.CFG zu verwenden. Die Ausgabe wird dann über den GDOS-Drucker-Treiber mit Hilfe der VDI-Funktion v alpha text abgewickelt. Im Unterschied zu den anderen Textausgabe-Funktionen des VDI erfolgt die Ausgabe dabei im Textmodus statt im Grafikmodus. Außerdem können in einer OUT-Datei auch Rasterbilder eingebunden werden (wird von 1stGuide noch nicht unterstützt), womit die Funktionalität dieses Formats der von 1st Word Plus entspricht.

Das OUT-Format kann nun von 1stGuide auch eingelesen werden. Wenn Sie etwa eine 1st Word Datei als OUT-Datei schreiben und diese anschließend einlesen, sollten Sie zumindest bei den 4 oben genannten Textattributen keine Unterschiede in der Darstellung feststellen. Da 1stGuide die Verzweigungs-Links beim OUT-Datei-Schreiben mit den entsprechenden Textattributen versieht und die zugehörige Verzweigungs-Information entfernt, können Sie natürlich von einer von 1stGuide geschriebenen OUT-Datei nicht mehr verzweigen (Der Sinn der Aktion besteht ja auch darin, die Texte so, wie sie auf dem Bildschirm erscheinen, auf einen Drucker zu bringen).

3.2 Resourcedateien (.RSC)

Mit Hilfe des Resource-Formates ist es möglich, beispielsweise einfache Blockgrafiken in das Informations-System einzubinden, von denen ähnlich wie bei Textdateien verzweigt werden kann.

Sie können die Resource-Datei wie gewohnt mit einem Resource-Construction-Set erzeugen. Als Verzweigungsschlüssel können Sie dabei ein beliebiges Objekt mit einer Textkomponente (also auch ein Icon) definieren. Das darauf folgende Objekt in der gleichen Hierarchie-Ebene (Zeiger ob next in der Objektstruktur) muß dann vom Typ G STRING sein und als Flag HIDETREE haben. Dieser String enthält den Namen der Verzweigungs-Datei, der genau wie bei Textdateien relativ anzugeben ist. Durch das Flag HIDETREE wird dieses Objekt von der AES-Funktion objc draw nicht dargestellt. Im Rcs2 von Digital Research können Sie diese versteckten Objekte wieder sichtbar machen (z.B. zur Bearbeitung), wenn Sie das Vater-Objekt anwählen und die Funktion Unhide Children ausführen. Um nun die Verzweigungsschlüssel-Eigenschaft für den Anwender sichtbar zu machen, sollten Sie diesen durch eine schattierte Box einrahmen. Dort muß dann allerdings auch die versteckte Verzweigungs-Information hineinpassen, was im Rcs2 etwas Geschick erfordert, da der String dann gewöhnlich aus dem verkleinerten Objekt herausragt. Aber wie gesagt, bei etwas Geschick ist dies möglich.

1stGuide stellt nach dem Öffnen zunächst den ersten Objektbaum einer Resourcedatei dar. Bei GEM-Anwendungen ist das meist die Menüzeile, die sich dann voll ausgeklappt vor Ihnen ausbreitet. Sollte die Resource-Datei überhaupt keinen Objektbaum (sondern nur freie Objekte) enthalten, so wird abgebrochen. Falls die Resourcedatei mehr als einen Objektbaum enthält, so können Sie mit Hilfe des Klick-Popup-Menüs oder mit Control-Cursor-links und Control-Cursor-rechts alle Objektbäume zyklisch vor- bzw. rückwärts durchlaufen.

Übrigens können soviel Resource-Dateien gleichzeitig geladen werden, wie Fenster und Speicherplatz zur Verfügung stehen. Da der Resource-Manager des AES aber nur eine Resource-Datei gleichzeitig verwalten kann (mit der parameterlosen Funktion rsrc free wird beispielsweise immer die zuletzt geladene Resource freigegeben), mußte für 1stGuide eine eigene Laderoutine entwickelt werden. Diese kann nun sowohl Resource-Dateien im Motorola- als auch im Intel-Format korrekt darstellen, und zwar sowohl in der ST- als auch in der IBM-Version. Die Erkennung des jeweiligen Formates erfolgt dabei automatisch. Doch damit nicht genug. Auch eine Konvertierung in das jeweils andere Format ist in beiden Versionen möglich.

Hierzu ist folgendes zu erklären: Während IMG-Dateien grundsätzlich im Motorola-Format und GEM-Metadateien grundsätzlich im Intel-Format vorliegen (und auf dem jeweils anderen Rechner entsprechend konvertiert werden müssen), liegen Resource-Dateien immer im Format des jeweiligen Rechners vor, so daß sie normalerweise nicht ohne weiteres austauschbar sind. Die Konvertierung bezieht sich dabei auf das byteweise Drehen von Worten bzw. wortweise Drehen von Langworten. Mit 1stGuide wird nun genau dieses Problem gelöst. Sie können von nun an Ihre Resourcen problemlos zwischen ST und IBM austauschen, wechselseitig bearbeiten und ungeachtet der Herkunft darstellen.

Als GEM-Kenner müssten Sie allerdings bezüglich der automatischen Erkennung skeptisch werden. Es gibt nämlich kein von Digital Research vorgesehenes Mittel, um zu erkennen, ob eine Resource-Datei im Intel- oder Motorola-Format vorliegt. Daher muß zu einem Trick gegriffen werden, der zwar nicht 100%ig sicher sein kann, aber wohl 99,99%ig sicher ist. Diese Sicherheit ist identisch mit der Wahrscheinlichkeit, daß eine Resource-Datei nicht mehr als 255 Objektbäume enthält (wohlgemerkt: Objektbäume, nicht Objekte !). In diesem Fall muß nämlich ein Byte des Wortes im Resource-Header, das die Anzahl der Bäume angibt (Komponente rsh ntree) gleich Null sein. Je nachdem, welches Byte das nun ist, kann das entsprechende Format festgestellt werden.

Das erkannte Format erfahren Sie im Klick-Popup-Menü, mit dem Sie auch die Konvertierung veranlassen können. Dazu wird die Datei nochmals eingelesen (die im Speicher befindliche Resource ist bereits an den Bildschirm angepaßt), allerdings auf den gleichen Platz der dargestellten Resource, so daß kein zusätzlicher Speicherplatz gebraucht wird. Die Konvertierung ist umkehrbar, d.h. wenn Sie die Datei wieder zurückkonvertieren, erhalten Sie wieder das Ausgangsformat. Trotzdem empfehle ich Ihnen, die Konvertierung nur mit Kopien der Original-Resource durchzuführen, da bei einem eventuellen Schreibfehler Ihre Daten in den ewigen Jagdgründen landen können (die konvertierte Datei wird auf den Platz der Ausgangsdatei zurückgeschrieben).

3.3 Rasterbilddateien (.IMG, XIMG, .IFF)

Das GEM-Image-Format (.IMG) zeichnet sich durch seine große Flexibilität und darauf beruhende Portabilität aus. Im Gegensatz zu den anderen auf dem ST verwendeten Grafikformaten ist es weder an irgendeine Bildschirm- noch an eine Farbauflösung gebunden. Diese variablen Parameter sind u.a. im Kopf einer IMG-Datei festgehalten. Eine IMG-Datei liegt immer im Motorola-Format vor, so daß unter MS-DOS eine entsprechende Anpassung beim Laden und Speichern nötig ist. Für nähere Informationen empfehle ich wieder das GEM-Profi-Buch von Geiß/Geiß.

Mit 1stGuide können Sie nun bei entsprechender Geräte-Ausstattung die volle Farbenpracht nahezu beliebig großer IMG-Bilder genießen. Zwei Besonderheiten gilt es hier zu beachten.

Die erste Besonderheit ergibt sich einfach aus der Tatsache, daß die Anzahl der Farbebenen, aus denen sich die Anzahl der möglichen Farbindizes ergibt, bei der IMG-Datei und dem angeschlossenen Bildschirm nicht übereinzustimmen brauchen. Eine IMG-Grafik mit 4 Farbebenen (16 Farbindizes) kann auf einem Monochrom-Monitor schwerlich ihre Farbenpracht zeigen. Umgekehrt kann man aus einer monochromen Grafik auch beim buntesten Farbmonitor nicht mehr als 2 Farben herbeizaubern.

Es sind nun 2 Ausnahmefälle zu unterscheiden. Ist die Anzahl der IMG-Farbebenen kleiner als die des Bildschirms, so werden die fehlenden Ebenen so erweitert, daß die resultierenden Farbindizes einander entsprechen. Im umgekehrten Fall werden die überzähligen Farbebenen einfach zyklisch den vorhandenen überlagert (transparente Darstellung). Dies ist eine einfache, aber wenig effektvolle Methode, da so auf einem Monochrommonitor alles, was nicht weiß ist, schwarz dargestellt wird. Aus diesem Grunde kann 1st-Guide Farbgrafiken auch als monochrome Grauraster darstellen. Die Grafik wird dazu beim Einlesen gedithert. Die Dither-Routine kommt gegenwärtig mit bis zu 12 Farbebenen (entspricht 4096 Farben) klar.

Das Dithering dauert auf einem normalen ST bei einem 320 * 200 Bild mit 16 Farben (niedrige ST-Standardauflösung) etwa 4 Sekunden, wofür man aber mit einem sehr ansprechend aussehenden Bild belohnt wird. Sinnvoll ist das Dithering übrigens eigentlich nur, wenn die Palette-Informationen in der Datei verfügbar sind (siehe unten), sonst wird von der Standard-Palette ausgegangen.

Beim Öffnen des Fensters nach dem Einlesen wird das Bild zunächst (nach Möglichkeit) in geditherter Form dargestellt. Da diese Darstellung grundsätzlich mono-(duo-)chrom ist, kann man auch auf transparente Darstellung umschalten, wo eventuell noch einige Farben zu sehen sind (z.B. wenn ein 16-Farben-Bild in der mittleren ST-Standardauflösung mit 4 Farben dargestellt wird).

Kommen wir nun zur zweiten Besonderheit. Sie betrifft die Unterstützung des im GEM-Profi-Buch von Geiß/Geiß definierten erweiterten IMG-Formats, des sogenannten XIMG-Formats. Diese Erweiterung erlaubt die Abspeicherung der den Farbindizes zugeordneten Farbpalette-Werten, die erst eine Echtfarben-Darstellung einer IMG-Grafik möglich macht. Dazu wird die Tatsache ausgenutzt, daß der IMG-Header von Digital Research mit variabler Länge definiert wurde. Beim XIMG-Format wird der Kopf nun um eine Liste der den Farbindizes zugeordneten Palette-Werte erweitert. Anwendungen, die das IMG-Format unterstützen, aber das XIMG-Format nicht kennen, müssten bei korrekter Programmierung^{1} trotzdem mit der Grafik arbeiten können. Mit 1stGuide können Sie nun jede IMG-Datei in eine entsprechende XIMG-Datei verwandeln, und damit eine entsprechende Farbpaletten-Einstellung sichern, die dann wieder rekonstruierbar ist. Dazu dient der unterste Punkt im Klick-Popup-Menü. Damit wird die aktuelle Farbpaletten-Einstellung, die Sie z.B. mit dem Atari-Kontrollfeld vorgenommen haben, in der IMG-Datei verewigt. Wird beim Einlesen einer IMG-Datei das XIMG-Format erkannt, so können Sie mit dem Popup-Menü-Punkt “Original” die zugehörige Farbpalette aktivieren. Die Einstellung wird nicht sofort nach dem Einlesen vorgenommen, da diese immer auf den ganzen Bildschirm wirkt und nicht lokal auf ein Fenster begrenzt werden kann. Die ursprüngliche Farbpalette wird dann anstelle der eingelesenen im Speicher gesichert, damit sie anschließend durch Anwahl des Punktes “Standard” wiederhergestellt werden kann. Ist der Punkt “Original” nach dem Einlesen einer IMG-Datei gesperrt, so handelt es sich nicht um ein XIMG-Format.

Leider gibt es gegenwärtig zwei verschiedene Interpretationen des XIMG-Formats, was die Reihenfolge der abgespeicherten Farbindizes betrifft. 1stGuide-Versionen vor Dec 23 1991 sowie GEMVIEW bis Version 1.0.4 haben die Farben in der Reihenfolge der VDI-Farbindizes abgespeichert, neuere Versionen beider Programme speichern die Farben in der Reihenfolge der Plane-Indizes, da nur so eine korrekte Zuordnung der Farben auch in niedrigeren Farbauflösungen (Monochrom) gesichert ist. Die Zuordnung zu den VDI-Farbindizes wird erst zur Programmlaufzeit vorgenommen (mit Hilfe der Funktion v get pixel).

Um auch ältere XIMG-Dateien weiterverarbeiten zu können, kann man 1st-Guide auch dazu veranlassen, die alte Interpretation vorzunehmen. Dies geschieht durch Gedrückthalten der rechten Shifttaste beim Einladen bzw. bei Sicherung der Farbpalette. Dadurch können auch beliebige Konvertierungen von der einen zur anderen Interpretation durchgeführt werden.

Schließlich möchte ich noch bemerken, daß die Grafiken eventuell verzerrt auf dem Bildschirm erscheinen können, da die Parameter im Kopf, die die originalen Pixelmaße angeben, (noch) nicht ausgewertet werden.

1Auswertung der Variablen headlen im Kopf der IMG-Datei

Neben dem GEM-Image-Format unterstützt 1stGuide auch das ursprünglich auf dem Commodore Amiga eingeführte Interchange File Format (.IFF). Dieses ist in seiner Flexibilität mit dem .IMG-Format vergleichbar, wobei sich neben Bitmaps auch noch andere Daten wie zum Beispiel Sounds speichern lassen. 1stGuide unterstützt hier das standardmäßige ILBM-Format (Interleaved Bitmaps). Außerdem erlaubt das IFF-Format standardmäßig die Abspeicherung von Farbpaletten, deren Manipulation ähnlich wie beim IMG-Format mit 1st-Guide möglich ist.

Wer jetzt verlangt, ich solle doch auch die diversen auf dem ST (leider noch) verbreiteten Formate wie Screen, Degas, Stad und Co. unterstützen, stößt bei mir auf taube Ohren. Hier verweise ich auf entsprechende Konvertierungsprogramme (z.B. GemView von Dieter Fiebelkorn – ein bemerkenswertes Programm, das eine Vielzahl von Bildformaten in das allumfassende XIMG-Format wandeln kann und dabei auch Farben in Grauraster umrechnet!). Ein Format muß schon mindestens die Flexibilität des IMG- bzw. IFF-Formats besitzen, um von 1stGuide berücksichtigt zu werden.

3.4 Metadateien (.GEM)

Metadateien sind Grafiken, die als Folge von VDI-Befehlen gespeichert sind. Der Vorteil solcher objektorientierter Grafiken besteht darin, daß sie in jeder Auflösung des Ausgabegerätes (Drucker, Bildschirm usw.) optimal dargestellt werden können. Da Metadateien immer im Intel-Format vorliegen, müssen sie auf dem ST beim Laden und Speichern entsprechend umgewandelt werden^{2}. Näheres finden Sie im GEM-Profi-Buch von Geiß/Geiß. 1stGuide unterstützt Metadateien sowohl im RC- als auch im NDC-Koordinatensystem. Nach dem Laden wird die Grafik in ihrer Originalgröße auf dem Bildschirm dargestellt. Dazu werden die Parameter im Kopf der Metadatei sowie die Open Workstation Parameter des VDI für den Bildschirm ausgewertet. Wahlweise kann dann die Grafik mit Hilfe des Klick-Popup-Menüs in das aktuelle Fenster eingepasst werden.

Für jede eingelesene Metadatei wird von 1stGuide im Gegensatz zu den anderen Dateiformaten eine eigene virtuelle Workstation für den Bildschirm beim VDI geöffnet (und beim Schließen des Fensters wieder freigegeben). Damit wird verhindert, daß etwa Attribute für die Textdarstellung in anderen Fenstern verändert werden. Somit brauchen diese nicht ständig neu gesetzt werden. Außerdem werden beim Öffnen einer Metadatei von 1stGuide eventuelle zusätzliche GDOS-Zeichensätze geladen und beim Schließen wieder freigegeben (beim Atari ST natürlich nur dann, wenn ein GDOS geladen ist). Das Bit-Image-Flag im Kopf der Metadatei wird von 1stGuide (noch) nicht ausgewertet, so daß Metadateien mit eingebundenen Bit-Images nicht unterstützt werden. Allerdings gibt es eine Ausnahme. Die Applikation Gempaint unter MS-DOS sowie der EasyDraw-Scharger auf dem Atari ST erzeugen zu jeder IMG-Datei noch eine zusätzliche GEM-Metadatei, die nur den VDI-Befehl v bit image mit den entsprechenden Parametern enthält. Findet 1stGuide nun als ersten VDI-Befehl in einer Metadatei diesen v bit image-Befehl vor, so wird der Dateiname der zugehörigen IMG-Datei ausgewertet und anschließend in die IMG-Laderoutine verzweigt, so daß dann die Darstellung genau wie beim IMG-Format erfolgt. Die zusätzlichen Parameter von v bit image (Seitenmaße und Ausrichtung) werden dabei nicht berücksichtigt.

2Beim Speichern erledigt dies normalerweise der GDOS-Metafile-Treiber.

Wird in der Metadatei die VDI-Funktion vs color benutzt, so kann die Farbpalette, wie schon beim IMG-Format erwähnt, neu eingestellt werden. Dies wird von 1stGuide (noch) nicht erkannt, so daß die Einstellung sich sofort auf den ganzen Bildschirm auswirkt.

3.5 Soundsampledateien (.SAM, .SND)

1stGuide kann digitalisierte Sounddaten mit 8 Bit Auflösung auf jedem normalen ST abspielen, auf STEs/TTs wahlweise auch im DMA-Mode. Digitalsounds ermöglichen die Wiedergabe beliebiger natürlicher oder synthetischer Klänge, wie sie beispielsweise mit einem Soundsampler aufgenommen bzw. erzeugt werden können.

Da sich offenbar leider für digitale Sounddateien noch kein verbreitetes Standardformat durchgesetzt hat, werden zur Zeit nur bestimmte, durch verschiedene ST-Programme verwendete Formate unterstützt. Der Aufbau von 8-Bit-Sampledateien ist im Grunde recht einfach, da jedem Samplewert ein Byte in der Datei entspricht. Unterschiede beginnen allerdings schon bei der Interpretation des Wertebereiches eines Samplewertes: von 0 bis 255 oder von -128 bis +127. Sehr wichtig ist die Angabe der sogenannten Samplerate, da nur dann der Sound mit der richtigen Frequenz abgespielt werden kann.

1stGuide unterstützt .SAM-Dateien, wie sie bei den Programmen Sound-Machine und SoundMerlin verwendet und beispielsweise auch von der Datenbank Phoenix unterstützt werden. Diese sind mit einem den eigentlichen Sounddaten vorangehenden Header versehen, der durch eine eindeutige Kennung einen Schluß auf den Wertebereich zuläßt und weiterhin ein Maß für die Samplerate enthält, so daß 1stGuide diese Samples korrekt wiedergeben kann.

Sind diese Daten nicht verfügbar, so wird von einem Wertebereich von 0 - 255 und einer Samplerate von 7000 Hertz ausgegangen. Damit werden z.B. die .SND-Dateien des Spiels Esprit korrekt abgespielt.

In jedem Fall läßt sich die Abspiel-Frequenz im Rahmen der Hardwaremöglichkeiten beliebig einstellen, d.h. beim normalen Interruptsound sehr fein, beim DMA-Sound dagegen sehr grob (6258, 12517, 25033 oder 50066 Hz). Der DMA-Sound wiederum hat, falls verfügbar, den Vorteil, daß er keine CPU-Rechenzeit kostet. Der Interruptsound dagegen ‘frißt’ mit zunehmender Frequenz immer mehr Rechenzeit. Die Obergrenze für die Frequenz ist dabei von verschiedenen Faktoren wie CPU-Takt, Caches usw. abhängig. Auf einem ‘ungetunten’ 8-MHz-ST kann man bei 20 kHz schon deutliche ‘Zeitlupeneffekte’ beobachten, und viel höher sollte man die Frequenz auch nicht wählen, da es sonst zu Interruptproblemen kommt.

Bei DMA-Sound-fähigen Rechnern (STE/TT) können Lautstärke, Höhen und Tiefen über das SOUND.CPX-Modul des modularen Kontrollfeldes von Atari eingestellt werden, was sowohl den DMA-Sound als auch den Interruptsound entsprechend beeinflußt.

Wer Samples mit anderen als den angegebenen Standarddaten mit 1stGuide abspielen will, sollte sich an eines der .SAM-Formate halten, also den Sampledaten einen entsprechenden Header voransetzen, der die benötigten Daten zur Verfügung stellt. Dazu kann man sich im Quelltext SOUND.C von 1stView anschauen, wie sich 1stGuide/1stView die entsprechenden Informationen verschaffen.

Im Fenster stellt 1stGuide die Sample-Kurve dar, wodurch man ein genaues ‘Bild’ des Samples erhält. So sind z.B. Übersteuerungen recht deutlich zu erkennen. Kleine Linienfehler beim Scrollen (z.B. fehlende Linienstücke) sind durch den Clipping-Algorithmus des VDI bedingt (für Experten: Cohen-Sutherland-Clipping) und nicht ohne größeren Aufwand vermeidbar. Die Einpassung ins Fenster kann bei großen Samples recht lange dauern, und die Darstellung funktioniert gegenwärtig auch nur dann korrekt, wenn der Sample nicht größer als etwa ein Megabyte ist.

3.6 Der Dump-Modus

Hält man während der Anwahl der Datei(en) die Control- und Alternate-Taste gedrückt, so lädt 1stGuide die Datei(en) in Form eines Hex-/ASCII-Dumps. Dabei werden ausnahmslos alle Zeichen direkt angezeigt, d.h. es wird kein Zeichen interpretiert. Wenn hier gesagt wird alle, dann ist das auch so gemeint, d.h. daß z.B. auch ASCII-NUL (Code 0) “angezeigt” wird^{3}.

3Es gibt Zeichensätze, z.B. ChicFont von Christoph Bartholme, die NUL nicht wie üblich als Leerzeichen darstellen!

Damit sofort erkennbar ist, daß eine Datei im Dump-Modus dargestellt wird, wird in diesem Fall der Pfadname im Fenstertitel in Kleinschrift angezeigt.

Für ein Dump-Fenster kann wie bei jedem anderen Textfenster auch ein beliebiger Zeichensatz eingestellt werden. Anstelle des Speicherns einer OUT-Datei kann man im Dump-Modus eine DMP-Datei sichern. Diese enthält den Dump in Form einer ASCII-Textdatei, die dann mit einem Texteditor (oder normal mit 1stGuide) geladen sowie ausgedruckt werden kann^{4}. Damit es dabei keine Probleme gibt, muß der Steuerzeichenbereich (0 - 31) in der DMP-Datei natürlich ausgeblendet werden. Dies geschieht durch Ersetzen dieser Zeichen durch einen Punkt (dies ist eine gängige Methode). Alle anderen Zeichen (auch über 127) werden übernommen, da diese in der Regel normal verarbeitet werden können.

Achten Sie bitte darauf, daß eine DMP-Datei knapp 5 mal so groß wird wie die Originaldatei! Da Sie niemand daran hindert, von einer DMP-Datei nach Einlesen im Dump-Modus wieder eine DMP-Datei zu erzeugen, können Sie so schnell sehr große Dateien erzeugen.

Auch bei einer Clipboard-Kopie Ctrl-C wird der Dump als DMP-Datei im Clipboard abgelegt.

In Dump-Fenstern gilt auch die maximale Zeilenzahl von 32767 Zeilen. Da pro Zeile 16 Byte gedumpt werden, können also maximal 32767 * 16 = 0.5 MB große Dateien komplett gedumpt werden. Trotzdem können auch größere Dateien auch bei weniger Speicher gedumpt werden, es wird dann halt nur soviel geladen wie möglich.

Wenn Sie Programmdateien dumpen möchten, beachten Sie bitte, daß hier die Doppelklickmethode (Gemini/Desktop) nicht funktioniert, da dann die Programme gestartet würden. In diesem Fall muß man also die Dateien explizit “ziehen” bzw. per FileSelect auswählen.

4 Kommunikation

4.1 1stGuide und Gemini

Wenn Sie den Shareware-Desktop Gemini von Stefan Eissing und Gereon Steffens benutzen, können Sie die Arbeit mit 1stGuide wesentlich komfortabler gestalten. 1stGuide versteht das in Gemini implementierte Kommunikationsprotokoll. Das bedeutet, wenn Sie das 1STGUIDE.ACC-Icon auf dem offenen Gemini-Desktop ablegen, so können Sie Dateien aus einem Gemini-Fenster daraufziehen, woraufhin diese von 1stGuide geöffnet werden. Sie ersparen sich so die unter Umständen lästige Suche in der Datei-Auswahl-Box. Es können auch mehrere Dateien gleichzeitig gezogen werden, wobei dann für jede Datei ein entsprechendes Fenster geöffnet wird. Außer auf das 1STGUIDE.ACC-Icon können Sie Objekte aus Gemini-Fenstern auch in ein von 1stGuide geöffnetes Fenster ziehen. Das hat dann zur Folge, daß der entsprechende Fensterinhalt mit dem Inhalt des neuen Objekts überschrieben wird (entspricht Control-D mit Dateiauswahl). Ziehen Sie mehrere Objekte auf ein 1stGuide-Fenster, so wird für die weiteren Objekte jeweils ein weiteres Fenster geöffnet. Ein Doppelklick auf das 1STGUIDE.ACC-Icon bringt die Datei-Auswahl-Box zum Vorschein (entspricht Control-O bzw. Anklicken des Desk-Menüpunktes). Melden Sie 1STGUIDE.ACC bei Gemini als Applikation auf einen bestimmten Dateityp an (z.B. *.HLP), so können Sie durch einen Doppelklick auf ein derartiges Objekt in einem Gemini-Fenster das Öffnen eines entsprechenden 1stGuide-Fensters veranlassen (anstatt dieses Objekt auf das 1STGUIDE.ACC-Icon zu ziehen). Sie können auch 1stGuide auf “*” anmelden und in der Applikationsliste ganz unten positionieren. Dadurch erreichen Sie bei Doppelklick auf ein Objekt, das nicht schon einer anderen Applikation zugeordnet ist, ein sofortiges Öffnen eines Fensters durch 1stGuide statt des sonst üblichen Ansehen/Drucken/Abbruch-Dialoges von Gemini.

4Beim Drücken von Control-P im Dump-Modus wird nicht der Dump gedruckt, sondern die Originaldatei, da sich das Drucken immer auf den jeweiligen Pfadnamen und nicht auf die Fensterdarstellung bezieht!

Tastatur-Eingaben, die unter 1stGuide keine Wirkung haben, werden von 1stGuide an Gemini weitergeleitet. Auf diese Weise können Sie bestimmte Gemini-Aktionen auch dann auslösen, wenn gerade ein 1stGuide-Fenster oben liegt.

Schließlich möchte ich noch bemerken, daß alles eben Gesagte auch dann funktioniert, wenn Sie 1stGuide über The Chameleon von Karsten Isaković geladen haben, da The Chameleon Nachrichten von Gemini an das geladene Accessory (bzw. umgekehrt) durchreicht.

4.2 1stGuide und Tc help

In 1stGuide ist das Tc help-Protokoll eingebaut. Das bedeutet, daß 1st-Guide auf den Nachrichtentyp AC HELP (Nummer 1025) reagiert. Dies wird von neueren Versionen verschiedener Editoren wie Tempus, Edison, Pks-Edit sowie von 7UP^{5} unterstützt. Man kann dort ein Wort in einem Text selektieren und durch Drücken einer Taste (z.B. Help) das Senden einer AC HELP-Nachricht veranlassen.

57UP ist ein ausgezeichneter Shareware-Editor von Michael Thänitz

Ein Problem hierbei ist, daß die Editoren dabei von dem Namen TC HELP des betreffenden Accessorys ausgehen. Eine Möglichkeit zur Lösung dieses Problems wäre das Umbenennen von 1STGUIDE.ACC in TC HELP.ACC, wodurch die Nachrichten richtig ankommen würden. Dadurch kann man dann aber die Konfiguration von 1stGuide nicht mehr ohne weiteres sichern (siehe Kapitel 7), da 1stGuide dann sein eigenes Programm nicht mehr findet.

Eine günstigere Möglichkeit ist daher das Patchen der entsprechenden Programme, indem man mit einem Dateimonitor die Zeichenkette “TC HELP ” sucht und durch “1STGUIDE” ersetzt. Dies funktioniert bei 7UP, Edison sowie Tempus 2.10 tadellos, Pks-Edit konnte noch nicht getestet werden. Im allgemeinen sollte dies immer funktionieren, solange die Strings nicht aus irgendeinem Grunde verschlüsselt im Programm stehen.

Bei 7UP ab Version 2.1 ist ein Patch nicht mehr nötig, da der Name des Hilfsaccessorys frei konfiguriert werden kann.

Das übergebene Schlüsselwort sucht 1stGuide in seiner Indexdatei (kann im Konfigurations-Dialog eingestellt werden, siehe Kapitel 7) und öffnet ein entsprechendes Fenster^{6}.

Bei der Indexdatei handelt es sich dabei um eine ganz normale Textdatei mit Verzweigungsinformationen, die normalerweise von dem Hilfsprogramm 1stIndex (siehe Kapitel 9) erstellt wurde.

4.3 1stGuide und Calclock

1stGuide hat zwei Berührungspunkte mit einem Spooler-Accessory namens Calclock.

Zunächst kann man 1stGuide so konfigurieren (siehe Kapitel 7), daß es bei Drücken von Ctrl-P eine Nachricht an ein Calclock-Accessory zur Ausgabe der aktuellen Datei schickt anstatt die Ausgabe selbst vorzunehmen (kann man auch mit Control-L.Shift-Alternate-P erreichen). Andererseits kann 1stGuide selbst auch Calclock-Aufträge bearbeiten, d.h. es reagiert auf entsprechende Nachrichten von anderen Applikationen mit dem Ausdruck von Dateien und kann damit ein weiteres Calclock-Accessory ersparen.

Der oben bereits erwähnte Shareware-Editor 7UP von Michael Thänitz unterstützt dies beispielsweise. Ab Version 2.1 wird 1stGuide direkt unterstützt, bei älteren Versionen kann man sich mit einem Patch behelfen (siehe oben).

6bzw. gibt eine Alertbox aus, daß der Begriff nicht gefunden werden konnte

4.4 1stGuide und das GEM-Clipboard

1stGuide unterstützt den Datenaustausch mit anderen Applikationen über das GEM-Clipboard. Wenn Sie Ctrl-C drücken, so wird die aktuelle Datei ins Clipboard kopiert, sofern ein solches gesetzt ist (anderenfalls wird nicht die Datei in das fehlende Clipboard, sondern eine Fehlermeldung auf den realen Bildschirm kopiert). Bei Textdateien werden dabei grundsätzlich zwei Dateien erzeugt: SCRAP.TXT als reine ASCII-Datei (bereinigt von eventuellen Text-Attributen) sowie SCRAP.OUT mit eventuellen Standard-Textattributen. An-

dere Dateiformate werden als SCRAP.IMG, SCRAP.GEM, SCRAP.RSC, SCRAP.SAM

bzw. SCRAP.SND geschrieben. Befindet man sich gerade im Dump-Modus, so wird schließlich eine Datei namens SCRAP.DMP erzeugt.

Wenn man mit dem Shareware-Editor 7UP arbeitet, kann man beispielsweise unmittelbar nach der Kopie eines Hilfstextes ins Clipboard diesen in einen Text in 7UP einfügen, falls die GEM-Clipboard-Option eingeschaltet ist.

4.5 1stGuide und andere Applikationen

Falls Sie selber auch (GEM-)Programme schreiben, so können Sie 1stGuide über die implementierten Kommunikations-Schnittstellen auch aus eigenen Anwendungen heraus ansprechen.

Zunächst wäre da der Nachrichtentyp VA START^{7}. Durch Sendung dieser Nachricht an 1stGuide (nach Ermittlung der Identifikations-Nummer von 1st-Guide mit Hilfe der Funktion appl find) einschließlich der entsprechenden Parameter (Pfadnamen) kann 1stGuide bereits aktiviert und zur Fensteröffnung veranlaßt werden. 1stGuide informiert dann seinerseits den Absender dieser Nachricht über geöffnete Fenster bzw. deren Schließung (Meldungen AV ACCWINDOPEN und AV ACCWINDCLOSED). Falls das Programm diese Meldungen auswertet, kann es mit VA DRAGACCWIND Nachrichten an 1stGuide mit Bezug auf eines dieser Fenster senden, was das Überschreiben des Fensterinhalts zur Folge hat.

Je nach Konfiguration von 1stGuide (siehe Kapitel 7) kann es jedoch auch sein, daß die Dateien bei VA START nicht in einem Fenster, sondern auf ein Gerät ausgegeben werden.

Möchte man unbedingt Dateien ausdrucken, so schickt man einfach eine Standard-Calclock-Message (Nummer 100) an 1stGuide. Dabei können sogar wie bei VA START auch mehrere Dateien gleichzeitig angegeben werden.

7Siehe dazu die Datei VAPROTO.H in den Gemini-Samples.

Schließlich kann man sich auch die AC HELP-Message zunutze machen, um 1st-Guide einen Begriff in einer Indexdatei suchen zu lassen um daraufhin ein entsprechendes Fenster zu öffnen.

Noch ein Hinweis: Rufen Sie appl find immer erst unmittelbar bei Aktivierung eines entsprechenden Punktes durch den Nutzer auf und nicht nur bei Programmbeginn. Seit der Existenz von The Chameleon von Karsten Isaković könen Accessories nämlich dynamisch nachgeladenen werden, so daß bei Meldung eines nichtgeladenen 1stGuide der Nutzer dieses anschließend nachladen und den entsprechenden Punkt einfach nochmal anwählen könnte.

5 Geräteausgabe

Durch Drücken von Ctrl-P können Sie die aktuelle Datei ausdrucken. 1st-Guide benötigt dazu grundsätzlich GDOS. Wenn Sie bereits ein GDOS auf Ihrem ST installiert haben (z.B. im Zusammenhang mit Gemini), können Sie sich also schon mal beruhigt zurücklehnen, ansonsten werden Sie eine Installation vielleicht im Zusammenhang mit 1stGuide in Erwägung ziehen.

Falls Sie einen passenden GDOS-Treiber für Ihren Drucker haben, können Sie problemlos Image- und Meta-Dateien über 1stGuide in entsprechender Qualität ausdrucken. Bei Text-Dateien wird die Ausgabe über die VDI-Funktion v alpha text vorgenommen, die über den GDOS-Treiber Ausgaben im Textmodus auf den Drucker leitet und außerdem Textattribute in standardisierter Form (OUT-Format, siehe GEM-Profi-Buch von Geiß/Geiß) auswertet. 1stGuide wandelt nun auch die 1st Word Attribute sowie die der Link-Darstellung in diese Form um, so daß Sie auf Ihrem Drucker eine analoge Ausgabe wie auf dem Bildschirm erhalten, und das ohne irgendeine PRINTER.CFG-Datei.

Bei der Text-Ausgabe werden die eingeschränkten Multitasking-Fähigkeiten des AES ausgenutzt, d.h. während der Ausgabe kann weitergearbeitet werden, wobei es allerdings zu ‘Stockungen’ kommen kann. Da 1stGuide mit geöffneten Dateien arbeitet, kann es außerdem zu ernsthaften (sprich bombigen) Problemen kommen, wenn ein Programm beendet wird (außer unter MultiTOS).

Wenn Sie während der Ausgabe beide Shift-Tasten gleichzeitig gedrückt halten, können Sie diese abbrechen. Sicherheitshalber fragt 1stGuide nochmal nach.

6 Rebuild-Funktion

Wenn Sie eine neue Anwendung starten oder die aktuelle verlassen, so wird Ihr aufgebautes System von Info-Fenstern natürlich überschrieben. Ein besonderes Feature des Programms ist jedoch, daß es die so überschriebene Konfiguration nach Möglichkeit vollständig wiederherstellt, sobald Sie es anschließend wieder aktivieren (Menütitel anklicken). Es werden alle Fenster (soweit möglich) wieder erzeugt und die im Speicher gehaltenen Datei-Inhalte in dem vorher verlassenen Zustand angezeigt. Beachten Sie also, daß offene Fenster entsprechenden Speicherplatz blockieren können, wenn Sie sie nicht schließen.

Die Rebuild-Funktion bietet den Vorteil, die Fenster-Konfiguration in eine andere Applikation ‘hinüberretten’ zu können. Dies gilt besonders für Programme, die fast den gesamten verfügbaren Speicher für sich reservieren, so daß Accessories dann kaum noch Spielraum haben (das sind z.B. viele Textprogramme wie WORDPLUS oder TEMPUS). Mit 1stGuide können Sie in diesem Fall alle benötigten Fenster vorher öffnen, so daß diese Programme von vornherein weniger Speicher bekommen. Nach dem Start des Programms kann dann problemlos auf die Konfiguration zugegriffen werden.

Alle bisherigen Betriebssystemversionen haben die unangenehme Eigenschaft, daß Accessories nicht als eigenständige GEMDOS-Prozesse betrachtet werden. Dies hat zur Folge, daß Speicher, der durch ein Accessory beim Betriebssystem angefordert wird, immer der gerade laufenden Hauptapplikation zugeordnet wird. Wenn man nun diese Hauptapplikation verläßt, so wird automatisch aller von ihr (und dummerweise eben auch von benutzten Accessories) angeforderter Speicher durch das Betriebssystem freigegeben.

Verläßt man nun ein Programm, in welchem man mit 1stGuide Dateien geladen hat, so kann 1stGuide diese eben nicht restaurieren, da der dazu reservierte Speicherplatz ohne Rücksicht auf Verluste freigegeben wird.

Um nun zu erkennen, ob ein Fenster rebuildet werden kann, benutzt 1st-Guide eine von Atari dokumentierte Systemvariable, die auf den aktuellen GEMDOS-Prozeß zeigt (unter MSDOS wird dazu eine Funktion namens get PSP benutzt). Dieser Zeiger auf den aktuellen Prozeß-Descriptor wird nun bei jedem Laden einer Datei abgefragt und zu den Fensterdaten mit gesichert. Falls nun eine Rebuild-Situation eintritt, fragt 1stGuide den Zeiger auf den aktuellen Prozeß-Descriptor erneut ab und vergleicht diesen Wert mit dem gesicherten. Bei einer Übereinstimmung kann nun das Fenster rebuildet werden, sonst nicht. Zusätzlich wird der gesicherte Wert noch mit den Werten der Parent-Prozeß-Zeiger verglichen, da auch und gerade in diesem Fall ein Rebuild möglich ist. Dies ist möglich, da die Prozeß-Descriptoren nichts anderes als die Basepages sind, welche über den Parent-Prozeß-Pointer untereinander verkettet sind, so daß sich 1stGuide durch diese Prozeß-Liste ‘durchhangeln’ kann (der Programm-Segment-Präfix unter MSDOS bietet diese Möglichkeit nicht, hier kann nur der eigentliche Wert verglichen werden).

Die hier beschriebene Vorgehensweise ist völlig legal und benutzt nur dokumentierte Features (kein Schreibzugriff auf actpd !), so daß zukünftige Betriebssytemversionen keine Probleme bereiten sollten. Falls Accessories einmal den Status von ‘richtigen’ GEMDOS-Prozessen erhalten sollten (dies ist zu wünschen), funktioniert diese Methode ebenfalls und es können stets alle Fenster rebuildet werden, da das Programm dann immer seinen eigenen Prozeß-Descriptor “zu sehen” bekommen müßte.

Nachtrag: Unter MultiTOS gibt es keine Probleme, da weder Accessory- noch Applikationsfenster durch das System geschlossen werden.

7 Konfiguration

Durch Gedrückthalten der rechten Maustaste beim Aktivieren oder durch Drücken von Ctrl-A können Sie das Verhalten von 1stGuide in bestimmten Punkten Ihren individuellen Bedürfnissen anpassen und permanent sichern. Die Parameter werden direkt im Datenbereich des Programms gespeichert, so daß keine INF-Datei benötigt wird. Dazu ist es erforderlich, daß das Programm

den Namen 1STGUIDE.AC*, 1STGUIDE.PRG, 1STGUIDE.APP oder 1STGUIDE.GTP

hat und sich in demjenigen Pfad befindet, der beim Starten von 1stGuide aktuell war.

Folgende Parameter können eingestellt werden:

Standard-Ausgabe Fenster/Gerät steht normalerweise auf Fenster. Wenn Sie Gerät einstellen, werden die Dateien nicht in ein Fenster, sondern sofort auf das eingestellte Gerät ausgegeben. Sie können jederzeit die alternative Ausgabemöglichkeit verwenden, wenn Sie L.Shift-Alternate bei der Anwahl der Datei(en) gleichzeitig gedrückthalten. So können Sie in Gemini z.B. schnell mal nebenbei Dateien ausdrucken, indem Sie sie auf das installierte 1STGUIDE.ACC-Icon ziehen und beim Loslassen L.Shift-Alternate gedrückthalten.

Control-P-Ausgabe Intern/CALCLOCK steht standardmäßig auf Intern. Geräteausgaben werden so von 1stGuide selbst vorgenommen. Stellen Sie den Schalter auf CALCLOCK, so wird statt dessen eine Nachricht an ein Calclock-Accessory geschickt, welches dann die Ausgabe übernimmt. Vorsicht: Dies ist nur bei ASCII-Textdateien sinnvoll! Auch hierbei ist es möglich, durch zusätzliches Gedrückthalten von L.Shift-Alternate jeweils die alternative Form anzuwählen.

Textfont-Einstellung Normal/VA FILE: Steht dieser Schalter auf Normal, so wird beim Laden einer Textdatei immer der in 1stGuide aktuelle Font verwendet. Stellen Sie den Schalter auf VA FILE, so wird bei jedem Öffnen eines Textfensters automatisch der Font über das VA-Protokoll erfragt und eingestellt, falls ein entsprechendes Programm aktiv ist (z.B. Gemini).

Doppelklick-Standard Neues Fenster / Überschreiben steht zunächst auf Neues Fenster, d.h. beim Doppelklick auf ein Keyword wird ein neues Fenster geöffnet, falls nicht eine Shift-, Alternate- oder Control-Taste gedrückt ist. Steht der Schalter auf Überschreiben, so ist es genau andersherum. Außerdem ändert sich dadurch die Bedeutung des Fenster-Schließknopfes. Er bewirkt dann das Zurückgehen im Infopfad (entspricht Undo, Esc) ähnlich wie bei Verzeichnishierarchien im Desktop. Möchte man trotzdem das Fenster schließen, so kann man zusätzlich die rechte Maustaste gedrückthalten.

Die Indexdatei kann in dem entsprechenden Textfeld eingetragen oder per Datei-Auswahl-Box gewählt werden (Button Fsel).

Zusätzlich können Sie Parameter für die Geräteausgabe festlegen, die sich weitgehend selbst erklären (sollten).

Beim Sichern werden neben den angegebenen Parametern noch die aktuelle Fensterposition (wird dann beim nächsten Öffnen des ersten Fensters wieder verwendet) sowie der aktuell eingestellte Textfont gespeichert! Die Fensterkoordinaten werden dabei in Promille der aktuellen Bildschirmausmaße gespeichert, so daß die Verhältnisse bei verschiedenen Auflösungen gleich sind.

In der rechten unteren Ecke der Konfigurationsbox wird der größte verfügbare Speicherblock (“MEM:”) sowie die Gesamtsumme aller freien Speicherblöcke angezeigt (“TOT:”). An der Differenz beider Werte ist eine Speicherfragmentierung erkennbar.

8 Grenzen

Fenster: 1stGuide kann theoretisch bis zu 32767 Fenster verwalten. Dies entspricht der Anzahl der gültigen Window-Handles. Wenn Sie mit TOS 1.04 arbeiten und das Programm Winx^{8} von Martin Osieka besitzen, können Sie bis zu 127 Fenster unter 1stGuide verwenden (auch Gemini kommt mit dieser Fensterflut zurecht). Unter MultiTOS konnte ich keine Beschränkung der offenen Fenster feststellen.

8Dies ist ein Patch an den Fensterroutinen des GEM, um mehr als 7 Fenster verwenden zu können

Textdateien werden mit bis zu 32767 Zeilen mit maximal 512 Zeichen unterstützt.

Pfadnamen dürfen maximal 127 Zeichen lang sein.

Argumente können sowohl über VA START als auch bei Programmstart in beliebiger Anzahl verarbeitet werden. Bei Programmstart wird dabei zuerst nach xArg und dann nach ARGV gefahndet. Erst wenn dies nichts fruchtet, wird die (beschränkte) Standard-Gemdos-Kommandozeile in der Basepage ausgewertet. Von mir gibt es dazu einen modifizierten Startcode, der das Scannen übernimmt und argc und argv für main entsprechend setzt, so daß keine Quelltext-Änderung notwendig ist (liegt auch als Source DDSTART.S bei).

Verzweigungen können nicht unbegrenzt geschachtelt werden. Zu jedem Fenster werden drei beschränkte Buffer angelegt:

• 128 Byte für den Pfadnamen

• 128 Byte für die Schlüsselkette (Fenstername)

• 256 Byte History-Buffer (zum Ablegen von Informationen für’s Zurückverfolgen des Infopfades)

10 Verschachtelungen sollten normalerweise drin sein, leider wird das Überlaufen der Buffer noch nicht gecheckt, so daß man es mit dem Verzweigen nicht allzusehr übertreiben sollte. Bei Gelegenheit werde ich natürlich noch einen Check einbauen oder aber gleich zu dynamischen Buffern übergehen.

9 1st Index

1STINDEX.TTP ist ein kleines, aber feines Hilfsprogramm zur automatischen Generierung von Indexdateien aus umfangreichen Informationssystemen (z.B. dem beiliegenden).

Der Aufruf ist wie folgt:

1stindex [Pfadname] [>output]

Wird 1stIndex ohne Parameter aufgerufen, so erhält man diesen Hinweis.

Als Pfadname ist dabei die Wurzeldatei eines Informationssystems anzugeben, d.h. eine Datei, die zu allen weiteren Dateien des Systems (auch indirekt) verzweigt. Bei dem hier vorliegenden Infosystem wäre das etwa die Datei 1STGUIDE.HLP (möglich wären auch GEM oder TOS).

Wird nichts weiter angegeben, so wird die Index-Liste auf den Bildschirm (Standardausgabe) ausgegeben. Die Erstellung dieser Indexliste ist nicht ganz trivial, da zirkuläre Bezüge auftreten können, die entsprechend erkannt werden müssen.

Wollen Sie nun eine Indexdatei erstellen, so brauchen Sie nur die Standardausgabe in eine entsprechende Datei umzuleiten durch Angabe des “>” gefolgt vom entsprechenden Dateinamen (z.B. unter Gemini/Mupfel). Da 1stIndex mit Pcxstart gelinkt wurde, funktioniert dies sogar im normalen Desktop (abgesehen von der doch sehr beschränkten Kommandozeile im Dialog).

Zur Verwendung in 1stGuide muß die Indexdatei in demselben Verzeichnis liegen wie die angegebene Wurzeldatei. Möchte man Schlüsselwörter über die AC HELP-Message von 1stGuide suchen lassen, so muß der Pfad dieser Indexdatei in 1stGuide konfiguriert werden (siehe Kapitel 7).

10 Neu in Version

Hinweis: Das aktuelle Versionsdatum Ihres 1stGuide erfahren Sie durch Drücken von Ctrl-A.

Apr 29 1992:

• Anpassung an Atari-MultiTOS: Man kann dort auch in hinteren, möglicherweise teils verdeckten, Fenstern scrollen. Damit konnte ich nicht rechnen, es gab ‘Bildschirmmüll’. Behoben. Es erfolgt jetzt echtes Scrolling in jedem Element der Rechteckliste! Leider scheint aber das Echtzeit-Scrolling nicht mehr zu funktionieren. Abwarten...

• “1stGuide” oder “1stHear”, das ist hier die Frage! 1stGuide spielt jetzt 8-Bit-Soundsample-Dateien auf allen STs ab (interruptgesteuert im Hintergrund). Wer einen DMA-Sound-fähigen Atari besitzt (STE/TT), kann das ausnutzen und damit die sonst benötigte Rechenzeit einsparen (allerdings auf Kosten einer eingeschränkten Frequenzwahl). Die Frequenz ist jeweils im Rahmen der Hardwaremöglichkeiten frei einstellbar, und im Fenster wird die Sample-Kurve dargestellt. Näheres findet man in Kapitel 3.5.

• “Dateie(en) neuladen”... In der Fileselectbox können jetzt im Dateinamenfeld Wildcards angegeben werden (Beispiel: “*.DOC” lädt alle .DOC-Dateien des Verzeichnisses). (7UP läßt grüßen...)

• ‘Umstieg’ auf Pure-C. Die TT-RAM-Flags sind dadurch automatisch gleich richtig gesetzt, so daß es dort gleich richtig ‘abgeht’. Aber Vorsicht bei Samples im DMA-Mode! Wer das unbedingt nutzen möchte, muß vorerst noch selber für ein entsprechend gesetztes Flag (Mallocs aus ST-RAM) im Programm-Header sorgen. Ich verspreche Abhilfe in der nächsten Version (Benutzung von Mxalloc)...

• Geditherte Farbbilder sollten jetzt ‘natürlicher’ erscheinen, da eine aus der Fernsehtechnik bekannte Umrechnungsformel (Y-Signal) für die RGB-Grauwert-Konvertierung verwendet wird. (Dank auch an Dieter, der mich darüber ‘aufgeklärt’ hat...) Man schaue sich mal COLORS.IMG an, dann wird das deutlich.

• Bei speziellen Metafiles konnte es vorkommen, daß 1stGuide über sein Fenster hinaus auf den Bildschirm malte. Behoben.

• “..\”-Angaben bei Verzweigungen werden jetzt durch 1stGuide automatisch verkürzt.

• Klickt man in einen Text mit Verzweigungswörtern, so wird jetzt erstmal gecheckt, ob darunter ein Schlüsselwort liegt und dieses dann erwartungsgemäß selektiert, anstatt das Popup zu öffnen. (Guter Tip, Erik!)

• 1stGuide hört jetzt auch auf den Namen .GTP (beim Sichern der Konfiguration).

• Zusätzliche Informationsanzeige in Popups: Pixel bei Images, Zeilenzahl bei Texten.

• 1STVIEW.DVI wird nicht länger unterstützt -> weniger Platz + einfachere Weitergabe (+ weniger Arbeit für mich)

Dec 23 1991:

• “Sag niemals nie!”: In bestimmten Fällen konnte die in der letzten Version eingeführte neue Rebuild-Methode doch noch fehlschlagen. Die Idee war schon gut, die Umsetzung leider mangelhaft. Ich hoffe (stark...), daß jetzt alle Probleme beseitigt sind.

• Um Abhängigkeiten von der Farbauflösung zu vermeiden, mußte die Interpretation des XIMG-Formats (Reihenfolge der Farbindizes) geändert werden (in Abstimmung mit dem GEMVIEW-Autor Dieter Fiebelkorn). Alte XIMG-Dateien sollten wie folgt transformiert werden: Bild einladen mit gedrückter rechter Shifttaste, Originalpalette anwählen, Farbpalette sichern ohne gedrückte rechte Shifttaste (funktioniert bei Bildern bis 16 Farben auch in Monochrom!). Näheres steht in 3.3.

• Probleme beim Konfigurieren unter Let’emFly (Freeware von Oliver Scheel) umgangen sowie Tastaturbelegung angepaßt. (Man fliegt halt nicht mehr ohne...)

• 1stGuide kann jetzt mehrseitige Metafiles korrekt darstellen (Seitenvorschub mit v updwk und v clrwk). Es kann seitenweise geblättert und gedruckt werden. Derartige Metafiles können von 7UP ab Version 2.1 (liegt mir derzeit als Beta-Version vor) aus beliebigen ASCII-Dateien erzeugt werden. Bemerkung: Diese Funktion war (per Tastatur) im wesentlichen schon in der letzten Version verfügbar (für Testzwecke, daher undokumentiert).

• Wenn man bei der Aktivierung Control-Shift gedrückt hält, wird sofort die Indexdatei geladen und man kann einen Begriff eintippen!

• Kein Nachlaufen mehr beim Tastatur-Scrollen (Dank an Michael für die elegante Methode).

Nov 24 1991:

Bezugsversion.

Sollten Sie eine noch ältere Version besitzen, lesen Sie am besten alles nochmal durch.

11 Referenz

Zunächst möchte ich mich herzlichst bei den Brüdern Geiß für ihr GEM-Profi-Buch bedanken, ohne das dieses Projekt kaum möglich gewesen wäre. Ein weiterer Dank gebührt Stefan Eissing und Gereon Steffens für ihren kommunikationsfreudigen und kaum Wünsche offenlassenden Desktop Gemini, der eine bequeme Arbeit mit 1stGuide erst ermöglicht. Nicht zuletzt geht mein Dank an Borland München für ihre konkurrenzlos komfortable und leistungsfähige Purbo-C-Programmier-Umgebung.

Bei 1stGuide handelt es sich um Shareware. Wenn Ihnen dieses Programm gefällt, Sie es benutzen und es Ihnen hilft, so sollten Sie sich gegen eine Unterstützung von DM 20,- bei untenstehender Adresse registrieren lassen. Sie können dann mit der Zustellung eines kompletten Info-Hypertext-Systems für den geplagten ST-C-Programmierer und noch geplanter Weiterentwicklungen des Programms rechnen. Außerdem werde ich mich dann bemühen, evt. von Ihnen aufgespürte Bugs zu entfernen und Verbesserungsvorschläge zu berücksichtigen, sofern Sie mich davon überzeugen können.

Sie können dieses Programm bedenkenlos weitergeben, aber achten Sie bitte darauf, daß stets alle Dateien zusammen und unverändert kopiert werden.

Viel Erfolg bei der Anwendung des Programms wünscht Ihnen

Guido Vollbeding Leitergasse 4 / 503 D-O-4020 Halle

Bankverbindung:

Guido Vollbeding Stadt- u. Saalkreis-Sparkasse Halle Kto. 486260725 Blz. 800 537 62