APPLICATIONSDISQUE ★ Machen Sie Ihre Disketten fit|CPC Magazin) ★

Disc Doctor (CPC Magazin)Disc Doctor
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Mit dem Diskdoktor für alle CPC Computer

Mit dem Programm DISKDOKTOR können Sie gelöschte Files wieder aktivieren, Files verstecken und wieder auffinden, Files mit einem Schreibschutz versehen und diesen wieder entfernen. Sie bekommen wichtige Informationen aus der Directory, haben Einblick in jeden Sektor, können Fiies kopieren und jedes Byte auf der Diskette ändern.

Zuerst aber etwas Theorie. Der CPC unterscheidet vier verschiedene Diskettenformate:  Das AMSDOS CP/M Format, das Vendor Format, das Daten Format und das IBM CP/M Format. Alle diese Diskettenformate haben folgendes gemeinsam:

  1. Die Disketten haben 40 Spuren, durchnumeriert von 0 bis 39, wobei 0 außen und 39 innen ist.
  2. Diese Spuren sind in 9, bzw. 8 Sektoren unterteilt, die jeweils 512 Byte groß sind.
  3. In der Directory (Inhaltsverzeichnis der Diskette) können höchstens 64 Einträge stehen.

Das AMSDOS CP/M Format

Dieses Format werden Benutzer des Diskettenlaufwerks wohl am häufigsten verwenden. Jede Spur hat 9 Sektoren zu je 512 Byte. Die. Spuren 0 und 1 sind für CP/M reserviert und zwar in folgender Belegung:

Spur 0, Sektor 1: BOOT SEKTOR
Spur 0, Sektor 2: CONFIGURATIONSEKTOR
Spur 0, Sektor 8 und 9 sowie
Spur 1, Sektor 1 bis 9: CCP und BDOS

Es verbleiben also 38 Spuren zu 9 Sektoren mit je 512 Byte, wovon 4 Sektoren für die Direktory abgehen. Damit ergibt sich eine Speicherkapazität von exakt 169 K.

Die 4 Diskettenformate

Das Vendor Format

Das Vendor Format ist prinzipiell das Gleiche wie das AMSDOS CP/M Format, nur werden die Spuren 0 und 1 nicht benutzt, d.h., das CP/M wird nicht kopiert. Es wird dadurch aber kein Speicherplatz gewonnen, da die Spuren einfach nicht benutzt werden. Aus rechtlichen Gründen darf das CP/M selbst nicht kopiert werden. Deshalb werden CP/M Programme im Vendor Format verkauft und der Benutzer muß sich mit dem CP/M Hilfsfile SYSGEN.COM selbst die Systemspuren einrichten.

Das Daten Format CP/M wird auch hier nicht überspielt, allerdings werden die Spuren 0 und 1 mitbenutzt, was einen Speicherplatzgewinn von 2 Spuren x 9 Sektoren x 512 Byte = 9 K ergibt. Es stehen also 178 K Speicherplatz zur Verfügung.

Das IBM CP/M Format Dieses Format ist identisch mit dem IBM PC Format unter CP/M. Jede Spur ist in 8 Sektoren zu je 512 Byte unterteilt. Als CP/M Spur wird nur die Spur 0 verwendet, so daß sich ein Speicherplatz von 154 K ergibt.
Diese verschiedenen Formatierungsarten erreichen Sie durch folgende CP/M-Befehle:

  1. FORMAT,S - AMSDOS SYSTEM Format (CP/M und BASIC)
  2. FORMAT,V-AMSDOS SYSTEM Format ohne CP/M
  3. FORMAT,D - AMSDOS DATEN Format
  4. FORMAT,I - IBM PC CP/M Format

Die ersten CP/M Rechner hatten ihre Sektoren auf 128 Byte formatiert. Diese 128 Byte nennt man einen Record. Um kompatibel zu bleiben, wurde beim CPC softwaremäßig die Möglichkeit geschaffen, auch auf Records zuzugreifen, obwohl die kleinste erreichbare Einheit eigentlich aus einem Sektor (512 Byte) besteht.

