Zaphod, ein Binärdateieditor für AMIGA-Computer

Version 1.00 beta

vom 11. Mai 1993

von Holger Schemel

Abstract

Zaphod ist ein Dateieditor für Binärdateien. Er ist frei konfigurierbar und von Shell und Workbench gleichermaßen nutzbar. Es können bis zu zehn Dateien gleichzeitig bearbeitet werden. Zum Betrieb wird neben einem Amiga die Betriebsystemversion 2.0 oder höher benötigt.

Inhaltsverzeichnis:

1. Copyright und ähnliches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2. Allgemeines über Zaphod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3. Aufruf von Workbench und Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4. Die Bedienung des Programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

5. Fehlerreports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1. Copyright und ähnliches

Das Programm Zaphod darf frei kopiert und verbreitet werden, allerdings mit den folgenden Einschränkungen: Es darf kein kommerzieller Zweck verfolgt werden, die Dateien des Archives dürfen nicht verändert werden und es müssen immer alle Dateien des Archives beisammengelassen werden.

Für weitere Erklärungen siehe das README-File.

2. Allgemeines über Zaphod

Zaphod ist ein Dateieditor für Binärdateien in der Tradition der Klassiker “FileZap” und “NewZap”. Er wurde jedoch vollständig auf die Betriebsystemversionen ab Version 2.0 ausgelegt, so daß diese oder eine höhere Version des AmigaOS zum Betrieb zwingend erforderlich ist.

Dieser Dateieditor erlaubt die gleichzeitige Bearbeitung von bis zu zehn Dateien gleichzeitig. Die zu bearbeitenden Dateien können beim Start von der Workbench direkt durch Anklicken bei gedrückter Umschalttaste mit angegeben werden, über die ASL-Dateiauswahlbox (per Menü oder Gadget), ausgewählt werden, durch Ziehen der Icons der Dateien in das Programmfenster oder, wenn das Programm von der Shell aus aufgerufen wurde, als Parameter nach dem Programmnamen bestimmt werden.

Das Programmfenster von Zaphod öffnet sich entweder auf der Workbench, auf einem angegebenen Public-Screen oder auf einem eigenen Bildschirm. Wenn das Programm sein Fenster nicht auf der Workbench öffnet, ist das Ziehen von Icons in das Fenster nicht mehr möglich, weshalb das Applikationsfenster durch ein Applikations-Icon ersetzt wird, auf welches die Icons der zu bearbeitenden Dateien ersatzweise gezogen werden können. Durch einen Doppelklick mit der linken Maustaste auf dieses Icon wird der Screen, auf dem sich das Programmfenster befindet, nach vorne geholt.

Die gesamte Konfiguration des Programmes wird in den Tool-Types angegeben und dort auch gespeichert, so daß man sich nach dem Einstellen der gewünschten Konfiguration eigentlich nicht weiter darum zu kümmern braucht. Wird das Programm dagegen von einer Shell aus gestartet, so werden die Konfigurationsdaten als Parameter übergeben. Da momentan noch keine optionale Konfigurationsdatei unterstützt wird, sollte man sich bei bevorzugtem Aufruf von der Shell einen Alias-

Befehl in die Datei s:user-startup in der Form alias zaphod zaphod <Konfi-
gurationsparameter> einfügen.

3. Aufruf von Workbench und Shell

Die Tool-Types beim Aufruf von der Workbench entsprechen den Parametern des Aufrufes von der Shell, d.h. wenn ein Eintrag der Tool-Types TOOLTYPE=PARAMETER lautet, so kann dies genauso auch als Shell-Parameter eingegeben werden, wahlweise auch mit einem Leerzeichen anstelle des Gleichheitszeichens.

Die Tool-Types/Shell-Parameter im einzelnen: LEFT Linke Position, an der das Fenster geöffnet werden soll. TOP Obere Position, an der das Fenster geöffnet werden soll. LINES Anzahl Zeilen, die im Edierbereich dargestellt werden. LONGWORDS PER LINE Anzahl Longwords pro Zeile im Edierfeld, das sind jeweils

vier Bytes, die der Übersichtlichkeit halber abgesetzt dargestellt werden.

