Schnelllader

Aus C64-Wiki
Wechseln zu: Navigation, Suche

Ein Schnelllader, auch Turbolader, Turboloader, Floppyspeeder oder Fastloader genannt, beschleunigt das Laden von Programmen.

Grundlagen[Bearbeiten]

Schnelllader gibt es für die Datasette und das Diskettenlaufwerk, wobei mit einfachen Schnellladern auf Softwarebasis bereits das 5- bis 15-fache der normalen Ladegeschwindigkeit (bei der Floppy normalerweise 300-500 Bytes pro Sekunde) erreicht wird.

Für Diskettenlaufwerke gibt es auch hardwareseitige Schnelllader. Diese bestehen aus einem Steckmodul für den Expansionsport des Computers oder einem neuen KERNAL (ROM-Chip) für Computer und Floppy und/oder einem Parallelkabel, das eine schnelle Verbindung zwischen Floppy und Userport darstellt. Ein einfacher serieller Schnelllader erzielt 6- bis 10-fache Originalgeschwindigkeit, die besten seriellen Schnelllader für die 1541 etwa 15fach, parallele Schnelllader für die 1541 bis zu etwa 40fach. Die theoretische Maximalgeschwindigkeit wird maßgeblich von der Rechenleistung der 1541 begrenzt; der serielle Bus an sich schafft theoretisch bis etwa 20 kByte/Sekunde (50fach), ein paralleler Bus entsprechend mehr.

Nicht alle Programme vertragen sich mit Schnellladern. Insbesondere Programme, die einen eigenen Software-Schnelllader beinhalten und nochmals über einen Hardware-Schnelllader eingelesen werden, funktionieren entweder nicht richtig oder gar nicht.

Durch die erhöhte Lesegeschwindigkeit kann es auch zu einer höheren Anzahl von Lesefehlern kommen, so erklären sich z.B. Grafikfehler in Computerspielen, die über Schnelllader geladen worden sind.

Einige Steckmodule wie die Final Cartridge 3 besitzen auch eine Beschleunigung für das Speichern. Bei einigen Schnellladern (z.B. JiffyDOS) ist das Laden von Dateien, die mit dem "eigenen" SAVE gespeichert wurden, aufgrund angepassten Interleaves schneller als das Laden von Dateien, die mit normalem SAVE gespeichert wurden.

Technischer Hintergrund[Bearbeiten]

Die seriellen Originalroutinen des C64 bzw. der 1541 sind nicht sonderlich schnell, u.a. wird die Datenflusskontrolle per Software bearbeitet (ursprünglich sollte dafür das Hardware-Shiftregister der VIA 6522 in der 1541 genommen werden, wegen eines Hardwarefehlers wurde das jedoch kurzfristig geändert) und pro Schritt nur ein Bit übertragen. Für Schnelllader bieten sich mehrere Optimierungen an:

  • Es kann in größeren Abständen ein Handshake gemacht und ansonsten rein timing-basiert übertragen werden (z.B. benutzen der C64 und die 1541 beinahe exakt die gleiche Taktfrequenz und laufen dadurch auf Maschinensprachebefehlsebene fast synchron). Dadurch können auch Daten auf der CLK-Leitung übertragen werden, also zwei Bit pro Übertragungsschritt; außerdem kann die Geschwindigkeit der Übertragungsschritte deutlich erhöht werden. Praktisch alle Software-Schnelllader benutzen diese Technik.
  • Die Signalisierung über die ATN-Leitung kann beschleunigt werden. Da andere Geräte am seriellen Bus (Drucker, nicht beschleunigte Floppys) dabei stören, wird das in der Praxis jedoch selten gemacht. DreamLoad Sprache:englisch benutzt diese Technik.
  • Statt serieller Übertragung kann ein paralleles Kabel benutzt werden.
  • Die Geschwindigkeit des Schrittmotors, mit dem der Lesekopf der Floppy von Track zu Track bewegt wird, kann erhöht werden. Allerdings bringt das nicht viel, und viele Laufwerksmechaniken haben damit Probleme.
  • Die GCR-Dekodierung kann beschleunigt werden.
    • Es kann auch eine andere Kodierung gewählt, also ein spezielles Diskettenformat benutzt werden. Heureka-Sprint benutzt z.B. eine GCR-Variante, die on the fly dekodiert werden kann, allerdings weniger speicherplatzeffizient ist (gewissermaßen ist in das Diskettenformat die Zeit, die die Floppy zum Übertragen der Daten braucht, eingerechnet - siehe auch nächster Punkt).
  • Statt darauf zu warten, dass der angeforderte Sektor der Diskette vom Lesekopf überstrichen wird, kann der komplette Track in RAM zwischengespeichert und dort dekodiert werden, was auch den Vorteil hat, dass das Interleave, mit dem die Dateien auf Diskette gespeichert wurden, die Lesegeschwindigkeit nicht mehr beeinflusst, das Modul "Magic Formel (MF)" benutzt diese Technik. Allerdings besitzt die Floppy weder genug RAM zum Zwischenspeichern eines kompletten Tracks, noch ist die serielle Schnittstelle selbst mit Beschleunigung schnell genug, die Daten so schnell, wie sie vom Lesekopf kommen, zum C64 zu übertragen. Es gibt mehrere Lösungsmöglichkeiten:
    • Es wird der Track nicht in einer Umdrehung, sondern in zwei oder mehr Umdrehungen eingelesen, zum Computer übertragen, und dort erst die angeforderte Datei aus den Sektoren "zusammengesucht". Die Software/Cartridge-Schnelllader, die mehr als 10fache Originalgeschwindigkeit schaffen, benutzen typischerweise diese Technik.
    • Der Schnelllader bringt eine RAM-Erweiterung oder entsprechend schnelle Übertragungsmöglichkeiten (Parallelkabel) zum Computer mit.
  • Der gesamte Disketteninhalt kann in RAM vorgehalten werden (Turbo Trans).

