X-Git-Url: https://git.gag.com/?p=debian%2Fcpmtools;a=blobdiff_plain;f=cpm.ps;fp=cpm.ps;h=0000000000000000000000000000000000000000;hp=6c63133852d4a4d34e47957221600713defbf318;hb=0244ff6db7cb417c6210118e14ebc8a11924b7f6;hpb=be51a0b47ec4edacc689851a88ec6172737cb61c diff --git a/cpm.ps b/cpm.ps deleted file mode 100644 index 6c63133..0000000 --- a/cpm.ps +++ /dev/null @@ -1,478 +0,0 @@ -%!PS-Adobe-3.0 -%%Creator: groff version 1.19 -%%CreationDate: Sun Feb 3 19:48:55 2013 -%%DocumentNeededResources: font Times-Roman -%%+ font Times-Bold -%%+ font Times-Italic -%%DocumentSuppliedResources: procset grops 1.19 0 -%%Pages: 4 -%%PageOrder: Ascend -%%DocumentMedia: Default 595 842 0 () () -%%Orientation: Portrait -%%EndComments -%%BeginDefaults -%%PageMedia: Default -%%EndDefaults -%%BeginProlog -%%BeginResource: procset grops 1.19 0 -/setpacking where{ -pop -currentpacking -true setpacking -}if -/grops 120 dict dup begin -/SC 32 def -/A/show load def -/B{0 SC 3 -1 roll widthshow}bind def -/C{0 exch ashow}bind def -/D{0 exch 0 SC 5 2 roll awidthshow}bind def -/E{0 rmoveto show}bind def -/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def -/G{0 rmoveto 0 exch ashow}bind def -/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def -/I{0 exch rmoveto show}bind def -/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def -/K{0 exch rmoveto 0 exch ashow}bind def -/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def -/M{rmoveto show}bind def -/N{rmoveto 0 SC 3 -1 roll widthshow}bind def -/O{rmoveto 0 exch ashow}bind def -/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def -/Q{moveto show}bind def -/R{moveto 0 SC 3 -1 roll widthshow}bind def -/S{moveto 0 exch ashow}bind def -/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def -/SF{ -findfont exch -[exch dup 0 exch 0 exch neg 0 0]makefont -dup setfont -[exch/setfont cvx]cvx bind def -}bind def -/MF{ -findfont -[5 2 roll -0 3 1 roll -neg 0 0]makefont -dup setfont -[exch/setfont cvx]cvx bind def -}bind def -/level0 0 def -/RES 0 def -/PL 0 def -/LS 0 def -/MANUAL{ -statusdict begin/manualfeed true store end -}bind def -/PLG{ -gsave newpath clippath pathbbox grestore -exch pop add exch pop -}bind def -/BP{ -/level0 save def -1 setlinecap -1 setlinejoin -72 RES div dup scale -LS{ -90 rotate -}{ -0 PL translate -}ifelse -1 -1 scale -}bind def -/EP{ -level0 restore -showpage -}bind def -/DA{ -newpath arcn stroke -}bind def -/SN{ -transform -.25 sub exch .25 sub exch -round .25 add exch round .25 add exch -itransform -}bind def -/DL{ -SN -moveto -SN -lineto stroke -}bind def -/DC{ -newpath 0 360 arc closepath -}bind def -/TM matrix def -/DE{ -TM currentmatrix pop -translate scale newpath 0 0 .5 0 360 arc closepath -TM setmatrix -}bind def -/RC/rcurveto load def -/RL/rlineto load def -/ST/stroke load def -/MT/moveto load def -/CL/closepath load def -/Fr{ -setrgbcolor fill -}bind def -/setcmykcolor where{ -pop -/Fk{ -setcmykcolor fill -}bind def -}if -/Fg{ -setgray fill -}bind def -/FL/fill load def -/LW/setlinewidth load def -/Cr/setrgbcolor load def -/setcmykcolor where{ -pop -/Ck/setcmykcolor load def -}if -/Cg/setgray load def -/RE{ -findfont -dup maxlength 1 index/FontName known not{1 add}if dict begin -{ -1 index/FID ne{def}{pop pop}ifelse -}forall -/Encoding exch def -dup/FontName exch def -currentdict end definefont pop -}bind def -/DEFS 0 def -/EBEGIN{ -moveto -DEFS begin -}bind def -/EEND/end load def -/CNT 0 def -/level1 0 def -/PBEGIN{ -/level1 save def -translate -div 3 1 roll div exch scale -neg exch neg exch translate -0 setgray -0 setlinecap -1 setlinewidth -0 setlinejoin -10 setmiterlimit -[]0 setdash -/setstrokeadjust where{ -pop -false setstrokeadjust -}if -/setoverprint where{ -pop -false setoverprint -}if -newpath -/CNT countdictstack def -userdict begin -/showpage{}def -/setpagedevice{}def -}bind def -/PEND{ -clear -countdictstack CNT sub{end}repeat -level1 restore -}bind def -end def -/setpacking where{ -pop -setpacking -}if -%%EndResource -%%BeginFeature: *PageSize Default -<< /PageSize [ 595 842 ] /ImagingBBox null >> setpagedevice -%%EndFeature -%%IncludeResource: font Times-Roman -%%IncludeResource: font Times-Bold -%%IncludeResource: font Times-Italic -grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 -def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron -/Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent -/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen -/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon -/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O -/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex -/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y -/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft -/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl -/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut -/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash -/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen -/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft -/logicalnot/minus/registered/macron/degree/plusminus/twosuperior -/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior -/ordmasculine/guilsinglright/onequarter/onehalf/threequarters -/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE -/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex -/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis -/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn -/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla -/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis -/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash -/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def -/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0/Times-Bold RE -/Times-Roman@0 ENC0/Times-Roman RE -%%EndProlog -%%Page: 1 1 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF 174.415(CPM\(5\) File)72 48 R 174.415 -(formats CPM\(5\))2.5 F/F1 10.95/Times-Bold@0 SF -.219(NA)72 84 S(ME) -.219 E F0(cpm \255 CP/M disk and \214le system format)108 96 Q F1 -(DESCRIPTION)72 112.8 Q/F2 10/Times-Bold@0 SF(Characteristic sizes)87 -124.8 Q F0(Each CP/M disk format is described by the follo)108 136.8 Q -(wing speci\214c sizes:)-.25 E(Sector size in bytes)144 160.8 Q -(Number of tracks)144 172.8 Q(Number of sectors)144 184.8 Q(Block size) -144 196.8 Q(Number of directory entries)144 208.8 Q(Logical sector sk) -144 220.8 Q -.25(ew)-.1 G(Number of reserv)144 232.8 Q -(ed system tracks \(optional\))-.15 E(Of)144 244.8 Q(fset to start of v) --.25 E(olume \(optional\))-.2 E 2.848(Ab)108 268.8 S .348 -(lock is the smallest allocatable storage unit.)-2.848 F .347 -(CP/M supports block sizes of 1024, 2048, 4096, 8192 and)5.348 F .207 -(16384 bytes.)108 280.8 R(Unfortunately)5.207 E 2.707(,t)-.65 G .208(hi\ -s format speci\214cation is not stored on the disk and there are lots o\ -f formats.)-2.707 F(Accessing a block is performed by accessing its sec\ -tors, which are stored with the gi)108 292.8 Q -.15(ve)-.25 G 2.5(ns).15 -G(oftw)-2.5 E(are sk)-.1 E -.25(ew)-.1 G(.)-.4 E F2(De)87 309.6 Q -(vice ar)-.15 E(eas)-.18 E F0 2.5(AC)108 321.6 S -(P/M disk contains three areas:)-2.5 E -1.29(Vo)144 345.6 S(lume of)1.29 -E(fset \(optional\))-.25 E(System tracks \(optional\))144 357.6 Q -(Directory)144 369.6 Q(Data)144 381.6 Q .058 -(The system tracks store the boot loader and CP/M itself.)108 405.6 R -.058(In order to sa)5.058 F .358 -.15(ve d)-.2 H .057 -(isk space, there are non-bootable).15 F 1.55 -(formats which omit those system tracks.)108 417.6 R 1.55(The term)6.55 -F/F3 10/Times-Italic@0 SF 1.55(disk capacity)4.05 F F0(al)4.05 E -.1(wa) --.1 G 1.55(ys e).1 F 1.55(xcludes the space for system)-.15 F 2.748 -(tracks. Note)108 429.6 R .248 -(that there is no bitmap or list for free blocks.)2.748 F .248 -(When accessing a dri)5.248 F .548 -.15(ve f)-.25 H .248 -(or the \214rst time, CP/M).15 F -.2(bu)108 441.6 S -(ilds this bitmap in core from the directory).2 E(.)-.65 E 3.15(Ah)108 -458.4 S .65(ard disk can ha)-3.15 F .95 -.15(ve t)-.2 H .65 -(he additional notion of a).15 F F3 .65(volume of)3.15 F(fset)-.18 E F0 -.65(to locate the start of the dri)3.15 F .95 -.15(ve i)-.25 H .65 -(mage \(which).15 F .531(may or may not ha)108 470.4 R .831 -.15(ve s) --.2 H .531(ystem tracks associated with it\). The base unit for v).15 F -.53(olume of)-.2 F .53(fset is byte count from)-.25 F 1.224(the be)108 -482.4 R 1.224(ginning of the ph)-.15 F 1.224(ysical disk, b)-.05 F 1.225 -(ut speci\214ers of)-.2 F F3(K)3.725 E F0(,)A F3(M)3.725 E F0(,)A F3(T) -3.725 E F0(or)3.725 E F3(S)3.725 E F0 1.225 -(may be appended to denote kilobytes,)3.725 F(me)108 494.4 Q -.05(ga) --.15 G .806(bytes, tracks or sectors.).05 F .806(If pro)5.806 F .805 -(vided, a speci\214er must immediately follo)-.15 F 3.305(wt)-.25 G .805 -(he numeric v)-3.305 F .805(alue with no)-.25 F 2.881(whitespace. F)108 -506.4 R .381(or con)-.15 F -.15(ve)-.4 G .381(nience upper and lo).15 F -.381(wer case are both accepted and only the \214rst letter is signi\ -\214cant,)-.25 F .02(thus 2KB, 8MB, 1000trk and 16sec are v)108 518.4 R -.019(alid v)-.25 F .019(alues. Of)-.25 F .019 -(fset must appear subsequent to track, sector and sec-)-.25 F -(tor length v)108 530.4 Q(alues.)-.25 E F2(Dir)87 547.2 Q -(ectory entries)-.18 E F0 .408 -(The directory is a sequence of directory entries \(also called e)108 -559.2 R .409(xtents\), which contain 32 bytes of the follo)-.15 F(w-) --.25 E(ing structure:)108 571.2 Q 4.16(St F0)144 595.2 R 1.94 -(F1 F2 F3 F4 F5 F6 F7 E0)4.44 F 1.39(E1 E2 Xl)3.89 F 1.39(Bc Xh)5 F(Rc) -2.78 E 2.5(Al Al Al Al Al Al Al Al Al Al Al Al Al Al Al Al)144 607.2 R -F2(St)108 631.2 Q F0(is the status; possible v)2.5 E(alues are:)-.25 E -(0\21115: used for \214le, status is the user number)144 655.2 Q .795(1\ -6\21131: used for \214le, status is the user number \(P2DOS\) or used f\ -or passw)144 667.2 R .794(ord e)-.1 F .794(xtent \(CP/M 3 or)-.15 F -(higher\))144 679.2 Q(32: disc label)144 691.2 Q -(33: time stamp \(P2DOS\))144 703.2 Q(0xE5: unused)144 715.2 Q -(CP/M tools)72 768 Q(February 18, 2012)151.35 E(1)192.2 E 0 Cg EP -%%Page: 2 2 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF 174.415(CPM\(5\) File)72 48 R 174.415 -(formats CPM\(5\))2.5 F/F1 10/Times-Bold@0 SF(F0\211E2)108 84 Q F0 .412 -(are the \214le name and its e)2.912 F 2.913(xtension. The)-.15 F 2.913 -(ym)-.15 G .413(ay consist of an)-2.913 F 2.913(yp)-.15 G .413 -(rintable 7 bit ASCII character b)-2.913 F(ut:)-.2 E F1(<)2.913 E 3.362 -(>.,;:=?*[])108 96 S F0 5.862(.T)-3.362 G .862 -(he \214le name must not be empty)-5.862 F 3.361(,t)-.65 G .861(he e) --3.361 F .861(xtension may be empty)-.15 F 5.861(.B)-.65 G .861 -(oth are padded with)-5.861 F 2.831(blanks. The)108 108 R .331 -(highest bit of each character of the \214le name and e)2.831 F .331 -(xtension is used as attrib)-.15 F 2.832(ute. The)-.2 F(attrib)2.832 E -(utes)-.2 E(ha)108 120 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meaning:)-.25 E(F0: requires set wheel byte \(Backgrounder II\)) -144 144 Q(F1: public \214le \(P2DOS, ZSDOS\), for)144 156 Q -(ground-only command \(Backgrounder II\))-.18 E -(F2: date stamp \(ZSDOS\), background-only commands \(Backgrounder II\)) -144 168 Q(F7: wheel protect \(ZSDOS\))144 180 Q(E0: read-only)144 192 Q -(E1: system \214le)144 204 Q(E2: archi)144 216 Q -.15(ve)-.25 G(d).15 E -.338(Public \214les \(visible under each user number\) are not supporte\ -d by CP/M 2.2, b)108 240 R .338(ut there is a patch and some)-.2 F -(free CP/M clones support them without an)108 252 Q 2.5(yp)-.15 G -(atches.)-2.5 E .827(The wheel byte is \(by def)108 268.8 R .828 -(ault\) the memory location at 0x4b)-.1 F 5.828(.I)-.4 G 3.328(fi)-5.828 -G 3.328(ti)-3.328 G 3.328(sz)-3.328 G .828(ero, only non-pri)-3.328 F -(vile)-.25 E .828(ged commands)-.15 F(may be e)108 280.8 Q -.15(xe)-.15 -G(cuted.).15 E F1(Xl)108 297.6 Q F0(and)2.546 E F1(Xh)2.546 E F0 .046 -(store the e)2.546 F .046(xtent number)-.15 F 5.046(.A)-.55 G .045 -(\214le may use more than one directory entry)-2.5 F 2.545(,i)-.65 G -2.545(fi)-2.545 G 2.545(tc)-2.545 G .045(ontains more blocks)-2.545 F -.21(than an e)108 309.6 R .21(xtent can hold.)-.15 F .21 -(In this case, more e)5.21 F .21 -(xtents are allocated and each of them is numbered sequentially)-.15 F -.457(with an e)108 321.6 R .457(xtent number)-.15 F 5.457(.I)-.55 G -2.957(fap)-5.457 G -.05(hy)-2.957 G .457(sical e).05 F .456 -(xtent stores more than 16k, it is considered to contain multiple logi-) --.15 F .234(cal e)108 333.6 R .234 -(xtents, each pointing to 16k data, and the e)-.15 F .234 -(xtent number of the last used logical e)-.15 F .235(xtent is stored.) --.15 F(Note:)5.235 E 1.55(Some formats decided to al)108 345.6 R -.1(wa) --.1 G 1.549(ys store only one logical e).1 F 1.549(xtent in a ph)-.15 F -1.549(ysical e)-.05 F 1.549(xtent, thus w)-.15 F 1.549(asting e)-.1 F -(xtent)-.15 E 2.81(space. CP/M)108 357.6 R .31(2.2 allo)2.81 F .31 -(ws 512 e)-.25 F .31(xtents per \214le, CP/M 3 and higher allo)-.15 F -2.811(wu)-.25 G 2.811(pt)-2.811 G 2.811(o2)-2.811 G 2.811(048. Bit) --2.811 F .311(5\2117 of Xl are 0, bit)2.811 F .577(0\2114 store the lo) -108 369.6 R .577(wer bits of the e)-.25 F .576(xtent number)-.15 F 5.576 -(.B)-.55 G .576 -(it 6 and 7 of Xh are 0, bit 0\2115 store the higher bits of the)-5.576 -F -.15(ex)108 381.6 S(tent number).15 E(.)-.55 E F1(Rc)108 398.4 Q F0 -(and)2.946 E F1(Bc)2.946 E F0 .446 -(determine the length of the data used by this e)2.946 F 2.946 -(xtent. The)-.15 F(ph)2.947 E .447(ysical e)-.05 F .447(xtent is di)-.15 -F .447(vided into logical)-.25 F -.15(ex)108 410.4 S .156 -(tents, each of them being 16k in size \(a ph).15 F .156(ysical e)-.05 F -.156(xtent must hold at least one logical e)-.15 F .156 -(xtent, e.g. a block-)-.15 F .053(size of 1024 byte with tw)108 422.4 R -.054(o-byte block pointers is not allo)-.1 F 2.554(wed\). Rc)-.25 F .054 -(stores the number of 128 byte records of)2.554 F .457 -(the last used logical e)108 434.4 R 2.957(xtent. Bc)-.15 F .456 -(stores the number of bytes in the last used record.)2.957 F .456(The v) -5.456 F .456(alue 0 means 128)-.25 F .654(for backw)108 446.4 R .654 -(ard compatibility with CP/M 2.2, which did not support Bc.)-.1 F .655 -(ISX records the number of unused)5.655 F(instead of used bytes in Bc.) -108 458.4 Q F1(Al)108 475.2 Q F0 .9(stores block pointers.)3.4 F .899(I\ -f the disk capacity is less than 256 blocks, Al is interpreted as 16 by\ -te-v)5.9 F(alues,)-.25 E .243(otherwise as 8 double-byte-v)108 487.2 R -2.743(alues. A)-.25 F .243 -(block pointer of 0 marks a hole in the \214le.)2.743 F .243 -(If a hole co)5.243 F -.15(ve)-.15 G .243(rs the range).15 F .341 -(of a full e)108 499.2 R .341(xtent, the e)-.15 F .341 -(xtent will not be allocated.)-.15 F .34(In particular)5.341 F 2.84(,t) --.4 G .34(he \214rst e)-2.84 F .34 -(xtent of a \214le does not neccessarily)-.15 F(ha)108 511.2 Q .479 -.15 -(ve ex)-.2 H .179(tent number 0.).15 F 2.679<418c>5.179 G .18 -(le may not share blocks with other \214les, as its blocks w)-2.679 F -.18(ould be freed if the other)-.1 F .822 -(\214les is erased without a follo)108 523.2 R .822 -(wing disk system reset.)-.25 F .822 -(CP/M returns EOF when it reaches a hole, whereas)5.822 F -(UNIX returns zero-v)108 535.2 Q(alue bytes, which mak)-.25 E -(es holes in)-.1 E(visible.)-.4 E F1(Nati)87 552 Q .2 -.1(ve t)-.1 H -(ime stamps).1 E F0 1.053(P2DOS and CP/M Plus support time stamps, whic\ -h are stored in each fourth directory entry)108 564 R 6.054(.T)-.65 G -1.054(his entry)-6.054 F 1.3(contains the time stamps for the e)108 576 -R 1.299(xtents using the pre)-.15 F 1.299 -(vious three directory entries.)-.25 F 1.299(Note that you really)6.299 -F(ha)108 588 Q 1.294 -.15(ve t)-.2 H .994(ime stamps for each e).15 F -.994(xtent, no matter if it is the \214rst e)-.15 F .994 -(xtent of a \214le or not.)-.15 F .995(The structure of time)5.994 F -(stamp entries is:)108 600 Q 2.5(1b)144 624 S(yte status 0x21)-2.5 E 2.5 -(8b)144 636 S(ytes time stamp for third-last directory entry)-2.5 E 2.5 -(2b)144 648 S(ytes unused)-2.5 E 2.5(8b)144 660 S -(ytes time stamp for second-last directory entry)-2.5 E 2.5(2b)144 672 S -(ytes unused)-2.5 E 2.5(8b)144 684 S -(ytes time stamp for last directory entry)-2.5 E 2.872(At)108 708 S .372 -(ime stamp consists of tw)-2.872 F 2.872(od)-.1 G .372(ates: Creation a\ -nd modi\214cation date \(the latter being recorded when the \214le) --2.872 F .935(is closed\).)108 720 R .936(CP/M Plus further allo)5.935 F -.936(ws optionally to record the access instead of creation date as \ -\214rst time)-.25 F(CP/M tools)72 768 Q(February 18, 2012)151.35 E(2) -192.2 E 0 Cg EP -%%Page: 3 3 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF 174.415(CPM\(5\) File)72 48 R 174.415 -(formats CPM\(5\))2.5 F(stamp.)108 84 Q 2.5(2b)144 108 S -(ytes \(little-endian\) days starting with 1 at 01-01-1978)-2.5 E 2.5 -(1b)144 120 S(yte hour in BCD format)-2.5 E 2.5(1b)144 132 S -(yte minute in BCD format)-2.5 E/F1 10/Times-Bold@0 SF -(DateStamper time stamps)87 160.8 Q F0 .552(The DateStamper softw)108 -172.8 R .552(are added functions to the BDOS to manage time stamps by a\ -llocating a read only)-.1 F .441(\214le with the name "!!!TIME&.D)108 -184.8 R -1.11(AT)-.4 G 2.941("i)1.11 G 2.941(nt)-2.941 G .441(he v) --2.941 F .441(ery \214rst directory entry)-.15 F 2.941(,c)-.65 G -.15 -(ove)-2.941 G .441(ring the v).15 F .442(ery \214rst data blocks.)-.15 F -(It)5.442 E(contains one entry per directory entry with the follo)108 -196.8 Q(wing structure of 16 bytes:)-.25 E 2.5(5b)144 220.8 S -(ytes create date\214eld)-2.5 E 2.5(5b)144 232.8 S -(ytes access date\214eld)-2.5 E 2.5(5b)144 244.8 S -(ytes modify date\214eld)-2.5 E 2.5(1b)144 256.8 S(yte checksum)-2.5 E -.237(The checksum is only used on e)108 280.8 R -.15(ve)-.25 G .236(ry \ -8th entry \(last entry in 128-byte record\) and is the sum of the \214r\ -st 127).15 F(bytes of the record.)108 292.8 Q -(Each date\214eld has this structure:)5 E 2.5(1b)144 316.8 S -(yte BCD coded year \(no century)-2.5 E 2.5(,s)-.65 G 2.5(oi)-2.5 G 2.5 -(ti)-2.5 G 2.5(ss)-2.5 G(ane assuming an)-2.5 E 2.5(yy)-.15 G -(ear < 70 means 21st century\))-2.5 E 2.5(1b)144 328.8 S -(yte BCD coded month)-2.5 E 2.5(1b)144 340.8 S(yte BCD coded day)-2.5 E -2.608(1b)144 352.8 S .108(yte BCD coded hour or)-2.608 F 2.608(,i)-.4 G -2.608(ft)-2.608 G .108(he high bit is set, the high byte of a counter f\ -or systems without real)-2.608 F(time clock)144 364.8 Q 2.5(1b)144 376.8 -S(yte BCD coded minute, or the lo)-2.5 E 2.5(wb)-.25 G -(yte of the counter)-2.5 E F1(Disc labels)87 405.6 Q F0 .258(CP/M Plus \ -support disc labels, which are stored in an arbitrary directory entry) -108 417.6 R 5.257(.T)-.65 G .257(he structure of disc labels)-5.257 F -(is:)108 429.6 Q 2.5(1b)144 453.6 S(yte status 0x20)-2.5 E F1(F0\211E2) -144 465.6 Q F0(are the disc label)2.5 E 2.886(1b)144 477.6 S .386 -(yte mode: bit 7 acti)-2.886 F -.25(va)-.25 G .386(tes passw).25 F .387 -(ord protection, bit 6 causes time stamps on access, b)-.1 F .387 -(ut 5 causes)-.2 F .874(time stamps on modi\214cations, bit 4 causes ti\ -me stamps on creation and bit 0 is set when a label)144 489.6 R -.15(ex) -144 501.6 S 2.5(ists. Bit).15 F 2.5(4a)2.5 G(nd 6 are e)-2.5 E(xclusi) --.15 E -.15(ve)-.25 G(ly set.).15 E 3.45(1b)144 513.6 S .95(yte passw) --3.45 F .95(ord decode byte: T)-.1 F 3.45(od)-.8 G .951(ecode the passw) --3.45 F .951(ord, xor this byte with the passw)-.1 F .951(ord bytes in) --.1 F(re)144 525.6 Q -.15(ve)-.25 G(rse order).15 E 5(.T)-.55 G 2.5(oe) --5.8 G(ncode a passw)-2.5 E -(ord, add its characters to get the decode byte.)-.1 E 2.5(2r)144 537.6 -S(eserv)-2.5 E(ed bytes)-.15 E 2.5(8p)144 549.6 S(assw)-2.5 E(ord bytes) --.1 E 2.5(4b)144 561.6 S(ytes label creation time stamp)-2.5 E 2.5(4b) -144 573.6 S(ytes label modi\214cation time stamp)-2.5 E F1 -.1(Pa)87 -602.4 S(ssw).1 E(ords)-.1 E F0 1.484(CP/M Plus supports passw)108 614.4 -R 1.484(ords, which are stored in an arbitrary directory entry)-.1 F -6.484(.T)-.65 G 1.484(he structure of these)-6.484 F(entries is:)108 -626.4 Q 2.5(1b)144 650.4 S(yte status \(user number plus 16\))-2.5 E F1 -(F0\211E2)144 662.4 Q F0(are the \214le name and its e)2.5 E(xtension.) --.15 E 3.171(1b)144 674.4 S .671(yte passw)-3.171 F .671 -(ord mode: bit 7 means passw)-.1 F .672 -(ord required for reading, bit 6 for writing and bit 5 for)-.1 F -(deleting.)144 686.4 Q 3.451(1b)144 698.4 S .951(yte passw)-3.451 F .951 -(ord decode byte: T)-.1 F 3.451(od)-.8 G .951(ecode the passw)-3.451 F -.95(ord, xor this byte with the passw)-.1 F .95(ord bytes in)-.1 F(re) -144 710.4 Q -.15(ve)-.25 G(rse order).15 E 5(.T)-.55 G 2.5(oe)-5.8 G -(ncode a passw)-2.5 E(ord, add its characters to get the decode byte.) --.1 E 2.5(2r)144 722.4 S(eserv)-2.5 E(ed bytes)-.15 E(CP/M tools)72 768 -Q(February 18, 2012)151.35 E(3)192.2 E 0 Cg EP -%%Page: 4 4 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF 174.415(CPM\(5\) File)72 48 R 174.415 -(formats CPM\(5\))2.5 F 2.5(8p)144 84 S(assw)-2.5 E(ord bytes)-.1 E/F1 -10.95/Times-Bold@0 SF(SEE ALSO)72 112.8 Q/F2 10/Times-Italic@0 SF -(mkfs.cpm)108 124.8 Q F0(\(1\),).32 E F2(fsc)2.5 E(k.cpm)-.2 E F0 -(\(1\),).32 E F2(fsed.cpm)2.5 E F0(\(1\),).32 E F2(cpmls)2.5 E F0(\(1\)) -.27 E(CP/M tools)72 768 Q(February 18, 2012)151.35 E(4)192.2 E 0 Cg EP -%%Trailer -end -%%EOF