home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of A1200
/
World_Of_A1200.iso
/
programs
/
disk
/
misc
/
pfs
/
tools
/
diskspare2.2
/
dok
< prev
next >
Wrap
Text File
|
1995-02-27
|
17KB
|
407 lines
DiskSpareDevice 2.2
written and (c) 1992-1994
by Klaus Deppisch
All rights reserved
Was ist diskspare.device:
Es ist eine Ergänzung bzw. Ersatz für das trackdisk.device,
mit dem es möglich ist Disketten mit 960K oder 984K (DD) zu
formatieren. Wenn Sie ein (trackdisk kompatibles) HD-Laufwerk
haben, können Sie HD-Disketten mit 1920K oder 1968K formatieren.
Was macht das Device:
Das Device verwendet einen etwas anderen Trackaufbau als das
'trackdisk.device'. Es werden keine (unbenutzten) SektorHeader
angelegt und ein paar Byte mehr geschrieben.
-> Es können 12 Sektoren pro Track gelesen und geschrieben werden.
ALLE Laufwerke, die ich getestet habe könn(t)en 12.4 Sektoren
schreiben aber leider keine 25 Sektoren im HD-Modus. Folglich
dürfte es nur mit SEHR exotischen Laufwerken Probleme geben.
Wenn Sie das Device einbinden, können Sie das entsprechende
Laufwerk wie jedes andere auch formatieren, kopieren, Dateien
kopieren und löschen und was Sie sonst noch mit Ihren normalen
Disketten machen.
AB 2.0:
Der HD-Modus des Devices ist kompatibel mit dem Format meines
'highdensity.device', das von mir nicht mehr weiterentwickelt
wird. Bitte nicht mehr verwenden!
AB 2.1:
Das Device funktioniert nun auch mit dem ProfFilesystem von
Michiel Pelt. BITTE nicht mit der Version 2.0 des Devices
verwenden (der Motor bleibt immer an, und es kann zu Read/Write-
Errors kommen). Im DD- und HD-Verzeichnis sind jeweils Mountfiles
(für WB 2.1/3.0) PS0 und PS1. (Die Namen (PSx) sind von Brett Simcock)
Außerdem wurden einige Fehler beseitigt.
Was benötigen Sie:
- Kickstart 2.0 oder höher das Device unter 1.3 zum Laufen
zu bringen wäre nur mit direkter
Hardwareprogrammierung möglich !
- das diskspare.device hier ist die Version 2.1
- die Mountlist(Files) sowohl für Workbench 2.0 als auch
für Workbench 2.1 und höher vorhanden
- ein Disketten Laufwerk Sie sollten eigentlich eins haben
Was ist zu tun:
- lesen Sie dieses Doc-File (1. BEVOR Sie irgendwas mit dem
Device oder Ihren Disketten anstellen. 2. Den GANZEN Text)
- zur Installation verwenden Sie am besten das Script (Deutsch).
Das Script setzt allerdings eine komplette Workbench voraus.
Wenn Sie keine Festplatte haben und mit einer abgespeckten
Workbench Diskette arbeiten, sollten Sie es besser von Hand
installieren.
Wenn Sie von Hand installieren möchten:
- kopieren Sie das File 'diskspare.device' in Ihren DEVS: Ordner.
- fügen Sie das File 'Mountlist' (im DD bzw. HD Ordner) in Ihre
Mountlist (im Devs: Ordner) mit einem Editor oder mit 'Join'
(CLI Kommando) ein (nur WB 2.0).
WICHTIG: Kopieren Sie * KEINESFALLS * die mitgelieferte Mountlist
einfach in Ihren Devs: Ordner, weil Sie damit Ihre eigene
Mountlist überschreiben würden !!!
- fügen Sie in Ihre 'User-Startup' folgende Zeilen ein:
'mount DSX:' (X = 0-3) und
'addbuffers DSX: >NIL:' (wird auch nur für WB 2.0 benötigt)
- ab WB 2.1 brauchen Sie nur das entsprechende File aus dem DD
bzw. HD Ordner in Ihren Devs:DosDrivers Ordner zu kopieren.
- wenn Sie kein HD-Laufwerk haben, bringt Ihnen die Verwendung
der HD-Mountlist(Files) außer einem erhöhten Speicherverbrauch
des Devices NICHTS.
- beim nächsten Reset wird jetzt das Device automatisch geladen.
Die Zeile 'addbuffers DSX: >NIL:' ist nötig um das Device wirklich
einzubinden. Bei WB 2.0 ist es besser mit addbuffers zu arbeiten
als mit Mount=1 (in der Mountlist), weil Sie so keinen 'No Disk
in Drive' Requester beim Mounten bekommen. Ab WB 2.1 können Sie
Mount=1 verwenden.
ACHTUNG:
Wenn Sie weder die addbuffers-Zeile noch Mount=1 verwenden, wird
das Device erst beim ersten Ansprechen korrekt eingebunden. Das
kann dazu führen das einige Programme abstürzen. Liegt nicht am
Device sondern an der Workbench!
Um das Device 'schnell mal' zu testen, klicken Sie einfach auf das
QuickTest Icon. Aber: Sie bekommen kein Disk Icon für unformatierte
Disketten wenn Sie nach LoadWB mounten (also auch mit dem QuickTest
nicht). Sie müßen also die erste Formatierung der Disk mit der Shell
ausführen. (format drive DS0: name Test)
Beispiele:
1. Sie haben zwei Laufwerke und wollen 'DF1' als 'DS1' verwenden:
Sie haben das Device in Ihren Devs: Ordner kopiert und die
Mountlist eingefügt (NICHT EINFACH KOPIEREN !!!) bzw. die
Mountfiles (ab WB 2.1) in Ihren Devs:DosDrivers Ordner kopiert.
Oder Sie haben das Installationsscript verwendet.
Test:
Um zu testen ob alles geklappt hat (oder nicht), können Sie
jetzt Ihren Amiga reseten oder ein Shell Fenster öffnen und
'mount DS1: <Return> eingeben. Als nächstes 'dir DS1: <Return>'.
Jetzt sollten Sie einen Requester sehen: 'No Disk present in
device DS1:', klicken Sie auf 'Cancel'. Sodann sollten Sie
'format drive DS1: name Test noicons' eingeben. Wenn Sie jetzt
eine LEERE Diskette einlegen, müßen Sie einen kleinen Moment
warten, da erst das 'trackdisk.device' auf die Diskette zu-
greift, bevor Sie 'Return' drücken. (genau wie bei CrossDOS)
Nachdem Sie mit 'Return' bestätigt haben, wird die Diskette
wie jede normale Diskette formatiert. Wenn die Formatierung
beendet ist, geben Sie bitte 'Info DS1: <Return>' ein. Sie
sollten jetzt eine Zeile wie diese sehen:
'DS1: 983K 1966 2 0% 0 Read/Write Test'
Wenn dem so ist, können Sie sich freuen, weil alles geklappt
hat und Sie ab jetzt die 100K die Sie schon immer bei Ihren
Disketten mitbezahlt haben jetzt auch nutzen können.
2. Sie sind stolzer Besitzer eines Amiga 4000 und möchten Ihr
internes Laufwerk als DS0: mit 1968K Kapazität verwenden.
Verwenden Sie bitte das Installationsscript (Deutsch) und
beantworten Sie die Frage nach einem HD Laufwerk mit ja (y).
Für weiteren Test siehe oben ab Test: (DS0 statt DS1 und die
doppelte Kapazität).
Probleme ?
- Falls Sie beim Einbinden des Devices Schwierigkeiten
haben, verwenden Sie bitte das Installationsscript.
- Format liefert eine Fehlermeldung: 'no disk inserted'
-> Sie müssen kurz warten bevor Sie bestätigen, da der
Diskwechsel erst erkannt wird wenn das trackdisk.device
auf die Diskette zugegriffen hat.
- Format liefert eine Fehlermeldung: 'format failed try
another disk' -> Wenn Sie sich nicht sicher sind, das
die Diskette in Ordnung ist, probieren Sie eine andere.
- Format liefert immer 'Cyl xx defekt' -> Es sieht so aus,
als hätten Sie tatsächlich ein Laufwerk, welches nicht
in der Lage ist, die erhöhte Tracklänge zu verarbeiten.
(Bis jetzt hat sich niemand deswegen bei mir gemeldet!)
Zur Beachtung:
- Wenn Sie sich mit Mountlists, User-Startups und ähnlichem
Zeug nicht auskennen, verwenden Sie bitte das mitgelieferte
Script (Deutsch) oder fragen Sie einen Bekannten, der sich
damit auskennt. Mounten Sie NICHT in der startup-sequence,
sondern in der dafür vorgesehenen User-Startup.
- Wenn Sie das Device nach 'LoadWB' mounten, erscheint auf
der Workbench kein Icon für unformatierte Disketten. Das
ist kein Fehler im Device, sondern eine Eigenheit der
Workbench (bei z.B. RAD: genauso).
- Wenn Sie das Device mit der Voreinstellung 984K/1968K pro
Disk verwenden, beachten Sie bitte, das das nur durch einen
Patch des trackdisk.device möglich ist. Normalerweise kann
es nur bis Zylinder 79 lesen/schreiben. Ich habe versucht
den Patch so sicher wie möglich zu machen, aber es besteht
die Möglichkeit, das er mit zukünftigen Kickstartversionen
nicht mehr funktioniert. Kann abgeschaltet werden (s.u.).
- Die automatische Umschaltung zwischen DD und HD Betrieb ist
leider auch nur durch einen Patch (des FFS) möglich. Dieser
zweite Pfusch, will sagen Patch ist notwendig, da das FFS
NUR beim trackdisk.device nach einem Diskwechsel die neue
Diskettenkapazität vom Device erfragt. Für diesen Patch
gilt das gleiche wie für den obigen. (Beide funktionieren
sowohl mit KS2.0 als auch mit KS3.0 einwandfrei!)
[ Falls Sie ein anderes Filesystem als das FastFileSystem
verwenden und dieses beim Einbinden auch 'Remove' aufruft
können Sie einen Systemabsturz life miterleben !]
- Es könnte möglich sein, daß es Laufwerke gibt, die nicht in
der Lage sind bis Zylinder 81 zu lesen/schreiben. Bis jetzt
habe ich allerdings keines gefunden.
- Es ist (wenigstens im Moment) NICHT möglich zwei Devices auf
ein Laufwerk zu mounten. (z.B. DS10: mit 960K auf Unit1 und
DS11: mit 984K auf Unit1) Diese Einschränkung gilt nur für
das FastFileSystem. Wenn Sie ein anderes Filesystem verwenden,
das NICHT 'Remove' aufruft (z.B. ProfFileSystem), können Sie
auch mehr Laufwerke mounten.
Bonus:
Probleme mit BootBlock-Viren können Sie mit dem diskspare.device
vergessen, da falls es einem Virus überhaupt gelingt sich auf
eine solche Diskette zu schreiben, seine Aktivitäten damit
beendet sind.
- Das Device kann nicht resident gemacht werden.
- Man kann nicht von dieser Diskette booten.
- Der Virus wird nicht ausgeführt.
! Der Install Befehl (im C: Dir) prüft auf trackdisk- und carddisk
.device. Es ist also NICHT möglich mit ihm andere Disketten zu
'install'en.
Details:
1. Sicherheit:
Ich habe das Device seit Dezember 1992 auf verschieden Amigas
(A500-A4000) getestet und nahezu meine ganzen Disketten auf
'diskspare' Format umkopiert. Ich verwende ausschließlich die
billigsten NoName Disketten und hatte bisher keine Probleme.
SÄMTLICHE Verbesserungen und Erweiterungen betraffen nur die
Deviceroutinen und nicht den Trackaufbau.
Das einzige Problem könnte das Laufwerk selbst sein. Es gibt
so viele verschiedene Typen, (Ich selbst habe 6 Laufwerke von
4 verschiedenen Herstellern), daß es möglich sein könnte, daß
das eine oder andere nicht funktioniert.
2. Geschwindigkeit:
Das diskspare.device ist ca. 5%-15% schneller als das orginale
trackdisk.device.
(68000 5%, 68020 10%, 68030 15%)
Bsp: (A2000 mit A2630/25MHz/2M)
kB sec Durchsatz
Format 984 81 -> 12.1 kB/s
880 83 -> 10.6 kB/s
4. Mountlist:
Flags:
Bit 0: (1) 0 = Der Diskchange funktioniert nur mit DSX: (X = 0-3)
Für DFX müssen Sie ihn von Hand vornehmen.
z.B. 'diskchange df0').
1 = Der Diskchange funktioniert mit DSX: UND DFX:.
(wie bei CrossDOS).
Dieses Bit wird NUR für das FastFileSystem benötigt.
Bit 1: (2) 0 = benutze nur Zyl. 0 bis 79 (wie trackdisk.device)
1 = benutze auch noch Zyl. 80 und 81
Denken Sie daran auch den Eintrack 'HighCyl' zu
ändern!
Bit 2: (4) 0 = nur DD Disketten werden unterstützt.
1 = es werden DD und HD Disks automatisch unterschieden.
(klappt NUR mit trackdisk kompatiblen Laufwerken.)
Bit 3: (8) 0 = das Device benutzt Allocmem um den Trackbuffer zu
reservieren.
1 = das Device versucht mit AllocAbs Speicher von
$600000 bis $A00000 (4M) zu reservieren. Erst
wenn das nicht klappt wird Allocmem verwendet.
Nützlich für A2630 (!!) oder A3/4000 (?) Besitzer
mit einer (langsamen) 16Bit Speicherkarte im
angegebenen Addressraum.
ALLE anderen Werte für Flags sind reserviert !!
Die Flags können für jedes Laufwerk verschieden sein!
Wenn Sie die Flags nach Ihren Bedürfnissen verändern möchten, müssen
Sie nur die Werte hinter den Bitnummern (die in den Klammern) addieren
und erhalten so den neuen Wert für die Flags. Ein Beispiel:
Sie möchten ihr HD Laufwerk ohne Diskchange (oder am besten mit PFS)
und mit 82 Zyl. verwenden. Sie addieren also 2 und 4 = 6 = der neue
Wert für die Flags.
Sie können die Werte für BlockSize, BlocksPerTrack und
Sectors/Block verändern, aber bedenken Sie, das ein File
auch wenn es nur 1 (in Worten EIN) Byte lang ist, MINDESTENS
2 Blocks belegt. Nämlich FileHeaderBlock und DataBlock.
Wenn Sie also große BlockSizes wählen, verschwenden Sie
eine Menge Platz auf der Diskette. Und das ist genau das,
was nicht im Sinne des Erfinders ist! Davon abgesehen,
bringt ein großer BlockSize, im Gegensatz zu manchen
Festplatten KEINERLEI Geschwindigkeitszuwachs. Der Disk-
DMA ist der zeitbestimmende Faktor. Das reine Einlesen
einer Disk dauert OHNE irgendeine Decodierung ca. 32 Sek.
und MIT Dekodierung ca. 34 Sekunden. #
Wenn das HD-Flag gesetzt ist, können Sie für BlocksPerTrack,
BlockSize usw. einstellen was Sie wollen, sie werden beim
ersten Diskwechsel auf die Standardwerte zurückgesetzt:
80/82 Zylinder wie über Flags eingestellt
2 Köpfe fest
12/24 Sektoren/Track je nach eingelegter Disk
512 Bytes/Sektor fest
VORSICHT:
Der Eintrag 'Reserved' MUSS UNBEDINGT '2' sein !!! Es hat
mich eine Menge Zeit und noch mehr Nerven gekostet, weil ich
ihn auf '0' gesetzt hatte, um 1K mehr Diskkapazität heraus-
zugeizen. Sobald die Diskette halb voll kopiert war, kamen
die merkwürdigsten Fehlermeldungen. Mein Fehler dabei war,
das ich den Fehler in meinem Device gesucht habe, wo er nicht
war. Er ist im FastFileSystem ! Es kann die ersten beiden
Blocks einer Disk/Partition überhaupt nicht in die Bitmap
eintragen, da das nicht vorgesehen ist. Geschickterweise
fragt es aber den Eintrag 'Reserved' ab und benutzt die
beiden Blocks dann auch, was folglich im Chaos endet!
5. HD-Mode:
Mit gesetztem Bit 2 (Flags in der Mountlist), kann das Device
HD Laufwerke nutzen. Allerdings macht es das etwas anders
als das trackdisk.device. Das trackdisk.device allokiert
den DMA-Buffer entsprechend der Diskkapazität. Das Problem
dabei ist, das wenn nicht genug ChipMem frei ist, kein HD
Modus möglich ist. Bei 2 MegaByte ziemlich unwahrscheinlich
aber immerhin möglich. Das diskspare.device allokiert also
schon beim Öffnen einen entsprechenden Buffer und gibt ihn
erst beim Schließen wieder frei. Schönheitsfehler bei der
Methode: Wenn nicht beim ERSTEN Öffnen das Bit 2 gesetzt
war, ist kein HD Modus mehr möglich.
6. Normale Disketten auf diskspare Format umkopieren:
Sie möchten einige Ihrer alten Datendisketten mit 837K
Kapazität auf das neue Format mit 984K umkopieren. Dafür
gibt es zwei Möglichkeiten:
A. Sie kopieren die Daten fileweise von der alten auf die
neue Diskette. Das ist die langsamste Möglichkeit.
B. Sie mounten eine RAD:, die genau die gleiche Größe hat
wie eine diskspare Diskette. Jeweils eine für DD 'RDD'
und für HD 'RHD' befindet sich in der Mountlist bzw.
wird bei Verwendung des Scripts automatisch installiert.
Sie kopieren also Ihre alten Disks fileweise in die RXD:
bis diese voll ist, dann kopieren Sie diese mit diskcopy
auf DSX:. Bsp: 'diskcopy RDD: to DS0: <Return>'.
Für Möglichkeit B benötigen Sie allerdings mindestens 1M
an zusammenhängenden Speicher. (2M bei HD)
VERSIONEN:
1.6 erste version
HD mode nur über 'highdensity.device'
2.0 mit eingebautem HD mode
2.1 verbessertes Errorchecking:
- es wird auf trackdisk und ms-dos Format geprüft, bevor
der Track neu gelesen wird
- es werden mehr Fehlversuche akzeptiert, bevor ein Fehler
gemeldet wird. Das sollte allerdings nicht dazu mißbraucht
werden, Disketten zu benutzen die sich nur noch mit Ach
und Krach formatieren lassen ! Solche Disketten gehören
in den Mülleimer !!!
Fehlerkorrekturen
Wegen eines Mißverständnisses mit einem Freund gab es leider einen
Fehlstart mit der Version 2.1. Wenn Sie also ein File namens 'Disk-
SpII.lha' finden sollten, löschen Sie es am besten sofort. Das Device
selber ist zwar (fast) ok, die Beschreibung paßt aber nicht dazu.
2.2 noch ein paar Fehlerkorrekturen
WICHTIG:
Das Device ist FREEWARE. D.h. es darf frei kopiert werden,
solange es in KEINER Weise verändert wird und solange alle
dazugehörigen Files mitkopiert werden.
Das Device darf auch im Zusammenhang mit anderen, auch
kommerziellen Programmen verwendet und vertrieben werden
solange KLARGESTELLT ist, daß es sich bei dem Device um
FREEWARE handelt, UND solange alle Files mitkopiert werden.
(see also support/diskspare.doc)
Falls Sie eine erweiterte oder spezielle Version benötigen,
setzen Sie sich bitte mit mir in Verbindung.
Mein Diskformat möchte ich auf keiner Diskette mit einem
hohlen NDOS Spiel finden !!!
AM WICHTIGSTEN:
Die Benutzung des oben beschriebenen Programms erfolgt
AUSSCHLIEßLICH auf eigenes Risiko.
Der Autor kann auf KEINEN FALL für einen Schaden oder
Datenverlust der direkt oder indirekt mit dem Gebrauch
des oben beschriebenen Programms entstehen sollte
verantwortlich gemacht werden.
Alle Rechte vorbehalten. Für Fehlermitteilungen oder
Verbesserungsvorschläge bin ich (fast) jederzeit dankbar.
Autor:
Klaus Deppisch
Beckenwengert 3
97246 Eibelstadt
Tel.: 09303 1579