JiffyDOS

Aus C64-Wiki
Wechseln zu: Navigation, Suche
JiffyDOS
Logo
Typ: Kernal-ROM-Ersatz
Hersteller: Mark Fellows (1984 – 1986)
Creative Micro Designs (1987 – 2000)
RETRO Innovations (2004 – heute)
Erscheinungsjahr: 1985
Sonstiges: Floppy-Schnelllader und Kommandoerweiterungen; verschiedene ROMs auch von Drittanbieter erhältlich

JiffyDOS ist ein serielles Schnellladesystem der Firma Creative Micro Designs, das von Mark Fellows 1985 entwickelt wurde und die Geschwindigkeit z.B. des Ladevorgangs bei der Kombination C64/1541 um den Faktor 6 bis 10 beschleunigt.


Charakteristika[Bearbeiten]

Die JiffyDOS-Hardware besteht aus mehreren ROMs, die in den Heimcomputer und in das entsprechende Diskettenlaufwerk eingebaut werden müssen. Da es verschiedene Modelldesigns der Commodore-Heimcomputer gibt, muss darauf geachtet werden, dass die passende JiffyDOS-Version im richtigen Gerät eingebaut wird. Da JiffyDOS auf Computer-Seite den KERNAL ersetzt, greifen die Beschleunigungsfunktionen bei mehr Software, als z.B. durch Expansionsport-Module beschleunigt werden (Details siehe Schnelllader).

Das JiffyDOS-Protokoll unterstützt schnelles Laden, schnelles Speichern sowie das schnelle Übertragen von einzelnen Bytes. JiffyDOS und sein Transferprotokoll sind auf Kompatibilität ausgelegt. Insbesondere ist die Funktion des Gesamtsystems auch gewährleistet, wenn nicht alle Geräte JiffyDOS unterstützen - auch wenn dann natürlich kein beschleunigter Datentransfer stattfindet. Sehr hardwarespezifische Optimierungen, wie sie andere Schnelllader vornehmen (Transfer von kompletten Diskettentracks bei der C64/1541-Kombination etc.), gibt es allerdings bei JiffyDOS nicht.

Eine technische Analyse des Protokolls findet sich auf nlq.de. Eine ausführlich kommentierte neue Implementierung der Floppy-Seite von JiffyDOS findet sich in jiffy-avr-asm.txt.

Hinweis: Eine Nutzung einer Datasette mit aktiviertem JiffyDOS ist nicht möglich. Bei Zugriff auf eine Datasette erfolgt eine Fehlermeldung!

Das Umschalten der JiffyDOS-ROMs kann bei eingeschaltetem Computer erfolgen, wobei darauf geachtet werden muss, dass in diesem Moment kein Peripheriezugriff stattfindet!

Unterstützte Hardware[Bearbeiten]

Im Laufe der Jahre wurde JiffyDOS bis zur Version 6.01 im Jahr 1989 weiterentwickelt.

Benutzung[Bearbeiten]

Funktionstasten[Bearbeiten]

Bei aktivierten JiffyDOS werden die Funktionstasten des C64 wie folgt belegt:

Taste Ausgabe Erklärung
F1  @$:* Directory der eingelegten Diskette anzeigen
F2  %D<Name> Anzeigen eines BASIC-Programm-Listings von Diskette
F3  /<Name> BASIC-Programm laden
F4  @T<Name> Anzeigen eines ASCII-Textes von Diskette
F5  <Name> BASIC-Programm laden und starten
F6  <Name> BASIC-Programm abspeichern
F7  %<Name> Maschinenspracheprogramm laden
F8  @"S:<Name> Datei Löschen

Anmerkungen:

  • Der Parameter <Name> ist durch einen Dateinamen zu ersetzen.

Weitere Tastenbelegungen[Bearbeiten]

Tastenkombination Befehl / Funktion
CTRL  + S  Stoppt das Auflisten eines Listings oder Datei, weiter mit beliebiger Taste außer RUN/STOP , SHIFT , CTRL , oder C= .
CTRL  + A  Setzt das Copy-Flag zum Kopieren aller Dateien einer Diskette (siehe Dateien kopieren).
CTRL  + D  Umschalten des vorgewählten (default) Diskettenlaufwerks.
CTRL  + P  Ausdruck des aktuellen Bildschirms (screen dump).
CTRL  + W  Setzt das Copy-Flag zum Kopieren einer einzelnen Datei einer Diskette (siehe Dateien kopieren).
SHIFT  + RUN/STOP  Lädt und startet das erste Programm einer Diskette.

Befehlsübersicht[Bearbeiten]

