Moin,
Exomizer-Level-Dercruncher - gibts da etwas in dieser Richtung ?
Danke.
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von Acorn am
Moin,
Exomizer-Level-Dercruncher - gibts da etwas in dieser Richtung ?
Danke.
Wer bist du und was hast du mit ACE gemacht?
Was meinst du mit Level-Decruncher? Auspacken kann er ja alles, direkt aus dem Speicher oder aus dem selbst erzeugten Executable.
Da man die Methode get_byte übersteuern kann, kann man da beliebige Quellen reinstecken.
Das klingt, als würdest du nach einer spezialisierten Entpack-Methode suchen.
Wer bist du und was hast du mit ACE gemacht?
ZitatWas meinst du mit Level-Decruncher? Auspacken kann er ja alles, direkt aus dem Speicher oder aus dem selbst erzeugten Executable.
Da man die Methode get_byte übersteuern kann, kann man da beliebige Quellen reinstecken.
Das klingt, als würdest du nach einer spezialisierten Entpack-Methode suchen.
Bei einem Spiel soll der IRQ Loader entfernt werden und durch einen Kernal Loader ersetzt. Das Game ist mit dem Exomizer Levelsqueezer gecruncht worden.
Nur scheint es so,dass die Macher unbekannte Crunchparameter benutzt haben.
Warscheinlich um den Game-Code zu schützen. Dadurch schwierig, an die entsprechenden Adressen zu entpacken.
Ist das eine Spezialversion vom Exomizer? Ich finde mit dem Begriff bei CSDB nix. Das klingt interessant.
Andersrum: Wenn die Entpacker-Sourcen bekannt sind, kann man das dann nicht evtl. aus dem Assembly ableiten?
Jetzt so adHoc wüsste ich keine direkte Antwort.
Aber vielleicht hilft Dir ja das Memorymapping (http://unusedino.de/ec64/technical/aay/c64/mapexo.htm) oder das Readme (https://raw.githubusercontent.…r/exomizer2/exo20info.txt).
Die manuelle Entpackroutine belegt 412 bytes und ist ziemlich einfach zu handhaben.
Ist zwar schon etwas älter der Thread. Aber ich bin auch auf der Suche nach einer Exomizer Entpackroutine. Jedoch nutze ich das C64 Studio.
Wenn ich das richtig sehe kann ich damit die Exomizer-Sources nicht kombilieren. Eventuell kann mir einer Tips geben wie ich den code mir zusammenbasteln (welchen code ich aus den einzelnen Dateien benötige) bzw. hat die Entpackroutine als .asm oder Maschinencode-Datei parat?
Hab selber bei Kevin in the Woods gepackte Level mit dem C64 Studio in Benutzung, inklusive Exomizer-Routine. Bin bloß grad nicht am PC. Aber warum sollte das nicht gehen?
Hab selber bei Kevin in the Woods gepackte Level mit dem C64 Studio in Benutzung, inklusive Exomizer-Routine. Bin bloß grad nicht am PC. Aber warum sollte das nicht gehen?
Es wird schon gehen. Ich bräuchte aber (derzeit noch aus Mangel an Kentnissen) etwas Hilfe.
Bei codebase64.org gibt es imho auch irgendwo ein Beispiel von Spider-j. da musst du nur die bins includen und zuvor natürlich korrekt packen. Schau mal von hier an:http://codebase64.org/doku.php…compression_for_beginners
Bei codebase64.org gibt es imho auch irgendwo ein Beispiel von Spider-j. da musst du nur die bins includen und zuvor natürlich korrekt packen. Schau mal von hier an:http://codebase64.org/doku.php…compression_for_beginners
Danke! Mir geht es um den Entpackerteil. Im Prinzip um den Teil der mit jsr $c000 ;Exomizer decrunch source ausgeführt wird, um diesen für mein Programm zu nutzen.
Ich benutze das Teil, das Spider J da mal für ACME angepasst hat, das lief dann auch direkt unter C64Studio. Hier im Anhang.
Der Aufruf ist dann so:
lda #<PACKED_SOURCE
sta PACKED_DATA_ADDRESS
lda #>PACKED_SOURCE
sta PACKED_DATA_ADDRESS + 1
jsr Unpack
Dabei musst du aufpassen, dass die Adresse immer auf das Byte nach den gepackten Daten zeigt. Exomizer packt rückwärts.
Hast du mal im Exomizer Verzeichnis geschaut? Ich glaube, da gab es ein Binary Verzeichnis, wo genau der Code liegt? Den musst du nur mit !bin in den Sourcecode einfügen.
Ich benutze das Teil, das Spider J da mal für ACME angepasst hat, das lief dann auch direkt unter C64Studio. Hier im Anhang.
Danke! Dasn schaue ich mir mal an! Ich denke das hilft mir.
Edit: Das sieht sehr gut aus und hilft mir wirklich! Danke Endurion!
Hast du mal im Exomizer Verzeichnis geschaut? Ich glaube, da gab es ein Binary Verzeichnis, wo genau der Code liegt? Den musst du nur mit !bin in den Sourcecode einfügen.
Ja - aber bei den ganzen Sourcefiles blicke ich nicht durch. Das übersteigt derzeit mein Verständnis.
Die Sourcefiles von Exomizer brauchst du gar nicht (verstehen). Einfach die compilierten Binaryfiles mit !bin einbinden und aufrufen, wie Endurion schrub...
Die Sourcefiles von Exomizer brauchst du gar nicht (verstehen). Einfach die compilierten Binaryfiles mit !bin einbinden und aufrufen, wie Endurion schrub...
Ich finde aber keine Binaryfiles im Exomizer-Ordner, welche man einbinden könnte. Außer 3 Stück im rawdecrs-Ordner. Und die sehen nicht nach kompilierten Assemblercode aus.
Aber wie schon erwähnt, der Code von Endurion ist das, was ich suchte! Schreibe gerade den Code zum Testen.
Sofern es für jemand interessant ist. Mit Exomizer kann man auch RAW-Daten, z.B. Dateien mit Bildschirmdaten / Hiresgrafiken usw., die mit C64Studio als "Binary File" abgespeichert werden, direkt per Kommandozeile packen und die Zieladresse für das Entpacken Exomizer mitgeben. Man erspart sich so das manuelle hinzufügen der Ladeadresse. Die bnötigte Enpackroutine ist weiter oben zu finden.
Es ist eine neue Version von Exomizer raus, das update lohnt sich.
Es gibt wieder was neues vom Exomizer.
Version 3.1.0 : https://bitbucket.org/magli143/exomizer/wiki/Home