Schreibschutz per Software
Eleganter als das Hantieren mit Klebestreifen ist ein Diskettenschreibschutz per Software: Hier ist ein Programm, das einen solchen Schreibschutz nicht nur anbringen, sondern ihn auch wieder entfernen kann.
Die Funktion dieses Programms basiert darauf, das Formatkennzeichen (»A«) auf der Diskette zu ändern (hier in »X«). Versucht man nun, Daten auf die Diskette zu schreiben, so reagiert das Floppy-Laufwerk mit der Fehlermeldung »CBM DOS V2.6 1541«. Das Lesen ist jedoch weiterhin problemlos möglich. Damit erspart man sich die zuweilen umständliche Verwendung von Schreibschutz-Aufklebern auf der Diskette. Außerdem ist dieser softwaremäßig realisierte Schreibschutz um einiges sicherer, denn er kann nicht durch Leichtsinn oder Versehen entfernt werden.
Eine Schwierigkeit ergibt sich aber, wenn das neue Formatkennzeichen wieder in »A« geändert werden soll, um zum Beispiel noch ein Programm auf der Diskette zu speichern. Da ja jegliches Schreiben unmöglich ist, hat man selbst mit den Direktzugriffs-Befehlen keine Möglichkeit mehr, wieder ein »A« auf die Diskette zu bringen.
Hier liegt nun die eigentliche Neuheit dieses Programms. Mit einem Memory-Write-Befehl (Listing) wird in die Speicherstelle 257 ($0101) der Floppy der ASCII-Code von »A« (65) geschrieben. In dieser Speicherstelle wird bei jedem Initialisieren einer Diskette deren Formatkennzeichen im ASCII-Format abgelegt. Ist nun dieser Inhalt gleich 65, so schreibt die Floppy wieder ohne Probleme auf die Diskette, und genau dies wird in dem Programm ausgenutzt.
Nun einige Bemerkungen zur Bedienung des Programms: Nach dem Starten mit »RUN« wird das Formatkennzeichen der Diskette eingelesen und ausgedruckt. Daraufhin gibt man das Format-Zeichen ein, das die Diskette erhalten soll. Drückt man nur RETURN, so wird das vorgegebene Zeichen übernommen und es kommt immer zu einer Änderung des Formatkennzeichens. Zum Schluß wird dann der aktuelle Zustand der Diskette angezeigt.
Achtung! Unmittelbar nach dem Programmlauf ist der Schreibschutz nicht aktiv, da in der Speicherstelle 257 noch immer 65 steht. Erst nach dem Initialisieren einer geschützten Diskette ist dieser Schutz auch wirksam. Auch gegen versehentliches Formatieren, bei dem ja alle Programme gelöscht werden, schützt dieses Programm nicht, da bei diesem Befehl logischerweise kein Formatkennzeichen gelesen wird.
In allen anderen Fällen ist der Schutz jedoch voll wirksam und macht Schreibschutz-Etiketten überflüssig.
(Manfred Lins/ev)1 rem ******************************** 2 rem ** ** 3 rem ** schreibschutz ** 4 rem ** ** 5 rem ** (c)'85 by ** 6 rem ** manfred lins ** 7 rem ** reitacker 1 ** 8 rem ** 6492 sinntal-zuentersbach ** 9 rem ******************************** 10 printchr$(147):rem clear/home 20 x=7:y=2:gosub510 30 print"d i s k - s c h u t z" 40 x=2:y=6:gosub510 50 print"altes formatkennzeichen :"; 60 open1,8,15,"i":open2,8,2,"#" 70 print#1,"u1 2 0 18 0" 80 print#1,"b-p 2 2" 90 get#2,af$: rem altes formatkennz. 100 printaf$ 110 x=2:y=9:gosub510 120 print"wird geaendert in "; 130 ifaf$="a"thenprint"x":goto150 140 print"a" 150 x=20:y=9:gosub510 160 inputnf$ 170 print#1,"m-w"chr$(1)chr$(1)chr$(1)chr$(65) 180 print#1,"b-p 2 2" 190 print#2,nf$:rem neues formatkennz. 200 print#1,"u2 2 0 18 0" 210 close2:close1 220 ifnf$="a"thend$="{rvon} kein schreibschutz ! ":goto240 230 d$="{rvon} schreibschutz aktiviert ! " 240 x=6:y=14:gosub510 250 printd$ 260 end 500 rem routine zum cursorsetzen 510 poke211,x:poke214,y:sys58640:return 520 rem unterprogrammende