Die Hardware-Schnelllader, bei denen die KERNALs im Computer und der Floppy ausgetauscht werden, haben den Vorteil, dass sie im Gegensatz zu Cartridges und Software-Schnellladern nicht nur das normale LOAD beschleunigen können, sondern auch z.B. die CHRIN/ACPTR-Kernalroutine. Für Anwendungen, bei denen nur eine große Datei geladen wird ("Onefiler") ist das nicht von Belang; die meisten Anwendungen und Spiele, die nachladen, benutzen dazu jedoch nicht die LOAD-Routine (die ein PRG in den Speicher lädt), sondern CHRIN/ACPTR (womit die Bytes aus PRGs einzeln geholt werden und somit z.B. während des Ladens direkt entpackt werden kann) - oder ganz eigene Routinen, die direkt auf die Leitungen der seriellen Schnittstelle ($DD00 in CIA2) zugreifen. In letzterem Fall kann ein separater Hardware-Schnelllader nicht eingreifen.

Anwendungen, die nur Kernalroutinen benutzen, erkennt man daran, dass sie in VICE ohne "exakte Floppy-Emulation" laufen.

Übersicht Schnelllader[Bearbeiten]

Im englischen C64-Wiki findet sich eine umfangreichere Übersicht Sprache:englisch.

Übersicht Hardware-Schnelllader[Bearbeiten]

Die Hardware-Schnelllader werden auf Platinen oder Chips geliefert und müssen im Heimcomputer und im Diskettenlaufwerk eingebaut werden.

Die Geschwindigkeitsfaktoren beziehen sich auf LOAD mit C64 und 1541 (Original ca. 400 Bytes/Sekunde). Mit anderer Hardware (HDD statt Floppy...) können die Werte stark abweichen.

Name System (F)loppy
(D)atasette
Faktor Bemerkung
DELA DOS C64 F 8
Dolphin DOS C64,C128 F 26 Parallel, Versionen 2.x für C64 und 3.x für C128, Dolphin DOS, Dolphin DOS 2.0
Dynamic DOS C64 F ?
FSD System C64,C128 F ?
EXOS / V-DOS C64 F 14 auch als Steckmodul- und Softwareversion verfügbar [1]
Hypra-Load C64 F 5
JiffyDOS C64 F 6-10 ROM-Austausch, 10fach nur bei mit Jiffy gespeicherten Dateien, in Software: SJLOAD
Mach 71 C128 F laut Werbeanzeige bis zu 35
Pro Speed 71 C128 F laut Werbeanzeige bis zu 35
P3/128 C128 F ?
Professional-DOS C64,C128 F 23-33 Parallel, Professional DOS , Professional DOS Handbuch
RapiDOS C64,C128 F 28-35 Parallel, RapiDOS
Prologic DOS Classic C64 F 65
Ross-Drive C64 F ?
Speed-DOS C64 F 8 SpeedDOS-Anleitung als Text bei iDOC=
Tornado DOS C64 F ? Modifiziertes EXOS 3
Turbo Access C64 F 10
Turbo Trans C64 F ? es gibt hier Versionen mit einer RAM-Erweiterung
Ultra-Load C64 F 7-9