BOX INTERWIDTH Hier kann direkt der horizontale Abstand zwischen den beiden Edierfeldern (Hexadezimal bzw. ASCII) und dem Verschiebebalken angegeben werden (in Pixel). Dies dient dazu, den normalerweise auf INTERWIDTH = 8 Pixel gesetzten Wert zu verringern, falls dies benötigt wird, um das Fenster mit dem gewünschten Parameter LONGWORDS PER LINE noch auf den Bildschirm zu bekommen.

TEXTFONTNAME Hier kann der Zeichensatz angegeben werden, mit dem die Texte des Fensters erstellt werden. In der Einstellung <default> wird automatisch der in den Systemvoreinstellungsprogrammen gewählte Bildschirmzeichensatz gewählt.

TEXTFONTSIZE Hier kann die Größe des gewählten Zeichensatzes bestimmt werden. In der Einstellung <default> wird ebenfalls der voreingestellte Wert des Bildschirmzeichensatzes übernommen.

EDITFONTNAME Schon wichtiger ist die Angabe des Zeichensatzes, der im Edierfeld verwendet werden soll. Wird hier <default> angegeben, so wird der im ROM befindliche Zeichensatz verwendet, also topaz/8. Empfehlenswert ist hingegen, einen der mitgelieferten, schmaleren Zeichensätze zu verwenden, um horizontal mehr Zeichen darstellen zu können. Es wer-

den die Zeichensätze topaz light, topaz small und to-

paz thin mitgeliefert.

EDITFONTNAME Die Größe des gewählten Edierzeichensatzes. PUBSCREEN Hier kann der Name eines öffentlichen Bildschirmes (Public

Screen) angegeben werden, auf dem Zaphod sein Fenster eröffnen soll. Wird WBENCH angegeben, so wird das Fenster auf der Workbench geöffnet (was auch die Voreistellung ist, wenn dieser Parameter/Tool-Type nicht angegeben wird). Durch OWNSCREEN wird das Programm angewiesen, seinen eigenen Bildschirm zu öffnen.

Beim Aufruf von der Kommandozeilenebene ist zusätzlich die Angabe von bis zu zehn Dateien möglich, die dann in die zehn Dateipuffer geladen werden. Durch die Eingabe eines Fragezeichens erhält man eine Befehlsschablone, wie man sie von den Systembefehlen her kennt.

4. Die Bedienung des Programmes

4.1. Das Hauptfenster von Zaphod

Nach dem Start des Programmes hat man das Hauptfenster vor sich, welches das Edierfeld und einige Gadgets enthält. Wurden bereits beim Start Dateien mit angegeben, so wird die erste, sofern sie geöffnet werden konnte, im Edierfeld angezeigt.

4.1.1. Die Gadgets

Um zwischen den einzelnen zu bearbeitenden Dateien zu wechseln, dient das Cycle-Gadget oben links. Wahlweise können auch die Funktionstasten F1 bis F10 verwendet werden, um den betreffenden Dateipuffer direkt anzuwählen.

Daneben befindet sich das Eingabefeld mit der gerade bearbeiteten Datei samt Dateipfad. Normalerweise ist es nicht nötig, den Dateinamen hier direkt einzugeben, da die Wahl der zu bearbeitenden Datei komfortabler erfolgen kann: Neben der Wahl direkt beim Programmstart wird die gewünschte Datei einfach über das Fenster gezogen (oder über das Applikations-Icon, wenn das Fenster auf einem öffentlichen oder eigenen Bildschirm geöffnet wurde).

Ist die Datei gerade nicht per Icon von der Workbench erreichbar, so kann sie über das Gadget “Öffnen” aus der dann erscheinenden ASL-Dateiauswahlbox gewählt werden.

Analog erfolgt das Speichern der Datei mit dem Gadget “Sichern”. Soll die Datei unter einem anderen Dateinamen gesichert werden, so ist der Menüpunkt “Sichern als” zu verwenden.

