Hi,
ich möchte mich mal mit dem TMS 9995 beschäftigen und benötige ein Tool
mit dem man evtl. bestehende Programme disassemblen kann und wieder
kompilieren kann.
Kann mir evtl. jemand weiterhelfen, wo kann man solche Tools heute noch
finden?
Das ist eine Variante des TMS 9900, der im TI99/4A verbaut wurde, also
dürfte eine Suche nach Emulatoren etc. für den TI 99/4A Dir weiterhelfen
können.
Johannes schrieb:> ich möchte mich mal mit dem TMS 9995 beschäftigen
Ist die Frage "warum" gestattet?
> und benötige ein Tool> mit dem man evtl. bestehende Programme disassemblen kann und wieder> kompilieren kann.
Disassemblieren ist einfach. Wenns nichts gibt, dann ist ein einfaches
Teil in kurzer Zeit geschrieben.
Aber aus Binärcode ein echtes(!) C Programm zu bauen, das übersetzt dann
wieder zum leidlich gleichen Code wird - das grenzt an ein Wunder.
A. K. schrieb:>> Disassemblieren ist einfach. Wenns nichts gibt, dann ist ein einfaches> Teil in kurzer Zeit geschrieben.>
Verstehe die Antwort nicht.
Was ist ein einfaches Teil?
Was ist mit "Wenns nichts gibt" gemeint?
> Aber aus Binärcode ein echtes(!) C Programm zu bauen, das übersetzt dann> wieder zum leidlich gleichen Code wird - das grenzt an ein Wunder.
Verstehe Relevanz zum Thread nicht.
Takao K. schrieb:> Was ist ein einfaches Teil?
Code => Befehle, ohne Versuch einer vollständigen Erzeugung von Labels,
Adresstabellen etc.
> Was ist mit "Wenns nichts gibt" gemeint?
Wenn sich niemand meldet und du auch nichts findest.
> Verstehe Relevanz zum Thread nicht.
Kompiliert wird ein Programm einer höheren Programmiersprache wie C.
Nicht aber Assembler-Quellcode, der wird assembliert.
A. K. schrieb:> Takao K. schrieb:>> Was ist ein einfaches Teil?>> Code => Befehle, ohne Versuch einer vollständigen Erzeugung von Labels,> Adresstabellen etc.>>> Was ist mit "Wenns nichts gibt" gemeint?>> Wenn sich niemand meldet und du auch nichts findest.>>> Verstehe Relevanz zum Thread nicht.>> Kompiliert wird ein Programm einer höheren Programmiersprache wie C.> Nicht aber Assembler-Quellcode, der wird assembliert.
OK, Danke.
> Aber aus Binärcode ein echtes(!) C Programm zu bauen, das übersetzt> dann wieder zum leidlich gleichen Code wird - das grenzt an ein Wunder.
Haelst du es fuer wahrscheinlich das es fuer den Prozessor einen
C-compiler gab? Oder ueberhaubt einen Compiler?
Wenn ja wuerde der mich echt noch interesieren. :-)
Olaf
Olaf schrieb:> Haelst du es fuer wahrscheinlich das es fuer den Prozessor einen> C-compiler gab? Oder ueberhaubt einen Compiler?
C stand hier eigentlich für jede Compilersprache. Pascal gab es
jedenfalls. Die 9900 Familie stammt zudem von den TI 990 Minicomputern
ab, Konkurrenz zu PDP-11, und dafür gab es z.B. FORTRAN und COBOL:
http://bitsavers.trailing-edge.com/pdf/ti/990/
Die 9900er hatten unter den Mikroprozessoren der 70ern sicher eine der
besten Zielarchitekturen für Compiler.
Hallo Johannes,
darf man fragen woher Dein Interesse kommt? Ich habe mich mal sehr
intensive mit dem 16-Bit Mikroprozessor beschäftigt und habe auch noch
S/W-Unterlagen. Der TMS9995 ist die 8-Bit Datenbusversion vom TMS990,
also ist die Software kompatibel. Es wurden damit auch E-Bus Platinen
gebaut. Dies ist der TM990/E155 und dafür wurde ein Monitorprogramm -
Eurobug 4 - geschrieben. Die Datenmanual mit Source Listing besitze ich
noch. Dieser Eurobug 4 beinhlatet auch einen Disassembler. Da die
Befehlsstruktur sehr klar und einfach ist ist der Disassembler im
Assembler-Listing grade mal 9 Din A4 Seiten lang. Voraussetzung ist aber
eine Assembler Programm vom TMS9900 zu haben, oder aber es einen
Disassembler auf einem anderen Programm in C zu programmieren. Frage ist
auch in welcher Form das zu disassemblierende TMS9995 Programm vorliegt.
Hi,
hauptsächlich möchte ich mir dies aus Intresse anschauen :-)
Grund ist folgender:
Ich besitze einen alten Spielautomaten dieser nimmt noch DM und hat
einen TMS9995NL Prozessor drin.
Ich würde gerne einfach mal schaue wie das Programm so aufgebaut ist und
evtl die Wertigkeit der Münzen anpassen. Mir ist klar das da der Aufwand
etwas zu ändern in keinem Verhältnis zum Nutzen steht. Aber der
Spieltrieb ist da :-)
Hat niemand mehr einen noch einen Link zu einem Programm, dass mir das
Programm wieder in Assembler mit Sprungmarken usw. anzeigt?
Das Programm liegt mir als bin file vor. Eine Memory Map würde ich mir
dann erstellen.
Johannes schrieb:> Hat niemand mehr einen noch einen Link zu einem Programm, dass mir das> Programm wieder in Assembler mit Sprungmarken usw. anzeigt?
Die Sprungmarken im original Assembler-Code kann ein Disassembler
nicht mehr herstellen - die stehen im Programm (im ROM) nicht drin
(ausser es hätte jemand Debug-Informationen mit dazu gepackt, was für
ein embedded System aber extrem ungewöhnlich wäre). Ein guter
Disassembler baut aber zumindest neue Sprungmarken ein, die heissen dann
aber "L00001" und so...
> Das Programm liegt mir als bin file vor. Eine Memory Map würde ich mir> dann erstellen.
Ich weiss nicht, für welches Betriebssystem du den Disassembler suchst.
Für Unix-Systeme funktioniert der von mir weiter oben verlinkte von Dave
Pitts wunderbar. Für Windows gibt es wohl auch einen (nicht
ausprobiert), der ROM-Dumps/bin-files lesen kann, unter
ftp://ftp.collosumus.net/ti99/project/hc/common/software/dasm99_v1_0_11.
zip - unter http://ti99.collosumus.net/ti99/project/hc/ steht, wie man
den Autor erreichen kann, vielleicht hilft der im Zweifel auch weiter.
-- Michael
Hallo Johannes,
die Spielautomaten-Hersteller treiben normalerweise sehr viel Aufwand um
das ein kopieren oder Manipulationen möglichst zu verhindern. Es könnte
also sein, das das Programm-ROM verschlüsselt ist oder sonstige
Maßnahmen das Auslesen erschweren und es äußerst aufwendig ist
durchzusteigen.
Eine besondere Herausforderung also. Viel Spaß dabei!
Eine eigene Frage?
Dieser Thread ist über 12 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.