Schnelllader
Ein Schnelllader, auch Turbolader, Turboloader, Floppyspeeder oder Fastloader genannt, beschleunigt das Laden von Programmen.
Grundlagen[Bearbeiten | Quelltext 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. Zusätzliches RAM in der Floppy kann noch zu einer weiteren Beschleunigung bei nahezu allen Diskettenoperationen verhelfen.
Ein einfacher serieller Schnelllader erzielt bereits 5- bis 10-fache Originalgeschwindigkeit, die besten seriellen Schnelllader für die 1541 etwa die 15-fache, parallele Schnelllader für die 1541 bis zu etwa 40-fache. Die theoretische Maximalgeschwindigkeit wird maßgeblich von der Rechenleistung der 1541 begrenzt; der serielle Bus an sich schafft theoretisch bis etwa 20 kByte/Sekunde (50-fach), eine paralleler Bus entsprechend mehr.[1]
Nicht alle Programme vertragen sich mit Schnellladern. Insbesondere Programme, die weitere Komponenten nachladen, dabei zwischenzeitlich bereits aktiv werden oder einen eigenen Software-Schnelllader beinhalten und nochmals über einen Hardware-Schnelllader eingelesen werden, funktionieren entweder nicht richtig oder gar nicht. Änderungen in den ROMs oder auch sonstigen nützlichen Erweiterungen (etwa für BASIC oder den Bildschirmeditor), die bei Schnellladern des öfteren integriert sind, führen ebenso manchmal zu Problemen, da Einsprungstellen in den KERNAL oder Teile davon geändert sind. Daher bieten diese Lösungen oftmals die Möglichkeit, die Schnellladefunktion oder etwaige Erweiterungen teilweise oder völlig außer Betrieb zu nehmen.
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. Das Risiko ist entsprechend höher, wenn mit höheren Datenraten übertragen wird und dabei kein sicheres Handshake-Verfahren zum Einsatz kommt, sondern ein fixer, eventuell mit wenig Toleranzen versehener Zeitraster die Übertragung steuert. Im Zusammenhang mit Einflüssen des VIC-II-Chips auf das generelle Timing im C64 und besonders der CPU, sofern diese nicht besonders berücksichtigt sind, können auch daraus unerwünschte Effekt entstehen. Nicht zu vernachlässigen ist auch rein aus Hardwaresicht eine fehlende Schirmung, die Ausführung der Änderung, die Kabellänge des Parallelkabels, aber auch sonstige elektromagnetische Einflüsse darauf.
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 | Quelltext 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 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. Z.B. Heureka-Sprint und Transwarp benutzen eigene Kodierungen, die on the fly dekodiert werden können, allerdings weniger speicherplatzeffizient sind - gewissermaßen ist in das Diskettenformat die Zeit, die die Floppy zum Übertragen der Daten braucht, eingerechnet - siehe auch nächster Punkt.
- Z.B. das Action Replay 6 führt die GCR-Dekodierung in zwei Teilschritten aus, wobei der erste Teilschritt nach dem Lesen eines Bytes ausgeführt wird. Auf diese Weise wird die Wartezeit der Floppy-CPU auf das nächste Byte effizient genutzt.
- Statt darauf zu warten, dass der angeforderte Sektor der Diskette vom Lesekopf überstrichen wird, könnte die komplette Spur in einer Umdrehung eingelesen werden. Das hätte auch den Vorteil, dass das Interleave, mit dem die Dateien auf Diskette gespeichert wurden, die Lesegeschwindigkeit nicht mehr beeinflusst. 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 jeweils teilweise eingelesen und zum Computer übertragen. Die Software/Cartridge-Schnelllader, die mehr als 10fache Originalgeschwindigkeit schaffen (u.a. das Action Replay 6, das Final Cartridge 3 und das Modul "Magic Formel"), benutzen typischerweise diese Technik.
- Der Schnelllader bringt eine RAM-Erweiterung für das Laufwerk und/oder entsprechend schnelle Übertragungsmöglichkeiten (Parallelkabel) zum Computer mit (z.B. Dolphin DOS).
- 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 | Quelltext bearbeiten]
Im englischen C64-Wiki findet sich eine umfangreichere Übersicht .
Übersicht Hardware-Schnelllader[Bearbeiten | Quelltext 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 | ? | |
FLOAD | C64 | F | 3-4 | |
FSD System | C64,C128 | F | ? | |
EXOS / V-DOS | C64 | F | 14 | KERNAL-ROM-Austausch, auch als Steckmodul- und Softwareversion verfügbar [1] |
Hypra-Load | C64 | F | 5 | |
JiffyDOS | C64 | F | 6-10 | KERNAL-ROM-Austausch, benötigt Jiffy-ROMs in den Laufwerken. In Software: SJLOAD |
Mach 71 | C128 | F | laut Werbeanzeige bis zu 35 | |
Magnum Load | C64 | F | 6 | KERNAL-ROM-Austausch |
Datel Turbo ROM II/Mercury 3 | C64 | F | 6 | KERNAL-ROM-Austausch |
Pro Speed 71 | C128 | F | laut Werbeanzeige bis zu 35 | |
P3/128 | C128 | F | ? | |
RAM DOS Professional | C64 | F | ? | |
Professional-DOS | C64,C128 | F | 23-33 | Parallel, Professional DOS , Professional DOS Handbuch ,Quelle |
RapiDOS | C64,C128 | F | 28-35 | Parallel, RapiDOS |
Prologic DOS Classic | C64 | F | 28 | |
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 | Quelltext bearbeiten]
Einige Schnelllader erschienen auch als Steckmodul für den Expansionsport.
Name | System | (F)loppy (D)atasette |
Faktor | Bemerkung | ||
---|---|---|---|---|---|---|
Action Cartridge+ 6 | C64 | F / D | 15/10 | Multifunktionsmodul, auch schnelles Speichern | ||
Action Replay 6 | C64 | F / D | 15/7 | Multifunktionsmodul, auch schnelles Speichern | ||
DELA DOS | C64 | F | ? | Nur Schnelllader | ||
Disk-Booster 64 | C64 | F | ? | Nur Schnelllader | ||
Epyx FastLoad | C64 | F | 5 |
| ||
Exbasic Level II | C64 | D | 5 | eigentlich eine BASIC-Erweiterung | ||
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 | ||
Mach 5/128 | C64/128 | F | Schnelllader | |||
Magic Formel | C64 | F | 16 / 15 | Multifunktionsmodul, auch schnelles speichern | ||
Nordic Power | C64 | F / D | 15 / 10 | 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 | ||
WarpSpeed | C64/128 | F | 5,5 | Multifunktionsmodul [2] |
Bedienung Steckmodul-Schnelllader[Bearbeiten | Quelltext bearbeiten]
Für den Betrieb der Datasette mit TurboTape:
- Action Cartridge+ 6: Turbotape ein-/ausschalten mit dem Befehl
@1
. Kompatibel mit Turbotape V3 und Turbotape 64 - Action Replay 6: Turbotape ein-/ausschalten mit
@1
. Eigenes Format - nicht kompatibel mit Standardformaten. Farbstreifen am Bildschirm beim Laden und Speichern. - Final Cartridge 3:
LOAD"",7
um mit Turbotape zu laden. Kompatibel mit Standardformaten. - Nordic Power 2.1: Turbotape ist standardmäßig aktiviert. Ein- bzw. Ausschalten mit
TT+
bzw.TT-
.
Anmerkung: Standardmäßig überträgt die Datasette mit ca. 300 bps. Das Action Replay überträgt mit ca. 2200 Bit pro Sekunde. Die anderen hier erwähnten Steckmodule mit ca. 3700 bps.
Übersicht Software-Schnelllader[Bearbeiten | Quelltext 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 |
| ||
Turbo Tape (Compute) | VC-20, C64 | D | 8-10 (abh. von Daten) |
Compute! Magazine Issue 56, January 1985, Vol. 7, No. 1 und Issue 57, February 1985[2] | ||
Speed 1581[3] | 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[4] | C64 | F | 6 | Nur für 1541 mit C64, in 64'er-Disk S8506C Bis auf Einschaltmeldung identisch: Mr. Byte [5][6] | ||
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[7] | C64 | F | 6/8 | Happy Computer 01/1986, 64'er 05/1997 | ||
SuperTape D2[8] | C64 | D | 10/20 | Mögliche Geschwindigkeiten: 3600/7200 Baud | ||
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 | ||
Mafiosino Loader[9] | C64 | F | 19 | Veröffentlicht von Mafiosino im Forum64 | ||
SJLOAD | C64 | F | 6-10 | Funktioniert nur mit JiffyDOS-Laufwerken | ||
Transwarp | C64 | F | 50 | Nur für 1541/70/71 auf einem C64, eigenes Diskettenformat | ||
JET-LOAD | C64 | D | ? | Schnelllader von U.S. Gold für Spiele auf Datasetten | ||
Vorpal | C64 | F | ? | Schnelllader von Epyx für Software[10] |
Geschwindigkeitstest Software-Schnelllader[Bearbeiten | Quelltext 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 | Quelltext bearbeiten]
- Übersicht Tapeloader in kommerziellen Spielen
- 64'er Testbericht "Speeder" aus Produktführer 1/93
- Commodore 64 Floppy-Speeder im computermuseum-muenchen
- Schnelllader im Thema: Serieller Floppy Speeder ohne Bastelei auf Forum64.de
- 256 Byte Autostart-Schnelllader
Quellen[Bearbeiten | Quelltext bearbeiten]
- ↑ Die Geschichte des Commodore 64 – Floppy Beschleuniger
- ↑ Compute!, Ausgabe 057, Februar 1985, Seite 112: "How TurboTape Works"; von Harrie De Ceukelaire, Ottls Cowper, Charles Brannon
- ↑ Speed 1581 auf gyer.org
- ↑ Hypra-Load auf CSDb
- ↑ Mr. Byte auf CSDb (Hypra-Load-Klon)
- ↑ Mr. Byte auf rulez.org (Hypra-Load-Klon)
- ↑ Ultraload Plus auf CSDb
- ↑ SuperTape D2 auf c64-online.com
- ↑ Thema: Track1b von Mafiosino auf Forum64.de
- ↑ Vorpal Utility Kit (Epyx Disk Loader cracked by zer0-x)