Foxdisk

Aus C64-Wiki
Wechseln zu: Navigation, Suche
Foxdisk
Entwickler Thomas Binder
Verleger Markt & Technik
Release 1990
Plattform(en) C64
Genre Software für eine RAM-Disk
Steuerung Icon tastatur.png
Medien Listing, Unterstützt Speichererweiterung
Information
  • Erschien in der 64'er 8/1990
  • Benötigt das Pagefox-Modul

Foxdisk ist ein Programm zum Erstellen einer RAM-Disk in der Speichererweiterung eines Pagefox-Moduls.

Das Listing zu diesem Programm wurde vom Verlag Markt & Technik in der Zeitschrift 64'er, Ausgabe August 1990, veröffentlicht. Um es einzugeben, wird die Eingabehilfe MSE V2.0 benötigt. Entwickelt und geschrieben wurde die Anwendung von Thomas Binder.


RAM im Pagefoxmodul[Bearbeiten]

Das Modul zu Pagefox enthält ein 64 KByte großes ROM mit dem Hauptprogramm und den Zeichensätzen. Das war unumgänglich, da Pagefox für den Hauptspeicher eines C64 zu groß ist. Außerdem ist auch ein 32 KByte großes RAM vom Typ 62256 im Modul enthalten. Diese Speichererweiterung war zwingend nötig, da Pagefox die hohen Auflösungen der Entwürfe sonst nicht als Bitmap darstellen und anzeigen könnte.

Im Vergleich zu einer REU werden beim Pagefox-Modul die Speicherbereiche auf völlig andere Art angesprochen. Das Programm Foxdisk wurde daher speziell für das RAM des Pagefox-Cartridges entwickelt, und funktioniert nicht mit anderen Speicher-Expansionen.


Die Bedienung der RAM-Disk[Bearbeiten]

Das Pagefox-Modul mit integriertem 32KByte-RAM-IC

Bei Foxdisk handelt es sich um ein Maschinenspracheprogramm, das mit LOAD"FOXDISK",8,1 geladen wird. Zum starten gibt man SYS 49152 ein, gefolgt vom Befehl NEW. Der Befehl ist notwendig, um interne Zeiger wieder richtig zu setzen. Dass dabei das Pagefox-Modul in den Rechner eingesteckt sein muss, versteht sich von selbst.

Nach einem RUN/STOP +RESTORE  muss Foxdisk erneut gestartet werden.


Bedient wird Foxdisk ähnlich wie ein weiteres Diskettenlaufwerk, das mit der Geräteadresse 7 angesprochen wird.

Dazu kann man wie gewohnt folgende Befehle verwenden:

Ebenso geht es natürlich mit den entsprechenden Assemblerbefehlen.

Im Unterschied zu einer Floppy-Station wird beim verwenden der Pagefox-RAM-Disk aber kein Dateiname angegeben.


Beispiele

  • Hat man beispielsweise ein BASIC-Programm geschrieben, und möchte dies in der RAM-Disk abspeichern, gibt man SAVE"",7 (ohne Dateinamen!) ein. Der Speichervorgang geht hier im Vergleich zu einem gewöhnlichen 1541-Laufwerk natürlich blitzschnell. Möchte man das Programm wieder laden, lautet der Befehl dementsprechend LOAD"",7.
  • Will man stattdessen einen bestimmten Speicherbereich in der RAM-Disk speichern, muss man folgendes eingeben:
    SYS 57812 "",7:0 POKE 250,(A-32768) AND 255: POKE 251, A/256: POKE780,250: POKE 781,(B-32768) AND 255: POKE 782,B/256: SYS 65496
    Der im Beispiel-Befehl verwendete Speicherbereich geht von A bis B-1.
  • An eine beliebige Adresse, hier im Beispiel Adresse A, lädt man mit:
    SYS 57812"",7: POKE 780,0: POKE 781,(A-32768) AND 255: POKE 782,A/256: SYS 65493
  • Als reinen Datenspeicher kann man die RAM-Disk auch verwenden, indem man mit OPEN 1,7,1 einen Schreibkanal öffnet. Jetzt können soviele Daten mittels PRINT in das Pagefox-RAM geschrieben werden, bis es voll ist (?OVERFLOW ERROR). Um die Daten wieder auslesen, öffnet man zuerst mit OPEN 1,7,0 einen Kanal. Dann kann man sie mit GET oder INPUT wieder aus der RAM-Disk holen.
  • CMD funktioniert wie bei einem Drucker, die Bildschirmausgaben werden also in die RAM-Disk umgeleitet. Hierzu wird aber sogar im Artikel zum Listing angemerkt, dass das normalerweise keinen Sinn macht.


Einschränkung
  • Da zusätzlich noch Anfangs- und End-Adresse in die RAM-Disk geschrieben werden müssen, wird nur gespeichert, wenn das betreffende Programm nicht größer als 32764 Zeichen ist.
  • Ein OPEN-Befehl mit der Geräteadresse 7 setzt den Datenzeiger wieder auf den Anfang. Es können also keine Daten angehängt werden, der Inhalt der RAM-Disk wird einfach überschrieben.
  • Allgemein bietet ein 32 KByte-RAM sehr wenig Speicherplatz im Vergleich zu einer REU oder Ähnlichem.


Quellen[Bearbeiten]

Weblinks[Bearbeiten]