DRVIN.PRG (DRVIN.PRG) ======================== #### VORLŽUFIGSTE BESCHREIBUNG ###### (Ich habe jetzt kein Zeit, alles ausfhrlich einzutippen. Wenn jemand Treiber fr andere Hardware oder einen "Treiberadapter" fr Mint schreiben will, kann er sich gern an mich wenden. Assemblerkenntnis setze ich allerdings voraus. Sp„ter wird hier wohl die vollst„ndige Doku der Funktionen erscheinen.) Dieses Programm untersttzt nachladbare Ger„tetreiber unter allen TOS-Version sowie unter Mag!X ab V2.00. Mit Mag!X vor 2.00 sollte es auch laufen. Nachladbare Treiber bedeutet: DRVIN muž vor diesen im AUTO-Ordner liegen! DRVIN besteht aus drei wesentlichen Teilen: dem Anlegen des RSVF-Cookies, der neuen Bconmap- und MAPTAB-Verwaltung fr BIOS und XBIOS sowie den Basisroutinen fr die Installation einfacher Mag!X-kompatibler Ger„tetreiber. Wenn man DRVIN und alle diese Treiber vor MiNT im \AUTO\ zu liegen hat, sollte es ebenfalls _eingeschr„nkt_ funktionieren, denn s„mtliche GEMDOS-Funktionen der Treiber werden von MiNT abgeh„ngt. Copyright --------- DRVIN darf unter folgenden Voraussetzungen frei kopiert werden: - Diese Anleitung wird unver„ndert mit kopiert. - Die Kopien sind kostenlos, oder auf dem blichen Preisniveau einer PD-Disk. - Das Beilegen zu PD- und Sharewareprodukten ist generell gestattet. - Zu kommerziellen Produkten darf DRVIN ebenfalls beigelegt werden, der Vertreiber muž mich aber darber informieren (Email gengt). - Ich bitte darum, DRVIN nur in Ausnahmef„llen ohne Treiber zu kopieren, denn der Erstnutzer kann ohne Treiber hiermit fast nichts anfangen. šbersetzungen dieser Texte in andere Sprachen sind ausdrcklich erwnscht. Ich bin an einer Fehlerfreiheit dieser Software interessiert. Deshalb habe ich DRVIN grndlich getestet. Sollten Fehler auftreten, bitte m”glichst genaue Beschreibung an meine Email- oder Postadresse schicken. Ich kann nur Fehler beseitigen, die ich anhand der Beschreibung entweder reproduzieren kann oder bereits finde. Ich hafte aber in keiner Weise fr irgendwelche Auswirkungen, gleich welcher Art, die der Einsatz oder Nichteinsatz von DRVIN oder dieser Anleitung hat. Meine Adressen: Mausnetz: Harun Scheutzow @B Internet: Harun_Scheutzow@B.maus.de Postanschrift: Harun Scheutzow Dresdener Straže 83 D-10179 Berlin, Deutschland RSVF-Cookie ----------- Es wird ein RSVF-Cookie angelegt, dessen Wert auf zwei 0-LONGs zeigt, also auf ein Ende-Objekt. So brauchen Ger„tetreiber keinen Cookie mehr anzulegen, sondern sich nur noch in die RSVF-Listen einzuh„ngen. Zur Beschreibung des RSVF-Cookies siehe das Textfile RSVF_COO.TXT. MAPTAB-Verwaltung ----------------- Dieser Programmteil h„ngt im BIOS- und XBIOS-Trap und bearbeitet die XBIOS-Funktionen Bconmap, Rsconf und Iorec(fr AUX). Es werden die BIOS-Funktionen Bconstat, Bconin, Bcostat und Bconout fr Ger„t AUX sowie alle Ger„te ab einschliežlich 6 aufw„rts bearbeitet. Bconmap und eine MAPTAB werden unter jeder TOS-Version angelegt. Die Routinen des aktuell per Bconmap eingestellten Ger„tes werden zus„tzlich in die xco*-Vektoren (aužer bei TOS1.00) kopiert, dort aber nicht benutzt. Zus„tzlich werden zwei neue Bconmap-Unterfunktionen mit den Opcodes -300 und -301 zum šberschreiben eines MAPTAB-Eintrages und zum Anh„ngen an die MAPTAB bereitgestellt. Die L„nge der MAPTAB ist also nicht mehr fest begrenzt, ### momentan liegt die Maximall„nge bei 10 Eintr„gen, ist aber nur eine konstante Variable in der Assemblerquelle und jederzeit erweiterbar. GEMDOS-Teil ----------- Der sieht von aužen aus wie die bisherigen HSMODEM1-Versionen und von innen wie eine (### momentan noch) stark abgerstete Mag!X-Beta. Es werden Fopen, Fread, Fwrite, Fclose, Fcntl an den Treiber weitergeleitet, aber alles mit fileptr == NULL. Aktionen -------- Wird DRVIN auf einem TOS > 2.00 oder auf Mag!X >= 2.00 losgelassen, dann kopiert es sich erstmal die alten Routinen aus den alten MAPTABs, so daž eine Funktion der (X)BIOS-Aufrufe erstmal mit den alten TOS-Routinen gegeben ist (schnarchlangsam). Bei TOS1.00 sieht es ganz bel aus, man muž den MFP-Treiber nachladen, sonst geht SerialI/O nicht mehr (nur Zeiger auf IOREC wird bertragen). Bei 1.00 < TOS < 2.00 geht es etwas, da nur Rsconf nicht bertragen wird, aber deshalb muž man trotzdem den MFP-Treiber nachladen. Mag!X- (und DRVIN-) freundliche Bco*-Routinen --------------------------------------------- ver„nderbare Register A0-A2/D0-D2 (auch bei Rsconf) Bconout muž mit dem Befehl move.b 7(sp),d0 oder auch: move.w 6(sp),d0 beginnen und wird meist hinter diesem (Startadr+4) mit Parameter in d0.b aufgerufen Neue XBIOS-Bconmap-Funktionen (300, 301) ---------------------------------------- nur zum Einh„ngen/Dazuh„ngen der Mag!X-freundlichen Funktionen In der MAPTAB ist Platz fr mehr als 4 Ger„te. Entweder Mag!X kann diesen Platz dynamisch schaffen oder es gibt in MAG!X.INF einen Parameter, mit dem sich die Maximalanzahl einstellen l„át. (### aktuell fest auf 10 begrenzt####) Die XBIOS-Funktion Bconmap wird etwas erweitert: Bconmap(-300, (WORD) dev_nr, (LONG) ptr_to_6_longs) dev_nr ist eine Ger„tenummer ab 6 aufw„rts, die in der MAPTAB bereits existieren muá (andernfalls wird ein Fehlercode -15 EUNDEV zurckgegeben). ptr_to_6_longs zeigt auf eine Struktur, die einem MAPTAB-Eintrag entspricht. Diese Struktur wird auf den entsprechenden Platz in der MAPTAB kopiert und in D0 eine ok-Meldung (0) geliefert. Diese Funktion dient nur zum Einh„ngen Mag!X-freundlicher Routinen und muá, falls das angesprochende Ger„t auch das aktuelle ist, die Vektoren ebenfalls nach xco* und in die aktuellen rsconf und iorec-Zellen kopieren. Als Erfolgsmeldung wird die Ger„tenummer zurckgegeben, auf die der Eintrag erfolgte, also dev_nr ist Rckgabewert. Bconmap(-301, (LONG) ptr_to_6_longs) „hnlich -300, fgt aber einen Kanal an die MAPTAB an. Rckmeldung ist entweder die gew„hlte Kanalnummer fr den Eintrag, oder der Fehlercode -12 EGENRL, falls kein Platz fr eine MAPTAB-Vergr”áerung mehr ist. Logischerweise kann es hier nicht vorkommen, das die Vektoren sofort nach xco* bertragen werden mssen. Sind diese Erweiterungen nicht vorhanden, bekommt man beim Funktionsaufruf automatisch eine 0 als Fehlermeldung zurck. Versionen --------- Die Version ist anhand des Datums in der Startmeldung oder anhand des Filedatums zu erkennen. Im Zweifelsfall hat die Startmeldung recht. Das Datum ist entweder deutsch notiert (Tag.Monat.Jahr), oder als Jahr-Monat-Tag. Die Unterscheidung drfte anhand der immer vierstelligen Jahreszahl eindeutig sein. Neue Versionen werden zuerst in der Mausbox Berlin, Telefon +49-30-6246510, zu finden sein (also 030-6246510 innerhalb Deutschlands, Gastdownload in den Zeiten 10.00-18.59 und 23.00-03.59). 1993-11-23 im GEMDOS-Trap nun nur noch A0/D0 modifiziert, fr solche Mllprogramme wie STZIP u.„. Modula-2 Auswchse Fopen und Fclose werden an Devices weitergereicht Harun Scheutzow, 21.11.1993