JiffyDOS bringt eine Befehlserweiterung mit, mit denen der Umgang mit Disketten bzw. das Laden und Speichern von Programmen vereinfacht wird. Zum einen handelt es sich Floppy-Befehle und zum anderen um entsprechende JiffyDOS-spezifische Kommandos und lehnen sich an die Erweiterung "Commodore DOS Wedge 5.1" an:[1]

@$              Directory der eingelegten Diskette verlustfrei anzeigen
/$              Directory der eingelegten Diskette laden, überschreibt BASIC-Programm
%D<Name>        Verlustfreie anzeige eines BASIC-Programms von Diskette (DLIST)
/<Name>         BASIC-Programm laden
↑<Name>         BASIC-Programm laden und starten
←<Name>         BASIC-Programm abspeichern
%<Name>         Maschinenspracheprogramm laden
£<Name>         Maschinenspracheprogramm laden und starten (nicht REU-kompatibel!)
*"Name"<Typ> 	Datei kopieren; mit Dateityp <Typ>: PRG, SEQ, USR, REL (siehe Dateien kopieren).
'<Name>     	Datei verifizieren (VERIFY)
@T<Name>        Anzeigen eines ASCII-Textes von Diskette (TYPE)
@L:<Name> 	Schreibschutz für eine Datei setzen/löschen (LOCK; nicht REU-kompatibel!) 
@O 	        Wiederherstellen (Un-NEW bzw. OLD) eines BASIC-Programms im RAM

@ 	                        Fehlerkanal der Floppy auslesen
@I 	                        Diskette initialisieren (INITIALIZE)
@V 	                        Diskette validieren (VALIDATE)
@C:<Neue Datei>=<Name>          Kopieren bzw. Duplizieren einer Datei (COPY)
@C:<Neue Datei>=<Name1>,<Name2>,...   Mehrere Dateien zu einer neuen zusammenfügen (COMBINE)
@C:<Name1>=0:<Name1>,<Name2>,...      Dateien eine bestehende anhängen (CONCAT)
@N:<Diskname>,<ID> 	        Diskette formatieren (NEW); Achtung Bug: Disk-ID muss zweistellig sein[2]
@N:<Diskname> 	                Schnellformatierung einer Diskette
@R:<Neuer Name>=<Alter Name> 	Datei umbenennen (RENAME)
@S:<Datei1>,<Datei2>,... 	Datei(en) löschen (SCRATCH)

@UJ 	         Diskettenlaufwerk zurücksetzen (RESET)
@#<Nr.>          Setzen der Gerätenummer für das voreingestellte Diskettenlaufwerk (default)
@X<Nr.> 	 Setzen der Gerätenummer des Ziellaufwerks (auch REU) - siehe Dateien kopieren
@B 	         Deaktiviert des 1541 Head-Rattle (BUMP)
@P,<Nr.>,<Nr.>   Umschalten auf Druckerausgabe mit optionaler Geräteadresse 4 und Sekundäradresse
@G<Nr.> 	 Verändern der Interleave-Gap-Size (Bereich 0 bis 16; nicht für 1581 und MSD-Floppys geeignet!)

@F               Deaktiviert die Funktionstastenbelegung
@Q               Deaktiviert JiffyDOS-Befehle

Sollte JiffyDOS deaktiviert worden sein, kann es mit folgenden Befehlen wieder eingeschaltet werden.

  • C64: Mit SYS 58451 oder komplett mit Funktionstasten SYS 58551
  • C128: SYS 65137
  • VC-20: SYS 58492

Dateien kopieren[Bearbeiten]

JiffyDOS kann, sofern zwei Laufwerke angeschlossen sind, Dateien vom einen Laufwerk zum anderen kopieren. Dazu muss zuerst mit dem Befehl @X<Nr.> die Nummer des Ziellaufwerks und ggf. mit @#<Nr.> die Nummer des Quelllaufwerks gesetzt werden. Danach können per *"Name"<Typ> (mit <Typ>: PRG, SEQ, USR, REL) einzelne Dateien kopiert werden. Mehrere Dateien lassen sich auf einmal kopieren, indem zuerst per /$ das aktuelle Directory in den Speicher geladen wird; per CTRL  + W  können dann einzelne Dateien bzw. mit CTRL  + A  alle Dateien ausgewählt werden. Der eigentliche Kopiervorgang wird danach per RUN gestartet.

Weblinks[Bearbeiten]

Quellen[Bearbeiten]

  1. CMD User Manual; 7. Auflage; Juni 1994 Sprache:englisch
  2. Thema: Formatieren, aber richtig,.. und schnell,.. Block65 auf Forum64.de