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 " |
| - | </ | + | |