Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
cpm:fcb [2015/11/24 14:28] – volkerp | cpm:fcb [2017/05/30 08:10] (aktuell) – [DIR-Eintrag] volkerp | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== DIR-Eintrag ====== | ====== DIR-Eintrag ====== | ||
- | Der DIR-Eintrag lokalisiert nur Blöcke, keine konkreten Sektoren und Spuren und auch keine logischen Records! | + | Die Information, |
- | Die Dateigröße wird über RC*128 bestimmt. | + | |
+ | * Der Filenamen und Filetyp | ||
+ | * Die Länge des Files | ||
+ | * Die vom File belegten Bereiche auf der Diskette. | ||
+ | |||
+ | Fordert ein Programm bestimmte Daten unter Angabe eines Filenamens an, so kann das BDOS aus den Directory-Informationen den exakten Sektor auf der Diskette berechnen. | ||
+ | |||
+ | Für jede Datei gibt es einen oder mehrere DIR-Einträge. Ein DIR-Eintrag ist 32 Byte lang. | ||
+ | |||
+ | s. [[cpm: | ||
+ | |||
+ | |||
+ | Ein DIR-Eintrag lokalisiert nur Blöcke, keine konkreten Sektoren und Spuren und auch keine logischen Records! | ||
+ | Die Dateigröße wird über RC*128 | ||
Das CP/M 2.2 fasst jeweils 32 Extends zu einer Extendgruppe (engl. Extend Group) zusammen. | Das CP/M 2.2 fasst jeweils 32 Extends zu einer Extendgruppe (engl. Extend Group) zusammen. | ||
- | Ein File kann aus bis zu 16 Extendgruppen aufgebaut sein, was die maximale Länge eines Files auf 65536 Records (8 Megabyte) begrenzt. | + | Ein File kann aus bis zu 16 Extendgruppen aufgebaut sein, was die maximale Länge eines Files auf 65536 Records (8 Megabyte, s.u.) begrenzt. |
Die laufende Recordnummer eines Files wird BDOS-intern immer in den drei Teilen Extendgruppe, | Die laufende Recordnummer eines Files wird BDOS-intern immer in den drei Teilen Extendgruppe, | ||
Zeile 20: | Zeile 33: | ||
- | max. Dateigröße: | + | max. Dateigröße: |
Auch daraus folgt wieder, dass maximal 65535 Records pro Datei adressiert werden können. | Auch daraus folgt wieder, dass maximal 65535 Records pro Datei adressiert werden können. | ||
+ | |||
+ | ===== Beispiel ===== | ||
+ | |||
+ | Auszug aus einer Diskette für den Z9001. | ||
+ | Es sind 3 Programme enthalten: L80.COM, LIB.COM, M80.COM. Letztere belegt 2 Directory-Einträge. | ||
< | < | ||
Zeile 32: | Zeile 50: | ||
- | /0 /1 /2 /3 /4 /5 /6 /7 /8 /9/ A /B /C /D /E /F /0 /1 /2 /3 /4 /5 /6 /7 /8 /9/ A /B /C /D /E /F | + | /0 /1 /2 /3 /4 /5 /6 /7 /8 /9/ A /B /C /D /E /F |
- | UN N1 N2 N3 N4 N5 N6 N7 N8 T1 T2 T3 EX S1 EG RC B0 . . . . . . . . . . . . . . Bn UNNNNNNNNTTTESERBBBBBBBBBBBBBBBB | + | UN N1 N2 N3 N4 N5 N6 N7 N8 T1 T2 T3 EX S1 EG RC UNNNNNNNNTTTESER |
- | 0520 : 00 4C 38 30 20 20 20 20 20 C3 4F 4D 00 00 00 54 52 00 53 00 54 00 55 00 56 00 57 00 00 00 00 00 .L80 | + | B0 . . . . . . . . . . . . . . Bn BBBBBBBBBBBBBBBB |
- | 0540 : 00 4C 49 42 20 20 20 20 20 C3 4F 4D 00 00 00 25 58 00 59 00 5A 00 00 00 00 00 00 00 00 00 00 00 .LIB | + | |
- | 0560 : 00 4D 38 30 20 20 20 20 20 C3 4F 4D 00 00 00 80 5E 00 5F 00 60 00 61 00 62 00 63 00 64 00 65 00 .M80 | + | 0520 : 00 4C 38 30 20 20 20 20 20 C3 4F 4D 00 00 00 54 .L80 |
- | 0580 : 00 4D 38 30 20 20 20 20 20 C3 4F 4D 01 00 00 1D 66 00 67 00 00 00 00 00 00 00 00 00 00 00 00 00 .M80 | + | 0528 : 52 00 53 00 54 00 55 00 56 00 57 00 00 00 00 00 R.S.T.U.V.W..... |
+ | 0540 : 00 4C 49 42 20 20 20 20 20 C3 4F 4D 00 00 00 25 .LIB | ||
+ | 0548 : 58 00 59 00 5A 00 00 00 00 00 00 00 00 00 00 00 | ||
+ | 0560 : 00 4D 38 30 20 20 20 20 20 C3 4F 4D 00 00 00 80 .M80 | ||
+ | 0568 : 5E 00 5F 00 60 00 61 00 62 00 63 00 64 00 65 00 | ||
+ | 0580 : 00 4D 38 30 20 20 20 20 20 C3 4F 4D 01 00 00 1D .M80 | ||
+ | 0588 : 66 00 67 00 00 00 00 00 00 00 00 00 00 00 00 00 | ||
16 Bit-Blocknummern | 16 Bit-Blocknummern | ||
- | L80.COM belegt die Blöcke 52..57, insg. RC = 54h Records | + | </ |
- | LIB.COM belegt die Blöcke 58..5A, insg. RC = 25h Records | + | |
- | M80.COM belegt die Blöcke 5E..67, insg. RC = 80h+1Dh Records | + | **L80.COM** belegt die Blöcke 52..57, insg. RC = 54h Records |
+ | |||
+ | **LIB.COM** belegt die Blöcke 58..5A, insg. RC = 25h Records | ||
+ | |||
+ | **M80.COM** belegt die Blöcke 5E..67, insg. RC = 80h+1Dh Records | ||
in letzter Zeile EX=1, d.h. 1. zusätzlicher DIR-Eintrag zu dieser Datei | in letzter Zeile EX=1, d.h. 1. zusätzlicher DIR-Eintrag zu dieser Datei | ||
+ | |||
alle drei Dateien sind schreibgeschützt (Bit 7 der Position T1 ist 1) | alle drei Dateien sind schreibgeschützt (Bit 7 der Position T1 ist 1) | ||
- | (damit | + | :!: Man " |
- | </ | + |