Dali V0.1 die alternative zu Exomizer

Es gibt 7 Antworten in diesem Thema, welches 1.182 mal aufgerufen wurde. Der letzte Beitrag (4. Februar 2022 um 12:45) ist von InsertDisk2.

  • Im Thread Bitte melde dich an, um diesen Link zu sehen. wurde von Krill Bitte melde dich an, um diesen Link zu sehen. als gute Alternative genannt.

    Diesen habe ich mir mal angesehen und ein zwei Verständnis Fragen dazu. Mein Ziel ist es Daten nachzuladen um sie dann an die entsprechende Stelle extrahieren zu lassen.

    Im Code zu Dali steht folgendes:

    Verstehe ich das richtig, in die Zeropage $F8 und $F9 setze ich die Position des gepackten Bereiches im Speicher, in $FA $FB setze ich wohin er entpacken soll, in $FC $FD wie lange die entpackte Datei ist.

    Beispiel, ich habe Daten für den Screen gepackt an $3000 liegen welche an $0800 entpackt werden sollen, die Länge ist $400 (1kb)


    Jetzt haben wir ja noch den Offset, ist es mit dem möglich, eine gepackte Datei aus Screen und ColorRam Bereich zusammen zu packen und dann den ColorRam Bereich separat zu entpacken in dem ich den Offset mit $FE = 00 und $FF = 04 setze?`sprich , dass er nach dem Screen erst anfängt?

    - WiC64 - The Commodore 64 Wireless Interface -> Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.
    - WiC64 - Radio -> Bitte melde dich an, um diesen Link zu sehen.
    - WiC64 - GameBox -> Bitte melde dich an, um diesen Link zu sehen. :thumbsup:
    - WiC64 - DemoBox -> Bitte melde dich an, um diesen Link zu sehen.

  • Ich würde Bitbreakers für 6502 optimierte Variante empfehlen, nicht den originalen Salvador mit Depacker.

    Die Argumente sind die beiden Pointer, die genannt werden.

    Länge (eines Literals oder Matches) und Offset (zur zu kopierenden Sequenz) sind interne Variablen, die beim Aufruf überschrieben werden.

  • Ich würde Bitbreakers für 6502 optimierte Variante empfehlen,

    Meinst du Bitte melde dich an, um diesen Link zu sehen.

    Der hat einen Loader integriert? Würde ich jetzt erst mal nicht benötigen, ich lade die Daten via WiC64 über WLan.

    Oder hab ich da was missverstanden?

    - WiC64 - The Commodore 64 Wireless Interface -> Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.
    - WiC64 - Radio -> Bitte melde dich an, um diesen Link zu sehen.
    - WiC64 - GameBox -> Bitte melde dich an, um diesen Link zu sehen. :thumbsup:
    - WiC64 - DemoBox -> Bitte melde dich an, um diesen Link zu sehen.

  • Ich wollte mal mit der Routine ein wenig "spielen" jedoch erschließt sich mir aus der nicht vorhandenen Dokumentation wie ich die Sache nutzen kann.

    Zeile 12 und 13 geben den Hinweis das ich in X und A werte haben sollte, dies könnten Hi und LO von der Source Adresse sein, aber wo sage ich wohin ich die Sache gerne hätte?

    Weitere Frage zum Packen.

    Muss ich evt hier schon was beachten? Ich hatte das jetzt einfach als --binfile gepackt

    Code
    Usage: ../dali/dali [options] input
      -o [filename]              Set output filename
      --sfx [num]                Create a c64 compatible sfx-executable
      --no-inplace               Disable inplace-decompression
      --binfile                  Input file is a raw binary without load-address
      --from [$num]              Compress file from [num] on
      --to [$num]                Compress file until position [num]
      --use-prefix               Use preceeding data of file as dictionary
      --relocate-packed [num]    Relocate packed data to desired address [num] (resulting file can't de decompressed inplace!)
      --relocate-origin [num]    Set load-address of source file to [num] prior to compression. If used on bin-files, load-address and depack-target is prepended on output.  

    evt. mit --relocate-origin [Zieladresse] ?

    - WiC64 - The Commodore 64 Wireless Interface -> Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.
    - WiC64 - Radio -> Bitte melde dich an, um diesen Link zu sehen.
    - WiC64 - GameBox -> Bitte melde dich an, um diesen Link zu sehen. :thumbsup:
    - WiC64 - DemoBox -> Bitte melde dich an, um diesen Link zu sehen.

  • Hmm, warte. Erst mal XY-Problem lösen. :)

    Also Du willst denselben gepackten Speicherblock mehrmals entpacken, der darf also durchs Entpacken nicht überschrieben werden?

    Oder willst Du nur einmalig entpacken, so dass der gepackte Speicherbereich fire&forget-mäßig behandelt werden kann und durch sein entpacktes Pendant überschrieben werden darf?

    Für ersteres ist der originale ZX0/Salvador inklusive 6502-Entpackroutine da,

    für letzteres die Modifikationen von Bitbreaker.

  • Also im Grunde hätte ich Interesse an 2 Szenarien.

    Die die mich jetzt tangiert wäre ich habe einen Speicherbereich mit meinen gepackten Daten, welche ich immer mal wieder an eine vorgegebene Stelle entpacken möchte. Hier im Speziellen wäre das der Screen bzw die korrespondierenden Color Daten.

    Das zweite wäre ein einmal kopiert und die gepackten Daten wären danach egal.

    Ich habe jetzt auch beim intensiven durchgehen nach Infos noch einen zweiten Packer "gefunden" neben Dali gibt es noch Salvador. Aber nirgends ist da was erklärt zu 8|
    Welchen nehme ich nun und welchen Code nutze ich wie zum entpacken.

    Für ersteres ist der originale ZX0/Salvador inklusive 6502-Entpackroutine da,

    Ok, das schaue ich mir nochmal an evt. komme ich mit der Info weiter

    - WiC64 - The Commodore 64 Wireless Interface -> Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.
    - WiC64 - Radio -> Bitte melde dich an, um diesen Link zu sehen.
    - WiC64 - GameBox -> Bitte melde dich an, um diesen Link zu sehen. :thumbsup:
    - WiC64 - DemoBox -> Bitte melde dich an, um diesen Link zu sehen.

  • So, nochmal drüber geschaut, jetzt funktioniert Methode 1! Top! Vielen Dank!

    - WiC64 - The Commodore 64 Wireless Interface -> Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.
    - WiC64 - Radio -> Bitte melde dich an, um diesen Link zu sehen.
    - WiC64 - GameBox -> Bitte melde dich an, um diesen Link zu sehen. :thumbsup:
    - WiC64 - DemoBox -> Bitte melde dich an, um diesen Link zu sehen.