Hallo Besucher, der Thread wurde 38k mal aufgerufen und enthält 169 Antworten

letzter Beitrag von InsertDisk2 am

Fragen zu Exomizer

  • Finde Exomizer generell gut, auch wenn das Manual mir nicht wirklich alle Fragen beantwortet. Vielleicht bin ich ja auch wieder zu doof. Aber das wäre ja nix Neues. Ich frage also einfach hier mal:
    1.) Kann ich Exomizer zwingen, etwas im Output File in einem bestimmten Speicherbereich abzulegen durch Angabe der gewünschten Startadresse?
    Die Verlegung nach $0810 in allen Ehren, aber vielleicht will ich diesen Speicherbereich ja nunmal für was anderes nutzen.
    2.) Muss das Outputfile unbedingt eine Basic-Zeile (SYS) haben?
    Ist ja nett gemeint, sogar für dieses ansonsten ja nicht gerade DAU-freundliche Programm ein toller Service. Würde ich aber manchmal auch gern drauf verzichten.
    3.) Falls 1.) oder 2.) möglich: Könnte mir jemand ein Beispiel für die Syntax in der Batch geben?


    Danke! :winke:


    EDIT/remaxx: Thread aufgeräumt !


  • 1.) Kann ich Exomizer zwingen, etwas im Output File in einem bestimmten Speicherbereich abzulegen durch Angabe der gewünschten Startadresse?
    Die Verlegung nach $0810 in allen Ehren, aber vielleicht will ich diesen Speicherbereich ja nunmal für was anderes nutzen.


    Klar geht das, Du brauchst dann nur eine eigene Entpackroutine. Das wird hauptsächlich für Loadersysteme genutzt


    Mit

    Code
    1. exomizer.exe level


    packt er Dir Deine Files die beim laden entpackt werden können. Er nimmt dann die ladeadresse der original datei


    Code
    1. exomizer.exe mem -l <ladeadresse>


    packt er Dir Deine Files, die beim entpacken schon komplett im speicher liegen müssen, an die <ladeadresse>


    ...aber Du brauchst für beide eine eigene Entpackroutine liegt als source dabei glaube ich)



    2.) Muss das Outputfile unbedingt eine Basic-Zeile (SYS) haben?


    Nein, siehe 1.



    3.) Falls 1.) oder 2.) möglich: Könnte mir jemand ein Beispiel für die Syntax in der Batch geben?


    Code
    1. exomizer.exe level meinprogramm.prg -o meinprogramm.exo


    So nutze ich das momentan für's Loadersystem


  • ...aber Du brauchst für beide eine eigene Entpackroutine liegt als source dabei glaube ich)


    Ah, jetzt, ja! Hmh. Schade, dass ich die Entpackroutine dafür brauche. Stimmt aber, Source liegt bei.


    Danke für die Info. Ich hatte mit dem Befehl schon geliebäugelt/rumgemacht, aber natürlich ohne Entpacker nix mit dem Produkt anfangen können.

  • TheRyk:
    Ich schätze mal, Du fragst wegen dem Cracktro-Projekt. Wenn Du faul bist und Dich nicht noch um die Entpackroutine kümmern willst, mach es so wie meine Wenigkeit:
    Ich hab einfach erstmal den Code mit Auswertung des Trainermenüs und das Spiel zusammengelinkt (bzw. eben einfach in ACME mit !bin Befehl) und dann den ganzen Kladderadatsch im Exomizer ohne Basiczeile gepackt:

    Code
    1. exomizer sfx $c600 spiel.prg -ospielohnebasiczeile.prg -x1 -Di_load_addr=$080d


    Das packt erstmal das Ganze nach $080d (so dass davor noch Platz ist für eine spätere Basiczeile) und startet dann nach dem Entpacken bei $c600.


    Dann habe ich mein Cracktro genommen und ebenfalls in ACME das vorher gepackte Teil mit !bin Befehl zusammengelinkt. Bei mir war das Cracktro bei $8000, ist aber ja erstmal wurscht, ob man Intro oder Hauptprogramm zuerst im Speicher liegen hat. Am Ende vom Intro einfach ein JMP $080d (also eben in meinem Beispiel) und das Hauptprogramm wird entpackt.
    Am Ende das dann nochmals durch den Exomizer gejagt.

    Code
    1. exomizer sfx $8000 introplusspiel.prg -ointroplusspielgepackt.prg -x3


    Das ist zwar nicht die ganz "edle" Variante, weil man dann halt zweimal eine Entpackroutine im Speicher hat, aber zumindest muss man sich dann nicht mehr selbst darum kümmern, dass man die korrekten Werte übergibt und vorallem, dass die nicht überschrieben wird.

  • *Thread ausbuddel*


    Hätte da mal ne Frage an die Profis....
    wenn ich oben genannte Syntax benutze

    Code
    1. exomizer level koalabild.prg -o koalaviewer.exo


    oder gar die von codebase64

    Code
    1. exomizer sfx $1000 koalabild.prg -o koalaview.prg -n


    funktioniert das zwar ganz prächtig, haut mir aber immer den Basic-Start wieder raus.
    Hintergrund ist, dass ich mir hier für eines meiner Koala Bilder ne ASM Routine geschrieben habe, die mir das Bild anzeigt. Das ganze ist danach aber 91blocks groß.... (da gibts sicher massig optimierung, tut aber erstmal nichts zur Sache)....


    Mein Programmstart liegt bei $1000, ich starte also normalerweise mit SYS4096, hatte mir aber folgendes noch reingebaut:

    Code
    1. *=$0800
    2. !byte $00,$0b,$08,$0a,$00,$9e,$34,$30,$39,$36,$00,$00,$00 ;so kann man spaeter mit run starten


    damit man das Bild/Programm später einfach mit RUN: starten kann.


    Packe ich nach obigen beiden Methoden, muss ich wieder manuell SYS4096 eingeben.....
    Was läuft da falsch?
    Muss dazu sagen, dass das packen mit Exomizer für mich absolutes Neuland ist und ich vorher noch nie auf dem PC gepackt habe.


    Falls es hilft oder nötig ist:
    Betriebssystem ist Ubuntu 9.04


    Exomizer Version ist die beta20v7 aus der csdb.


    Vielen Dank schon einmal im Vorraus! :)

  • ... exomizer .... echt und mich fragt niemand *g*


    schau dir das Tutorial von mir auch an, oder es gibt PackBytes :)
    So gehts dann automatisch mit makefile und Kindern. Schützt Dich nebenbei sogar vor "4096" != "1024", hehe. Der war gut. Danke:)
    aah und automatisch die optimale lowadd ... Naja, schau rein, ich fabulier da auch ein wenig wie sich so eine entpackroutine fuehlt ;o)


    Hoffe es hilft in einsamen Stunden, Gruss, Jed.

  • Selbst wenn der Mensch mal ein TUT geschrieben hätte, macht er aufgrund seiner bisherigen Postings nicht den Eindruck, dass es lesenswert sein könnte. Es scheint sich um einen Spaßvogel-Troll zu handeln. Vielleicht belehrt er uns ja eines besseren und lädt tatsächlich nochmal was Sinnvolles hoch.

  • Um die Frage selbst zu beantworten: So berauschend wie bei Text oder Grafiken sind die Resultate leider - wie eigentlich auch zu erwarten war - nicht. Erziele im Idealfall eine Kompressionsrate von um die 60:100, also aus 16K kann man um die 10K machen. Für meine aktuellen Zwecke wäre <50:100 schöner gewesen.

  • Ich komm einfach nicht drauf, wie man ein prg exomized was z. B. bei $0820 beginnt und auch gestartet wird. Hab schon mehrere Sachen ausprobiert, aber die Anleitung ist schwer zu verstehen. Ein Tipp würde mir sehr helfen.


    Edit: Hat sich erledigt. Ich hab die Adresse hexadezimal angegeben statt dezimal. Lag wohl daran das alle Beispiele in diesem Tread auch mit hexadezimal-Adressen sind.