Autor Thema: MIDImaze Source Code (reverse engineered)  (Gelesen 617 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline sarnau

  • Benutzer
  • Beiträge: 15
MIDImaze Source Code (reverse engineered)
« am: Mi 23.04.2025, 18:57:38 »
Moin,

Ich hatte dies vor Jahren schon gemacht, aber die Sourcen nie online gestellt. Ich habe mit einem Python Script aus den Assembler-Code wieder C-Sourcen erstellt. Man kann die Version sogar auf einem Mac starten (ich habe dazu ein paar 64-bit Fixes eingepflegt). Zusätzlich habe ich ausführlich die Sourcen dokumentiert.

https://github.com/sarnau/AtariST-MIDIMaze-Source

Offline Lynxman

  • Benutzer
  • Beiträge: 2.201
  • Nicht Labern! Machen!
Re: MIDImaze Source Code (reverse engineered)
« Antwort #1 am: Do 24.04.2025, 00:05:23 »
Ich bin beeindruckt.
Aktuelle Lynx FlashCard Firmware: hier klicken

Nerd? I prefer the term INTELLECTUAL BAD ASS

Ich kann nicht alle glücklich machen, ich bin ja keine Pizza!

Werde auch Du Fan von Lynxmans Basteltagebuch!  Klick mich, Du willst es doch auch! ;)

Offline sarnau

  • Benutzer
  • Beiträge: 15
Re: MIDImaze Source Code (reverse engineered)
« Antwort #2 am: Do 24.04.2025, 00:56:59 »
Danke sehr.

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.350
Re: MIDImaze Source Code (reverse engineered)
« Antwort #3 am: Do 24.04.2025, 08:56:50 »
Stark.

Ich hab mir noch nicht alles angeschaut, aber ist auch irgendwo der ursprüngliche Assembler-Code, den du als Ausgang genommen hast? Den sehe ich da nirgends. Irgendeine Idee, welcher Compiler ursprünglich benutzt wurde?

Edit: Ah, gefunden. Oha, Alcyon-C. Ja, das macht die Sache erheblich einfacher, wie ich aus eigener Erfahrung sagen kann ;)


« Letzte Änderung: Do 24.04.2025, 09:02:07 von Thorsten Otto »

Offline sarnau

  • Benutzer
  • Beiträge: 15
Re: MIDImaze Source Code (reverse engineered)
« Antwort #4 am: Do 24.04.2025, 16:55:00 »
Der "InverseCompiler" sind die Python Sourcen, welche ich genutzt habe. Braucht etwas Arbeit, aber kann den Code gut zurückübersetzen. Siehe auch MIDIMAZE_SYMBOLS.h innerhalb des Ordners für die Datenstrukturen, Funktionsnamen, etc – der Script nutzt die um einen Source zu erzeugen.

Offline goetz @ 3rz

  • Benutzer
  • Beiträge: 2.107
Re: MIDImaze Source Code (reverse engineered)
« Antwort #5 am: Do 24.04.2025, 21:51:09 »
Edit: Ah, gefunden. Oha, Alcyon-C. Ja, das macht die Sache erheblich einfacher, wie ich aus eigener Erfahrung sagen kann ;)

Weil Alcyon-C so wenig / nicht optimiert?
Wider dem Signaturspam!

Offline goetz @ 3rz

  • Benutzer
  • Beiträge: 2.107
Re: MIDImaze Source Code (reverse engineered)
« Antwort #6 am: Do 24.04.2025, 21:52:24 »
Moin,

Ich hatte dies vor Jahren schon gemacht, aber die Sourcen nie online gestellt. Ich habe mit einem Python Script aus den Assembler-Code wieder C-Sourcen erstellt. Man kann die Version sogar auf einem Mac starten […]. Zusätzlich habe ich ausführlich die Sourcen dokumentiert.

https://github.com/sarnau/AtariST-MIDIMaze-Source

Danke dir!
Wider dem Signaturspam!

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.350
Re: MIDImaze Source Code (reverse engineered)
« Antwort #7 am: Gestern um 05:31:34 »
Weil Alcyon-C so wenig / nicht optimiert?

Ja, genau. Der erzeugte Code ist ziemlich straight-forward. Bei Pure-C ist das auch noch halbwegs gut zu verstehen, lediglich die Register-Variablen machen manchmal Schwierigkeiten. Bei gcc ist es praktisch unmöglich, C-code zu schreiben der wirklich wieder genau den Assembler-Code erzeugt.

Schlüsselpunkt ist aber in jedem Fall, erstmal die verwendeten Strukturen zu verstehen. Bei TOS war das damals unproblematisch, weil die grösstenteils schon bekannt waren. Bei fremden Programmen wie Midimaze muss man sich die erstmal erarbeiten.