Magic Disk 64

home to index to html: MD9209-KURSE-FLOPPY-KURS_4-2.html
Deren Bedeutung ist folgendermaßen  auf-
geteilt:                                
Bits2-0  Wert  Filetyp                  
----------------------------------------
  000     0    DEL (deleted)            
  001     1    SEQ (sequentielle Datei) 
  010     2    PRG (Programmdatei)      
  011     3    USR (Userdatei)          
  100     4    REL (relative Datei)     
Wie Sie sehen, können aber  noch  andere
Werte  eingetragen werden, die zwar kei-
nen Filetyp spezifizieren, aber  dennoch
möglich  sind.  Dies  hat zur Folge, daß
die Files ganz merkwürdige Bezeichnungen
erhalten. Wird zum Beispiel der Wert  15
(Bit  3  auch noch mitbenutzt) eingetra-
gen, so  hat  ein File  die  Bezeichnung
"?  ".                                  
Alle  anderen Bits des Filetyp-Bytes ei-
nes Directoryeintrags sind unbenutzt.   
Ebenfalls interessant sind das  28.  und
das  29.  Byte eines Fileeintrags. Damit
können Sie nämlich ebenfalls einen klei-
nen  Effekt für den Directoryeintrag er-
zielen. Da hier die Länge des  Files  in
Blocks  angegeben  ist,  kann diese auch
verändert  werden.  Dies  hat  keinerlei
Einfluß  auf  das  Laden  oder Speichern
eines Files, da die Blockangabe vom  DOS
nur  dazu verwendet wird, um beim Ausge-
ben eines Directorys die  Filelänge  di-
rekt  greifbar  zu  haben.  Wenn Sie nun
jemanden verblüffen wollen, so kann hier
z.B. der Wert 0 eingetragen werden. Laut
Directory befindet sich in dem File dann
nichts. Trotzdem kann sich dahinter  ein
Wahnsinns-Programm verstecken.          
Einen änhlichen Effekt können  Sie  auch
durch  Manipulation  der  BAM  erzielen.
Schreiben Sie hier nämlich andere  Werte
in  die  jeweils 0. Bytes der Trackbele-
gungen, so erhalten Sie eine andere  An-
zahl  an  freien Blocks. Das DOS addiert
nämlich diese 35 Bytes auf, um die  ver-
bleibende    Speicherkapazität    ("Free
Blocks") einer Diskette zu ermitteln und
im Directory anzeigen zu können.  Achten
Sie  danach jedoch bitte darauf, daß Sie
nichts mehr  auf  eine  solche  Diskette
speichern,  da nun nämlich vermeintliche
freie Blöcke beschrieben werden könnten,
was zu erheblichem  Datenverlust  führen
kann.  Am  Besten  ist  es  dann,  einen
Schreibzugriff durch Ändern des  Format-
kennzeichens   zu  verhindern.  Öbrigens
sollte ich erwähnen, daß  Änderungen  an
der  BAM  jederzeit  durch den Validate-
Befehl der Floppy wieder rückgängig  ge-
macht  werden  können. Dieses Floppykom-
mando geht nämlich nach  und  nach  alle
Files  der Diskette durch und merkt sich
die jeweils  belegten  Blocks.  Hiernach
kann die ursrüngliche BAM wieder rekons-
truiert werden.                         
Und noch etwas  ist  zu  den  Directory-
einträgen  zu  sagen.  Wenn Sie ein File
löschen, so wird es keineswegs  komplett
von  der Diskette entfernt. Das einzige,
was der Scratch-Befehl bewirkt, ist  das
Freigeben  der belegten Diskettenblocks.
Desweiteren wird als Filetyp der Wert  0
eingetragen,  was dem Filetyp "DEL" ent-
spricht. Gleichzeitig ist das  File  als
'ungültig'  markiert  und nicht schreib-
geschützt (wieso auch). Ein solcher  Fi-
leeintrag  kann  jederzeit  wiederherge-
stellt werden, indem man einen  definer-
ten,  gültigen, Filetyp einträgt und an-
schließend die Diskette  validiert.  Nun
ist  das  File  wieder so vorhanden, wie
vor dem Löschen (inklusive des  Vermeks,
welche Blocks belegt sind).             
Wird jedoch zwischenzeitlich  etwas  auf
der  Diskette gespeichert, so sucht sich
das DOS  zunächst  immer  einen  solchen
'leeren'  Fileeintrag  heraus,  bevor es
einen neuen Eintrag  im  letzten  Direc-
toryblock  anlegt.  Dadurch erklärt sich
auch,  warum  neu   geschriebene   Files
manchmal  mitten  im Directory zu finden
sind und nicht am Ende. Hier wurde  vor-
her  an  dieser  Stelle  ein  altes File
gelöscht.                               
Dies soll es dann wieder einmal  gewesen
sein für diesen Monat. Wenn Sie Ihre neu
hinzugewonnenen  Kenntnisse  einmal aus-
probieren möchten, so  nehmen  Sie  sich
einfach  einen  Diskmonitor zur Hand und
versuchen Sie einmal  einige  Directory-
einträge  oder  den Disk-Header-Block zu
verändern. Weiterhin kann mit  dem  Pro-
gramm  "Disk-Manager"  auf dieser MD das
Directory noch weitaus komfortabler  ma-
nipuliert  werden.  Nun  wissen  Sie  ja
wahrscheinlich  auch,  was   dabei   ge-
schieht.                                
Im nächsten Teil des Floppykurses wollen
wir  uns  mit der Floppybedienung in As-
sembler beschäftigen. Dabei  werden  wir
dann  auch  einige  Programme erstellen,
die sich die hier  kennengelerntern  In-
formationen zunutze machen.             
                                    (ub)



Valid HTML 4.0 Transitional Valid CSS!