CODING ★ DIRECTORY, CHECKSUM UND DAS VORTEX-FORMAT (COMPUTER TECHNIK) ★

Directory, Checksum und das Vortex-Format (Computer Technik)
★ 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 ★ 

Obwohl beim CPC 464 das Vortex-Format im Directory-Block noch Platz für 64 weitere Einträge bietet, ist es auf maximal 64 Einträge beschränkt. Das führt bei 720 KByte Diskettenkapazität meist dazu, daß die Disketten nur etwa dreiviertel voll werden - welch eine Verschwendung!

Zwar liefert Vortex auch Programme zur Erweiterung der Formate auf 128 oder 256 Einträge, jedoch knapsen diese etwas Platz von der kostbaren TPA ab und müssen mit einem leicht verschobenen CP/M arbeiten.

Der Grund dafür ist eigentlich nur der Checksum-Vektor, dessen Aufgabe darin besteht, eine eingelegte Diskette eindeutig zu identifizieren. Bei jedem Warmstart oder dem B DOS-Befehl 13 (Reset Disk) bildet CP/M aus den Directory-Einträgen der angeschlossenen Laufwerke eine Check-Summe und vermerkt diese in der im Disk Parameter Header (DPH) angegebenen Checksum-Tabelle. Will man nun auf eine Diskette schreiben, werden zunächst die Check-Summen überprüft. Stimmen sie nicht überein, so ist höchstwahrscheinlich zwischenzeitlich die Diskette gewechselt worden, das System meldet Bdos Err on A: R/O'.

Nun müssen die Prüfsummen nicht unbedingt über sämtliche Directory-Einträge laufen. Wenn die ersten 20 bis 30 Prüfsummen übereinsiimmen, kann man in der Regel davon ausgehen, daß es sich um ein und dieselbe Diskette handelt. Eine Mißinterpretation ist dann wohl nur möglich, wenn man eine bis dahin identische Disk-Kopie eingeschoben hat. Bei einem einigermaßen sinnvollen Umgang mit zwischenzeitlich ausgewechselten Disketten kann man ein Fehlverhalten des Betriebssystems aber weitgehend ausschließen.

CP/M bietet daher die Möglichkeit, die Anzahl der zu überprüfenden Check-Summen im Disk Parameter Block (DPB) festzulegen. Die hier vermerkte Größe CKS gibt die Anzahl der Bytes wieder, die für die Checksum-Bildung benötigt werden. Dabei gilt: CKS = 1/4 x (Anzahl der zu überprüfenden Einträge).

Beim Vortex-Format sind eben (um Speicherplatz zu sparen) pro Laufwerk nur 16 Bytes für die Prüfsummen reserviert, das reicht für eine vollständige Überprüfung von 64 Directory-Einträgen. 64 Einträge beanspruchen 64 x 32 Bytes = 2 KByte Platz. Da die Blockgröße aber 4 KByte beträgt, bleiben normalerweise 2 KByte ungenutzt. Wenn man sich nun einen sinnvollen Umgang mit Disketten zutraut, kann man die Maximalzahl der Einträge (DRM) im Disk Parameter Buffer von 3Fh auf 7Fh erhöhen, beispielsweise mit folgendem kleinen Programm:

;Patch fuer 128 Eintraege beim
;Vortex-Format fuer CPC unter CP/M 2.2

ORG 100H
LD A,7FH ; 128 Eintraege
LD (0ADDFH),A ; fuer Laufwerk A
LD (0AE1EH),A ;un Laufwerk B
; Falls Gewuenscht
JP 0 ;Warestart
END

Dieses Programm sollte man als Autostart-String im Installer angeben, damit man immer gleich daserweiterte Format zur Verfügung hat. Vergißt man es. kann man nicht nur nicht auf die Files jenseits des 64. Eintrags zugreifen, sondern das Betriebssystem weiß dann nichts von den weiteren Einträgen und hält die davon belegten Blöcke für frei, was katastrophale Folgen für diese Files nach sich ziehen kann.

Das muß man auch im BASIC-Betrieb berücksichtigen, wenn man Disketten mit mehr als 64 Files eingeschoben hat. Auch hier läßt sich DRM verdoppeln, mit POKE &A897,127 für Laufwerk A und POKE &A8D7,127 für Laufwerk B.

Am sichersten ist es aber, wenn man nicht erst ein Patch-Programm starten muß, sondern wenn man die erweiterte Anzahl von Einträgen im BIOS-EPROM fest verankert (bedeutet:neu brennen), ln der VDOS-Version 2.0 bei c't befindet sich das verantwortliche Byte bei C0DFh. In anderen Versionen kann man es leicht finden, wenn man mit einem Debugger nach der Byte-Folge 3F 00 80 sucht. 3Fh ist dann durch 7Fh zu ersetzen.

c't

★ YEAR: 1986
★ LANGUAGE:
★ AUTHOR(S): ??? / Computer Technik (c't)
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Manuel d'utilisation & doc:
» Das  CPU-Timing  des  Schneider  CPC    (Computer  Technik)    GERMANDATE: 2024-03-08
DL: 22
TYPE: PDF
SiZE: 145Ko
NOTE: Supplied by archive.org ; 1 page/PDFlib v1.6

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

Lien(s):
» Coding » Vortex Tracker II
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 273 millisecondes et consultée 52 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.