Übersicht Steckmodul-Schnelllader[Bearbeiten]

Einige Schnelllader erschienen auch als Steckmodul für den Expansionsport.

Name System (F)loppy
(D)atasette
Faktor Bemerkung
Action Replay 6 C64 F 15/7 Multifunktionsmodul, auch schnelles Speichern
DELA DOS C64 F ? Nur Schnelllader
Disk-Booster 64 C64 F ? Nur Schnelllader
Epyx FastLoad C64 F 5
WP-W11.png Wikipedia: Epyx FastLoad Sprache:english
Final Cartridge 2 C64 F / D 6 / ? Multifunktionsmodul
Final Cartridge 3 C64 F / D 10 / 10 Multifunktionsmodul, auch schnelles Speichern
Hase 64 C64 D  ? Print-Technik
Hurikan C64 F 5 Print-Technik
Hypra-Disk-Modul C64 F  ? Schnelllader/-speicherer; REX Datentechnik 9503
Hypra-Disk-Modul II C64 F 6 Schnelllader; REX Datentechnik 9515
Magic Formel C64 F 16 / 15 Multifunktionsmodul, auch schnelles speichern
Profi-DOS C64 F 7 Schnelllader/-speicherer; REX Datentechnik 9645
Retro Replay C64 F ? Multifunktionsmodul
Super Snapshot C64 F 5,5 Multifunktionsmodul

Übersicht Software-Schnelllader[Bearbeiten]

Ein Software-Schnelllader ist ein kurzes Programm und wird zuerst geladen und gestartet, danach das eigentliche Programm, das sinnvollerweise deutlich größer sein sollte als der Schnelllader.

Name System (F)loppy
(D)atasette
Faktor Bemerkung
Accelerator C64 F ? Magic Disk 64, Ausgabe 12/1988
Fast Disk C64 F ? Magic Disk 64, Ausgabe 05/1988
FLOAD C64 F ? Magic Disk 64, Ausgabe 02/1989
Turbo Tape VC-20, C64,
C16/116, Plus/4
D 8
WP-W11.png Wikipedia: Turbo Tape
Turbo Tape (Compute) VC-20, C64 D 8-10
(abh. von Daten)
Compute! Magazine Issue 056, January 1985, Vol. 7, No. 1
Speed 1581[1] C64 F 16 Nur für Floppy 1581 & PAL, 64'er Ausgabe 6/89
ZAP 1581 C64 F 16 Nur für 1581
Gigaload C64 F ?
Heureka-Sprint C64 F 25 64'er Ausgabe 3/87, Listing des Monats, eigenes Diskettenformat
Hypratape 64 C64 D ?
Hypra-Load[2] C64 F 6 Nur für 1541 mit C64, in 64'er-Disk S8506C
Bis auf Einschaltmeldung identisch: Mr. Byte [3][4]
ISEPIC C64 F 10 Nur für 1541 mit C64
Cyber Loader C64 F 16 Nur für 1541 mit C64
Speedload C64 F 13 Nur für 1541 mit C64
Most-Access C64 F ? Nur für 1541
Ultraload Plus[5] C64 F 6/8 Happy Computer 01/1986, 64'er Spielesammlung Band 3
SuperTape D2[6] C64 D 10/20 Mögliche Geschwindigkeiten: 3600/7200 Baud
  • INPUT 64 Ausgabe 02/1985 (D) und 04/1985 (D2)
  • c't Ausgabe 04/1985 (nur Basisfunktionen LOAD/SAVE)
SuperDisk C64 F ? INPUT 64, Ausgabe 01/1987
MultiTape I C64 D ? INPUT 64, Ausgabe 05/1986
MultiTape 2 C64 D ? INPUT 64, Ausgabe 08/1986
Track1b[7] C64 F 19 Veröffentlicht von Mafiosino im Forum64
SJLOAD C64 F 6-10 Funktioniert nur mit JiffyDOS-Laufwerken
JET-LOAD C64 D ? Schnelllader von U.S. Gold für Spiele auf Datasetten
Vorpal C64 F ? Schnelllader von Epyx für Software [2] Sprache:englisch

