DESERT DRAIN - 680x0er Disassembler
Update-Infos zu den Versionen 1.40 bis 1.50
Ver„nderungen zur Version 1.40
- berarbeitete und erweiterte Benutzeroberfl„che
- Die ersetzten Symbole werden nun gespeichert, in einer Dialogbox
aufgelistet und bei erneutem Disassemblieren automatisch gesetzt.
Aužerdem ist es m”glich die Symboltabelle eines Programmes zu
bearbeiten.
- Spezielle Info's zu den TOS-Traps (GEMDOS, BIOS und XBIOS) k”nnen
eingestellt werden, so daž ein individuelles Erkennen m”glich 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
k”nnen nun auch diese Sprnge ins Betriebssystem benannt werden.
- S„mtliche individuellen Parameter zu einer Quelle k”nnen in einem
bestimmten vom Quellpfad unabh„ngigen Verzeichnis gespeichert
werden. Sie werden von dort automatisch wieder geladen, wenn sie den
Namen der ausgew„hlten Quelldatei tragen.
- 'Zeilenadresse suchen' (Suchen mit ^) l„uft 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) l„uft
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 k”nnen andere Programme gestartet
werden.
- Das Problem mit dem Abspeichern von Koordinaten von noch nicht
ge”ffneten Fenstern wurde behoben.
Ver„nderungen 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 Sliderverz”gerung beschleunigt nochmals das Scrolling.
- Die Bios-Referenz in der Hilfsdatei wurde berarbeitet.
�Ver„nderungen zur Version 1.42
- Bytekonstanten k”nnen jetzt auch vorzeichenbehaftet dargestellt
werden.
- Die Entschlsselung des movem-Befehls wurde berarbeitet.
- Die Assembleranpassung ist nun auch vollst„ndig 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???
Ver„nderungen zur Version 1.43 - Septmeber 1992
- FPU-Ansteuerung ber LINE F
- branch-Befehle mit 32 Bit (bcc.l)
- Die Benutzeroberfl„che 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.
Ver„nderungen 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 m”glich. 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 gew„hlt und ein Offset beigefgt. (in der Regel Label T_0)
- Die Disassemblierung kann nun auch mit der Bet„tigung 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 L„nge)
- Eigene Symbole drfen nun auch diese L„nge haben!
Ver„nderungen 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 w„re wesentlich
zutreffender. An dem Konzept dieses Editors wird sich auch in
Zukunft nichts „ndern! Er ist schnell, leicht bedienbar und hat
alle n”tigen 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.
Ver„nderungen zur Version 1.46 - Dezember 1992
- Verbesserung der runden Buttons in der Dialogbox 'Disassembler-
Optionen'. In der mittleren ST-Aufl”sung (verzerrte Ausgabe) gab es
dort einige kleine Verschiebungen.
- Zeileneinf„rbung im 'Editor' ein wenig verbessert. Die Textattribute
rot und hell (italic) ergeben fast ein rosa! Wer h„tte 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 m”glich 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 unn”tig 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
ge„ndert, was heižen soll, daž jetzt so viele Zeilen angefgt werden,
um bei maximal ge”ffnetem Fenster und einem 8 Pixel hohen Zeichensatz
alle Zeilen anzusprechen, bzw. anzuscrollen!
Wegen berdurchschnittlich vielen Žnderungen erlaube ich mir die
n„chste Version 1.5 zu nennen!
Ver„nderungen 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 l”schen
^G fr Goto
Bei 'Feld l”schen' erscheint nun eine Warnung!
- Beim Ersetzen eines Symbols wird nun auch die Tabelle mit den
bereits ersetzen Symbolen durchsucht und evtl. ge„ndert.
- 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 aufh”rt. Dies fhrte
gelegentlich zu doppelten šbersetzungen (als Text und als Data)
aller folgender Bereiche. Dieses tritt zwar nicht mehr auf,
die Ursache l„žt sich jedoch nicht vermeiden. Damit man die
entscheidenen Fehlerzeilen leichter findet, wird in die n„chste
Zeile eine Bemerkung mit dem Namen 'DITerr' angefgt!
- Quelle und ASCII-Ziel wurden intern getrennt. Es ist nun m”glich
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 ben”tigt k”nnen
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 n„chsten
L”schen der Quelle beachtet. z.B. beim Disassemblieren, Laden einer
ASCII-Datei bei der Einstellung: absolute Zeilenl„nge
- In der ASCII-Datei k”nnen 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 mystri”s)
- 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 Verl„ngern oder Verkrzen des Feldes l„uft nun vollst„ndig
im Speicher ab. Hierzu einfach die L„nge des Feldes „ndern und
den Button 'neue L„nge' bet„tigen.
- Beim ASCII-Laden ist nun auch die Entfernung von Tabulatoren m”glich
(um entspreched gespeicherten Mll auch wieder sinnvoll laden zu
k”nnen).
- Durch winzige Žnderungen am Editor ist es gelungen dieses unseelige
'Zeilen anfgen' herauszuwerfen. Wer h„tte das gedacht?
- Syntax fr die Editor-Funktionen 'Aufruf suchen' und 'Symbol
ersetzen' verbessert.
- Ach brigens: Die Quellparemeterdateien (*.PAR) sind seit der
Version 1.41 aufw„rtskompatibel! Die Parameterdateien (*.INF) k”nnen
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 sch”n weiter.
- ...und schon wieder eine optische Spielerei im Programminfo.