Soll in der Datei nach einer bestimmten Byte-Folge gesucht werden, so sind die Such-Gadgets unterhalb des Edierfeldes zu verwenden. Zunächst wird die zu suchende Byte-Folge in das Texteingabefeld eingegeben: Dabei können sowohl ASCII-Zeichen als auch hexadezimale Werte eingegeben werden, auch gemischt. Hexadezimalzahlen werden zweistellig mit führendem “$” oder “0x” eingegeben. Kommen diese Zeichen im zu suchenden ASCII-Text vor, so ist dieser in Anführungszeichen zu setzen.

Gestartet wird die Textsuche mit dem Gadget links neben dem Texteingabefeld für den Suchbegriff. Wurde der Suchbegriff gefunden, so wird die Schreibmarke im Edierfeld auf das erste Zeichen des Begriffes in der Datei gesetzt. Ob die Suche erfolgreich war, kann außerdem im Textanzeigefeld “Suchstatus” abgelesen werden.

Beginn und Richtung der Suche in der Datei kann mit dem Gadget “Suchrichtung” bestimmt werden, in welchem die Suche vom Dateianfang bzw. -ende sowie vor bzw. hinter der aktuellen Position der Schreibmarke bestimmt werden kann. Bei der Suche vom Dateianfang bzw. -ende wird, wenn der Suchbegriff gefunden wurde, die weitere Suche umgeschaltet auf Suche hinter bzw. vor der aktuellen Schreibmarkenposition, um sequentielles Suchen in beide Richtungen in der Datei zu vereinfachen.

Mit dem Schalter “Groß-/Kleinschreibung beachten” kann außerdem bestimmt werden, ob Groß- und Kleinschreibung beim Vergleich des Suchbegriffes mit dem Dateiinhalt unterschieden werden soll.

Auf der linken Seite befinden sich noch zwei Gadgets mit den folgenden Funktionen: Anzeige der aktuellen Position der Schreibmarke im Edierfeld, wobei durch Eingabe eines anderen Wertes die Datei auch direkt ab einer bestimmten Position angezeigt werden kann. Im Textanzeigefeld darunter wird die Größe der Datei in Bytes angezeigt.

Alle Gadgets (bis auf das Texteingabefeld für den Dateinamen) können auch über die entsprechende Taste bedient werden, deren Buchstabe im Text des Gadgets unterstrichen ist.

4.1.2. Das Edierfeld

Im Edierfeld wird zunächst einmal der Inhalt der Datei angezeigt; im linken Teil als Hexadezimalzahlen — gruppiert zu jeweils vier Bytes —, im rechten Teil als ASCII-Zeichen, sofern es sich um druckbare Zeichen handelt. Mit dem Verschiebebalken auf der rechten Seite kann einfach und schnell die gesamte Datei betrachtet werden.