Geschwindigkeitstest Software-Schnelllader[Bearbeiten]

Getestet wurde folgendermaßen: Eine Diskette wurde mit einer Floppy 1541-II formatiert, eine andere mit der DEC Golden Image Floppy. Auf beide Disketten wurden mit der jeweils entsprechenden Floppy die Schnelllader und ein "Testprogramm" gespeichert. Das Testprogramm war das "Synth Sample II" Demo, da es genau 100 Blöcke auf einer Diskette verbraucht.

Nun wurde das Testprogramm jeweils 4-mal mit den verschiedenen Schnellladern geladen, dabei die Zeit vom "Return"-Drücken bis zum "Loading Ready." gemessen, die langsamste Zeit gestrichen und vom Rest der Durchschnittswert errechnet wurde. Auch wurde das Testprogramm zwecks Kontrolle stets gestartet. Diese Tests erfolgten natürlich für jede Floppy (als Device 8) separat mit der ihr entsprechenden Diskette.


Folgende Software-Schnelllader wurden getestet:

  • SWAT
  • AC (Accelerator) von Harry Oberberg
  • Superload
  • Hypra-Load (1) von Tribar ´84
  • Hypra-Load 3
  • Fastload V1.1 von T. Tempelmann
  • Fload von Magic Disk 64
  • Action Replay Loader V3
  • Gigaload (Hyp-51200)


Floppy ohne Schnelllader SWAT Accelerator Superload Hypra-Load Hypra-Load 3 Fastload Fload Act. Replay Loader V3 Gigaload
1541-II 1m04s77 0m12s63 "File not found"-Fehler (x) 0m13s55 0m13s88 0m13s19 0m21s74 (x) "Load Error" (x) 0m17s75 "Load Error" (x)
DEC 1m03s73 0m13s53 0m06s10 0m13s48 0m13s84 0m13s74 0m13s61 0m05s33 (x) 0m12s93 0m06s12
Platzverbrauch des Loaders - 6 Blöcke 9 Blöcke 3 Blöcke 6 Blöcke 4 Blöcke 5 Blöcke 14 Blöcke 6 Blöcke 9 Blöcke


Anmerkungen:

  • Bei den mit "x" markierten Feldern trat ein Fehler auf. Entweder wurde das zu ladende Programm nicht korrekt gefunden/geladen oder das geladene Programm startete nicht.
  • Diverse Schnelllader hatten Probleme mit mehr als einer angeschlossenen Floppy. Befehle zum Laden vom zweiten Laufwerk (Device 9) wurden ignoriert oder einfach für Device 8 angewendet.
  • "Fload" und "Action Replay Loader V3" sind Menü-gesteuert. Nach dem Start wird das Inhaltsverzeichnis der Diskette eingelesen und zwecks Auswahl aufgelistet. Negativ fällt dabei neben der Umständlichkeit auf, dass man beim "Action Replay Loader V3" nur die ersten 26 Dateien einer Diskette auswählen kann.


Natürlich sind diese Tests nicht "labortechnisch-objektiv". Es standen nur zwei Floppy-Typen zur Verfügung und die Fehler bei den zwei schnellsten Fastloadern mit der 1541-II könnten auch an der verwendeten Floppy liegen. Dennoch zeigt die Tabelle, welches Potential die Schnelllader besitzen und welche Zeitersparnis sie bringen.

Die klaren Gewinner dieses Tests sind der "Accelerator" und "Gigaload". Beide brauchten nur ein Zehntel der normalen Ladezeit und waren damit auch noch doppelt so schnell wie ihre Konkurrenten. Leider versagten beide Programme ihren Dienst auf meiner 1541-II.

Weblinks[Bearbeiten]

Quellen[Bearbeiten]

  1. Speed 1581 auf gyer.org
  2. Hypra-Load auf CSDb Sprache:englisch
  3. Mr. Byte auf CSDb Sprache:englisch (Hypra-Load-Klon)
  4. Mr. Byte auf rulez.org (Hypra-Load-Klon)
  5. Ultraload Plus auf nitroroms.com
  6. SuperTape D2 auf c64-online.com
  7. Track1b von Mafiosino aus Forum64