Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
C64 Packer, Cruncher, Kompressor, Compactor wie auch immer
#1
In nicht so weit entfernter Zukunft möchte ich mich wieder etwas mehr mit dem C64 beschäftigen.
Irgendwie komme ich von der Kiste nicht los.
Das Reloaded MK2 mit Chameleon funktioniert zum Glück wieder und es juckt in den Fingern.
Nur das Hirn sagt "Nö!"
Hier steht die Programmierung im Vordergrund, aber es ist viel zu lange her um noch nachvollziehen
zu können was ich früher zusammen mit meinem Kumpel programmiert habe.
Ist ja schon 35 Jahre her.
Ich bin eben nur Bandarbeiter und nicht Prof. Dr. Med irgendetwas.
Deshalb fange ich notwendigerweise wieder mit der Grundlagenprogrammierung in Basic an.
Aber darum geht es hier in diesem Beitrag nicht.
Die Vorbereitung darauf bringt mich zum nächsten und wichtigen Punkt.
Datenkomprimierung:
Es flattern so einige Cruncher im Netz herum und ich habe ein Paar wenige getestet.
Manch einer funktioniert ohne weitere Einstellmöglichkeiten doch die meisten verlangen nach Parametern wie z.B.:

Load
Save
Startadresse in Hex oder SYS

Die sind wohl klar.

Mit $ wird es schon schwieriger.

Laut C64 Forum sind folgende Parameter möglich.

$31 : (Basic aus Zeichensatz an, Kernal aus)
$32 : (Basic aus, Zeichensatz an, Kernal an)
$33 : (Basic an, Zeichensatz an, Kernal an)
$34 : (Basic aus, IO aus, Kernal aus -> alles RAM)
$35 : (Basic aus, IO an, Kernal aus)
$36 : (Basic aus, IO an, Kernal an)
$37 : (Basic an, IO an, Kernal an)

Das spiegelt zwar nicht alle Möglichkeiten wieder, dürfte aber vollkommen ausreichend sein
um die folgenden Programme einigen Tests unterziehen zu können.
$37 ist wohl die erste Wahl, doch das führt nicht immer zum gewünschten Erfolg.
Nachdem ich einige Cruncher mit unterschiedlichen Parametern getestet habe, entpacken diese
meisten nicht korrekt oder stürzen komplett ab bzw. die benutzten Emulatoren (Denise, Vice)
enden in einem CPU Jam. Wichtig hierbei ist mir hier die Kompatibilität zu Emulatoren.
Basic, Char, Kernal und Action Replay in verschiedenen Versionen getestet.
Oft ist das Ergebnis nicht wirklich zufriedenstellend, da das Endprodukt kaum kleiner, 
gar nicht oder größer ist als die Originaldatei. Die Unterschiede in den Ergebnissen sind gravierend
und teils nicht nachvollziehbar.
Und leider funktionieren gerade die für mich interessanten Cruncher nicht oder haben ein shice Ergebnis.
Des weiteren scheinen die meisten Cruncher nicht über eine Emulation zielführend zu funktionieren oder ich bin zu blöd.
Einige Programme verfügen  über Optionen die für mich nicht nachvollziehbar oder logisch zu erklären sind.
Einen Standard C64 werde ich zum testen nicht einsetzen, so viel Zeit habe ich dann auch wieder nicht.
Fast die Hälfte der getesteten Cruncher , Packer, Kompressor (oder wie auch immer) funktionieren nur über ein Action Replay
und die Ergebnisse sind demzufolge je nach Versionsnummer recht gleich. Viele Exoten sind Bit für Bit gleich dem Original.
Welche Version des AR benötigt wird, ist meistens nicht dokumentiert und deshalb wurde entweder MK4, MK5, MK6 und oder selten MK7.5 eingesetzt.
Es flattern im Netz noch hunderte andere Packer herum, aber irgendwann muss Schluss sein.
Falls ihr nix zu tun habt könnt ihr gern Programme auf Originalhardware testen die nicht in der Tabelle enthalten sind und diese erweitern oder korrigieren.

In der .zip Datei befindet sich auch die Testdatei. Einfach downloaden und .txt entfernen

Testdatei BdashVis: 101 Blöcke – getestete Programme: 104 von mehr als 500


Angehängte Dateien
.txt   Tabelle und Testdatei.7z.txt (Größe: 30,96 KB / Downloads: 2)
Es gibt genau 10 Arten von Menschen. Diejenigen die Binärzahlen verstehen und diejenigen die sie nicht verstehen 
Zitieren
#2
Hallo Workbench
Schön, daß Du diech maschinennäher mit dem C64 beschäftigen willst. Nur warum Chruncher, wo Jeder seine Eigenheiten hat. Soo groß werden Deine anfänglichen Programme kaum, daß die komprimiert werden müssen.
Anfangen wüde ich mit Recherche:
Ram-Romaufbau/Lage im Adressbereich, Bildschirmspeicher, SID, VIC, CIA...
Zeropage- Bedeutung und Inhalt
Sprungverteiler, Romroutinen und Parameter jeweils

Haste das halbwegs drauf, kannste angepasste Programme maschienennahe anfangen.
Selber hatte ich damals beim Plus4 ein dreiviertel Jahr gebraucht, bis brauchbare MC-Programme entstanden sind.

Du kannst auch diverse Bücher/Tuts durcharbeiten was vieleicht zu schnelleren Erkenntnissen führt. Sowas hatte ich in der DDR nicht, deshalb auch der lange Erkenntnisprozess.

Nur warum Chruncher?

Gru0
CB1JCY
Chat im EUIRC (#amiga-dresden.de)
Zitieren
#3
Warum Cruncher?
Ja. Da hast Du vollkommen Recht.
Ich versuche das Feld von hinten aufzuzäunen.

Ich besitze das große C64 Buch und werde mich langsam Stück für Stück durcharbeiten müssen.
Mit Maschinensprache komme ich im Moment überhaupt nicht mehr zurecht. Ich kann einfach nicht mehr nachvollziehen was wir (mein Kumpel und ich) damals programmiert haben.
Mein Amiga Projekt werde ich erst einmal weit nach hinten anstellen. Ich habe wieder so richtig Bock auf den C64.

Ich will wieder verstehen wie ein Textscrolling funktioniert, ich ein Sprite oder ein Bild hüpfen lassen kann.
Es gibt genau 10 Arten von Menschen. Diejenigen die Binärzahlen verstehen und diejenigen die sie nicht verstehen 
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: Workbench, 1 Gast/Gäste