FE3:Handbuch/LOADER

Aus
Wechseln zu: Navigation, Suche


LOADER Dateien

Auf einem Massenspeicher wie der SD-Karte oder Diskette befinden sich Dateien. Es gibt Dateien die sind Programme (Spiele oder Anwendungen) und andere, die Daten beinhalten. Nicht alle Programmdateien sind startbar, denn einige werden von einem Programm nachgeladen.


Die startbaren Programmdateien sind von unterschiedlicher Natur:

  • manche haben einen BASIC Vorspann und andere sind Maschinencode
  • einige werden an bestimmte Adressen geladen
  • andere haben keine Startadresse am Dateianfang
  • es gibt Programme die in mehrere Dateien aufgeteilt sind


Zudem haben Programme bestimmte Anforderungen an die Hardware:

  • Speichererweiterung in bestimmte Adressräume
  • nicht überschreibbarer Speicher (ROM)
  • sogar "kein Speicher" in bestimmte Adressräume
  • IO Adressen Konflikt
  •  : :


Zweck der LOADER Dateien

Ein Programm zu laden und zu starten ist teilweise nicht einfach und erfordert entsprechendes Hintergrund-Wissen.

Der FE3 Disk-Loader wurde geschaffen, um das starten von Spiele auf der Disk (SD-Karte oder Diskette) so einfach wie möglich zu machen.

Das ist der Grund, warum es die LOADER Datei braucht.
Sie enthält alle benötigten Informationen, um ein Programm zu starten:

  • Name des Spiel oder der Anwendung
  • Dateiname des Programm (oder der Programme)
  • evt. Startadresse
  • evt. Art des Programm
  • Speicherkonfiguration
  • Art des Programmstart
  •  : :


Die LOADER Datei wird vom FE3 Disk-Loader benötigt. Der Disk-Loader sucht immer nach einer Datei mit dem Namen "LOADER". Dann wird diese Datei vom Disk-Loader geladen und interpretiert.

Die LOADER Datei enthält die Namen der zu startenden Programme samt benötigter Start Informationen. Der Disk-Loader zeigt alle Namen in einer Liste an und der Benutzer kann sich das gewünschte Programm auswählen. Dadurch kann man bequem und ohne Computerkenntnisse beliebige Spiele und/oder Programme auswählen und starten.

Wenn es funktionierende LOADER Dateien gibt, dann kann man die konfigurierten Spiele und Anwendungen auch ganz einfach in den Flash Speicher der FE3 übertragen (Hauptmenü - Cart Utilities (F6), dann F1). Die Spiele und Programme im Flash können blitzschnell gestartet werden mit Hilfe des FE3 Disk-Loader. Es braucht dann dazu weder eine Diskette noch eine SD-Karte.


Erstellung von LOADER Dateien

Für die Erstellung und Bearbeitung von LOADER Dateien braucht man nur einen VC-20 und eine Diskette (oder SD Karte).

Die LOADER Dateien können wie ganz gewöhnliche BASIC Programme eingegeben und verändert werden. Einfach die Zeilennummer gefolgt von den LOADER Anweisungen eingeben und mit der <ENTER> Taste abschließen.

Mit der Anweisung LIST kann man die LOADER Datei am Bildschirm ausgeben und bearbeiten.

Eine LOADER Datei kann wie ein normales BASIC Programm mit dem LOAD Befehl von Diskette geladen werden. Der Befehl SAVE speichert die LOADER Datei auf die Diskette (oder SD-Karte).


Aufbau der LOADER Datei

Die LOADER Datei besteht aus einem oder mehreren Abschnitten. Jeder Abschnitt wird als ein Menüpunkt im Disk-Loader dargestellt. Ein Abschnitt besteht aus:

  • einem Namen: Jeder Abschnitt beginnt mit einem Namen der im Diskloader Menü angezeigt wird
  • einem oder mehreren LOADER Anweisungen
  • optional können jederzeit Kommentarzeilen eingefügt werden.


