Firmware disassembliert
von Günter Kreidl
Nascom-Besitzer sind Tüftler, die immer genau wissen wollen, wie alles
funktioniert, sei es die Hardware oder die Software. (Das ist
jedenfalls mein Eindruck!) Es haben sicherlich schon verschiedene Leute
die Firmware entschlüsselt, sprich disassembliert. Wir können so etwas
aus Copyright-Gründen natürlich nicht abdrucken (auch den Platz dafür
haben wir nicht!), aber wir können Hinweise darauf geben, wie man das
selber machen kann. Ich möchte hier mit ZEAP den Anfang machen. Wer
längere Zeit mit dem Assembler gearbeitet hat, der möchte vielleicht
auch mal wissen, wie er funktioniert. Vielleicht möchte ihn auch jemand
verändern. Ich habe relativ leicht mit NASDIS ZEAP in ein ZEAP-File
verwandeln können. Zunächst muß man die Datenbereiche kennen. Es sind
nur zwei: D006-D009, D00D-D305. Jetzt kann man NASDIS die
Disassemblierung vornehmen lassen. Der Quellcode muß nun noch ein
bißchen editiert werden, aber auch das hält sich in Grenzen. Zurächst
gibt man den Befehl R 4 2 ein. Dann müssen die Zeilen 660 bis 572
geändert werden, weil es sich bei den Daten hier teilweise um Adressen
handelt. Je einem Datenbyte folgt eine Adresse als Hilfestellung seien
hier die Adressen aufgeführt: D2DC, D2E4, D2E8, D3EC, D2F0. Mit Hilfe
der freien Zwischenzeilen kann man diesen Bereich nun in folgender
Weise umschreiben:
xxxx DEFB Datenbyte
xxxx DEFW Adresse (als Label, also mit vorgestelltem „L“!).
Diese Labels müssen jetzt noch im Quelltext an den richtigen Stellen
(sie liegen am Ende des Datenbereichs!) eingefügt werden. Man kann die
Stellen mit einer versuchsweisen Assemblierung leicht finden (ORG
£0000 vorgeben!). In einer der letzten Zeilen des Quelltextes
steht: LE000 EQU £E000. Das ist zu ändern in: LE000 EQU $. Will
man feststellen, ob man alles richtig gemacht hat, läßt man jetzt mit
ORG £0000 und einem Offset assemblieren und vergleicht mit einem
kleinen Testprogramm Byte für Byte die Originalversion mit der
assemblierten Version. Sie müssen übereinstimmen. Dann kann man den
Assembler auch an eine andere Speicherstelle assemblieren und dort
testen. Wer aber ZEAP nur im Speicher verschieben will, braucht sich
die Mühe des Disassemblierens nicht zu machen, denn es folgen hier noch
die Verschiebungsvektoren für
ZEAP und
DEBUG.
Mit dem im
letzten Heft
beschriebenen Relocator können beide Programme jetzt an beliebige
Speicherstellen (Pages!) gelegt werden (bei mir läuft z.B. ZEAP jetzt
auf F000). DEBUG benötigt NASDIS im direkt anschließenden Speicher. Man
sollte also nur beide gemeinsam relozieren. Die beiden
Verschiebungsvektoren können dann zu einem zusammengefaßt werden.
Impressum
Herausgeber:
Günter Böhm | ______________ ___. ___ |
__ Karlsruhe | Tel. ____/______ |
Redaktion, Layout (Grafik), Versand |
Günter Kreidl | _________ __ |
____ Straelen | Tel. _____/____ |
Redaktion, Layout (Text), Buchhaltung |
Korrespondenten:
Wolfgang Mayer-Gürr | ____________ ___ ___ |
___ Recklinghausen | Tel. _____/_____ |
Clemens u. Max Ballarin | _______ ___. _ |
___ Ueberlingen | Tel. _____/_____ |
Michael Bach | __ __________ __ |
____ Stegen | Tel. _____/_____ |
Peter Brendel | __________. __ |
____ Mannheim |
Hans-Jürgen Plath | ____ _______. _ |
____ Kiel |
Hans Schneider | ________ ____ |
____ Esens |
Oesterreich: |
Gerhard Klement | ________. ___/_/__ |
A-____ Wien | Tel. ____/_______ |
Niederlande: |
Eric v.d.Vaart | __________ __ |
NL-____ __ Waddixveen |
England: |
Frank M. Butler | ___ ____ ____ ____ |
Mansfield Woodhouse/Notts |
Luxemburg: |
Rene Claus | _________. __ |
L-___ Bonneweg |
Verlag:
Günter Kreidl | ____ Straelen |
Vertriebsweise und Bezugspreis:
Einzelheft | DM | 5,– |
Doppelheft | DM | 10,– |
Jahresabonnement In- und Ausland | DM | 60,– |
Es erscheinen 10 Hefte pro
Jahr, davon zwei Doppelhefte. Es können jeweils nur ganze Jahrgänge
abonniert werden. Bei Bestellungen nach dem Erscheinungsdatum des
ersten Heftes eines Jaghrgangs werden die bereits erschienenen Hefte
nachgeliefert. Die Lieferung von Einzelheften durch den Verlag ist
nicht möglich. Bitte zahlen Sie direkt bei der Bestellung auf das
Postscheckkonto:
Günter Kreidl | ____ __-___ PSchA _____ |
Haftung und Rechte:
Für Fehler in Texten, Bilder, Programmen und Schaltungen und daraus
entstehende Schäden kann keine Haftung übernommen werden.
Alle Rechte
verbleiben grundsätzlich bei den Autoren der Beiträge. Die
Veröffentlichung von Programmen und Schaltungen geschieht nur für den
persönlichen Gebrauch der Abonnenten des 80-BUS-Journals; jede
kommerzielle Auswertung ist nur mit Genehmigung des Verfassers erlaubt.
Beiträge, die nicht mit einem Copyright-Vermerk versehen sind, dürfen
für nichtkommerzielle Verwendung vervielfältigt werden, wenn als Quelle
das 80-BUS-Journal und der Verfasser angegeben werden.