Ist es möglich beim Exomizer ein kleines Basic Prg mit einzubinden


  • gh23
  • 573 Aufrufe 33 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Eigentlich solltest Du nichtmal die Startadresse entfernen brauchen. Der Exomizer wertet doch die ersten 2 Bytes eines PRG-Files aus. Also brauchst Du nur Dein Basic-Programm als PRG abspeichern (exportieren, extrahieren...) und das dann in den Exomizer schubsen. Zusätzlich noch Deine ASM-Routinen und evtl. Daten.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Bau Dir ein eigenes Modul! EasyFlash
  • Kommt drauf an, wie du vorgehst, Gerald. Wenn du Basic-Prg und ML-Code, Daten etc. erst in den Speicher lädst und dann den ganzen Summs z.B. mit nem Monitor ab $801 abspeicherst, kannst du einfach alles lassen, wie Skoe schon schrieb.

    Wenn du das Basic-Prg als Binary mitassemblierst, braucht der Assembler die passende Startadresse, sonst setzt er $0000 davor. Dann also

    *=$801

    .binary basicproggy.xyz ;(oder was immer dein Assembler fürn Schlüsselwort für Binaries hat)

    ... ;der Rest

    Dann muss bei basicproggy.xyz die Stardadresse entfernt oder sonstwie "rausgerechnet" werden.

    Edit: Es sei denn, der Exomizer selbst kann mehrere Dateien vor dem Komprimieren verlinken (hab ich jetzt nicht im Kopf ob das geht), dann funktioniert auch wieder Skoes Methode.
  • @all
    Falls es jemanden noch interessiert, habe ein kleines Test-Prg angehängt.

    Der Exomizer wollte mich noch nicht, aber mit Acme ist es kein Problem. Die beiden Zeichen A und B sind der ASM Code, die obere Zeile ist das Basic Prg
    Einfach mit folgendem Code einbinden und assemblieren.

    Quellcode

    1. *=$801
    2. !bin"test.prg",,2
    Dateien
    • xxx.prg

      (2,08 kB, 5 mal heruntergeladen, zuletzt: )
    Gerald ( gh23 )

    ________________________________________
    Stur lächeln und winken Männer
  • Der Exomizer ist nicht nur ein klassischer Cruncher, sondern kann auch das, was "früher" ein typischer Packer gemacht hat.
    Das heißt:
    Man muss/braucht ihn nicht mit *einer* Input-Datei füttern. Hat man z.B.
    Basic ab $0801 (basic.prg)
    Musik am $9000 (tune.prg)
    Assembler ab $c000 (code.prg)

    Kann man die Dateien einfach alle auf der Kommandozeile in einem Rutsch angeben. Beim Entpacken legt er das ganze Geraffel wieder an die Stellen, wo es hin soll.

    Quellcode

    1. When given multiple input files The sfx and mem commands loads all files to
    2. where they are located and then crunch the covered memory area. Any unused
    3. space between files will be zero-filled. The level command loads each input
    4. file separately, crunches it and then appends the crunched data to the output
    5. file.

    Als input kann man normale prg files (2 bytes start-addresse), plain binary files (mit zusätzlich angegebener Adresse), oder prg mit angabe einer geänderten Startadresse (z.B. wenn das Lieblingstool immer eine doofe Startadresse einsetzt, dann kann man sich das mit dem Hex-Editor sparen).

    Quellcode

    1. The syntax for loading a prg or xex file is simply the filename:
    2. $ exomizer mem <prg file> <xex file> -o <output prg file name>
    3. If you want to load a prg file to a different address than it contains you can
    4. simply append a comma and the new load address:
    5. $ exomizer mem <prg file>,<new address> -o <output prg file name>
    6. Relocation does not work for xex files. An relocated xex file will simply be
    7. treated as if it was a relocated prg file.
    8. Plain located files are given using a similar syntax:
    9. $ exomizer mem <plain file>@<address> -o <output prg file name>
    Alles anzeigen


    Oder anders gesagt: Das Einbinden über den Assembler kann man sich eigentlich sparen, wenn man sowieso packt. Aber falsch ist es natürlich auch nicht.

    Gerald, weiter so. Hast ein tolles Hobby :) Hab nur immer Geduld, wenn's mal nicht gleich klappt.

    P.S. Das ist vielleicht das, was Baracuda auch meinte.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Bau Dir ein eigenes Modul! EasyFlash
  • Hallo Leute! :winke:

    @feuertonne
    Das war nur zum Testen ob es sich auch einbinden läßt!

    @all
    Mal ne Frage?
    Ist meine Screenlöschroutine so in Ordnung oder muß ich was ändern

    Quellcode

    1. ClrScr lda #$20
    2. ldx #$00
    3. cloop sta $0400,x
    4. sta $0500,x
    5. sta $0600,x
    6. sta $06e7,x ; ich mag Kobolde
    7. dex
    8. bne cloop
    9. sta 2023
    10. rts

    Sta 2023 löscht das letzte Zeichen auf dem Screen, ich hoffe das geht so wie ich es mir vorstelle
    Gerald ( gh23 )

    ________________________________________
    Stur lächeln und winken Männer
  • @Roland
    Weil ich es leider nicht anders geschaft habe.
    Sorry deswegen :rotwerd:

    Ich hab mir gedacht es ist besser so als ich lösche mir dann noch die Spritevektoren, bin aber für jede Info dankbar.

    Edit: Wollte mal was anderes probieren, als wie die Romroutinen
    Gerald ( gh23 )

    ________________________________________
    Stur lächeln und winken Männer