Bedienungsanleitung zum DUMP.ACC


Allgemeines:

DUMP.ACC ist ein Accessory und wird wie üblich auf die Boot-Diskette kopiert
und mit <Reset> gestartet. Der Eintrag in der Menüzeile lautet "Filedump".
Das Programm ist Public Domain, darf aber nur zusammen mit dieser Hilfsdatei
kopiert werden (sonst ärgert sich später wieder irgendjemand darüber, da₧ er
nicht wei₧, was das Programm eigentlich soll).


Aufgaben:

DUMP.ACC wurde für drei Aufgaben entwickelt:

     1. Anzeigen von Dateien (z.B. Programme, .BIN-Files, .RSC-Files) im 
        Hex Format. Wenn man vom Desktop aus Nicht-Textdateien anzeigt, erhält
        man ja bekanntlich nur ein fürchterliches Chaos auf dem Bildschirm

     2. Abspeichern der Datei in diesem Format

     3. Durchführen von kleinen Änderungen in diesen Dateien (z.B. Patches in
        Programmen oder .RSC Files)
        
Und warum das alles als Accessory ?
Warum nicht ? Als Zugabe zu den drei Hauptaufgaben hat man z.B. die 
Möglichkeit, jederzeit Dateien zu kopieren (z.B. wenn man gerade in einer Shell
arbeitet, und merkt, da₧ eine Datei zum Linken fehlt; oder wenn gerade keine
Ram-Disk installiert ist und das Kopieren mit dem Desktop zu öde wird).


Aufruf:

Der Aufruf erfolgt wie üblich durch Anklicken des Menüpunktes in der Menüzeile.
Es erscheint dann die bekannte Dateiauswahl-Box. Der Zugriffspfad entspricht
dem aktuellen Directory. Nach Auswahl der Datei, und wenn alles klappt (genug
Speicher, Diskette lesbar ...) erscheint ein Fenster mit dem Hexdump.

Der Hexdump hat folgendes Format:

Adresse   Byte in Hex                                       Byte in ASCII
xxxxxxxx  xx xx xx xx xx xx xx xx  xx xx xx xx xx xx xx xx  xxxxxxxxxxxxxxxx

Adresse       : Die relative Adresse zum Dateianfang
Byte in Hex   : unterteilt in zwei Blöcke mit jeweils acht Byte
Byte in ASCII : Die entsprechenden ASCII-Zeichen (Atari Zeichensatz)


Fensterfunktionen:

Alle bekannten Fensterfunktionen sind verfügbar. Im Namensfeld des Fensters
steht der Zugriffspfad der Datei. Im Info-Feld steht die Dateilänge (dezimal)
und ein Hinweis auf die <Help> Taste. Mit <Help> kann eine Kurzinformation
abgerufen werden.
Wenn das Fenster geschlossen wird hat man die Möglichkeit, die Datei
abzuspeichern (nur dann).


Datei sichern:

Zuerst erscheint eine Alarm-Box mit der Frage, ob man die Datei in der normalen
Form (mit den Änderungen) abspeichern möchte. Wenn <Ja> angeklickt wird
erscheint die bekannte Dateiauswahl-Box. Voreingestellt ist der Name und
der Pfad mit dem die Datei geladen wurde. 
Wenn beim Sichern ein Fehler auftritt, erscheint eine Fehlermeldung und man
kann einen weiteren Versuch starten.

Anschlie₧end erscheint eine weitere Alarm-Box mit der Frage, ob man die Datei
als Hexdump abspeichern will (z.B. zum Ausdrucken). Bei <Ja> läuft alles wie
oben, mit dem Unterschied, da₧ kein Name in der Dateiauswahl-Box voreingestellt
ist.
Der Hexdump wird zuerst im Speicher erzeugt und dann in grö₧eren Stücken
abgespeichert (Das geht schneller als zeilenweises Schreiben in die Datei).
Deshalb passiert folgendes:
Das Ziellaufwerk läuft an, um die Datei zu eröffnen. Dann wird im Speicher
der Dump erzeugt. Je nach Länge des Hexdumps und Grö₧e des Speichers bleibt
das Laufwerk in dieser Zeit stehen. Die Maus bleibt Biene bis die Datei 
vollständig geschrieben worden ist (Bitte nicht vorzeitig die Diskette
wechseln !!).
Achtung:
Der Hexdump ist etwa 5 mal so lang, wie die ursprüngliche Datei !
Wenn er nicht vollständig auf dem Ziellaufwerk erzeugt werden kann, wird
das erzeugte Bruchstück wieder gelöscht (vermeidet Dateileichen mit 0 Byte).
Der Hexdump, der für die Datei erzeugt wird, unterscheidet sich von der Dar-
stellung auf dem Bildschirm dadurch, da₧ die ASCII Codes von $00 bis $1F und
von $80 bis $FF als "." erscheinen, da sonst beim Drucken oder Editieren der
Datei Probleme auftreten würden.


Editierfunktionen:

Wenn eine beliebige Taste gedrückt wird (au₧er <Help>) erscheint der Cursor
in der oberen linken Ecke des Fensters. Er kann wie gewohnt mit den Pfeiltasten
bewegt werden, oder mit der Maus direkt positioniert werden. Das Programm
achtet darauf, da₧ der Cursor immer auf dem Anfang eines Bytes im Hex-Teil
oder im ASCII-Teil steht.
Das Fenster wird automatisch nachgeschoben, wenn man versucht den Cursor aus
dem Fenster herauszubewegen.

Eingaben können wahlweise im Hex-Teil oder im ASCII-Teil durchgeführt werden.

Im ASCII-Teil sind alle Tastenkombinationen erlaubt. Es wird das Zeichen 
gesetzt, da₧ sich aus der Kombination mit <Shift> und <Control> ergibt.

Im Hex-Teil mu₧ immer ein ganzes Byte eingegeben werden. Es sind nur die Tasten
<0> bis <9> und <A> bis <F> wirksam. Nachdem das obere Halbbyte eingegeben
wurde, sind alle Funktionen gesperrt, bis das zweite Halbbyte eingegeben wurde.

Während der Eingabe erscheint jeweils im anderen Teil des Dumps der neue Wert.

Nachdem ein Byte geändert wurde bewegt das Programm den Cursor automatisch
ein Byte weiter. Wenn Eingaben gemacht werden, verlä₧t der Cursor den
jeweiligen Teilbereich (Hex oder ASCII) nicht (z.B. wenn das Zeilenende 
erreicht wird).
Es ist aber weiterhin möglich, den Cursor mit den Pfeiltasten zwischen den 
Bereichen hin und her zu bewegen.

Achtung:
Die Taste <Backspace> hat bei der Eingabe keine Funktion. Im ASCII Teil
liefert sie den Wert $08.
Es ist nicht möglich, die Datei durch Eingaben zu verlängern. Sie kann nur
byteweise verändert werden.

Fehler:

Mir ist bekannt, da₧ kein Programm fehlerfrei ist. Trotzdem glaube ich, da₧ 
sich das Programm relativ gutmütig verhält. Wenn trotzdem Fehler auftreten 
sollten oder wenn jemand eine wahnsinnige Idee zur Verbesserung hat kann er/sie
mir ja schreiben.


Programmlisting:

Das Programm wurde in C geschrieben.
Wenn jemand an dem Listing interessiert ist kann er/sie mir eine formatierte
Diskette plus 15.- DM schicken und erhält dafür das kommentierte Listing und
vielleicht eine neue verbesserte Version.


Adresse:

     Michael Vogt
     Hornberger Str.7
     7730 VS-Villingen

