home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Supreme Volume 6 #1
/
swsii.zip
/
swsii
/
167
/
FLOPTOOL.ZIP
/
FLOPTOOL.EXE
/
LEESMIJ.DOC
< prev
next >
Wrap
Text File
|
1992-09-01
|
10KB
|
228 lines
_______
____|__ | (R)
--| | |-------------------
| ____|__ | Association of
| | |_| Shareware
|__| o | Professionals
-----| | |---------------------
|___|___| MEMBER
Het programma dat hieronder wordt beschreven is gemaakt
door
Feico Nater Shareware,
Beukweg 24,
7556 DE Hengelo.
Dit programma wordt beschikbaar gesteld als shareware.
Wat is shareware? Het is software dat door de gebruikers
gecopieerd en uitgedeeld mag worden, maar ik, de auteur behoud
het auteursrecht. Misschien heeft u het programma voor een
laag bedrag `gekocht' van een bulletin-board en er voor be-
taald, maar ik krijg daar geen cent van. Ik verwacht dat u
mij rechtstreeks betaalt, want ik verdien mijn levensonderhoud
met het maken van shareware.
Dus, als dit programma u bevalt en u besluit het te
gebruiken, dan wordt van u verwacht dat u een bedrag van 30
gulden (inclusief BTW) overmaakt op mijn rekening bij de
Postbank, nummer 96541. Helaas kan ik geen kredietkaarten
accepteren.
Waarom zou u registreren? Het kost u natuurlijk geld.
Maar ik zal u op de hoogte houden van verdere ontwikkelingen
en u krijgt het recht om nieuwere versies te bestellen voor de
prijs van porto en floppy. Tenslotte zal ik bereid zijn om
naar uw verlangens te luisteren.
En als het programma u niet bevalt? Dan kan u het weg-
gooien. Maar ongetwijfeld zal het idee van shareware u beval-
len, omdat u niet veel geld hoeft te betalen voor iets dat
achteraf toch tegenvalt.
Maar of u nu registreert of niet, u wordt aangemoedigd
dit systeem verder rond te delen. Geef copieën aan uw vrien-
den. De copieën die u ronddeelt moeten volledig en ongewij-
zigd zijn, maar gebruik van file-compressie is toegestaan. U
mag alleen een maximum van tien gulden vragen voor de floppy,
verpakking en verzending.
Over de auteur
Ik werk met computers sedert 1970. Ik heb een HBO-studie
in informatica voltooid. Daarna heb ik vele jaren gewerkt in
de defensie-industrie, en mijn collega's beschouwden mij als
de bekwaamste programmeur onder hen. Maar dank zij Gorbatsjov
(wat ik hem niet kwalijk kan nemen) ging het slechter met de
defensie-industrie. Sindsdien werk ik als shareware-auteur.
Het programma FLOPTOOL leest alles wat er op een floppy disk
staat, ongeacht of het een DOS-schijf is of niet.
De bevindingen worden als ASCII-bestand naar de vaste schijf
geschreven onder de naam FLOPTOOL.DAT.
FLOPTOOL maakt geen gebruik van BIOS-functies maar spreekt
rechtstreeks de floppy-controller (NEC 765) en de DMA-control-
ler aan. Dat is nodig om afwijkende schijven te kunnen lezen.
Een absoluut compatibele computer is daarom wel vereist.
Syntaxis: FLOPTOOL drive: /N /D /S /T:n /L:n
Drive moet A of B zijn.
Floptool leest beide zijden van iedere cylinder, onderzoekt
hoe de data gecodeerd is en schrijft alle bevindingen naar de
vaste schijf.
FLOPTOOL stelt de leeskop op iedere cylinder van de schijf en
leest beide kanten.
Er zijn twee manieren van coderen: FM en MFM. Het laatste is
twee keer zo compact. De IBM-PC gebruikt uitsluitend MFM.
FLOPTOOL onderzoekt voor ieder spoor of FM gebruikt is.
FLOPTOOL schrijft nu op de vaste schijf:
CH=cylindernummer kantnummer, FM of MFM
Daarna leest FLOPTOOL de id-velden van ieder spoor. Iedere
sector heeft een id-veld, bestaande uit vier bytes. Voor de
IBM-PC zijn die waarden:
C: (cylinder) geteld vanaf 00.
H: (head, kop of zijde van de schijf) op de voorkant 00, op de
achterkant 01.
R: (record of sector) geteld vanaf 01.
N: logarithme van de sectorlengte, voor de IBM-PC steeds 02,
d.i. 512 bytes.
FLOPTOOL schrijft nu naar de vaste schijf:
CHRN=.. .. .. ..
Daaronder komt de volledige inhoud van de sector.
Terwijl FLOPTOOL de schijf leest verschijnt op het scherm voor
elk spoor een M of een F, afhankelijk van de aangetroffen
codering. Is een spoor onleesbaar, dan verschijnt er geen
letter.
Bij het aanroepen kunnen de volgende switches worden opgege-
ven:
/N lees alleen de id-velden (CHRN) en niet de inhoud van de
sectoren.
/D lees alleen de even cylinders, sla de oneven cylinders
over.
/S lees de sectoren een voor een. Dit levert soms nauwkeuri-
ger resultaten. Wordt deze switch weggelaten, dan leest
FLOPTOOL ieder track ineens.
/T:n begin bij cylinder n (hexadecimaal)
/L:n alle sectoren hebben lengte n. Hiervoor is de codering:
00=128, 01=256, 02=512, enz.
De switches /S en /L zijn zinloos als /N is opgegeven.
Verdere details.
Bij het tonen van de inhoud van de sectoren onderdrukt FLOP-
TOOL regels die aan elkaar gelijk zijn.
Schijven van een andere computer kunnen er afwijkend uitzien.
De cylinders, koppen, sectoren kunnen andere nummers hebben.
De IBM-PC beschouwt zo'n schijf als absoluut onleesbaar,
FLOPTOOL heeft er doorgaans geen moeite mee.
De laatste byte van het id-veld behoort de lengte van de
sector aan te geven. Soms klopt die waarde niet, en dan is
het niet eenvoudig uit te zoeken hoe lang de sector werkelijk
is. Het is dus mogelijk dat er te veel of te weinig bytes
worden gegeven. Worden te weinig bytes gelezen, dan blijft de
rest van de sector ongelezen. Worden te veel bytes gelezen,
dan leest FLOPTOOL de gap (lege ruimte) tussen de sectoren en
wellicht stukken van de volgende sectoren er bij. Soms ont-
staan daarbij synchronisatieproblemen, zodat de bytes verminkt
overkomen.
Wordt de /L switch opgegeven, dan negeert FLOPTOOL de laatste
byte van het id-veld en gebruikt in plaats daarvan de waarde
die in de switch staat.
Met 5 1/4 inch schijven zijn nog wat complicaties denkbaar,
omdat die schijven met 40 of 80 cylinders beschreven kunnen
zijn.
"Echte" 40-cylinder schijf in 80-cylinder drive:
Een "echte" 40-cylinder schijf is een 40-cylinder schijf die
in een 40-cylinder drive geformateerd en beschreven is.
FLOPTOOL zal op de oneven cylinders soms de ene, dan de andere
aanliggende cylinder lezen.
"Valse" 40-cylinder schijf in 80-cylinder drive:
Een "valse" 40-cylinder schijf is een 40-cylinder schijf die
in een 80-cylinder drive geformateerd en beschreven is.
FLOPTOOL zal de oneven cylinders als onleesbaar beschouwen,
tenzij de schijf al eens eerder gebruikt is geweest.
80-cylinder schijf in 40-cylinder drive:
De oneven cylinders zijn onbereikbaar, en de even cylinders
zijn slechts moeizaam leesbaar.
"Valse" 40-cylinder schijf in 40-cylinder drive:
Ook deze schijf is moeizaam leesbaar, vooral als de schijf al
eens eerder gebruikt is geweest.
Bij een 40-cylinder schijf in een 80-cylinder drive wordt het
gebruik van de /D switch aanbevolen.
De floppy-controller in de IBM-PC is meestal een NEC PD765A.
Een 7265 wordt bij mijn weten nooit gebruikt. Het datapatroon
is als volgt:
MFM-mode FM-mode
GAP: 80 x 4E 40 x FF
SYNC: 12 x 00 6 x 00 alleen 765
IAM: C2 C2 C2 FC FC alleen 765
GAP: 50 x 4E 26 x FF alleen 765
voor iedere sector:
SYNC: 12 x 00 6 x 00
IDAM: A1 A1 A1 FE FE
C H R N: C H R N C H R N
CRC: checksum checksum
GAP: 22 x 4E 11 x FF
SYNC: 12 x 00 6 x 00
DATA AM: A1 A1 A1 FB FB (of F8)
(of A1 A1 A1 F8)
DATA: data data
CRC: checksum checksum
GAP: