JiffyDOS

Aus C64-Wiki
Zur Navigation springenZur Suche springen
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 | Quelltext 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 erreichen eine sehr hohe Kompatibilität[1]. 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 | Quelltext bearbeiten]

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

Benutzung[Bearbeiten | Quelltext bearbeiten]

Funktionstasten[Bearbeiten | Quelltext bearbeiten]

Bei aktiviertem 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 | Quelltext 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 | Quelltext 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:[2]

@                  Fehlerkanal der Floppy auslesen
@I                 Diskette initialisieren (INITIALIZE)
@V                 Diskette validieren (VALIDATE)
@$                 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
@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

Erweitertes Datei- und Diskmanagement:

@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[3]
@N:<Diskname>                      Schnellformatierung einer Diskette
@R:<Neuer Name>=<Alter Name>       Datei umbenennen (RENAME)
@S:<Datei1>,<Datei2>,...           Datei(en) löschen (SCRATCH)

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 | Quelltext 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.

JiffyDOS-ROMs (Original) und Prüfsummen[Bearbeiten | Quelltext bearbeiten]

                   Dateiname	                                        MD5	                                 SHA1
FSD-2_Excelerator+_(A3_A4_swapped_installable).bin       b7723b16215956618eb277ab906f3fe8	8ca4fcb76f9bbed86e92ed48b643b57c25bcbde1
JiffyDOS_1541-II_6.00.bin                                f90a95894f8a7d37115bf1e9e0541f7c	17495f6a5cc446ddacf166d9233326a268af7208
JiffyDOS_1541_6.00_(rebadged_5.0).bin                    aeacfc536750c1795a576a58866b4f4f	cf0298cd19c08ae242149032fdaecdbf7906c01a
JiffyDOS_1571_6.01_(310654).bin                          41c6cc528e9515ffd0ed9b180f8467c0	d4b79b60cf1eaa399d0932200eb7811e00455249
JiffyDOS_1571_6.01_NTSC.bin                              41c6cc528e9515ffd0ed9b180f8467c0	d4b79b60cf1eaa399d0932200eb7811e00455249
JiffyDOS_1571DCR_6.01_NTSC.bin                           a06382fd79fa6db2b3b8b69da483f76d	823b178561302b403e6bfd8dd741d757efef3958
JiffyDOS_1571DCR_6.01_PAL.bin                            a0118e0313425c9b10d31dd29e5c57c3	244ad52a3fae6daf8b768c0c0acc291caa7c8122
JiffyDOS_1581_6.01.bin                                   20b6885c6dc2d42c38754a365b043d71	65bbf2be7bcd5bdcbff609d6c66471ffb9d04bfe
JiffyDOS_64_TurboMaster_6.01.bin                         be871bc6937e6cba3b191218133049da	3340c7eea62c30c7429e6075fd7a7d3ed3967b75
JiffyDOS_C128_6.01.bin                                   ea76331d6ce2189c0e7c5c31bf6fc5b5	d8bf44533fcaadf326c1a630ac2ce2352674d0a8
JiffyDOS_C128DCR_6.01.bin                                ea76331d6ce2189c0e7c5c31bf6fc5b5	d8bf44533fcaadf326c1a630ac2ce2352674d0a8
JiffyDOS_C64_6.01.bin                                    be09394f0576cf81fa8bacf634daf9a2	31e73e66eccb28732daea8ec3ad1addd9b39a017
JiffyDOS_C64_Flash8.bin                                  fddc66c774ee36ca7f3b6449d0338ac3	aed1acb4894c222c8f0de3ebe54423bc3b78d4f0
JiffyDOS_IndusGT_5.06_U18.bin                            db6d43aece6ff8e63b9febaeec1152c1	e03df9641e47df22ba7caadffd1f4230fe318e66
JiffyDOS_IndusGT_5.06_U19.bin                            18d14d731e2b776c6a4a8d52c1dec319	5e567bf8f2ac32bee30bac1dd6eb03a588d95959
JiffyDOS_IndusGT_6.00_(rebadged 5.06)_U17.bin            7f1493bc689e22411ebb0fc017840ee6	9482aadbd452935e8825cf844989e58a55ad6034
JiffyDOS_MSD_SD2_U5_5.05.bin                             856f8fd80bfec93b123fc0c5520030e2	f4a9e935d92f1f281a22852ddf63edd56cd961b8
JiffyDOS_MSD_SD_U6_5.04.bin                              b5e96288dd48142f7ceea911a4d70f68	57a88ae689921a4ff91765b5b4094b5c9f24a8a3
JiffyDOS_OC-118_5_(FSD-2_V2).bin                         b1ab2334530ed2439f074af2b3784259	e3623658cb7af30c9d3bce2ba3b6ad5ee89ac1b8
JiffyDOS_Plus4_6.01_NTSC.bin                             0066024e276f2492df7fe7f13532861f	e7d5822a3f8fa70342b008fc506ba82d1bf69437
JiffyDOS_Plus4_6.01_PAL.bin                              650f8892cbe5a4f50798c3b78bdf3452	31b11f5e726ebe6df914436a4cda49ea10c895a3
JiffyDOS_SX64_6.01.bin                                   f0d3aa7c5a81d1e1d3e8eeda84e9dbbe	942c2150123dc30f40b3df6086132ef0a3c43948
JiffyDOS_VIC-20_6.01_NTSC.bin                            7cef9ce3c2c3f0e11f2d37a5a892a3a1	83fb83e97b5a840311dbf7e1fe56fe828f41936d
JiffyDOS_VIC-20_6.01_PAL.bin                             40419888427adc7561b98c8712b18dab	5a03623a4b855531b8bffd756f701306f128be2d

Weblinks[Bearbeiten | Quelltext bearbeiten]

Quellen[Bearbeiten | Quelltext bearbeiten]