home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
M.u.C.S. Disc 2000
/
MUCS2000.iso
/
anwend
/
bigdos
/
bigdos.txt
< prev
next >
Wrap
Text File
|
1997-01-05
|
17KB
|
349 lines
Big-DOS
Rechtliches
-----------
Copyright ╜ 1995 by Rainer Seitel
Big-DOS ist Freeware, d. h. das Programm darf ohne Zahlung von Lizenzgebühren
benutzt werden. Die Weitergabe dieser Dateien ist nur komplett und unverändert
erlaubt; dabei ist möglichst das Original-LZH-Archiv weiterzugeben. Das
Hinzufügen von Werbung jeglicher Art ist verboten! Das Programm darf generell
nur kostenlos weitergegeben werden. Der Upload in gebührenfreie Mailboxen und
FTP-Server ist erlaubt. Die Verbreitung auf PD-Serien und CD-ROM ist nur mit
meiner Erlaubnis und in der jeweils neuesten Version erlaubt. Wird Big-DOS
einem anderen Programm beigelegt, so ist mir eine Vollversion dieses Programmes
kostenfrei zu überlassen. Von allen hier oder an anderer Stelle erteilten
Besitz-, Nutzungs- und sonstigen Rechten ausgenommen sind die Dienstnummern
75029, 26795 und ein 3. Mitarbeiter des Karlsruher Verkehrsverbundes und der
Stadtwerke Karlsruhe Verkehrsbetriebe, da sie, nachdem sie zweimal ohne
Beanstandung meinen gültigen Fahrschein kontrolliert hatten - der
Landesbeauftragten für den Datenschutz Baden-Württemberg haben die Stadtwerke
Karlsruhe Verkehrsbetriebe ausdrücklich bestätigt, da₧ ich ihren Mitarbeitern
zuvor meinen gültigen Fahrausweis gezeigt hatte -, sich nach Aufforderung durch
75029 willkürlich, rechtswidrig und mit Gewalt den Quelltext von Big-DOS unter
den Nagel zu rei₧en versuchten!
Obwohl das Dateisystem bei mir und einigen Testern problemlos läuft, kann ich
nicht dafür garantieren, da₧ Big-DOS mit allen Plattentreibern, TOS- und
Rechnerkombinationen läuft. Die Haftung für durch Big-DOS entstandene Schäden,
soweit sie nicht auf Vorsatz oder grober Fahrlässigkeit meinerseits beruhen,
übernehme ich nur bis zur an mich bezahlten Nutzungsgebühr. ;-)
Vorsicht! Nach meinen Tests funktioniert Big-DOS bei MS-DOS-Medien nur
scheinbar mit dem ICD-Treiber!
Dieses Paket enthält folgende Dateien:
ahdi6061.bdf 2221 1995-07-02 22:22:04 Binary-Diff für AHDI 6.061
bigdos.prg 26915 1997-01-05 16:16:22 Das Programm für den AUTO-Ordner
bigdos-f.prg 26976 1997-01-05 16:22:46 Das Programm für den Falcon
bigdos.txt 17262 1997-01-05 16:30:00 Dieser Text
bigdos.upl 342 1997-01-05 16:30:00 Upload-Text fürs MausNet╛
bigdos08.tic 458 1997-01-05 16:30:00 Upload-Text fürs MausNet╛
dateisys.txt 11130 1996-08-09 20:34:50
dosmode.tos 8550 1996-12-22 22:00:00 Erlaubte Zeichen einstellen
english.txt 11720 1997-01-05 16:30:00 Dieser Text auf englisch
xhditest.c 10415 1996-12-22 22:00:00
xhditest.prj 307 1996-12-22 22:00:00
xhditest.ttp 8475 1996-12-22 22:00:00 Plattentreiber und BPB testen
Features
--------
Big-DOS ist ein Dateisystem nach DIN EN 29293 = ISO 9293:1987. Es ersetzt das
GEMDOS des TOS (nicht KAOS und nicht ASH-MagiC!).
∙ GEMDOS- / ISO-9293:1987- / MS-DOS-Dateisystem
∙ 32 Laufwerke: A..Z1..6 oder A..Z[\]^_`
∙ Bis 65518 Cluster.
∙ 1 bis 64 Sektoren pro Cluster.
∙ Mehr als 65535 Sektoren und damit beliebige MS-DOS-Partitionen möglich. Also
auch solche mit mehr als 32 MByte.
∙ 1 oder 2 FAT.
∙ Die erlaubten Zeichen werden - für jedes Laufwerk getrennt einstellbar -
für GEMDOS, d-Zeichen nach ISO 9293 bzw. ISO 9660 oder MS-DOS beschränkt.
Damit wei₧ man schon vorher, ob MS-DOS oder ein beschränktes
CD-Brenner-Programm alles lesen kann. Mit setter.ttp aus dem HSModem-Paket
oder dem setter.prg von Markus Kohm kann dies in Big-DOS gespeichert werden.
∙ Bei MS-DOS-Bootsektoren wird der Diskname auch dort hineingeschrieben.
∙ Läuft mit und ohne MiNT.
∙ Wenn möglich, wird beim Öffnen von Dateien über XHDI der Auswurf von
Wechselmedien gesperrt. (HDDRIVER, hdpSTACK, HuSHI)
∙ Für TOS 1.04 und 1.06 wird kein POOLFIX3.PRG, PFIX_CB.PRG oder POOLFX92.PRG
benötigt.
∙ Für TOS 4 wird F030HFIX.PRG nicht benötigt.
∙ 94 Standard-Handles für Dateien statt 75. Mit WINX und ohne MiNT lassen sich
in CAT bis zu 31 Gruppen öffnen.
∙ Cookies »DATE« und »TIME« wie bei DTCOOKIE und LED-Panel.
∙ Die Namen der geladenen Accessories werden ausgegeben.
∙ Alle GEMDOS-Funktionen des TOS einschlie₧lich Srealloc().
Srealloc() schreibt z. Z. Informationen auf den Bildschirm.
∙ Für Uralt-Programme, wie sie bei »Alcyon C« dabei sind, wird Cconws() von
CP/M-68K nach GEMDOS konvertiert.
∙ Programmabbruch mit Control-C ergibt wie bei KAOS und ASH-MagiC EBREAK (-68)
statt EINVFN (-32).
∙ Mxalloc() ignoriert die Speicherschutz-Bits.
∙ Für Maddalt() ist Speicher unterhalb 16$ 40 0000 ST-RAM.
∙ Sync() schreibt alle Puffer.
∙ Eigene Dcntl() wie in dateisys.txt und FUTIME und KER_DOSLIMITS. Mit
Dcntl(FUTIME, ...) lä₧t sich (z. B. von Backup-Programmen) auch das Datum von
Verzeichnissen ändern.
∙ Mit Fattrib() lä₧t sich bei Disknamen ein von MS-DOS fälschlich gesetztes
Archiv-Bit löschen und bei Verzeichnissen das Versteckt- oder System-Bit
ändern. Versteckte Ordner werden z. B. vom DESKTOP, Gemini oder Selectric nur
dann gezeigt, wenn versteckte Dateien gewünscht werden.
∙ Dlock() ergibt momentan bei offenen Dateien EACCDN (-36), sonst EINVFN (-32).
∙ Dpathconf()
∙ Sysconf()
∙ Fxattr() liefert als »Inode« den Startcluster oder bei leeren Dateien den
Startcluster des Verzeichnisses + Byte-Position im Verzeichnis * 2^11.
∙ Gro₧-/Kleinschreibung der Namen kann für beliebige Laufwerke beibehalten
werden. (--> Setter oder dosmode.tos) Das eignet sich gut zum Testen eigener
Programme. Dpathconf(..., DP_TRUNC) kann so konfiguriert werden, da₧ es
DP_AUTOTRUNC statt DP_DOSTRUNC zurückgibt. Das ist für Gemini sinnvoll.
Da MiNT Dpathconf() selber übernimmt, funktioniert dies nicht mit MiNT.
Installation
------------
BIGDOS.PRG (für den Falcon z. Z. BIGDOS-F.PRG) kommt möglichst als erstes
Programm nach dem Boot-Selektor in den AUTO-Ordner. Auf jeden Fall vor alle
Programme, die im GEMDOS-Trap hängen und kein XBRA benutzen. BIGDOS.PRG
installiert sich selber am Ende der XBRA-Kette. (Das klappt mindestens mit
MetaDOS┐, CHK_OFLS, NVDI, Overscan, AES-Font und HSModem.) Overscan mu₧ nach
NVDI und vor Big-DOS stehen! LED-Panel mu₧ nach Big-DOS gestartet werden, damit
die Zeit richtig angezeigt wird. Nach einem Reset sollte alles normal
funktionieren.
Für MS-DOS-Partitionen grö₧er als 32 MByte wird au₧erdem ein Plattentreiber
benötigt, der gro₧e MS-DOS-Partitionen (Typ 6) erkennt und über Rwabs() mehr
als 65535 Sektoren ansprechen kann. Dafür kommen nur Treiber in Frage, die
mindestens XHDI 1.20 unterstützen, da über XHDOSLimits() die
GEMDOS-Beschränkungen hochgesetzt werden. Diese Funktion lä₧t sich mit
XHDItest.ttp testen.
Für Ataris AHDI 6.061 liegt ein Binary Diff bei. (Benötigt »Binary Patch« von
Robert Federle. Zu finden als »bptch1??.*« oder »bdiff???.*«.) Dazu sollten
sich AHDI.PRG und BINPATCH.TTP im Big-DOS-Verzeichnis befinden und BINPATCH.TTP
wird mit dem Parameter »ahdi6061.bdf« gestartet. Wer nicht mit AHDI bootet,
kann zum Testen einfach das dabei entstandene AHDIBIGD.PRG in den AUTO-Ordner
kopieren. Wer mit AHDI bootet, mu₧ auf der Boot-Partition SHDRIVER.SYS
umbenennen und dann AHDIBIGD.PRG dorthin kopieren und in SHDRIVER.SYS
umbenennen. Wenn Big-DOS entfernt wird, mu₧ auch der gepatchte AHDI entfernt
werden, damit TOS keine zu gro₧en Partitionen angeboten werden! AHDI
funktioniert nicht mit Platten mit 2^21 oder mehr Sektoren!
Treiber, die ich getestet habe und Version ab der sie gut zusammenarbeiten:
∙ AHDI 6.061 mit dem Patch von mir, »AHDI6061.ZIP«
Prüft keine DOS-Grenzen, sperrt nicht den Auswurf von Wechselmedien.
∙ HDDRIVER 4.51, aktuell 6.10, suchen nach Demo-Version »HDDRIV*.ZIP«
Prüft DOS-Grenzen, sperrt Auswurf von Wechselmedien.
HDDRUTIL 6.00 kann beliebig gro₧e MS-DOS-Medien partitionieren.
∙ CBHD 4.50, aktuell 5.02, suchen nach »CBHD???.TOS«
Prüft DOS-Grenzen, sperrt nicht den Auswurf von Wechselmedien.
hdpSTACK 2 soll laut ST-Computer 7/1996 Big-DOS unterstützen.
Was tun, wenn's nicht geht
--------------------------
Big-DOS läuft nicht, der Rechner stürzt ab, usw.:
∙ Alle AUTO-Ordner-Programme und Accessories deaktivieren.
Wenn's dann läuft: Mir schreiben, welches Programm den Absturz verursacht.
Wenn's nicht läuft: Rechner? RAM? TOS-Version? Plattentreiber?
Dessen Version? Big-DOS-Version?
Big-DOS läuft, greift aber nicht auf die Platte zu:
∙ Wird die Platte vom Treiber erkannt (ID und Name angezeigt)?
Wenn nicht: Da kann ich nichts machen. Hardware testen. (Terminierung,
Parity, nur mit SCSI-Bus ...)
∙ Bekommt die Platte eine Laufwerkskennung (bzw. mit Laufwerke anmelden
auf dem Desktop ein Icon)?
Wenn nicht: Keine Atari- oder MS-DOS-Partition.
Zu viele Sektoren für ACSI-Bus. (1 GByte ohne ICD-Unterstützung)
Problem des Plattentreibers.
∙ Ist ein Medium im Laufwerk?
Wenn nicht: Tja.
∙ Wenn sich jetzt das Icon nicht öffnen lä₧t:
Big-DOS testet die Partitionierungsdaten, die der Plattentreiber liefert.
Eventuell gibt es eine Kombination, die funktionieren würde, aber bisher
ignoriert wird. Mir die mit XHDItest.ttp erstellte Protokolldatei schicken.
Sonstiges
---------
Mit DOSMODE.TOS lassen sich für jedes Laufwerk die erlaubten Zeichen einstellen:
GEMDOS: A..Z0..9!#$%&'()-@^_`{}~"+,;<=>[]| und gro₧e Umlaute
ISO: A..Z0..9_
MS-DOS: A..Z0..9!#$%&'()-@^_`{}~ und gro₧e Umlaute
Mit setter.ttp aus dem HSModem-Paket oder der GEM-Version des Setter von
Markus Kohm kann dies dauerhaft in Big-DOS gespeichert werden.
Mit XHDItest.ttp lä₧t sich für alle oder das übergebene DOS-Laufwerk die
Partitionierung, unbrauchbare Werte im BPB, Name und XHDI-Version des Treibers
und die Funktion von XHDI-DOS-Limits anzeigen:
:-( Funktion nicht vorhanden
:-/ Funktion vorhanden, aber Grenzen lassen sich nicht ändern
:-) Funktion vorhanden und Grenzen lassen sich ändern
Mit »>« als letztem Argument kann die Ausgabe in xhditest.log, mit »>Datei« in
eine beliebige Datei umgeleitet werden. Bei HDDRIVER auf eine Diskette
speichern! Bei Problemen mit Platten diese Datei mitschicken.
Als Diskmonitor für MS-DOS-Partitionen mit mehr als 65535 Sektoren empfehle ich
den SED 5.66 von Claus Brod und Anton Stepper. Mit den Patches von mir
(sed_566diff.zip) ist er der einzige mir bekannte Diskmonitor, der das kann.
Diskus 3.4x kommt überwiegend mit gro₧en MS-DOS-Partitionen zurecht. Probleme
bereiten hauptsächlich falsche Fehlermeldungen.
Bekannte Probleme
-----------------
∙ Big-DOS, NVDI und der Treiber für Screenblaster funktionieren nicht zusammen.
Eines der Programme weglassen.
∙ Die normale Version von Big-DOS 7 funktioniert nicht auf dem Falcon. Dafür
liegt bigdos-f.prg bei. Hier mu₧ Big-DOS weiterhin das erste Programm sein,
welches sich im GEMDOS-Trap installiert!
Bekannte Probleme anderer Programme
-----------------------------------
∙ Getbpb() des TOS wertet im Bootsektor von Disketten das Feld mit den
reservierten Sektoren nicht aus, sondern addiert dafür 1. Nur damit niemand
meint, bei Big-DOS fehle ein ISO-9293-Feature. ;-)
∙ Nach meinen Tests funktioniert Big-DOS bei MS-DOS-Medien nur scheinbar mit
dem ICD-Treiber!
∙ CHK_OFLS bis 1.02 stürzt beim Start ab.
∙ Ddelete() ergibt beim aktuellen Verzeichnis ECWD (-47). Die Mupfel 1A
ignoriert dies und ohne Big-DOS bleibt sogar das gelöschte Verzeichnis das
aktuelle. Nur NEWDESK von TOS 2.05 bis TOS 4.04 kann seine aktuellen
Verzeichnisse löschen. Grrr!
∙ Fattrib(, , attrib) ist ein 16-Bit-Parameter! Sind undefinierte Bits gesetzt,
gibt's gnadenlos EACCDN (-36).
∙ Programme, die mit Fcreate() Dateien oder mit Dcreate() Verzeichnisse mit
z. B. »/« im Namen anlegen wollen, und die Fehlermeldung EBADRQ (-5)
ignorieren, stürzen unter Big-DOS wahrscheinlich ab. Selber schuld!
∙ Programme, die die Speicherverwaltung über undokumentierte Adressen direkt
manipulieren, machen bestimmt Probleme. (Bei mir läuft Big-DOS als Patch für
TOS 1.04, dann funktionieren auch solche Programme.) Wer dies unbedingt
benötigt, kann bei mir fragen.
∙ Mindestens mit einer alten Version von TSFM.CPX können ohne Warnung
Disketten mit zu kurzer FAT formatiert werden. Diese werden von Big-DOS
ignoriert.
∙ Bei HDDRIVER bis 4.50 werden Änderungen der DOS-Limits erst wirksam, wenn der
Treiber einen Medienwechsel erkannt hat. Meine Empfehlung:
MS-DOS-Wechselmedien erst einlegen, wenn der Desktop aktiv ist oder auf 4.51
updaten, damit stimmt beim Partitionieren auch das Mediabyte.
∙ Bei CBHD 4.53 ist XHDI funktionslos.
∙ CBHD bis 4.57 kann nach einlegen eines neuen Mediums dieses nicht mehr über
XHDI ansprechen. Deshalb klappt die Entnahmesperre nicht.
Au₧erdem gibt es diverse Formatierprogramme und Platten-Utilities, die das
Dateisystem nicht richtig initialisieren. Wenn so ein Laufwerk das erste Mal
angesprochen wird und nach jedem Medienwechsel gibt es Fehlermeldungen. Tretet
dann die verantwortlichen Programmierer. ;-) (Dieser Test lä₧t sich mit dem
oben erwähnten Setter inzwischen abstellen.)
Big-DOS: FAT-Anfang von ?: mu₧ $F?, $FF, $FF [$FF] sein! Schreiben? [JN]
Big-DOS: FAT start of ?: shall be $F?, $FF, $FF [$FF]! Write? [YN]
Big-DOS: Media-Byte im Bootsektor von ?: ist $??, mu₧ $F? sein! Schreiben? [JN]
Big-DOS: Media byte in boot sector of ?: is $??, shall be $F?! Write? [YN]
Danksagung
----------
Ein besonderer Dank geht an Martin Dürrschnabel und Norbert Fettig, die
entscheidend zum Beginn dieses Programmes beigetragen haben.
Neue Versionen
--------------
Updates per Post gibt es nur gegen zusenden
∙ einer Diskette ISO Typ 301 oder 302 (90 mm, DD oder HD) mit ausreichend
frankiertem und adressiertem Rückumschlag oder
∙ 5 DM für eine Diskette ISO Typ 302 und das Rückporto oder
∙ aus dem Ausland für das Rückporto 2 internationale Antwortscheine (en: reply
coupon, fr: coupon-réponse international) und für eine Diskette ISO Typ 302
zusätzlich 1 internationalen Antwortschein beilegen.
Postanschrift:
Rainer Seitel
Zaystra₧e 13
D-76437 Rastatt
E-Mail:
MausNet: Rainer Seitel @ KA
Internet: Rainer_Seitel@ka.maus.de (bevorzugt, keine Mail > 16 KByte pro Tag!)
Rainer.Seitel@stud.uni-karlsruhe.de
Bezugsadressen:
MAUS Karlsruhe, +49 721 358887, 2400-28800 bps, 08:00/03:00.
http://www.uni-karlsruhe.de/~Rainer.Seitel/bigdos.html
http://wwwrzstud.rz.uni-karlsruhe.de/~ujo7/bigdos.html (für Links diese nehmen)
Aktuelle Version von CBHD in der MAUS SZ, +49 5341 852024, analog und ISDN X.75.
Neuerungen
----------
In Big-DOS 2 vom 1995-10-10:
∙ Probleme mit TT und Falcon beseitigt.
In Big-DOS 3 vom 1995-10-22:
∙ Partitionen mit BPB.numcl == 0 werden ignoriert.
∙ Kein Absturz, wenn HDDRIVER vor Big-DOS gestartet wird.
∙ XHDItest.ttp mit deutschem Text wenn _AKP = $??????01??, sonst englisch.
In Big-DOS 4 vom 1995-11-09:
∙ Mshrink() mit Alternate-RAM funktioniert.
In Big-DOS 5 vom 1995-12-03:
∙ Geschützte Minix-Partitionen oder Disketten werden ignoriert.
∙ Laufwerksabfrage in Dpathconf() korrigiert. Mupfel ls ohne Pfad geht wieder.
∙ Fxattr() korrigiert.
∙ XHDItest.ttp kann in eine Datei umleiten und benutzt zusätzlich Getbpb().
∙ XHDOSLimits() nur beim Start statt bei jedem Getbpb().
In Big-DOS 6 vom 1996-01-14:
∙ NUM_FILEHANDLE -= 28, da MetaDOS┐ Handles ab 100 vergibt.
∙ Erlaubte Zeichen für jedes Laufwerk mit Setter einstellbar.
∙ Fxattr("Ordner\") ist das gleiche wie Fxattr("Ordner").
∙ Peinlichen Fehler beseitigt, der bei Sektoren ab 2048 Byte auftreten konnte.
∙ Einige Diskettenformate wurden durch den FAT-Grö₧entest ignoriert.
∙ XHDItest.ttp gibt an, warum Big-DOS ein Laufwerk trotz BPB ignoriert.
In Big-DOS 7 vom 1996-09-25, Falcon-Version vom 1996-12-22:
∙ Sektorgrö₧e bei MS-DOS-Medien mu₧ nicht mehr 512 Bytes betragen.
∙ Wird erst nach Big-DOS ein Plattentreiber mit XHDI gestartet, so werden
einmal die DOS-Grenzen eingestellt.
∙ Vor jedem Gebrauch von XHDI wird der XHDI-Cookie neu gesucht.
∙ Entnahmesperre bei Wechselmedien wird wieder korrekt aufgehoben.
∙ Vom spanischen TOS 1.00 wird Pool-Erweiterung richtig übernomen.
∙ Big-DOS installiert sich am Ende der XBRA-Kette. (Overscan, s. Installation.)
∙ Statt einem OSHEADER mit Zeigern auf mifl und act_pd von Big-DOS werden die
Variablen des ROM-GEMDOS benutzt.
∙ Nach einem Medienwechsel klappt das interne Wiederholen des Zugriffs wieder.
∙ Gro₧-/Kleinschreibung der Namen kann beibehalten werden.
∙ Fxattr() liefert für Wurzelverzeichnisse von DOS-Medien die Erstellungszeit.
∙ Fclose() stürzt mit XHDI-Treibern nach Fdup() nicht mehr ab.
∙ XHDItest.ttp ignoriert nicht vorhandenes Laufwerk B:.
In Big-DOS 8 vom 1997-01-05:
∙ Setter-Konfigurationsblock war in Version 7 defekt.
Geplant:
∙ XHDItest.ttp klammert XHDOSLimits() mit Dlock(). Sind Dateien offen, dann
werden die DOS-Grenzen nicht verstellt.