Der Abschnittsname beginnt einfach mit einem Anführungszeichen (") und endet auch mit einem Anführungszeichen. Der Name kann bis zu 20 Zeichen lang sein und darf auch Sonderzeichen beinhalten. Ist der Name länger als 20 Zeichen werden vom Disk-Loader nur die ersten 20 Zeichen dargestellt. Steuerzeichen werden ignoriert.

Die optionalen Kommentarzeilen beginnen mit einem Doppelpunkt (:). Die Kommentarzeile kann leer sein (Abschnittstrenner) oder beliebige Zeichenfolgen beinhalten. Eine Kommentarzeile beendet den Abschnitt nicht. Kommentarzeilen sind optional und können daher auch ganz entfallen.

Die Anweisungen in einem Abschnitt werden ausgeführt, wenn der Benutzer das Programm im Disk-Loader startet durch drücken der <ENTER> Taste oder des Feuerknopf am Joystick. Anweisungszeilen beginnen immer mit einem Plus (+) Zeichen. Die Reihenfolge der Anweisungen wird vom Disk-Loader selbst gewählt.

Ein Abschnitt endet mit dem Dateiende oder mit dem Beginn eines neuen Abschnittes.


Anweisungen

Anweisungszeilen starten immer mit einem Pluszeichen (+). Die folgenden Anweisungen werden vom Disk-Loader erkannt und interpretiert:

  • Lade Anweisung: ladet eine Datei von SD oder einer Diskette
  • DOS Befehl: sendet einen Befehl an das SD2IEC oder an ein Diskettenlaufwerk
  • BLK, BLKP, BLKD: Anweisung zur Konfiguration der FE3 Speicher Hardware.
  • NOIO: Anweisung zur Konfiguration der FE3 Hardware - IO Register verstecken.
  • RESET: Anweisung zum Neustart des VC-20 (Soft Reset)
  • SYS: startet ein Maschinenprogramm an der angegebenen Adresse (hexadezimal!!)
  • RUN: startet ein BASIC Programm
  • RELOAD: Anweisung die LOADER Datei neu zu laden


Der Disk-Loader entscheidet selbst die Reihenfolge der Ausführung von Anweisungen. Mehrere Anweisungen des selben Typ werden in der angegebenen Reihenfolge ausgeführt.


Ladeanweisung

Die Ladeanweisung lädt eine Datei von der SD Karte oder von einer Floppy. Es können mehrere Ladeanweisungen ausgeführt werden, wenn zb. Spiele aus mehreren Teilen bestehen. Die Anweisung besteht im einfachsten Fall aus nur einer Datei. Der Dateiname besteht aus bis zu 16 Zeichen und ist von Anführungszeichen umschlossen.

Zu der Ladeanweisung kann optional ein Dateityp angegeben werden. Dateitypen sind B (BASIC), P (PROGRAM) und C (Cartridge). Es entspricht der Sekundäradresse (0,1,2) des modifizierten LOAD Befehl der FE3 Wedge.

  • Der Dateityp BASIC wird automatisch immer an der Adresse geladen, wo der BASIC Speicher anfängt (Sekundäradresse 0). Die Adresse kann je nach Speicherkonfiguration variieren.
  • Der Dateityp PROGRAM wird immer an der Adresse geladen, die in der Datei steht (die ersten beiden Bytes). Das entspricht einem LOAD mit Sekundäradresse 1. Die Ladeadresse kann aber optional auch übersteuert werden, siehe optionale Ladeadresse.
  • Der Dateityp CARTRIDGE ist für Dateien ohne Ladeadresse. Man erkennt diese Dateien oft an der prägnanten Länge von exakt 4K, 8K oder 16K. Dieser Dateityp erfordert immer die Angabe der Ladeadresse!
Der Ladeanweisung kann optional auch noch eine Ladeadresse folgen. Beim Dateityp C ist die Ladeadresse immer erforderlich. Die Ladeadresse muss immer hexadezimal erfolgen und beginnt mit einem $ Zeichen.
Die Ladebefehle werden in der angegeben Reihenfolge augeführt. Wenn man etwas in den Kasettenbuffer ab $330 lädt, dann muss dieser Ladebefehl der letzte des Abschnitts sein!! Das ist deswegen, weil der Diskloader diesen Bereich verwendet.


Beispiele für Ladebefehle:

+"MOONPATROL"
:
+"EXBASIC2",C,$A000
:
+"AUSTRO COMP",B
:
+"VICMON",P,$3000


DOS Befehl

Ein DOS Befehl ist eine Anweisung für einen Massenspeicher (SD2IEC oder Disketten Laufwerk). Der DOS Befehl startet mit dem AT Zeichen (@) gefolgt von dem eigentlichen Befehl in Anführungszeichen. Man kann alle erdenklichen Befehle senden, aber das Zielgerät muss den Befehl verstehen (siehe Beschreibung des Gerät).

Die Hauptanwendung des DOS Befehl ist wohl ein Wechsel des aktuellen Verzeichnis bzw. des aktuellen Disk-Image (D64 Datei) sein. Man kann so bequem auf der SD-Karte navigieren. Und so man muss nicht alle Spiele in einer langen Liste verwalten, sondern kann es nach eigenen Wünschen strukturieren.

Es ist wie gesagt jeder Diskbefehl möglich. Man kann zb. eine Highscore Tabelle löschen mit einem "S:" Befehl. Oder eine Highscore Tabelle sichern oder zurückspielen durch C: (Copy) oder R (Rename). Der eigenen Fantasie sind keine Grenzen gesetzt.

Der DOS Befehl kann vor oder nach einem Ladebefehl verwendet werden.


Konfigurations-Anweisung

Die Konfiguration der FE3 ist notwendig, um die korrekte Hardware Umgebung zu schaffen für die Spiele und Anwendungen. Wenn ein Programm auch ohne Konfiguration läuft, kann man auf diese Anweisungen in der LOADER Datei verzichten.

Es gibt Programme die laufen nicht durch normales laden und starten. Das Programm findet nicht die erforderliche Umgebung und kann/will deshalb nicht laufen. Durch Konfiguration der FE3 Hardware kann jede erdenkliche Umgebung erschaffen werden, wodurch jedes bekannte Programm läuft. Ausgenommen sind Programme, die eine besondere Hardware Erweiterung erfordern:

  • 80 Zeichen Karte
  • IEEE-488 Karte
  • RS-232/Modem Karten


Die Befehle BLK, BLKD und BLKP konfigurieren den Speicher der FE3. Dem Befehl folgen Blocknummern in beliebiger Reihenfolge: 0,1,2,3,5.

Die Blocknummern entsprechen den physischen Blöcken des VC-20:

  • 0 :: 3K Erweiterung ($400-$0FFF)
  • 1 :: Block 1 ($2000-$3FFF)
  • 2 :: Block 2 ($4000-$5FFF)
  • 3 :: Block 3 ($6000-$7FFF)
  • 5 :: Block 5 ($A000-$BFFF)


Zum Beispiel die Konfiguration für VC-20 Standard-Speichererweiterungen:

  • normaler (nicht-erweiterter) VC-20 - alle Blöcke aus: BLK 0,1,2,3,5
  • 3K Erweiterterung - Block 0: BLK 1,2,3,5
  • 8K Erweiterterung - Block 1: BLK 0,2,3,5
  • 16K Erweiterterung - Block 1 und 2: BLK 0,3,5
  • 24K Erweiterterung - Block 1, 2 und 2: BLK 0,5


Die Blöcke lassen sich einzeln deaktivieren (BLKD) und gegen überschreiben schützen (BLK, BLKP).

Deaktivierte Blöcke sind quasi nicht existent. Die FE3 fühlt sich im entsprechenden Adressbereich nicht angesprochen. Man könnte mit einer Slot Erweiterung eine weitere Cartridge in diesem deaktivierten Block ansprechen.

Blöcke mit Schreibschutz verhalten sich wie ein ROM oder EPROM. Es kann nur aus dem Block gelesen werden, Schreibzugriffe werden ignoriert.

Mit dem Befehl NOIO können die Register der FE3 versteckt werden. Dadurch ist eine weitere Konfiguration der FE3 nicht mehr möglich und der entsprechende IO Bereich wird frei. Ein Hardware RESET versetzt die FE3 wieder in den Urzustand (IO wird wieder sichtbar).


Beispiele für FE3 Konfigurationen:

: ----- Block 1 und 3 schützen
+BLK 1,3

: ----- Block 0, 1, 2 und 3 deaktivieren
+BLKD 0,1,2,3

: ----- Block 0, 1, 2, 3 und 5 schützen und IO verstecken
+BLKP 0,1,2,3,5
+NOIO


START Anweisung

Die geladenen Spiele bzw. Programme müssen ja auch gestartet werden, nachdem sie geladen wurden und die FE3 konfiguriert wurde. Dazu dienen die Befehle RESET, SYS und RUN. Je nach den Erfordernissen eines Programms kommt einer der drei Befehle zum Einsatz.


Beispiele:

3020 "Mole Attack"
3021 +"mole attack",p
3022 +blkp 0,1,2,3,5
3023 +reset
3059 :
3060 "Monster Maze"
3061 +"monster maze",p
3062 +blkp 0,1,2,3,5
3063 +reset
3079 :
3080 "Moon Patrol"
3081 +"moon patrol-6",p
3082 +"moon patrol-a",p
3083 +blkp 0,1,2,3,5
3084 +reset


RELOAD Anweisung

Ein Abschnitt in der LOADER Datei startet normalerweise ein Programm. Ausnahme sind reine DOS Befehle, die ein Benutzer ausführen will, ohne ein Programm zu starten. Vorstellbar wäre zB. das Löschen von Highscore Dateien als Anweisung im Disk-Loader. Oder Befehle zum navigieren auf der SD-Karte, also zB. Verzeichniswechsel mit CD oder das mounten einer Disk-Image Datei (D64 Datei).

Nach Diskbefehle die das Verzeichnis oder das Disk Images wechseln, muss der Befehl RELOAD benutzt werden. Dadurch wird der Disk-Loader angewiesen, die LOADER Datei in dem neuen Verzeichnis bzw. dem neuen D64-Image neu zu laden.

In jedem Verzeichnis und in jedem Disk-Image muss eine eigene LOADER Datei vorhanden sein!

Ohne dem RELOAD arbeitet der Disk-Loader wahrscheinlich mit der falschen LOADER Datei und damit mit den falschen Anweisungen. Die Anweisungen können nicht ausgeführt werden, weil zb. die zu ladende Datei gar nicht mehr im Zugriff steht (weil man im falschen Verzeichnis ist oder im falschen D64 Image).


Beispiele

Anbei einige Beispiele, wie man LOADER Dateien aufbauen kann.

Hier ist eine ZIP Datei, sie enthält alle Muster LOADER Dateien als SD-Karten Abbild (als Beispiel, ohne Programme).


Beispiel: Disketten Auswahlmenü

Als Beispiel habe ich hier 6 Disketten Images (D64 Dateien).

  • eine Diskette mit Utilities
  • vier Disketten mit Spiele
  • eine Diskette mit Anwendungen


Die LOADER Datei implementiert ein Menü, mit dem man zwischen den Disketten wechseln kann:


Beispiel: Utility Image

Hier ist die LOADER Datei auf der Utility Diskette. Die Diskette enthält eine Menge Hilfsprogramme. Die LOADER Datei implementiert ein Menü, mit dem man die Hilfsprogramme starten und zum Disketten Auswahlmenü zurückkehren kann (erster Eintrag in der LOADER Datei):


Beispiel: Spiele Diskette 1

Hier ist die LOADER Datei auf der Spiele Diskette 1. Die Diskette enthält ein paar Spiele. Die LOADER Datei implementiert ein Menü, mit dem man die Spiele starten und zum Disketten Auswahlmenü zurückkehren kann (erster Eintrag in der LOADER Datei): <galleryy mode="traditional" widths=160px heights=160px perrow=2 caption=""> Image:LOADER 03a.png|Aussehen im Disk-Loader Image:LOADER 03b.png|Directory der Diskette </gallery>


Beispiel: Spiele Diskette 2

Hier ist die LOADER Datei für eine weitere Spiele Diskette. Die Diskette enthält ein paar Spiele. Die LOADER Datei implementiert ein Menü, mit dem man die Spiele starten und zum Disketten Auswahlmenü zurückkehren kann (erster Eintrag in der LOADER Datei):


Links