DESERT DRAIN - 680x0er Disassembler
Update-Infos zu den Versionen 1.40 bis 1.55

Vernderungen zur Version 1.40

- berarbeitete und erweiterte Benutzeroberflche
- Die ersetzten Symbole werden nun gespeichert, in einer Dialogbox
  aufgelistet und bei erneutem Disassemblieren automatisch gesetzt.
  Auerdem ist es mglich die Symboltabelle eines Programmes zu
  bearbeiten.
- Spezielle Info's zu den TOS-Traps (GEMDOS, BIOS und XBIOS) knnen
  eingestellt werden, so da ein individuelles Erkennen mglich ist.
- Traps werden jetzt auch benannt, wenn die Parameter einige Zeilen
  vor dem 'trap' gesetzt werden.
- Bei vorherigem  Benennen von universellen AES- und VDI-Routinen
  knnen nun auch diese Sprnge ins Betriebssystem benannt werden.
- Smtliche individuellen Parameter zu einer Quelle knnen in einem
  bestimmten vom Quellpfad unabhngigen Verzeichnis gespeichert
  werden. Sie werden von dort automatisch wieder geladen, wenn sie den
  Namen der ausgewhlten Quelldatei tragen.
- 'Zeilenadresse suchen' (Suchen mit ^) luft jetzt auch, wenn sie
  nicht genau mit der Adresse einer Zeile bereinstimmt.
- Das Einsetzen einer Symboltabelle geht nun wesentlich schneller.
- Die Erkennung von effektiven 24 Bit Adressen (statt 32 Bit) luft
  nun wirklich richtig.
- Das 'Remark suchen' ('Help'-Taste) funktionierte bei langen Symbol-
  namen nicht.
- Der Zeilenaufbau und das Scrolling im Editor wurde nochmals
  beschleunigt.
- Eine Neustart-Funktion wurde eingebaut. Um 24kB fr eine zweite
  Ablage der Resourcedatei zu sparen, habe ich diese wieder
  ausgelagert.
- ber die Environment-Variable 'DS_DRAIN' kann nun der Stammpfad
  eingestellt werden, so da Desert Drain nach vergeblicher Suche
  im aktuellen Pfad seine Dateien findet.
- Mit einer Execute-Funktion knnen andere Programme gestartet
  werden.
- Das Problem mit dem Abspeichern von Koordinaten von noch nicht
  geffneten Fenstern wurde behoben.


Vernderungen zur Version 1.41

- Die erweiterten Adressierungsarten ab MC68020 wurden integriert.
  z.B. ([8,A1],D0.L) usw.
- trapcc und rtm eingefhrt
- Fensterwechsel mit 'Return'
- Zwei neue Optionen zum Ersetzen von aktuellen Symbolen: 'dieses
  Symbol ersetzen' und 'dieses Label ersetzen' verringern die
  Tipparbeit.
- Die spezielle Erkennung der XBRA's im Data-Segment wurde wieder
  entfernt, weil sie mehr Probleme als Nutzen brachte.
- Die Bereichsberprfung fr bytelange Konstanten ist nun
  abschaltbar.
- Eine Sliderverzgerung beschleunigt nochmals das Scrolling.
- Die Bios-Referenz in der Hilfsdatei wurde berarbeitet.


Vernderungen zur Version 1.42

- Bytekonstanten knnen jetzt auch vorzeichenbehaftet dargestellt
  werden.
- Die Entschlsselung des movem-Befehls wurde berarbeitet.
- Die Assembleranpassung ist nun auch vollstndig auf den
  Lattice C-Assembler abgestimmt. (CSECT, movem, linea)
- Fehler bei trapcc beseitigt. (war ein Blackout meinerseits)
- neue Opcodes: pack, unpk, cmp2, chk2, cas, pmove, pflusha
  move16 und die Bitfeldbefehle bf???


Vernderungen zur Version 1.43 - Septmeber 1992