Mit der Taste “e” bzw. “E” (für Edieren) gelangt man vom Befehlsmodus in den Ediermodus. Das bedeutet, daß die Tasten, mit denen zuvor Befehlsfunktionen aktiviert wurden (wie z.B. “s” für Suchen) nun direkt zum Überschreiben bestehender Zeichen in der Datei verwendet werden (wobei im linken Teil natürlich nur Zahlen und die Buchstaben a bis z bzw. A bis Z angenommen werden.

Mit der Tabulatortaste kann zwischen Hexadezimal- und ASCII-Bereich hin und her gewechselt werden. Die Tasten zur Bewegung der Schreibmarke (Cursortasten) funktionieren wie gewohnt; in Kombination mit der Umschalttaste (Shifttaste) kann an den Anfang bzw. das Ende der Zeile (horizontal) oder an den Dateianfang bzw. das Dateiende (vertikal) gesprungen werden. Gelangt die Schreibmarke an den oberen oder unteren Bereich des Edierfeldes, so wird, wenn das möglich ist, der Inhalt des Feldes zeilenweise verschoben. Dies bedeutet im Falle der vorletzten Zeile, daß ein Verschieben möglicherweise nicht stattfindet, obwohl noch eine weitere Zeile existiert, da diese nicht genug Zeichen enthält, um die Schreibmarke an der aktuellen horizontalen Position darzustellen. In diesem Falle erreicht man die letzte Zeile durch weiterbewegen der Schreibmarke nach rechts oder zusätzliches Drücken der Umschalttaste zur Taste Pfeil-unten.

4.2. Die Menüleiste 4.2.1. Das Projekt-Menü

Das Menü “Projekt” enthält die folgenden Menüpunkte: Neu Löschen des aktuellen Dateipuffers. (Es wird natürlich nur der Da-

teipuffer initialisiert und nicht die Datei selber gelöscht.)

Öffnen Öffnen einer neuen Datei. Zur Wahl der Datei wird die ASL-

Dateiauswahlbox verwendet.

Sichern Sichern der Datei unter dem Namen, unter dem sie geöffnet wurde oder der nachträglich in das Texteingabefeld für den Dateinamen eingetragen wurde.

Sichern als Wie oben, allerdings wird hier zunächst über die ASL-Dateiauswahl-

box die Möglichkeit gegeben, einen anderen Dateinamen zu wählen.

Über Hier wird eine kurze Information über das Programm und den Autor

gegeben.

Ende Beendet nach einer Sicherheitsabfrage das Programm. Befinden sich noch Dateien in den Dateipuffern, die geändert wurden, so wird der Anwender darauf hingewiesen.

4.2.2. Das Konfigurationsmenü

Das Menü “Konfiguration” enthält die folgenden Menüpunkte: Textzeichensatz Hier gibt es folgende Untermenüpunkte: Mit auto-

matisch oder festgewählt wird bestimmt, ob der bei Start des Programmes aktive Bildschirmzeichensatz oder ein festgewählter Zeichensatz für die Texte und die Gadgets verwendet werden soll. Mit dem Untermenüpunkt wählen kann ein solcher Zeichensatz gewählt und fest eingestellt werden.

Edierzeichensatz Hier gibt es ebenfalls die Untermenüpunkte automatisch und festgewählt. Diese bestimmen hier den Zeichensatz, der für das Edierfeld verwendet wird, wobei mit automatisch der Zeichensatz aus dem ROM verwendet wird. Auch hier kann mit wählen der gewünschte Zeichensatz ausgewählt werden, z.B. einer der drei mitgelieferten, schmaleren Zeichnsätze. Für die Auswahl des Zeichensatzes wird jeweils die ASL-Zeichensatzauswahlbox verwendet.

Hexadezimalzahlen Mit den Untermenüpunkten groß und klein kann bestimmt werden, ob man die Hexadezimalzahlen im Edierfeld lieber mit großen oder kleinen Buchstaben sehen möchte.

Rahmen für Sizegadget Dieser Menüpunkt dient dazu, den breiteren Fensterrand für das “Sizegadget” entweder an der rechten oder unteren Seite erscheinen zu lassen, was durch die Untermenüpunkte rechts oder unten festgelegt wird. Dies dient dazu, den breiteren Rahmen, der sich normalerweise an der rechten Seite des Fensters befindet, optional am unteren Fensterrand darzustellen, um das Fenster in der Breite zu verringern. Da die Fensterbreite nicht stufenlos, sondern immer nur in Schritten von vier Bytes, also insgesamt 2*4+1+4=13 Zeichen, verändert werden kann, läßt sich der gewählte Edierfeldzeichensatz mit der gewünschten Anzahl Spalten (LONGWORDS PER LINE) auch dann darstellen, wenn die Gesamtbreite des Fensters dann einige Pixels zu breit würde.

Standardkonfiguration Setzt die Einstellungen auf die voreingestellten Stan-

dardwerte zurück.

Konfiguration laden Lädt die aktuell gesicherte Konfiguration und aktiviert sie. Nur möglich, wenn das Programm von der Workbench aus gestartet wurde.

Konfiguration sichern Sichert die aktuell eingestellte Konfiguration als Tool-Types im Icon der Datei. Nur möglich, wenn das Programm von der Workbench aus gestartet wurde.

5. Fehlerreports

Sollten jemandem Programmfehler oder Unschlüssigkeiten in der Bedienung auffallen, Verbesserungsvorschläge einfallen oder bestimmte Features fehlen, so wende er sich bitte an folgende Adresse:

Holger Schemel Sennehof 28 4800 Bielefeld 12 Tel.: (05 21) 49 32 45 q99492@pbhrzx.uni-paderborn.de

Anfragen per eMail werden dabei bevorzugt bearbeitet.