Startseite Sinclair QL

Das fortschrittliche Plug-and-Play-Konzept des Sinclair QL

Wenn man sich die Memory-Map des QL ansieht, fallen zwei weiße und damit zunächst leere Bereiche besonders auf: einerseits der Raum für die Arbeitsspeicher-Erweiterung, der es erlaubt, zu den bereits eingebauten 128 KiB RAM weitere 512 KiB RAM hinzuzufügen, und andererseits die obersten 256 KiB, die in Form von Blöcken von je 16 KiB Raum für bis zu 16 Hardware-Erweiterungen ("memory-mapped expansion peripheral cards") bieten:



Speichererweiterungen finden ihren Platz im Speichererweiterungs-Bereich - dabei muss das RAM ab Adresse (hexadezimal) 40000 ohne Lücke an den eingebauten RAM-Bereich anschließen zusammenhängend sein.

Hardware-Erweiterungen (Floppy-Controller, Harddisk-Controller, Graphikkarten, Soundkarten, Interface-Karten, Festprogramm-Module usw.) belegen im QL immer irgendeinen dieser 16-KiB-Blöcke - und die Karte darf nicht selbst festlegen, welchen! Diese Auswahl wird vielmehr durch den Status von vier Auswahlpins ("Select Peripheral" SP0..SP3) im Anschlussstecker getroffen. Bei "kaskadierbaren" Peripheriekarten, die selbst einen Bus-Anschluss für eine weitere Erweiterungskarte besitzen, muss eine elektronische Schaltung durch Einstellung der SP-Pins dafür sorgen, dass die dort eingesteckten Peripheriekarte jeweils dem nächsthöheren 16-KiB-Block zugewiesen wird als sie selbst zugewiesen bekam. Kurz gesagt, egal wie viele Peripheriekarten man am QL anschließt, und egal, in welcher Reihenfolge man sie anschließt, sie werden durch die Hardware automatisch auf verschiedene dieser 16-KiB-Adressbereichs-Blöcke verteilt, so dass keine Kollision auftreten kann.

Dazu kommt nun ein weiterer raffinierter Trick: jede der Hardware-Erweiterungskarten enthält ein ROM, und dieses enthält alle für den Betrieb dieser Erweiterung notwendigen Treiber, und am Anfang eine normierte Tabelle: diese enthält die Einsprungadressen aller enthaltenen Treiber, und auch einen Namensstring und das Geräte-spezifische 3-Buchstaben-Kürzel, unter dem diese Erweiterung dem Benutzer zur Verfügung stehen soll. Die normierte Tabelle sieht bei "Streaming Devices" wie z.B. einer MIDI-, WLAN- oder Drucker-Schnittstelle, und bei "Directory Devices", d.h. Geräten, die wie die Microdrives ein Inhaltsverzeichnis führen wie Festplatten-Controller, Floppy-Controller, USB-Stick-Controller usw., teilweise verschieden aus.

Wenn der QL eingeschaltet wird, ermittelt dieser Computer erst mal die Menge des eingebauten RAM (und führt auch sofort einen kurzen Memory Test durch, um Fehlfunktionen zu erkennen). Danach legt er die notwendigen Verwaltungstabellen für den Arbeitsspeicher an, da in diesem Multitasking-System den einzelnen Prozessen Arbeitsspeicher kachelweise zugewiesen und verwaltet werden muss.

Danach scannt er die für Erweiterungskarten vorgesehenen 16-KiB-Blöcke und stellt fest, in welchen Blöcken die normierten Tabellen vorliegen. Die gefundenen Hardware-Erweiterungen werden jeweils mit ihrem Namensstring aus der normierten Tabelle im Startbildschirm angezeigt, die vorgefundenen Treiber in die verketteten Listen des Betriebssystem eingehängt, und eine eventuell vorhandene Initialisierungsroutine wird automatisch durchlaufen.

Der Clou daran ist: wenn ich eine neue Erweiterung für den QL kaufe, wie z.B. eine Festplatte nebst Controller, verbinde ich diese neue Erweiterung einfach mit dem ausgeschalteten QL, und das wars. Ich brauche mich um keine "Installationsprozedur" zu kümmern, muss keine Gerätetreiber laden usw. Sobald ich den QL einschalte, integriert er automatisch alle vorgefundene Peripherie nebst den zugehörigen Treibern in sein System: das nenne ich wahres Plug and Play !
Das logische Äquivalent der sog. "Windows-Registry" entsteht im QL also bei jedem Hochfahren dynamisch und vollautomatisch neu, passend zu der vom QL real vorgefundenen Peripherie.

Wenn zur neu hinzugefügten Festplatte das Kürzel "hdd" gehört, kann man sofort nach dem Booten des QL z.B. das Kommando geben:   DIR hdd1_  , um zu sehen, was auf der Festplatte Nr. 1 gespeichert ist (oder   FORMAT hdd1_Maria   falls sie erst noch als Harddisk namens Maria formatiert werden soll). QDOS-Befehle sind nämlich "device-unabhängig", man kann im Prinzip alle diese Gerätekürzel bei jedem SuperBASIC- bzw QDOS-Befehl verwenden: welche Geräteart (bzw. welcher Treiber) sich von einem solchen Befehl angesprochen fühlt, entscheidet erst mal nur das Namenskürzel, und innerhalb einer Sorte folgt oft noch eine Ziffer, wenn es von dieser Sorte mehrere Geräte gibt oder geben könnte.

Beispiele für Geräte-Kürzel, beim deutschen QL auch "Einheiten" genannt
 
con"Konsolenfenster" für Ein- und Ausgabe   scrBildschirmfenster nur für Ausgabe
serSerielle Schnittstelle   netSerielles Netzwerk "QLAN"
mdvMicrodrive-Laufwerk   ramtypischer Name für RAM-Disks
flptypischer Name für Floppy-Disk   fdkanderer typischer Name für Floppy-Disk
hddtypischer Name für Festplatte   partypischer Name für parallele Schnittstelle
und so weiter, die Liste ist beliebig erweiterbar (die hellblauen Kürzel sind im Basis-QL noch nicht vorhanden).

Beim Öffnen eines Kanals zu einem "Gerät" müssen je nach Art des "Gerätes" evtl. weitere Angaben gemacht werden.
Beispiel für einen OPEN-Befehl mit "mdv":     OPEN_NEW #7, mdv2_ausgabe_1
bedeutet, dass als "Kanal Nr. 7" eine neue Datei namens "ausgabe_1" auf dem Microdrive Nr. 2 eröffnet wird,
in die man danach z.B. per   PRINT #7, "Hallo Leute"\   eine Zeile mit Hallo Leute schreiben könnte.
Wollte man die Datei auf der neu hinzugefügten Festplatte erzeugen, bräuchte man nur "hdd1" anstelle von "mdv2" zu schreiben.


DISCLAIMER: Alle Angaben auf dieser Seite erfolgen nach bestem Wissen, jedoch ohne Gewähr.
Dies ist eine nicht-kommerzielle Fan-Webseite

© 2015 Elmar Dünßer (Duensser)