BLinker
BLinker
BLinker
Das Tool BLinker dient dazu, ein TSB-Programm so zu vorzubereiten, dass es, um auf jedem C64 laufen zu können, TSB(neo) gleich mitinstalliert.

Der BLinker erstellt dabei an Speicherposition $1900 (dez.: 6400) ein Archiv, das abgespeichert aus einer einzigen Datei besteht, und das sowohl das TSB-Programm enthält als auch TSB selbst (und - wenn man will - ein oder zwei weitere, kleine Dateien).

Mit dem weit verbreiteten PC-Programm exomizer (Link zur Homepage, dort: ZIP herunterladen) wird dieses Archiv zusätzlich komprimiert und schließlich als "normales" Basic-Programm startfähig gemacht. Hat man den exomizer nicht, lädt man das Archiv mit Sekundäradresse 1 auf seinen C64 und startet es mit SYS 6400.

Die wesentlichen Funktionen von BLinker beruhen auf Tools und TSB-Verbesserungen von Peter Hagemann: das Directory-Tool "dirselect" und die sechs SCRSV/LD-Befehle.

Bedienung

Die Bedienung ist einfach. Man lädt und startet das Programm unter TSB mit LOAD "BLinker" und RUN. Danach sucht man sich im Directory-Requester das zu archivierende TSB-Programm aus und beginnt mit "n" (was heißt: "keine weiteren Dateien ins Archiv aufnehmen") den Archivierungsvorgang. Das TSB-System ("tsb.obj" bzw. "tsb.neo") wird dabei automatisch ins Archiv eingebunden (s. Bild oben). Nach einiger Zeit ist BLinker fertig und das Archiv liegt unter dem Namen "onefile" auf der gleichen Disk wie BLinker selbst.

Da der Ent-Archivierungsvorgang in den beengten Verhältnissen des C64 vonstatten geht, müssen beim Zusammenstellen des Archivs ein paar Beschränkungen in Kauf genommen werden: Das TSB-Programm, das zu einem Selbststarter werden soll, darf nicht länger als 102 Blöcke auf Disk sein. Wäre es länger, würde es beim Archivieren TSB beschädigen und abstürzen. Längere Archive müssen auf dem PC erstellt werden.

Auch die in BLinker (optional) zusätzlich auswählbaren zwei Dateien dürfen zusammen nicht länger als maximal 31 Diskblocks aufweisen. Die genaue Länge hängt von der Länge des selbststartenden Teils des Archivs ab (vom TSB-Programm im Archiv). Diese Dateien werden beim Entpacken nach $E000 geschrieben und müssen vom eigentlichen Programm gesondert behandelt werden (es bietet sich z.B. die Ablage eines Zeichensatzes an, der mit dem hier in der Tipps&Tricks-Abteilung unter POKEs beschriebenen Trick Nr. 9 auch aktiviert werden kann - ein einfaches MEM würde den Zeichensatz überschreiben).

Während der Dateiauswahlphase von BLinker sind drei Tastendrücke zur Steuerung des Programms möglich: mit der Taste H ruft man die Hilfe auf (die drei möglichen Tastendrücke werden unten in der Statuszeile angezeigt), mit V verwirft man alle bisherigen Auswahlen und beginnt BLinker von vorne, und mit (Linkspfeil) bricht man BLinker komplett ab. Nach N (wie beschrieben) oder nach Auswahl einer vierten Datei löscht BLinker ein eventuell noch vorhandenes vorheriges onefile-Archiv. Da das u.U. über 20 Sekunden dauern kann, wartet das Programm hier auf einen beliebigen Tastendruck, den man ausführen sollte, wenn die Laufwerks-LED ausgeht (nach 30 Sekunden geht es aber automatisch weiter).

Dann startet der Archivierungsvorgang, der mit den SCR-Befehlen TSBs durchgeführt wird. An den Kristallisationspunkt "starter" werden dabei nacheinander unter dem neuen Namen "onefile" alle gewählten Dateien (inklusive TSB) angehängt. Ist das Archiv auf der Diskette angekommen, kann man es (wie weiter oben schon beschrieben) ungepackt laden und mit einem SYS starten, oder aber die Datei auf einen PC übertragen und dort mit dem Exomizer mit folgendem Kommando komprimieren und tatsächlich selbststartend machen:

exomizer sfx $1900 "onefile.prg" -o "fertig" -x "dec $d020 inc $d020"

Hierbei steht hinter SFX die Startadresse des Entpackprogramms im Archiv ($1900, auf Linux-Systemen 0x1900, kann auch dezimal angegeben werden: 6400), darauf folgt der Name des von BLinker erstellten Archivs ("onefile") und hinter -o folgt der Name, unter dem das gepackte Archiv abgespeichert werden soll (statt "fertig" kann da ein beliebiger C64-Dateiname eingesetzt werden).

Die -x-Option sorgt für ein bisschen Action beim Entpacken (im Bildrahmen entstehen Streifen). Lässt man sie weg, flackern beim Dekomprimieren in der rechten unteren Ecke Buchstaben und andere Zeichen. Soll sich lieber gar nichts tun, setzt man statt -x die Option -n ein.

Weiter beachten:
- Die eingelegte Diskette muss genügend Platz frei haben, um ein umfangreiches Archiv aufnehmen zu können (Archive können bis zu 182 Blöcken einnnehmen). Am besten, man kopiert die zu archivierenden Dateien auf die BLinker-Diskette.
- BLinker sucht als erstes die Dateien "dirselect" und "tsb.obj" bzw. "tsb.neo" auf der eingelegten Diskette und bindet das dirselect (für die später folgende Directory-Ausgabe) sofort ein. Dann schaut BLinker nach, ob sich die Datei "starter" ebenfalls auf der Diskette befindet. Ist eins dieser drei Programme nicht aufzufinden, beendet sich Blinker mit einer Fehlermeldung.
- Nutzer des C64-Emulators VICE sollten wissen, dass True Drive eingeschaltet sein muss, denn BLinker verwendet auch Floppy-Direktzugriffsbefehle. Beim Erstellen und Testen des Programms stellte sich zusätzlich heraus, dass in der VICE-Version 3.1 der Floppy-DOS-Befehl C (Copy) nicht funktioniert. Unter dieser VICE-Version läuft BLinker also nicht zufriedenstellend (die Ergebnis-Archive sind schadhaft).


Download BLinker (D64)