www.wikidata.de-de.nina.az
Commodore DOS Disk Operating System ist ein Disketten Betriebssystem des Unternehmens Commodore das in den Diskettenlaufwerken der Commodore 8 Bit Reihe eingesetzt wurde z B CBM 3040 CBM 4040 CBM 8050 CBM 8250 VC1540 VC1541 VC1570 71 VC1581 SFD1001 SFD1002 Inhaltsverzeichnis 1 CBM DOS Versionen 2 Hardware der Diskettenlaufwerke 3 Eigenschaften von Commodore DOS 3 1 Unterstutzte Dateitypen 3 2 Befehlsubertragung 3 3 Empfangen und Senden von Daten und Befehlen 3 4 Befehle 3 5 Verwendung der Laufwerke an Fremdcomputern 4 EinzelnachweiseCBM DOS Versionen BearbeitenEs existieren mindestens sieben Versionen von Commodore DOS Die folgende Liste enthalt die Versionsnummern und die zugehorigen Laufwerke Sofern nicht anders angegeben haben Laufwerke ein 5 Zoll Format Der lp Code bezeichnet Low Profile Laufwerke Laufwerke deren Modellnummern mit 15 beginnen werden uber die serielle IEEE 488 Bus Protokolle IEC Bus TALK LISTEN verbunden Alle anderen verwenden den parallelen IEEE 488 1 0 Commodore 2040 und Commodore 3040 2 0 Commodore 4040 und Commodore 3040 2 5 Commodore 8050 2 6 Commodore 1540 Commodore 1541 SX 64 Commodore 1551 Commodore 2031 lp und Commodore 4031 2 7 Commodore 8050 Commodore 8250 lp und Commodore SFD1001 3 0 Commodore 1570 Commodore 1571 und Commodore 8280 8280 8 Zoll wie auch in Commodore D9060 und Commodore 9090 Festplatten 3 1 Integrierte Commodore 1571 im C128D CR 10 0 Commodore 1581 3 Zoll Hardware der Diskettenlaufwerke BearbeitenAusfuhrliche Erlauterungen zur Hardware siehe im eigenen Artikel CBM Diskettenlaufwerke Bei typischen Computersystemen jener Zeit und im Prinzip bis heute waren Diskettenlaufwerke fast direkt uber den Prozessorbus angebunden Um das Kodieren der Daten kummerte sich entweder ein einfacher Controllerchip oder die Software des Betriebssystems Auch das Dateisystem wurde vom Betriebssystem des Computers verwaltet Bei den Computern der Commodore 8 Bit Reihe wahlte man einen anderen Weg Um die Kosten fur den Computer der anfangs haufig ohne Diskettenlaufwerk eingesetzt wurde zu minimieren und die Anbindung von Laufwerken so flexibel wie moglich zu halten verfugte der Computer nur uber sehr einfache und allgemein gehaltene zeichenorientierte nicht blockorientierte Soft und Hardware Schnittstellen zu externen Geraten Die vollstandige Logik zum Kodieren Dekodieren von Sektoren sowie die Dateisystem und DOS Befehlslogik war im Diskettenlaufwerk realisiert Commodore 8 Bit Diskettenlaufwerkseinheiten Units waren deshalb eigenstandige Computer mit einem oder zwei vom eigentlichen Computer unabhangigen Prozessoren Eine Unit verfugte uber ein oder mehr Laufwerke Drives Mehrere Units konnten an einen Computer angeschlossen werden Das Betriebssystem das in diesen Laufwerken zum Einsatz kam war Commodore DOS Im Gegensatz zu den DOS Varianten der meisten anderen damaligen Firmen war es nicht auf einer Diskette gespeichert sondern in ROM Chips Firmware innerhalb des Laufwerks Dadurch ergibt sich ein schnellerer Systemstart das DOS ist beim Einschalten innerhalb von 1 bis 2 Sekunden einsatzbereit geringere Kosten ROM Speicher war damals deutlich billiger als die gleiche Menge RAM Speicher aber auch eine geringere Flexibilitat neuere DOS Versionen mit Fehlerkorrekturen oder zusatzlichen Funktionen konnen nur durch einen Umbau des Laufwerks verwendet werden wahrend bei anderen Systemen nur der Austausch eines Datentragers erforderlich war Die ursprunglichen Modelle fur die Commodore PET Reihe besassen zwei symmetrische CPUs 2 KB RAM und 16 KB ROM CPU 1 realisierte die Logik um Sektoren zu lesen und zu schreiben wahrend CPU 2 sich um die Dateisystemlogik sowie um die Kommunikation mit dem Computer kummerte Die Kommunikation zwischen den beiden Prozessoren fand uber den Hauptspeicher statt CPU 2 schrieb Befehls Tupel Aktion Drive Spur Sektor Speicheradresse in einen definierten Speicherbereich die CPU 1 auslas ausfuhrte und das Befehls Tupel mit dem Ergebniscode uberschrieb Die beiden CPUs konnten dabei gleichzeitig denselben Speicher verwenden indem man sich eine spezielle Eigenschaft der 6502 Prozessoren zunutze machte diese greifen nur in einer der beiden Halften jedes Taktzyklus auf den Systembus zu Die CPUs wurden nun so verschaltet dass CPU 1 jeweils in der ersten Takthalfte und CPU 2 in der zweiten Takthalfte den Bus benutzte ganz genau so wie sich in den Commodore Computern der Prozessor und der Videochip den Bus teilten Grundsatzlich gelten alle diese Angaben auch fur die Festplatten CBM 9060 und CBM 9090 Spatere Gerate verfugten uber nur ein Laufwerk und die zweite CPU wurde aus Kostengrunden eingespart Die einzelne CPU ubernahm beide Aufgaben die ursprungliche Konzeption des Systems blieb dabei allerdings bestehen Die Aufgaben der CPU 2 Dateisystem liefen als Hauptprogramm ab wahrend die Aufgaben der CPU 1 Hardwaresteuerung in einer Interruptroutine erledigt wurden Eigenschaften von Commodore DOS BearbeitenAktionen wie das Formatieren von Disketten das Umbenennen Loschen oder Kopieren von Dateien werden also von Commodore DOS ausgefuhrt und laufen vollstandig in der Laufwerkseinheit ab Das DOS bietet ein flaches Dateisystem Details siehe unter SFD100x ohne Unterverzeichnisse und mit einer limitierten Anzahl von Eintragen also Dateien je Datentrager Diskette bzw Festplatte Die Maximalanzahl an Eintragen variiert dabei mit der Kapazitat des jeweiligen Datentragers von der 170 KB Diskette bis zum 4 5 MB Festplattenlaufwerk Unterstutzte Dateitypen Bearbeiten Jede Datei tragt im Inhaltsverzeichnis eine Kennung die sie einem der folgenden Dateitypen zuordnet Sequentielle Datei SEQ fur unstrukturierte in einem durchgehenden Strom zu lesende Daten die Lange steht im Inhaltsverzeichnis jeder Datenblock tragt in den ersten beiden Bytes die Blocknummer des Folgeblocks fur diese Datei auf der Diskette so dass je Block nur 254 Nutzbytes gespeichert sind Programmdatei PRG strukturiert wie eine sequentielle Datei enthalt in den ersten beiden Nutzbytes die Ladeadresse im Arbeitsspeicher des Computers und danach den binaren Speicherinhalt wie er aus diesem Speicherbereich kopiert wurde bzw wieder in ihn zuruckgeschrieben werden soll Relative Datei REL Direktzugriffsdatei die es uber separat gespeicherte Zeiger Pointer in einem oder mehreren dann wieder sequentiell verlinkten Datenblocken auf die von ihr belegten Diskettenblocke erlaubt direkt auf bestimmte Orte innerhalb der Datei zuzugreifen ohne den ganzen Inhalt davor durchlesen zu mussen Bei den meisten anderen Betriebssystemen ist das fur alle Dateien moglich Commodore DOS spart ein wenig Speicherplatz indem die dafur notwendigen Strukturen bei den nicht relativen Dateitypen nicht angelegt werden User Datei USR strukturiert wie eine sequentielle Datei muss keinerlei sonstige Regeln erfullen Das Inhaltsverzeichnis selbst ist zwar ahnlich einer sequentiellen Datei abgespeichert aber taucht nicht im Inhaltsverzeichnis auf auch nicht als wie bei Unix oder MS DOS Beim Auslesen wird es wie ein nicht ausfuhrbares BASIC Programm formatiert und wie ein solches in den Arbeitsspeicher geladen und kann dort mit dem LIST Befehl des Basic Interpreters angesehen werden der Versuch dieses Pseudo Programm mit dem Befehl RUN zu starten fuhrt dagegen zu einer Fehlermeldung Da es wie ein BASIC Programm geladen wird uberschreibt es aber auch ein evtl dort vorher stehendes BASIC Programm das anschliessend wieder geladen werden muss Erst in Version 4 von Commodore BASIC gibt es eigene Befehle zum Ansehen des Inhaltsverzeichnisses ohne ein im Arbeitsspeicher vorhandenes BASIC Programm zu uberschreiben Befehlsubertragung Bearbeiten Jedes Laufwerk kann uber die Schnittstelle zum Computer 15 virtuelle Kanale oder Dateien 0 14 unterhalten d h der Computer kann auf einem Laufwerk bis zu 15 Dateien zum Lesen bzw Schreiben offen halten Die tatsachliche Anzahl offener Dateien wird dabei in der Praxis vom RAM des Laufwerks begrenzt ublicherweise konnen 3 4 Dateien und der Befehlskanal offen gehalten werden wobei relative Dateien doppelt zahlen Andererseits arbeitet der Computer seinerseits mit eigenen virtuellen Kanalen die durch ihre Nummer identifiziert und den Geraten bei der Eroffnung zugeteilt werden bei der Eroffnung des Kanals wird dem Gerat z B Diskettenlaufwerk auch mitgeteilt welchen virtuellen Kanal es fur diese Verbindung verwenden soll Die Nummern sind dabei beliebige Namen uber die reale Puffer im Computer und den Geraten adressiert werden Kanal 15 Befehlskanal hat fur ein Diskettenlaufwerk eine Sonderbedeutung Uber ihn laufen Befehle vom Computer an Commodore DOS sowie Statusmeldungen in die andere Richtung Auf Computerseite wird der Befehlskanal allerdings genau wie eine normale Datei behandelt Kanal 0 ist fur Leseoperationen vorgesehen und Kanal 1 fur Schreiboperationen insb dem Laden und Speichern von Programmen so dass bei Benutzen dieser Kanale die Art des Zugriffs nicht mehr spezifiziert werden muss Empfangen und Senden von Daten und Befehlen Bearbeiten Der Datenaustausch zwischen Computer und Laufwerk wird ermoglicht uber die erwahnten virtuellen Kanale Sekundaradressen im Laufwerk Bei Commodore Computern z B C64 existieren analoge virtuelle Kanale Dateinummern auch auf Computerseite verwaltet durch Routinen im ROM basierten Betriebssystem Kernal Diese werden vom BASIC Interpreter bei Eingabe von bestimmten BASIC Befehlen aufgerufen oder direkt von Programmen vor allem Assembler Programmen Die computerseitigen virtuellen Kanalnummern Dateinummern werden dabei dem Laufwerk nie mitgeteilt sondern nur innerhalb des Rechners selbst verwendet Die Laufwerke identifizieren Dateien ausschliesslich uber die Sekundaradressen Die folgenden Beispiele illustrieren somit eher die Ansprache des DOS von der BASIC Ebene aus und die Abhangigkeit der Benutzerfreundlichkeit von der Implementation von Letzterer Gerat meint dabei in diesem Zusammenhang ausdrucklich eine Commodore Diskettenstation und wird verwendet um begrifflich eine solche von einem Laufwerk zu unterscheiden da manche Stationen ja aus zwei Laufwerken bestehen Beispiel 1 Umbenennen einer DateiOPEN 1 10 15 PRINT 1 R NEUNAME ALTNAME CLOSE 1 oder abgekurzt OPEN 1 10 15 R NEUNAME ALTNAME CLOSE 1Der OPEN Befehl offnet den virtuellen Kanal Dateinummer 1 auf Computerseite weist ihn Gerat 10 am seriellen Bus zu und schickt diesem Gerat die Information seinerseits den virtuellen Kanal Sekundaradresse mit Nummer 15 zu verwenden d h einen Pufferbereich zu reservieren und ihn 15 zu nennen Anhand dieser Nummer 15 weiss das Gerat dass uber diesen Kanal keine Daten fur eine Datei sondern DOS Befehle gesendet werden die es ausfuhren soll Der zweite Befehl schickt den Befehl R kann auch RENAME ausgeschrieben werden an Kanal 1 mit dem neuen und alten Dateinamen Der dritte Befehl schliesst den virtuellen Kanal Beispiel 2 Offnen einer Datei und Hineinschreiben eines TextesOPEN 1 8 13 0 TESTDATEI S W oder OPEN 1 8 1 0 TESTDATEI S oder DOPEN 1 TESTDATEI W PRINT 1 WIKIPEDIA DIE FREIE ENZYKLOPAEDIE CLOSE 1Der erste OPEN Befehl offnet virtuellen Kanal Dateinummer 1 auf Computerseite und weist ihn Gerat 8 zu Diesem Gerat wird zunachst mitgeteilt dass eine Datei zu offnen sei die fortan uber die Nummer Sekundaradresse 13 anzusprechen ist Da es sich um eine echte Datei handelt liegt diese auf einem bestimmten Datentrager und hat einen Namen 0 bezeichnet die Nummer des Laufwerks in dem sich der Datentrager befindet das erste Laufwerk eines Gerates mit zwei Laufwerken das zweite Laufwerk hiesse 1 Die Zeichen zwischen dem Doppelpunkt und dem Komma werden als Name der Datei interpretiert Danach folgt S als Angabe dass es eine Datei vom Typ SEQ sequentielles lesen schreiben werden soll und W fur WRITE Schreibzugriff Andere Zugriffsmodi sind R Read und M Modify Die Zeichenkette zwischen den Anfuhrungszeichen wird vom Rechner unverandert an die Diskettenstation gesendet und erst dort werden die einzelnen Bestandteile Laufwerksnummer Name Dateityp Zugriffsmodus interpretiert Der darunterstehende Befehl erfullt genau dieselbe Funktion aber da der laufwerksseitige virtuelle Kanal Nummer 1 benutzt wird und diese standardmassig fur Schreiboperationen reserviert ist entfallt die Angabe fur den Schreibzugriff Der nachste Befehl setzt BASIC 4 0 oder hoher voraus und erfullt den gleichen Zweck ohne dass der Benutzer sich um weitere Parameter kummern muss die Geratenummer die laufwerksseitige Kanalnummer Sekundaradresse der Dateityp und die Laufwerksnummer werden vom BASIC Interpreter automatisch hinzugefugt bevor der Befehl zum Laufwerk gesendet wird Alle diese Befehle tragen zudem die computerseitige virtuelle Kanalnummer Dateinummer die Geratenummer und die laufwerksseitige Kanalnummer Sekundaradresse in einer internen Tabelle im Speicher des Rechners ein so dass bei weiteren Befehlen die sich auf die gleiche Datei beziehen nur noch die Dateinummer angegeben werden muss Der nachste Befehl schickt den Text an den virtuellen Kanal Puffer im RAM des Laufwerks Anhand der angegebenen Dateinummer findet der Rechner in der internen Tabelle die zuvor festgelegte Geratenummer und Sekundaradresse diese und der angegebene Text werden an die Diskettenstation ubermittelt Der letzte Befehl schliesst den Kanal wobei wieder Geratenummer und Sekundaradresse in der internen Tabelle nachgesehen und an die Diskettenstation ubermittelt werden gefolgt von einer Dateiende Marke Erst ein Uberlaufen des Puffers oder der CLOSE Befehl veranlasst das Schreiben des Textes auf die Diskette CLOSE gibt zugleich den Puffer im Laufwerk fur andere Zwecke frei und entfernt den Eintrag fur Geratenummer und Sekundaradresse aus der erwahnten computerseitigen Tabelle Ein eventueller weiterer Zugriff auf diese Datei ist damit erst wieder nach einem erneuten OPEN oder DOPEN Befehl moglich Wahrend dieses Vorgehen mit je einer Ebene von virtuellen Kanalen auf Computer und Laufwerksseite fur Programme Moglichkeiten des gerateunabhangigen Zugriffs bietet Ansprechen von Laufwerken in derselben Form wie von Druckern Modems Datasette Tastatur Bildschirm etc ist es fur simple Laufwerksoperationen unhandlich Commodore integrierte daher in spatere Versionen von BASIC Befehle zum einfacheren Zugriff auf Disketteninhalte Beispiel 3 Umbenennen einer Datei in BASIC 4 0 oder 7 0 z B C128 RENAME alt TO neu Technisch betrachtet arbeitet dieser Befehl wie Beispiel 1 ausser dass er Gerat 8 anstelle von 10 anspricht Auch integrieren BASIC Erweiterungen fur CBM Rechner haufig einen Befehl meist der das direkte Senden von Befehlen auf dem Befehlskanal eines Laufwerks ermoglicht ohne dass der Benutzer sich um die Ebene von Dateien und Kanalen zu kummern braucht Beispiel 4 Umbenennen einer Datei mit DOS Wedge oder z B JiffyDOS R neu altInsbesondere die Abfrage des Befehlskanals von Seiten des Computers wird dadurch stark erleichtert denn auf diesem Weg meldet sich ja das DOS beim Computer Beispiel 5 Abfragen des Status des Gerats mit DOS Wedge oder z B JiffyDOS Ausgabe z B 00 OK 00 00Commodore Disketteneinheiten melden ihren Status in der o g Form als CBM ASCII String an den Computer Die erste Zahl gibt die Nummer des aufgetretenen Ereignisses i A Fehler aber auch z B bei der 1581 das vorgenommene Auswahlen einer Partition an 0 bedeutet hier keiner Nach einem Komma folgt der Fehler als Klartext jedoch weniger differenziert als die Nummer so werden Lesefehler aus verschiedenen Grunden als READ ERROR gemeldet und sind anhand ihrer Nummer genauer einzugrenzen dann zwei Zahlen die fur gewohnlich aber nicht bei allen Meldungen Spur und Sektor des Ereignisses angeben Der Status ist auch ab BASIC 4 0 als Textstring mittels der Systemvariablen DS fur Disk Status und die Ereignisnummer mittels DS abrufbar Befehle Bearbeiten Folgende unvollstandige Liste stellt einige wichtige Commodore DOS Befehle dar auch um den mitunter durchaus elaborierten Charakter der Befehle zu illustrieren Die Befehle konnen auch mit den ebenfalls aufgefuhrten vollstandigen Namen gesandt werden da das erste Zeichen zur Unterscheidung dient auf das sie i A verkurzt werden Die meisten Befehle konnen die Wildcards und verarbeiten Je nach Befehl wird dann entweder mit der ersten oder mit allen passenden Dateien gearbeitet Der Dateiname Dollarzeichen ist reserviert fur das Verzeichnis 1 einer Diskette welches in Form eines nicht ausfuhrbaren aber LIST baren Commodore BASIC Programms zuruckgegeben wird Die in vielen Befehlen mogliche Angabe einer Laufwerksnummer ist nicht obligatorisch Laufwerk 0 ist der Standardwert Bei einigen Befehlen konnen aber obskure Probleme auftauchen wenn keine Laufwerksnummer angegeben wird daher hat es sich eingeburgert diese stets selbst bei Geraten mit nur einem Laufwerk in den Befehl aufzunehmen Die BASIC Befehle der hoheren BASIC Versionen ab 4 0 tun das automatisch Die meisten Befehle mit numerischen Parametern erwarten diese als Dezimalzahlen aus ASCII Ziffern Folgen von Hexcodes 30 bis 39 fur die Ziffern 0 bis 9 Der POSITION Befehl und die MEMORY Befehle erwarten jedoch ihre Parameter im Binarformat Hexcodes 00 bis FF fur die Werte 0 bis 255 N d name id NEW Formatieren einer Diskette in Laufwerk d 0 oder 1 des Gerates name ist der spater in der Kopfzeile des Inhaltsverzeichnis erscheinende Diskettenname id ist ein aus zwei Zeichen bestehender Code der in die Kopfdaten jedes Datenblocks auf der Diskette geschrieben wird anhand dessen kann das Laufwerk erkennen wenn die Diskette gewechselt wurde naturlich nur wenn fur verschiedene Disketten nicht die gleiche ID verwendet wird Angabe eines anderen Laufwerks als 0 naturlich nur bei Geraten mit zwei Laufwerken moglich z B N1 name id Formatiert die Diskette in Laufwerk 1 zweites Laufwerk N d name NEW Loschen des Inhaltsverzeichnisses einer bereits formatierten Diskette ohne Neuformatierung die ID andert sich dabei nicht Alle Dateinamen und alle Verweise auf den Speicherort der Dateien werden geloscht und alle Datenblocke werden freigegeben aber die eigentlichen Dateidaten werden nicht geloscht V d VALIDATE Uberprufung des Dateisystems und Korrektur fehlerhafter Eintrage Berichtigung des freien Speicherplatzes vergleichbar dem CHKDSK bzw ScanDisk von MS Windows I d INIT INITIALIZE Initialisieren der Diskette Aktualisieren der Block Availability Map kurz BAM 2 im Laufwerks Cache kann nach Diskettenwechsel notig sein wenn sich die IDs der Disketten nicht unterscheiden R d neu alt RENAME Umbenennen einer Datei beachte dass der neue Name zuerst kommt anders als bei den Umbenennungsbefehlen der meisten anderen Betriebssysteme C d neu alt COPY Kopieren einer Datei auf derselben Diskette Auch hier steht der neue Name zuerst C x neu y alt COPY Kopieren einer Datei von Laufwerk y 0 oder 1 auf Laufwerk x 1 oder 0 ggf unter dem neuen Namen neu nur moglich innerhalb von Geraten mit zwei Laufwerken S d name SCRATCH Loschen einer oder mehrerer Dateien D x y DUPLICATE Kopieren einer ganzen Diskette von Laufwerk y 0 oder 1 auf Laufwerk x 1 oder 0 nur moglich innerhalb von Geraten mit zwei Laufwerken beachte dass das Ziellaufwerk zuerst steht anders als bei den Duplizierbefehlen der meisten anderen BetriebssystemeP kanalnummer position POSITION Aufsuchen einer bestimmten Position in einer Datei nur bei relativen Dateien moglich Mit Kanalnummer ist die oben beschriebene Sekundaradresse gemeint B R Kanal Spur Sektor BLOCK READ Abkurzung obligatorisch Lesen eines Sektors und Ubermittlung des Inhalts an den angegebenen logischen Kanal Sekundaradresse Aufgrund von Beschwerden uber die fur echten blockweisen Zugriff etwa fur das Kopieren einer Diskette in Geraten mit nur einem Laufwerk oder die direkte Manipulation des Dateisystems nicht ausreichende Funktionsweise des Kommandos das erste Byte des Blocks bestimmt die Anzahl der gelesenen Bytes um die folgende intuitiv funktionierende Variante erganzt U1 Kanal Spur Sektor Ersatz fur Block Read liest immer den ganzen Block auch als UA schreibbar B W Kanal Spur Sektor BLOCK WRITE Abkurzung obligatorisch Schreiben eines Sektors das erste Byte bestimmt die Anzahl der zu schreibenden Bytes U2 Kanal Spur Sektor Ersatz fur Block Write schreibt immer den ganzen Block auch als UB schreibbarWird bei B R und B W der zweite Buchstabe gross geschrieben bzw durch ein entsprechendes Grafikzeichen ersetzt Bit 7 im Code des eingestellten CBM ASCII Zeichensatzes gesetzt unterbleibt eine Prufung auf zulassige Werte fur Spuren und Sektoren etwa um Bereiche ausserhalb des normalen Diskettenformats zu manipulieren U3 U8 User Befehle Anspringen eigener Software im Laufwerks RAM durch Sprungtabelle auch als UC UH schreibbar U9 Zurucksetzen des Gerats in den Wartezustand und Initialisieren der Diskette Reset auch UI U Zurucksetzen des Gerats in den Einschaltzustand und Initialisieren der Diskette Harter Reset auch UJ U0 gt PETSCII Zeichen Nr x Zuordnen einer neuen Geratenummer x an das Laufwerk nur 157x und neuer M W AdrL AdrH Anzahl Datenbytes MEMORY WRITE Abkurzung obligatorisch Schreiben in das RAM des Diskettenlaufwerks M R AdrL AdrH Anzahl MEMORY READ Abkurzung obligatorisch Lesen aus dem RAM des Diskettenlaufwerks M E AdrL AdrH MEMORY EXECUTE Abkurzung obligatorisch Starten eines Maschinenprogramms im RAM des DiskettenlaufwerksMit den Memory und den U Befehlen kann man also eigene Software in das Diskettenlaufwerk ubertragen sie dort laufen lassen und schliesslich im RAM abgelegte Ergebnisse wieder auslesen Anwendungen dazu Man kann den Datenzugriff optimieren als praktisches Beispiel wurden zeitkritische Suchen in einer Datenbank komplett innerhalb des Diskettenlaufwerks vorgenommen Man kann die Ubertragung zwischen Diskettenlaufwerk und Rechner beschleunigen indem man die sehr suboptimalen Ubertragungsroutinen durch starker optimierte Varianten ersetzt Dies wurde vor allem beim seriellen CBM Bus zwischen dem C64 und seinen Laufwerken angewendet Man kann die Diskettenstation als Slave Rechner verwenden der im Multiprocessing Teilaufgaben ubernimmt so dass insgesamt mehr Datendurchsatz erreicht wird Beispiel Fraktalberechnung Mandelbrot Menge oder die erste Stufe einer Datenbanksuche fur einen Universitats Bibliothekskatalog Der sehr beschrankte RAM Speicher der meisten Laufwerke meist 2 Kilobyte machte das aber nur eingeschrankt moglich nur die 1581 hatte mit 8 Kilobyte genugend RAM fur etwas komplexere Berechnungen Man kann einen komplexeren Kopierschutz in Programme einbauen indem man dem Laufwerk ein Programm einschreibt das nicht standardgemasse Datenstrukturen welche mit normalen Kopierprogrammen unlesbar sind von einer Diskette lesen kann Ebenso kann man Kopierschutzverfahren aushebeln indem Software im Laufwerk direkt auf den Datenstrom der Diskettenoberflache zugreifen und diesen zur Analyse unverandert an den Computer weitergeben kann Diese Moglichkeiten zum direkten Zugriff auf Interna des Laufwerks waren zwar oft praktisch nutzlich verhinderten aber einen sinnvollen Upgrade Pfad ohne aufwandige und teure Massnahmen zur Wahrung der Kompatibilitat bereits das Laufwerk 1571 enthielt mehrere Komponenten die nur dazu dienten die Kompatibilitat zum Vorgangermodell 1541 auf dieser tiefen Ebene zu wahren Entsprechende Moglichkeiten bieten heutige Festplatten Laufwerke nicht mehr obwohl auch sie uber hochgradige Eigenintelligenz in ihrer Firmware und viel internes RAM verfugen Verwendung der Laufwerke an Fremdcomputern Bearbeiten Aufgrund des Klartextcharakters der Befehle war es auch relativ leicht moglich Commodore Laufwerke zumindest die mit dem genormten parallelen IEEE 488 Bus an IEEE 488 Bus fahigen Rechnern anderer Hersteller z B Tektronix zu betreiben Die Befehle liessen sich muhelos in deren eigenem BASIC Dialekt als Ausgabeanweisungen formulieren und an die Gerate senden Nur bei der Interpretation der zuruckgesendeten Ergebnisse z B Verzeichnisauflistung in Form eines Pseudo Commodore BASIC Programms waren Kenntnisse uber die Struktur dieser Daten notig V DCommodore ProduktubersichtPET CBM KIM 1 PET 2001 CBM 3000 CBM 4000 CBM 8000 CBM 8032 MMF 9000 nbsp CBM II CBM 500 CBM 600 CBM 700 CBM 900 Heimcomputer VC 10 VC 20 C64 SX GS 264 Reihe C16 C116 Plus 4 C128 C65 Amiga 1000 Sidecar 500 500 Plus 2000 CDTV 600 3000 T UX 1200 4000 CD IBM kompatibel PC 1 PC 10 bis PC 70 x86LT A1060Peripherie Laufwerke Datasette CBM Diskettenlaufwerke VC15xx VC1540 41 VC1551 VC1570 71 VC1581 SFD100x SFD1001 SFD1002 CBM 2020 bis 8250 CBM 4040 A570 A590 A3070Drucker MPS Serie MPS 801 MPS 802 MPS 803 MPS 1000 MPS 1270 MPS 1500 C MPS 1550 C VC1520 CBM 8000 Serie CBM 4022 CBM 4023Sonstige Hardware CBM Bus Zorro Bus Uhrenport WOM RAM Expansion Unit Turbokarte Mause Commodore 1350 1351 Monochrom und Farb Monitore 1701 1702 1703 1801 1802 1081 1084 1084S 1085 1901 1942 Lautsprecher A10 Mehrfachbenutzersysteme MBS Historische Hardware Schreib und Tischrechenmaschinen LED Uhren 2000K 3000H ChessmateChips MOS Technology 6502 6510 VIC VIC II TED VDC SID PIA VIA RIOT TPI CIA ACIA Agnus Blitter Copper Paula EHB Modus HAM ModusChipsatze OCS ECS AGA AAA Chip RAM und Fast RAMSoftware Commodore BASIC Commodore Basic V2 Kernal CBM ASCII PETSCII GEOS Commodore DOS AmigaOS Kickstart Workbench ARexx AmigaGuide AMIX Spielkonsole nur PrototypEinzelnachweise Bearbeiten Inhaltsverzeichnis einer Diskette Beschreibung auf c64 wiki de Block Availability Map Beschreibung auf c64 wiki de Abgerufen von https de wikipedia org w index php title Commodore DOS amp oldid 230221285