Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste ÜberarbeitungBeide Seiten der Revision
cpm:fcb [2015/11/24 14:12] – angelegt volkerpcpm:fcb [2015/11/24 14:28] volkerp
Zeile 1: Zeile 1:
-====== FCB ======+====== DIR-Eintrag ====== 
 + 
 +Der DIR-Eintrag lokalisiert nur Blöcke, keine konkreten Sektoren und Spuren und auch keine logischen Records! 
 +Die Dateigröße wird über RC*128 bestimmt. 
 + 
 +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.  
 +Die laufende Recordnummer eines Files wird BDOS-intern immer in den drei Teilen Extendgruppe, Extend und Record verwaltet. 
 + 
 +EX enthält die Extendnummer, EG die Extendgruppe des letzten durch den Eintrag abgedeckten Record. EX und EG werden, bei mehreren Eintragen zu einem File, immer relativ zum Fileanfang gerechnet.  
 + 
 +RC ist die Anzahl von Records im höchsten Extend (EX) des Eintrages. RC liegt normalerweise im Bereich zwischen 0 und 127. 
 + Ein Wert von 128 in RC zeigt an, das auch der letzte Extend mit 128 Records gefüllt ist. In diesem Fall folgt noch ein weiterer Eintrag (Folgeeintrag).  
 + 
 +In der Blocktabelle stehen die vom File belegten Blocknummern. 
 +Die Blocktabelle kann bei 8-Bit Blocknummern bis zu 16 Blöcke und bei 16-Bit Blocknummern bis zu 8 Blöcke umfassen.  
 + 
 + 
 +Random Record Number = Extendgruppe * 32 * 128 + Extendnummer * 128 + Aktuelle_Recordnummer_im_Extend 
 + 
 + 
 +max. Dateigröße: EG=15, EX=31, CR=127 -> 15*32*128+31*128+127 = 65535 Records = 65535*128 Byte = 8 MByte. 
 + 
 +Auch daraus folgt wieder, dass maximal 65535 Records pro Datei adressiert werden können.
  
 <code> <code>
 +EX Höchste Extendnummer des Eintrags (0..31)
 +S1 unbenutzt, immer 0
 +EG Höchste Extendgruppe des Eintrags (0..15) (auch als S2 bezeichnet)
 +RC Anzahl der Records im Extend EX (0..127)
 +B1...Bn Nummern der belegten Blöcke (Blocktabelle)
 +
 +
        /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     0123456789ABCDEF0123456789ABCDEF        /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     0123456789ABCDEF0123456789ABCDEF
                                                                                                                                                                                                                        
Zeile 12: Zeile 42:
 16 Bit-Blocknummern 16 Bit-Blocknummern
  
-L80.COM belegt die Blöcke 52..57, insg. 54h Records = 54h*128 = 2A00h = 10,5 KByte Dateilänge, insg. 6 Blöcke +L80.COM belegt die Blöcke 52..57, insg. RC = 54h Records = 54h*128 = 2A00h = 10,5 KByte Dateilänge, insg. 6 Blöcke 
-LIB.COM belegt die Blöcke 58..5A, insg. 25h Records = 25h*128 = 1280h = 4,6 KByte Dateilänge , insg. 3 Blöcke +LIB.COM belegt die Blöcke 58..5A, insg. RC = 25h Records = 25h*128 = 1280h = 4,6 KByte Dateilänge , insg. 3 Blöcke 
-M80.COM belegt die Blöcke 5E..67, insg. 80h+1Dh Records = 91h*128 = 4880h  = 18,1 KByte Dateilänge, insg. 10 Blöcke+M80.COM belegt die Blöcke 5E..67, insg. RC = 80h+1Dh Records = 91h*128 = 4880h  = 18,1 KByte Dateilänge, insg. 10 Blöcke 
 +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)
  
 (damit ergibt sich eine Blockgröße von 2 KByte) (damit ergibt sich eine Blockgröße von 2 KByte)
- 
-EX=1, d.h. 1. zusätzlicher DIR-Eintrag zu einer Datei (M80.COM) 
 </code> </code>
  • cpm/fcb.txt
  • Zuletzt geändert: 2017/05/30 08:10
  • von volkerp