MC 68000 Disassembler?

  • Ich würde gerne mal ein altes Programm für die HP 9000 Familie mit Motorola 68000 CPU ansehen und ggf. für mein System anpassen.


    Leider habe ich bislang keinen "vernünftigen" Disassembler für die MC 68K Familie gefunden.


    Was ich suche, sollte nicht zu massiv sein, ein einfacher Kommandozeilen-Disassembler würde schon reichen.

    Auch ein GUI wäre nett, aber nicht unbedingt notwendig.

    Ein reines online Programm wäre eher unschön.


    Für mich am einfachsten wäre ein Win32 Programm oder ein ANSI C Programm ohne 1000 externe Abhängigkeiten, das ich mir übersetzen kann.


    Man sollte dem Disassembler aber z.B. in einer Zusatzdatei schon sagen können, was z.B. als Code oder Daten oder als Zeichenkette zu interpretieren ist.


    Als Eingabe sollte er eine Binärdatei lesen, ohne dass ich weiß ob die irgendwie in S-Records oder so strukturiert ist.

    Also kein bestimmtes Amiga, Atari oder anderes Format, sondern direkt ausführbarer Code, z.B. in einem ROM..

    Es reicht mir dann auch, wenn ich nur Teilbereiche disassemblieren kann.


    Gibt es da etwas empfehlenswertes?


    Martin

  • IDA ist toll, aber teuer.


    objdump (aus GNU binutils) kann disassemblieren und kann - im Prinzip - auch mit beliebigen Binärformaten umgehen. Man muss aber ggf. ein bisschen zuarbeiten, um die Segmente zu beschreiben.

  • DASM ist ganz tauglich gewesen für ein 6809-Projekt, das ich vor Jahren hatte. Ist natürlich ein anderer Prozessor und ich musste mit Assemblerknowhow noch ordentlich zuarbeiten. Segmentierung ist ja zum Glück kein Problem beim 68000er.

  • Ich habe frueher IDA Pro verwendet, bin mittlerweile aber grosser Fan von ghidra: https://ghidra-sre.org/


    Der Decompiler ist zwar nicht so gut wie bei IDA, der Disassembler interpretiert den Code aber, was bedeutet das er Zugriffe auf Speicher viel besser aufloest.


    Sieht dann fuer 68k so wie im Anhang aus. Das ist aber sicher nicht in die Kategorie kleines, einfaches Tool einzuordnen - da wuerde ich dann vielleicht wirklich einfach objdump verwenden.

  • Es gibt auch noch den FDisasm. Der läuft im Mini vMac (Mac Plus) und wird vom vMac-Entwickler verwendet, um z.B. den ROM-Code zu disassemlieren. Sollte auch nativ auf dem Mac Plus laufen :sunny:

    Das Genie beherrscht das Chaos

  • Der FDisasm läuft auch unter MacOS 8.6, BTDT :) Allerdings ist der stark auf die frühe Mac-Welt zugeschnitten.

  • Danke für die Tips - ich habe mir erstmal den simplen m68kdis heruntergeladen, das geht, aber ich werde mir auch ghidra nochmal ansehen.


    ich hatte den schon mal ausprobiert, dann aber etwas entnervt aufgegeben, aber langfristig lohnt es sich vielleicht doch da nochmal mehr zu investieren. Immerhin kann ich aber schon mal Code und Daten umschalten und den richtigen Prozessor wählen :)


    Für Windows Sachen hatte ich früher gerne den W32DASM genommen und DASMx für 68xx Für 68000 habe ich eben bislang noch keine Erfahrung.


    IDA ist auch ganz nett, aber ich fand den auch immer relativ unübersichtlich und eine Vollversion zu kaufen lohnt sich dann für die "alle paar Jahre mal" Nutzung nicht für mich.


    Martin