DESERT DRAIN - 680x0er Disassembler 
Update-Infos zu den Versionen 1.40 bis 1.50 
 
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. 
 
 