Für ein 10 K Programm, müßte man z. B. in der Directory alle Records eintragen, die Teile dieses Programmes enthalten. Bei einem 10 K Programm wären das 80 (!) Einträge, was sehr viel ist. Um diesen Speicheraufwand zu verringern, wurden jeweils 8 Records oder 2 Sektoren zu Blökken zusammengefaßt. Ein Block ist also ein Kilobyte groß. Das erklärt auch, warum die kleinsten Programme mindestens 1 K lang sind: Immer der ganze Block wird in der Directory reserviert. Er kann also nicht mehr anderweitig verwendet werden.

Die ersten beiden Sektoren der ersten freien Spur sind Block 0, die Sektoren 3 und 4 der ersten freien Spur sind Block 1, usw. Daraus läßt sich folgende mathematische Beziehung herleiten, mit der man aus der Blockzahl den Sektor und die Spur ausrechnen kann, wo sich ein File auf der Diskette befindet. Das ist deshalb notwendig, da in der Directory nur die Blöcke eingetragen werden.

SPUR=INT (BLOCK*2/BLOCKANZAHL) +SYSTEMSPUREN

SEKTOR=BLOCK*2-SPUR*BLOCKANZAHL+SYSTEM-

SPUREN*BLOCKANZAHL

Die Variablen BLOCKANZAHL und SYSTEMSPUREN hängen allerdings vom Diskettenformat ab:

FormatBlockanzahlSystemspuren
AMSDOS CP/M92
Vendor92
Daten90
IBM81

Saven Sie einmal folgendes File ab: SAVE "Name"^, 0,1024. Es wird jetzt genau 1 K abgespeichert. Aber wenn Sie CAT tippen, werden 2 K angezeigt. Das kommt daher, da bei jedem Filetyp(außerASCII-Dateien)als erster Record (128 Byte) ein Headerteil abgelegt wird, der Informationen über das File enthält, was bei ASCII-Dateien allerdings fehlt. Aber wie unterscheidet AMSDOS zwischen ASCII-Dateien und anderen Files? Die ersten 66 Byte des ersten Records werden zusammengezählt. Entsprechen Sie der Prüfsumme in den Bytes 67 und 68, dann handelt es sich um keine ASCII-Datei. Stimmt die Prüfsumme zufällig doch mal, so ist das Pech, da AMSDOS die Datei nun für eine nicht ASCII-Datei hält.

Der Aufbau der Directory

Die Directory ist jeweils in der ersten freien Spur in den Sektoren 1-4 untergebracht:

  • AMSDOS CP/M Format: Spur 2, Sektor 1 -4
  • Vendor Format: Spur 2, Sektor 1 -4
  • Daten Format: Spur 0, Sektor 1 -4
  • IBM CP/M Format: Spur 1, Sektor 1 -4

Pro Eintrag sind 32 Bytes vorgesehen. Sehen wir uns doch mal ein Beispiel an:

000 00 43 48 4B 44 49 53 43 20 43 4F 40 00 00 00 13 .CHKDISC COM....
010 44 45 46 00 00 00 00 00 00 00 00 00 00 00 BB 00 DEF.............

Dieser Eintrag befindet sich auf Spur 2, Sektor 2 der CP/ M Diskette. Das erste Byte ist eine 0. Dieses Byte stellt die Usernummer dar. Insgesamt kann man 16 verschiedene Directoryebenen anwählen (0-15). In diesem Falle ist das File im Directory 0 enthalten. Steht im ersten Byte ein Wert größer als 15 dez oder OF hex, dann ist das File für AMSDOS nicht mehr ladbar und erscheint auch in keinem Directory mehr. Beim Löschen mit ERA wird also nur dieses Byte auf einen Wert größer als 15 gesetzt. Wollen Sie dieses File wieder reaktivieren, müssen Sie in dieses Byte einen Wert von 0 bis 15 schreiben, was mit dem abgedruckten Programm ohne Schwierigkeiten möglich ist. Allerdings dürfen die belegten Blöcke nicht schon anderweitig beschrieben worden sein.