- FPU-Ansteuerung ber LINE F
- branch-Befehle mit 32 Bit (bcc.l)
- Die Benutzeroberflche benutzt keine LINE-A-Befehle mehr!
  (War eh' nur HIDEM und SHOWM.) Ich hoffe ich habe alle
  entscheidenen Teile gepatcht. (siehe ST-Computer 9/92)
- Das Abbruch-Testen des Disassembliervorganges wird jetzt
  mit evnt_multi und nicht mit Cconis [gemdos(11)] durchgefhrt.


Vernderungen zur Version 1.44 - Oktober 1992

- Relozierte negative Adressen werden nun auch bei der Adress-
  ierungsart Konstante ('#') als Label mit Differenz gesetzt. Dies
  war bisher nur bei effektiven Adressen mglich. Weil es nur
  bei der Auswertung der Basepage sinnvoll ist, und diese 256 Bytes
  vor dem Programmanfang steht, wird als Label immer der Programm-
  anfang gewhlt und ein Offset beigefgt. (in der Regel Label T_0)
- Die Disassemblierung kann nun auch mit der Bettigung der linken
  Maustaste abgebrochen werden.
- Und dann fiel auch noch ein Relikt aus der grauen Vorzeit von
  Desert Drain: die drei 'verschiedenen' Symboltabellen. In
  Wirklichkeit ist es nur eine einzige! siehe Datei OPCODE.TXT
- Bei der Gelegenheit wurde auch die Erkennung der erweiterten Symbole
  aus dem GST-Format eingebaut. (maximal 22 Zeichen Lnge)
- Eigene Symbole drfen nun auch diese Lnge haben!


Vernderungen zur Version 1.45 - Oktober 1992

- Fehler bei sf/st behoben! (wie peinlich)
- DD ist nun fast WINX-tauglich
- kleinere Unstimmigkeiten im Editor behoben


Bemerkungen zum Artikel im Atari Journal 1/93

- Vielen Dank fr die Bezeichnung 'professionell'!
- Die hier getestete Version ist 1.41 und nicht 1.47.
- Der Editor sollte und soll NIE ein echter EDITOR werden! Ich habe
  mich hier etwas bei der Benennung vergriffen. Lister wre wesentlich
  zutreffender. An dem Konzept dieses Editors wird sich auch in
  Zukunft nichts ndern! Er ist schnell, leicht bedienbar und hat
  alle ntigen Funktionen. Dies ist MEINE Meinung!
- Als Programmiersprache GFA-Basic zu nehmen, war sicherlich ein
  Fehler, aber damals (Sommer 1990) beherrschte ich nichts anderes.
  Das Programm wurde so optimiert, da selbst die letzten Reserven aus
  dem Compiler herausgeholt wurden.


Vernderungen zur Version 1.46 - Dezember 1992

- Verbesserung der runden Buttons in der Dialogbox 'Disassembler-
  Optionen'. In der mittleren ST-Auflsung (verzerrte Ausgabe) gab es
  dort einige kleine Verschiebungen.
- Zeileneinfrbung im 'Editor' ein wenig verbessert. Die Textattribute
  rot und hell (italic) ergeben fast ein rosa! Wer htte das gedacht?
- kleiner winziger und wahrscheinlich noch nicht mal sehr alter
  Fehler bei 'or.l #...,D.' behoben.
- Bei Wahl des sparsamen Tabulators, gelegentlich auch
  'SPAR-Tabulator' genannt, ist es nun auch mglich vor die Zeilen
  entsprechend viele ASCII-Tabs zu setzen (ASCII-Zeichen Nr.9), so
  da diverse Editoren optimal untersttzt werden. Hierzu braucht
  lediglich angegeben werden, um welche Tabulatorweite es sich
  handelt! (in der Regel 3, 4 oder 8). Leider gibt es im Desert Drain
  einen Fehler, dessen Beseitigung so umfangreiche nderungen
  beinhalten wrde, da dies unntig viel Zeit in Anspruch nehmen
  wrde. Die Rede ist von der Tatsache, da bei einem eingestellten
  Befehls-Tabulator von z.B. 16 vor einen Befehl nicht 16 Leerzeichen
  eingefgt werden, sondern der Befehl als 16. Zeichen in dieser Zeile
  erscheint!
- Die '20 Zeilen anfgen'-Option wurde zur 'Zeilen anfgen'-Option
  gendert, was heien soll, da jetzt so viele Zeilen angefgt werden,
  um bei maximal geffnetem Fenster und einem 8 Pixel hohen Zeichensatz
  alle Zeilen anzusprechen, bzw. anzuscrollen!


Wegen berdurchschnittlich vielen nderungen erlaube ich mir die
nchste Version 1.5 zu nennen!


Vernderungen zur Version 1.50 - Januar 1993

- Hilfsdatei mit Infos zu den neuen XBIOS-Funktionen frs Falcon 030
  - Videosubsystem erweitert. (siehe ST-Magazin 1/93)
- Menfehler aus V1.46 behoben (wie peinlich)
- Dialogboxen 'Data im Text' und 'ersetzte Symbole':
  neue Tastaturkrzel: ^A fr Eintrag aktivieren
                       ^C fr Eintrag lschen
                       ^G fr Goto
  Bei 'Feld lschen' erscheint nun eine Warnung!
- Beim Ersetzen eines Symbols wird nun auch die Tabelle mit den
  bereits ersetzen Symbolen durchsucht und evtl. gendert.
- Beim 'Anstreichen' der Data-Bereiche im Textsegment wird der neue
  Eintrag nun direkt an die entsprechende Stelle in der Tabelle
  gesetzt, so da das ewige Sortieren nur noch sehr selten auftritt!
- Die Databereiche im Textsegment drfen nur an Adressen beginnen, an
  denen ein vorheriger Maschinenbefehl aufhrt. Dies fhrte
  gelegentlich zu doppelten bersetzungen (als Text und als Data)
  aller folgender Bereiche. Dieses tritt zwar nicht mehr auf,
  die Ursache lt sich jedoch nicht vermeiden. Damit man die
  entscheidenen Fehlerzeilen leichter findet, wird in die nchste
  Zeile eine Bemerkung mit dem Namen 'DITerr' angefgt!
- Quelle und ASCII-Ziel wurden intern getrennt. Es ist nun mglich
  eine ASCII-Datei getrennt von der geladenen Quelle zu laden und
  zu bearbeiten (Achtung bei der Text-Data-Umwandlung). Weil man
  meistens zur Weiterbearbeitung die Zeilenadressen bentigt knnen
  diese in einer externen Datei mitgespeichert werden. (*.ZLA)
- Bei der Speicher-Einteilung gibt es einen neuen Button: 'install'.
  Dieser dient zur Neueinstellung der eingegebenen Parameter. Mit 'OK'
  werden diese nun nur noch zur Kenntnis genommen und beim nchsten
  Lschen der Quelle beachtet. z.B. beim Disassemblieren, Laden einer
  ASCII-Datei bei der Einstellung: absolute Zeilenlnge
- In der ASCII-Datei knnen nun auch weitere Parameter gespeichert
  werden. Ich habe mich fr das Format des QED von Holger Weets
  entschieden und es etwas erweitert! Der QED in der Version 2.00
  scheint nichts dagegen zu haben. Wollen wir hoffen das dies in
  Zukunft auch noch so ist!
  In der ersten Zeile wird folgendes gespeichert:
  - die Weite des Tabulators - Man wird hier in der Regel den
    Spar-Modus mit zugefgtem Tabulator benutzen.
  - fr Desert Drain die Kennung '$DSDR:' (wie mystris)
    - Anzahl der Zeilen mit 'Z:'
    - den ASCII-Modus mit 'M:' - 4 Bits
- verbesserte Routine zum Ersetzen von Symbolen
- in den Dialogen 'ersetzte Symbole' und 'Data im Text':
  - Speichern in eine DBT- oder SYB-Datei wurde gestrichen. Ab jetzt
    nur noch mit Quellparameter laden/speichern.
  - Das Verlngern oder Verkrzen des Feldes luft nun vollstndig
    im Speicher ab. Hierzu einfach die Lnge des Feldes ndern und
    den Button 'neue Lnge' bettigen.
- Beim ASCII-Laden ist nun auch die Entfernung von Tabulatoren mglich
  (um entspreched gespeicherten Mll auch wieder sinnvoll laden zu
  knnen).
- Durch winzige nderungen am Editor ist es gelungen dieses unseelige
  'Zeilen anfgen' herauszuwerfen. Wer htte das gedacht?
- Syntax fr die Editor-Funktionen 'Aufruf suchen' und 'Symbol
  ersetzen' verbessert.
- Ach brigens: Die Quellparemeterdateien (*.PAR) sind seit der
  Version 1.41 aufwrtskompatibel! Die Parameterdateien (*.INF) knnen
  jedoch nur von der aktuellen Version geladen werden!
- Nachdem der Programmierer aus einem langen und sehr festen Schlaf
  erwachte, entdeckte er voller Entsetzen, da beim Lesen des
  Registrierungsinfos die Environmentvariable nicht beachtet wird. Und
  nun schlaf schn weiter.
- ...und schon wieder eine optische Spielerei im Programminfo.


Vernderungen zu den Versionen 1.50 bis 1.53

- Sehr viel Kleinkram, den ich nicht mehr aufzhlen kann!
- Hilfedatei:
  - XBIOS-Roudinen fr das Audio-System des F030
  - BIOS, XBIOS und GEMDOS-Parameterdeklarationen nun in C statt in
    GFA-Basic Syntax.
- Befehlsbergabe bei Programmstart ber Kommandozeile mit folgender
  Syntax: [%D] <pfad>
  Die Programmdatei <pfad> wird nach dem Start geladen. Der optionale
  Parameter %D legt fest, ob selbstndig disassembliert werden soll.
  Diese Funktion wurde speziell fr die ST Pascal plus - Entwicklungs-
  umgebung Pasture eingebaut. (beim Autor erhltlich)
- einige neue Befehle fr Prozessoren ab MC68020, siehe OPCODE.TXT


Vernderungen zu den Versionen 1.54 bis 1.55 - Juli 1993

- Format der Datei DS_HILFE.TXT gendert. Erweiterungen sind nun
  wesentlich einfacher. Das Laden und Scannen dauert aber etwas lnger.
- Einige Systemaufrufe zu SpeedoGDOS und MultiTOS eingefgt.
- Anpassung an MultiTOS:
  - Einige wichtige Dialoge erscheinen nun in Fenstern.
  - Viele Tastaturkrzel muten wegen den Fensterdialogen gendert
    werden.
  - Der Bildschirm wird beim Disassemblieren nicht mehr durch den
    Dialog mit den kleinen Blkchen gesperrt. Das Disassemblieren kann
    so im Hintergrund ablaufen!
  - Am Ende des Programms erfolgt kein RESERVE mehr.
  - Ein Neustart zur Neuorganisation des belegten Speichers benutzt
    ebenfalls RESERVE und endet so fast immer im Nirvana. Abhilfe
    durch Parameter sichern und Neustarten des Programms.
- Fehler beim 'Scannen' der Hilfsdatei gefunden. Die BIOS-Calls wurden
  durch XBIOS-Aufrufe ersetzt. Das END wird nun richtig erkannt. Laden
  luft somit auch wieder schneller und speicherschonender.
- DTA auf eigene Adresse (auerhalb der Basepage) gelegt.
- Nachtrag zu den Fensterdialogen: Aus Geschwindigkeitsgrnden ver-
  wendet der Disassemblerteil des Programms fast nur globale Variablen.
  Aus diesem Grund kann es passieren, da der Disassembliervorgang aus
  allen Bahnen gert und es zum Programmabbruch kommt, wenn im Hinter-
  grund gescrollt wird. Also am besten das Editorfenster schlieen,
  wenn unbedingt im Hintergrund gearbeitet werden soll, ansonsten den
  Rechner in Ruhe arbeiten lassen und whrend des Disassemblierens
  nicht benutzen.
- Wenn das erste Zeichen eines Text-Objektes in einem GEM-Dialog der
  sogenannte Klammeraffe ist ( '@' = ASCII $40 ), bleibt der Rest der
  Zeile leer. Leider wird dieses Zeichen von Lattice C und vielleicht
  auch einigen anderen Compilern zur Kennzeichnung eines Unterprogrammes
  mit Parameterbergabe benutzt. Laber, Laber, und jetzt zum Resultat:
  DD ersetzt nun alle @ die am Anfang eines Symbols stehen, durch ein L.
  Ich hoffe es strt niemanden.


Vernderungen zu den Versionen 1.56 bis 1.57 - 1994

- Kleinkram, ich hab's einfach vergessen.
- Quit-Meldung, wenn der Editorinhalt noch nicht gesichert wurde. Eine
  Vernderung des Editorinhaltes wird nicht kontrolliert!
- Hilfe-Datei erweitert:
  - F030/MultiTOS-AES-Aufrufe
  - MiNT-Aufrufe