Damit läßt sich's leben

Die nächsten 13 Bytes beziehen sich auf den Namen. Wie Sie sofort sehen, wird der Punkt nicht mehr abgespeichert und der Name mit Spaces aufgefüllt. Anschließend folgen drei 0 Bytes und ein Byte, das die Anzahl der Records angibt, die das File belegt (hier 13). Nun sind noch 16 Bytes frei. Hier werden die belegten Blöcke eingetragen. Was passiert aber, wenn das File größer als 16 K ist, denn dann ist kein Platz mehr in der Directory. In einem solchen Falle richtet AMSDOS einfach noch einen zweiten Eintrag ein, in dem dann die restlichen Blöcke stehen. Bei ganz langen Files werden sogar drei Einträge gebraucht. Daß noch Einträge folgen, merkt AMSDOS an der Anzahl der Records. Das 13. Byte erhält jetzt doch noch eine Funktion: Beim ersten Eintrag eines Files ist es 0, beim zweiten 1, beim dritten 2. So kann der Rechner bei jedem File unterscheiden, um den wievielten Eintrag es sich handelt.

Noch zwei wichtige Dinge

Die letzten 3 Buchstaben des Namens sind ja die sogenannte Extension.

  1. Wird Bit 7 des ersten Buchstabens der Extension, also das 10. Byte des Directoryeintrages gesetzt, erhält das File die Bemerkung READ ONLY, d.h., es kann unter AMSDOS oder CP/M nicht mehr gelöscht oder umbenannt werden. Wollen Sie den READ ONLY Status setzen, müssen Sie zum Code des ersten Buchstabens der Extension 128 addieren und den Sektor neu abspeichern. Wollen Sie den READ ONLY Status eines Files beseitigen, subtrahieren Sie 128 vom Code des ersten Buchstabens und speichern Sie den entsprechenden Directorysektor neu ab.
  2. Ist Bit 7 des zweiten Buchstabens der Extension gesetzt, also das 11. Byte des Directoryeintrages, wird das File „unsichtbar“, d.h., es kann noch geladen wer-
    den, taucht aber unter AMSDOS und CP/M in keiner Directory mehr auf. Das Programm DISC DOKTOR macht natürlich auch solche Files sichtbar.

Die Bedienung

Tippen Sie das Programm sorgfältig ab und speichern Sie es mit GOTO 10000 unter dem Namen "DISKDR” ab. Äußerste Sorgfalt ist deshalb geboten, weil schon ein falsches Byte Daten auf der Diskette zerstören kann. Nehmen Sie deshalb z.B. Ihre Backup Kopie der LOGO-Diskette zum Ausprobieren.

Der Bildschirm ist in drei Fenster unterteilt: Der obere, gelbe Teil enthält Informationen zu Laufwerk, Sektor, Spur und Format. Im zweiten, hellblauen Fenster sind 64 Bytes hexadezimal dargestellt. Dahinter jeweils die entsprechenden Charaktere im ASCII-Format. Nicht darstellbare Zeichen werden durch einen Punkt (.) angezeigt. 512 Bytes werden eingelesen, die man sich in 8 Teilen zu je 64 Bytes ansehen kann. Die Anzeige „BLOCK“ im oberen Fenster zeigt den augenblicklich angewählten Teil. Das dritte, weiße Fenster zeigt das Menü oder eine Meldung.

Das Hauptmenü

Hier haben Sie folgende Funktionen zur Verfügung:

  • T-TEXTEINGABE Ab einer Adresse, die Sie in Hex eingeben müssen, wird ein String abgelegt, den Sie ebenfalls eingeben müssen. So können Sie z.B. Programmnamen ändern. Beachten Sie, daß der Punkt für eines von vielen, nicht darstellbaren Zeichen steht.
  • E-EDIT Geben Sie eine Adresse ein. Diese muß allerdings durch acht teilbar sein. Ab dieser Adresse können Sie acht Bytes verändern. Die Originalbytes sind oben abgedruckt. Wenn Sie welche übernehmen wollen, geschieht dies mit dem COPYCURSOR. Es müssen aber immer acht Byte auf einmal geändert werden. Vergessen Sie nicht, den Block wieder abzuspeichern, wenn Sie die Änderungen vorgenommen haben.
  • D-DRIVE Damit können Sie zwischen Laufwerk A und B hin- und herschalten.
  • T-TRACK Damit können Sie eine Spur von 0-39 auswählen.
  • S-SEKTOR Damit wählen Sie einen Sektor von 1 -9 oder von 1 -8 (IBM Format) aus.
  • B-BLOCK Damit werden die nächsten 64 Byte auf dem Bildschirm ausgegeben. Ist das Ende erreicht, wird wieder von vorne angefangen.
  • F-FORMAT Hier können Sie eines der drei Formate AMSDOS CP/M, AMSDOS Daten, IBM CP/M wählen. Für Vendor wählen Sie AMSDOS CP/M.
  • CTRL+C - COPY TO PRINTER Der im Augenblick im Speicher befindliche 512 Byte lange Block wird auf dem Drucker ausgegeben. Die Angaben Track und Sektor, die mit ausgedruckt werden, beziehen sich auf den angewählten Track/Sektor. Dieser ist noch nicht im Speicher, wenn er nicht zuvor mit CTRL + L geladen wurde.
  • CTRL+L- LOAD BLOCK Der augenblicklich durch Track/Sektor festgelegte Block wird von der Diskette geladen. Gibt es Probleme beim Laden, kommt die übliche Fehlermeldung: "RETRY, IGNORE or CANCEL”. Mit I oder C kommen Sie ins Menü zurück, mit R versuchen Sie es nochmal. (Anm.: Wenn Sie ein Format gewählt haben, das auf der Diskette nicht vorhanden ist, kommt es zu eben dieser Fehlermeldung. Sie müssen es dann mit einem anderen Format versuchen. Es kann aber auch wirklich ein Lesefehler sein.)
  • CTRL+S - SAVE BLOCK Der im Augenblick im Speicher befindliche Block wird in die durch Track/Sektor festgelegte Spur und in den festgelegten Sektor geschrieben. Vorsicht: Wenn Sie Track oder Sektor nach dem Laden ändern, wird der Block auf einen anderen Diskettenbereich geschrieben, was aber auch beabsichtigt sein kann.

WICHTIG: Sammeln Sie erst mit einer BACKUP-Dis-kette gründliche Erfahrungen, bevor Sie sich an Ihre wichtigen Disketten wagen, denn ehe man sich versieht, sind Daten dahin.

Bei Fragen wenden Sie sich direkt an mich:

CPC MAGAZIN

★ PUBLISHERS: CPC Magazin , CPC Magazin Codex
★ YEARE: 1985 , 1986
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LICENCE: ???
★ AUTEUR: Andreas Zallmann

★ AMSTRAD CPC ★ DOWNLOAD ★

File:
» Disc  Doctor    GERMANDATE: 2015-07-13
DL: 49 fois
TYPE: ZIP
SIZE: 24Ko
NOTE: 40 Cyls
.HFE: OUI

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » ESAT Software/Goldmark - Viewtext
» Applications » Unerase
» Applications » Discobole
» Applications » Multi Format Utility
» Applications » Interlock Services - Amsdisc 1
» Applications » File-Manager

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 148 millisecondes et consultée 676 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.