(FILECREATED "28-Jul-86 16:43:09" ("compiled on " {DSK}VPCDISK.;5) "12-Nov-85 14:59:23" recompiled changes: PRINDIRSTR STR2INT \VPCF.READPAGES VPCDISK.FLOPPY.TO.FILE VPCDISK.FILE.TO.FLOPPY VPCDISK.INSTALL VPCDISK.CREATE.DEVICE \VPCDISK.CREATE.FLOPPY VPCDISK.DELETE.DEVICE VPCDISK.FREEPAGES VPCDISK.GETPARTITION# VPCDISK.CHANGE.PARTITION.TYPE \VPCF.INITIALIZE.DISK \VPCF.FIND.DIR.ENTRY \VPCF.DIR.LOOKUP \VPCF.SEARCH.DIR \VPCF.READ.DIR.ENTRY \VPCF.FIND.FREE.DIR.ENTRY \VPCF.WRITE.DIR.ENTRY \VPCF.READ.FILE.DATE \VPCF.WRITE.FILE.DATE \VPCF.ROOTDIRECTORY \VPCF.NEXT.DIR.CLUSTER \VPCF.CLUSTER.TO.FILEPOS \VPCF.MAPDIR \VPCF.READ.FAT.CHAIN \VPCF.GENERATEFILES \VPCF.FILEMATCH \VPCF.FILEMATCH1 \VPCF.NEXTFILEFN \VPCF.FILEINFOFN \VPCF.GETFILEINFO \VPCF.SETFILEINFO \VPCF.OPEN.BACKING.STREAM \VPCF.CLOSE.BACKING.STREAM \VPCF.EOFP \VPCF.SETFILEPTR \VPCF.GETFILEPTR \VPCF.BACKFILEPTR \VPCF.SETEOFPTR \VPCF.GETEOFPTR \VPCF.UPDATEOF \VPCF.OPENFILE \VPCF.OPEN.FOR.INPUT \VPCF.OPEN.FOR.OUTPUT \VPCF.OPEN.FOR.BOTH \VPCF.OPEN.FOR.APPEND \VPCF.REOPENFILE \VPCF.CLOSEFILE \VPCF.DELETEFILE \VPCF.SEARCHOFDS \VPCF.DELETEOFD \VPCF.ADDOFD \VPCF.PARSENAME \VPCF.GETFILENAME \VPCF.GET.DISK \VPCF.GETNEXTBUFFER \VPCF.READ.CLUSTER \VPCF.WRITE.CLUSTER \VPCF.GET.NEXT.CLUSTER \VPCF.ALLOCATE.CLUSTERS \VPCF.ALLOCATE.CLUSTER \VPCF.DEALLOCATE.CLUSTERS \VPCF.MARK.THE.FAT \VPCF.PRINT.FATS \VPCF.GET.CLUSTER.CHAIN \VPCF.DIRTEST in "INTERLISP-D 11-May-86 ..." dated "11-May-86 15:19:08") (FILECREATED "28-Jul-86 16:40:40" {DSK}VPCDISK.;5 113373 changes to: (FNS PRINDIRSTR STR2INT \VPCF.READPAGES VPCDISK.FLOPPY.TO.FILE VPCDISK.FILE.TO.FLOPPY VPCDISK.INSTALL VPCDISK.CREATE.DEVICE \VPCDISK.CREATE.FLOPPY VPCDISK.DELETE.DEVICE VPCDISK.FREEPAGES VPCDISK.GETPARTITION# VPCDISK.CHANGE.PARTITION.TYPE \VPCF.INITIALIZE.DISK \VPCF.FIND.DIR.ENTRY \VPCF.DIR.LOOKUP \VPCF.SEARCH.DIR \VPCF.READ.DIR.ENTRY \VPCF.FIND.FREE.DIR.ENTRY \VPCF.WRITE.DIR.ENTRY \VPCF.READ.FILE.DATE \VPCF.WRITE.FILE.DATE \VPCF.ROOTDIRECTORY \VPCF.NEXT.DIR.CLUSTER \VPCF.CLUSTER.TO.FILEPOS \VPCF.MAPDIR \VPCF.READ.FAT.CHAIN \VPCF.GENERATEFILES \VPCF.FILEMATCH \VPCF.FILEMATCH1 \VPCF.NEXTFILEFN \VPCF.FILEINFOFN \VPCF.GETFILEINFO \VPCF.SETFILEINFO \VPCF.OPEN.BACKING.STREAM \VPCF.CLOSE.BACKING.STREAM \VPCF.EOFP \VPCF.SETFILEPTR \VPCF.GETFILEPTR \VPCF.SETEOFPTR \VPCF.GETEOFPTR \VPCF.UPDATEOF \VPCF.BACKFILEPTR \VPCF.OPENFILE \VPCF.OPEN.FOR.INPUT \VPCF.OPEN.FOR.OUTPUT \VPCF.OPEN.FOR.BOTH \VPCF.OPEN.FOR.APPEND \VPCF.REOPENFILE \VPCF.CLOSEFILE \VPCF.DELETEFILE \VPCF.SEARCHOFDS \VPCF.DELETEOFD \VPCF.ADDOFD \VPCF.PARSENAME \VPCF.GETFILENAME \VPCF.GET.DISK \VPCF.GETNEXTBUFFER \VPCF.READ.CLUSTER \VPCF.WRITE.CLUSTER \VPCF.GET.NEXT.CLUSTER \VPCF.ALLOCATE.CLUSTERS \VPCF.ALLOCATE.CLUSTER \VPCF.DEALLOCATE.CLUSTERS \VPCF.MARK.THE.FAT \VPCF.PRINT.FATS \VPCF.GET.CLUSTER.CHAIN \VPCF.DIRTEST) (VARS VPCDISKCOMS) previous date: "28-Jul-86 14:56:21" {DSK}VPCDISK.;4) PRINDIRSTR D1 (I 2 STREAM I 1 X I 0 NAME) 2@ A@kA B @B A@ HjBl !HkXI(33Q NCHARS 26Q PRIN3 20Q PRIN3 14Q SUBSTRING 3 NCHARS) NIL () STR2INT D1 (I 1 POS I 0 STR) )@Ad @AkAk Hdgjl I(25Q GNC 22Q SUBSTRING 10Q GNC 5 SUBSTRING) (35Q % ) () \VPCF.READPAGES D1 (P 1 FILE P 0 BUFFER I 2 NOERRORFLG I 1 WHATFOR I 0 STREAM) S@@ H @I li ZJAdgIHB @jgh(120Q SHOULDNT 75Q \VPCF.READ.CLUSTER 51Q \ALLOCBLOCK) (111Q WRITE 101Q STREAM 64Q READ 36Q VPCDISK 31Q VPCFFILE 25Q STREAM 11Q STREAM 3 STREAM) () VPCDISK.FLOPPY.TO.FILEA0001 D1 (NAME ERRORSET L (0 NIL) P 1 I F 3 RESETVARSLST F 4 STREAM F 5 FLOPPYTYPE F 6 \FLOPPY.SCRATCH.BUFFER F 7 \FLOPPY.SECTORSPERTRACK F 10Q \FLOPPY.TRACKSPERCYLINDER F 11Q RESETY) gThhhScgd gUdll'dlldlldlklk Scgd gUdll)dlldll dll ll ScWWl(kIdHhciV T8TVjnlJIkY(264Q \PFLOPPY.READPAGENO 223Q SETTOPVAL 220Q SHOULDNT 132Q GETTOPVAL 115Q SETTOPVAL 112Q SHOULDNT 26Q GETTOPVAL) (276Q FDEV 271Q STREAM 136Q \FLOPPY.SECTORSPERTRACK 126Q \FLOPPY.SECTORSPERTRACK 32Q \FLOPPY.TRACKSPERCYLINDER 22Q \FLOPPY.TRACKSPERCYLINDER 2 CLOSEF) () VPCDISK.FLOPPY.TO.FILE D1 (P 4 RESETZ P 3 RESETY P 2 LISPXHIST P 1 FLOPPYTYPE P 0 STREAM I 0 TOFILE F 5 \FLOPPY.SCRATCH.BUFFER F 6 LISPXHIST F 7 RESETVARSLST) ;@gg lU UjV!Wog hg\ Lh(67Q ERROR! 60Q RESETRESTORE 46Q VPCDISK.FLOPPY.TO.FILEA0001 17Q \PFLOPPY.READPAGENO 11Q OPENSTREAM) (54Q ERROR 43Q INTERNAL 6 NEW 3 OUTPUT) ( 40Q (VPCDISK.FLOPPY.TO.FILEA0001)) VPCDISK.FILE.TO.FLOPPYA0001 D1 (NAME ERRORSET L (0 NIL) P 1 I F 3 RESETVARSLST F 4 STREAM F 5 FLOPPYTYPE F 6 \FLOPPY.SCRATCH.BUFFER F 7 \FLOPPY.SECTORSPERTRACK F 10Q \FLOPPY.TRACKSPERCYLINDER F 11Q RESETY) gThhhScgd gUdll'dlldlldlklk Scgd gUdll)dlldll dll ll ScWWl(kIHhciT6TVjnlJIV IkY(313Q \PFLOPPY.WRITEPAGENO 223Q SETTOPVAL 220Q SHOULDNT 132Q GETTOPVAL 115Q SETTOPVAL 112Q SHOULDNT 26Q GETTOPVAL) (270Q FDEV 263Q STREAM 136Q \FLOPPY.SECTORSPERTRACK 126Q \FLOPPY.SECTORSPERTRACK 32Q \FLOPPY.TRACKSPERCYLINDER 22Q \FLOPPY.TRACKSPERCYLINDER 2 CLOSEF) () VPCDISK.FILE.TO.FLOPPY D1 (P 4 RESETZ P 3 RESETY P 2 LISPXHIST P 1 FLOPPYTYPE P 0 STREAM I 0 FROMFILE F 5 LISPXHIST F 6 RESETVARSLST) B@gg Hn H Hj U!Vog hg\ Lh(76Q ERROR! 67Q RESETRESTORE 55Q VPCDISK.FILE.TO.FLOPPYA0001 36Q SETFILEPTR 23Q SETFILEPTR 11Q OPENSTREAM) (63Q ERROR 52Q INTERNAL 6 OLD 3 INPUT) ( 47Q (VPCDISK.FILE.TO.FLOPPYA0001)) VPCDISK.INSTALL D1 NIL g`dgdgdgdgdgdgdgdg dkpdg>dg dgdgdgdg dg"dg.dg0dg@dg2dg&dg4dgdh(dg:dg8dg6dg*dg$ (321Q \DEFINEDEVICE) (313Q \GENERIC.READP 304Q NILL 275Q \GENERIC.BINS 266Q \GENERIC.BOUTS 257Q \GENERIC.RENAMEFILE 243Q \VPCF.DELETEFILE 234Q \VPCF.EOFP 225Q \VPCF.BACKFILEPTR 216Q \VPCF.GETEOFPTR 207Q \VPCF.SETEOFPTR 200Q \VPCF.GETFILEPTR 171Q \VPCF.SETFILEPTR 162Q \BUFFERED.PEEKBIN 153Q \BUFFERED.BOUT 144Q \BUFFERED.BIN 135Q \VPCF.GETFILENAME 126Q \VPCF.SETFILEINFO 117Q \VPCF.GETFILEINFO 110Q \VPCF.GETNEXTBUFFER 73Q \VPCF.GENERATEFILES 64Q \VPCF.CLOSEFILE 55Q \VPCF.OPENFILE 46Q NILL 37Q \VPCF.REOPENFILE 30Q TRUE 21Q NILL 12Q PCDISK 5 FDEVTYPE# 2 PCDISK) () VPCDISK.CREATE.DEVICEA0001A0002 D1 (I 0 STREAM F 0 WASOPEN) P@ (6 CLOSEF?) NIL () VPCDISK.CREATE.DEVICEA0001 D1 (NAME ERRORSET L (0 NIL) F 2 DISK F 3 FDEV F 4 NAME F 5 DISKS F 6 STREAM F 7 FILE F 10Q RESETVARSLST F 11Q WASOPEN F 12Q RIGID F 13Q PARTITION# F 14Q DWIMWAIT F 15Q RESETY)  S(c WWg Wgg c gVhhhWcUHPhcroi Ti oi i Wgo dg0R" SRU ()TIIiHXgoT VTWW cSRS(HI(Ici(272Q \VPCF.INITIALIZE.DISK 260Q SHOULDNT 254Q ERROR 205Q DREMOVE 173Q CLOSEF 152Q ASKUSER 135Q TERPRI 130Q PRIN1 117Q PRIN1 111Q PRIN1 37Q OPENSTREAM 23Q GETSTREAM) (306Q FDEV 301Q FDEV 242Q N 220Q VPCDISK 200Q FDEV 166Q VPCDISK 156Q Y 143Q Y 45Q VPCDISK.CREATE.DEVICEA0001A0002 34Q OLD 31Q BOTH 20Q BOTH 3 FDEV) ( 250Q "name in use" 147Q "Replace it? " 124Q "." 105Q "Already disk named ") VPCDISK.CREATE.DEVICE D1 (P 7 RESETZ P 6 RESETY P 5 LISPXHIST P 4 DISK P 3 DISKS P 2 STREAM P 1 FDEV P 0 WASOPEN I 3 PARTITION# I 2 RIGID I 1 FILE I 0 NAME F 10Q LISPXHIST F 11Q RESETVARSLST) H@d3o@ @ bA g 2W!Wog hg_ O@(104Q ERROR! 75Q RESETRESTORE 62Q VPCDISK.CREATE.DEVICEA0001 36Q \GETDEVICEFROMNAME 30Q OPENP 22Q U-CASE 15Q ERROR) (70Q ERROR 57Q INTERNAL 33Q PCDISK) ( 54Q (VPCDISK.CREATE.DEVICEA0001) 11Q "ILLEGAL ARG") \VPCDISK.CREATE.FLOPPY D1 (I 1 SECT.PER.TRACK I 0 SIDES) `d@dAAdlkl lAllo HdI@dkllAlllo HdI@dkklAlklo nHdI @Al(HdIdj g HdI&(250Q CREATE.MONITORLOCK 177Q SHOULDNT 127Q SHOULDNT 55Q SHOULDNT) (245Q PCDISK 2 VPCDISKTYPE#) ( 174Q "INVALID NUMBER.OF.SIDES ON FLOPPY" 124Q "INVALID NUMBER.OF.SIDES ON FLOPPY" 52Q "INVALID SECTORS.PER.TRACK INDICATOR") VPCDISK.DELETE.DEVICE D1 (P 2 DISK P 1 DISKS P 0 FDEV I 0 DEVICENAME) CPg X@ bH(Yd[hZHJI (@@LLiK(50Q DREMOVE 15Q U-CASE 10Q \GETDEVICEFROMNAME) (63Q VPCDISK 43Q FDEV 23Q FDEV 5 PCDISK) () VPCDISK.FREEPAGESA0001 D1 (NAME ERRORSET L (0 NIL) F 3 DISK F 4 STREAM F 5 CLUSTER F 6 WORD F 7 RESETY) S&hi S S"g cS nSSSSknS ljIc H8TSUd T T c UkjVnVjJkغUk԰JS ci(234Q \VPCF.CLOSE.BACKING.STREAM 156Q SETFILEPTR 34Q GETSTREAM 17Q \VPCF.OPEN.BACKING.STREAM 12Q OBTAIN.MONITORLOCK) (144Q VPCDISK 117Q VPCDISK 101Q VPCDISK 72Q VPCDISK 63Q VPCDISK 55Q VPCDISK 43Q VPCDISK 31Q BOTH 24Q VPCDISK 3 VPCDISK) () VPCDISK.FREEPAGES D1 (P 12Q RESETZ P 11Q RESETY P 10Q LISPXHIST P 5 STREAM P 4 WORD P 3 CLUSTER P 2 DISK P 1 DISKS P 0 FDEV I 0 DEVNAME F 13Q LISPXHIST F 14Q RESETVARSLST) a @ bg qH(Yd^hZBW! Wog h_@OOiNg_ OO(133Q ERROR! 125Q RESETRESTORE 57Q VPCDISK.FREEPAGESA0001 13Q \GETDEVICEFROMNAME 3 U-CASE) (120Q ERROR 76Q VPCDISK 54Q INTERNAL 22Q FDEV 10Q PCDISK) ( 51Q (VPCDISK.FREEPAGESA0001)) VPCDISK.GETPARTITION# D1 (I 0 DEVICENAME) X@d3o@ @ bg 1H(dZhYd*jI@KKiJh(32Q \GETDEVICEFROMNAME 22Q U-CASE 15Q ERROR) (106Q VPCDISK 73Q VPCDISK 60Q VPCDISK 41Q FDEV 27Q PCDISK) ( 11Q "ILLEGAL ARG") VPCDISK.CHANGE.PARTITION.TYPEA0001A0002 D1 (I 0 STREAM F 0 WASOPEN) P@ (6 CLOSEF) NIL () VPCDISK.CHANGE.PARTITION.TYPEA0001 D1 (NAME ERRORSET F 0 STREAM F 1 PARTITION# F 2 FILE F 3 RESETVARSLST F 4 RESETY F 5 DOS?) R Rg cgPhhhScPn P lUP lP o QQlkQkcPlQln P o P o P P P UPkPj!ci(165Q ERROR 155Q CLOSEF 150Q MEMBER 136Q SETFILEPTR 77Q ERROR 67Q CLOSEF 46Q SETFILEPTR 14Q OPENSTREAM 3 STREAMP) (22Q VPCDISK.CHANGE.PARTITION.TYPEA0001A0002 11Q BOTH) ( 162Q "Not a valid rigid disk partition" 145Q (200Q 0) 74Q "Not a valid rigid disk") VPCDISK.CHANGE.PARTITION.TYPE D1 (P 5 RESETZ P 4 RESETY P 3 LISPXHIST P 2 STREAM P 1 DISK P 0 WASOPEN I 2 DOS? I 1 PARTITION# I 0 FILE F 6 LISPXHIST F 7 RESETVARSLST) *@ !V!Wog hg] ML(45Q ERROR! 40Q RESETRESTORE 26Q VPCDISK.CHANGE.PARTITION.TYPEA0001 3 OPENP) (34Q ERROR 23Q INTERNAL) ( 20Q (VPCDISK.CHANGE.PARTITION.TYPEA0001)) \VPCF.INITIALIZE.DISK D1 (P 20Q PARTITION.OFFSET P 17Q TOTAL#CYLINDERS P 16Q BPC P 15Q SPC P 14Q SPF P 13Q CF P 12Q BPS P 11Q BPD P 10Q D P 7 RS P 6 TS P 5 CYL P 4 S P 3 H P 2 DATA.OFFSET P 1 DIR.OFFSET P 0 DISK I 3 PARTITION# I 2 RIGID I 1 DEVNAME I 0 STREAM) @B.@n @ lU@ lo CClkCkb@lCln `g _"dO"&XkHC@ o o @ @ @ @ dklo oi i HKHMLllHLl?@ @ @ HKHMLllHLl? H@ @ @ @ H@ @ @ @ _$O$Hjo k_l _n_HHk_H n_ @O l @ _@ @ _@O l @ _o_@O l @ @ _HlHlHOHOHH nnHHOnHOl nH OOOnYHnغHOn @n @ dlll @dlkl 2dlll #dlkl lll o XlknYHnغHlHnHHnnHJHIHAH@"H(1214Q ERROR 1204Q \VPCDISK.CREATE.FLOPPY 1167Q \VPCDISK.CREATE.FLOPPY 1151Q \VPCDISK.CREATE.FLOPPY 1132Q \VPCDISK.CREATE.FLOPPY 1114Q \VPCDISK.CREATE.FLOPPY 1074Q SETFILEPTR 636Q SETFILEPTR 610Q SETFILEPTR 560Q SETFILEPTR 470Q ERROR 245Q TERPRI 240Q PRIN1 227Q ERROR 173Q ERROR 163Q MEMBER 117Q CREATE.MONITORLOCK 104Q SETFILEPTR 45Q ERROR 21Q SETFILEPTR) (1356Q STREAM 1352Q VPCDISK 1343Q VPCDISK 1334Q VPCDISK 1325Q VPCDISK 1304Q VPCDISK 1300Q VPCDISK 1266Q VPCDISK 1254Q VPCDISK 1240Q VPCDISK 1220Q VPCDISK 1052Q VPCDISK 1036Q VPCDISK 1012Q VPCDISK 772Q VPCDISK 752Q VPCDISK 746Q VPCDISK 725Q VPCDISK 721Q VPCDISK 710Q VPCDISK 676Q VPCDISK 665Q VPCDISK 654Q VPCDISK 536Q VPCDISK 522Q VPCDISK 514Q VPCDISK 454Q VPCDISK 421Q VPCDISK 373Q VPCDISK 360Q VPCDISK 340Q VPCDISK 327Q VPCDISK 303Q VPCDISK 263Q VPCDISK 252Q VPCDISK 145Q VPCDISK 134Q VPCDISK 114Q PCDISK 110Q VPCDISKTYPE#) ( 1211Q "NOT A VALID VIRTUAL PC FLOPPY FILE" 622Q 1.5 465Q "ERROR: Unallocated Partiton" 234Q "Warning! Non-DOS partition" 224Q "Only 12-bit FATs currently supported" 170Q "Not a valid rigid disk partition" 160Q (200Q 0) 42Q "Not a valid rigid disk") PCFLOPPY.INSTALL D1 (F 0 \PCFLOPPY.FDEV) g`dgdgdgdgdgdgdgdg dkpdg dgdgdgdg dg"dgdh(dgdgdgdg:dg8dg6dg4dg2dg0dg.dg*dg$c P (327Q \MAKE.PMAP.DEVICE 323Q \DEFINEDEVICE) (313Q \GENERIC.READP 304Q NILL 275Q \IS.NOT.RANDACCESSP 266Q \ILLEGAL.DEVICEOP 257Q \IS.NOT.RANDACCESSP 250Q \ILLEGAL.DEVICEOP 241Q \GENERIC.BINS 232Q \GENERIC.BOUTS 223Q \GENERIC.RENAMEFILE 214Q NILL 205Q \PCFLOPPY.WRITEPAGES 176Q \PCFLOPPY.READPAGES 162Q NILL 153Q \BUFFERED.PEEKBIN 144Q \BUFFERED.BOUT 135Q \BUFFERED.BIN 126Q NILL 117Q NILL 110Q NILL 73Q NILL 64Q \PCFLOPPY.CLOSEFILE 55Q \PCFLOPPY.OPENFILE 46Q NILL 37Q NILL 30Q NILL 21Q NILL 12Q PCFLOPPY 5 FDEVTYPE# 2 PCFLOPPY) () \PCFLOPPY.OPEN.FOR.APPEND D1 (I 1 FDEV I 0 NAME F 2 \FLOPPY.SECTORSPERTRACK F 3 \FLOPPY.TRACKSPERCYLINDER) `dAd@djdjRSl(HdIRSl(HdI dj dn0dldg.dg,d`&dg"dg d`djd`dhdldjRdk@dk0dhNIL (175Q \STREAM.DEFAULT.MAXBUFFERS 161Q FILELINELENGTH 152Q \FILEOUTCHARFN 143Q \EOSERROR 134Q \NOIMAGEOPS 125Q \STREAM.NOT.OPEN 116Q \STREAM.NOT.OPEN 2 STREAMTYPE#) () \PCFLOPPY.OPEN.FOR.BOTH D1 (I 1 FDEV I 0 NAME F 2 \FLOPPY.SECTORSPERTRACK F 3 \FLOPPY.TRACKSPERCYLINDER) `dAd@djdjdjRSl(HdI dj dn0dldg.dg,d`&dg"dg d`djd`dhdldjRdk@dk0dhNIL (162Q \STREAM.DEFAULT.MAXBUFFERS 146Q FILELINELENGTH 137Q \FILEOUTCHARFN 130Q \EOSERROR 121Q \NOIMAGEOPS 112Q \STREAM.NOT.OPEN 103Q \STREAM.NOT.OPEN 2 STREAMTYPE#) () \PCFLOPPY.OPEN.FOR.INPUT D1 (I 1 FDEV I 0 NAME F 2 \FLOPPY.SECTORSPERTRACK F 3 \FLOPPY.TRACKSPERCYLINDER) `dAd@djdjdjRSl(HdI dj dn0dldg.dg,d`&dg"dg d`djd`dhdldjRdk@dk0dhNIL (162Q \STREAM.DEFAULT.MAXBUFFERS 146Q FILELINELENGTH 137Q \FILEOUTCHARFN 130Q \EOSERROR 121Q \NOIMAGEOPS 112Q \STREAM.NOT.OPEN 103Q \STREAM.NOT.OPEN 2 STREAMTYPE#) () \PCFLOPPY.OPEN.FOR.OUTPUT D1 (I 1 FDEV I 0 NAME) `dAd@djdjdjdj dj dn0dldg.dg,d`&dg"dg d`djd`dhdldjRdk@dk0dhNIL (147Q \STREAM.DEFAULT.MAXBUFFERS 133Q FILELINELENGTH 124Q \FILEOUTCHARFN 115Q \EOSERROR 106Q \NOIMAGEOPS 77Q \STREAM.NOT.OPEN 70Q \STREAM.NOT.OPEN 2 STREAMTYPE#) () \PCFLOPPY.OPENFILE D1 (P 0 STREAM I 4 FDEV I 3 PARAMETERS I 2 RECOG I 1 ACCESS I 0 NAME) :Adg@D g@D Adg@D g@D (67Q SHOULDNT 63Q \PCFLOPPY.OPEN.FOR.APPEND 50Q \PCFLOPPY.OPEN.FOR.BOTH 32Q \PCFLOPPY.OPEN.FOR.OUTPUT 17Q \PCFLOPPY.OPEN.FOR.INPUT) (54Q APPEND 40Q BOTH 23Q OUTPUT 7 INPUT) () \PCFLOPPY.CLOSEFILE D1 (I 0 STREAM) @ @(3 \CLEARMAP) NIL () \PCFLOPPY.READPAGES D1 (P 2 BUFFER P 1 I I 2 BUFFERS I 1 FIRSTPAGE# I 0 STREAM) &BddhkHhAIJ HIkԹ(32Q \PFLOPPY.READPAGENO) NIL () \PCFLOPPY.WRITEPAGES D1 (P 2 BUFFER P 1 I I 2 BUFFERS I 1 FIRSTPAGE# I 0 STREAM) &BddhkHhAIJ HIkԹ(32Q \PFLOPPY.WRITEPAGENO) NIL () \VPCF.FIND.DIR.ENTRY D1 (P 6 DIR P 5 ATTR P 4 EXT P 3 NAME P 2 UNPK P 1 CURDIR P 0 DIRLIST I 3 DONTCREATE.FILE I 2 DONTCREATE.DIRECTORY I 1 DISK I 0 FILENAME) J@ A H Jg'Jg'jHdNIAB YKLMIAhC (107Q \VPCF.SEARCH.DIR 66Q \VPCF.DIR.LOOKUP 22Q UNPACKFILENAME 12Q \VPCF.ROOTDIRECTORY 3 \VPCF.PARSENAME) (41Q EXTENSION 31Q NAME) () \VPCF.DIR.LOOKUPA0001 D1 (L (0 ENTRY)) @ljhNIL (3 VPCFDIRENTRY) () \VPCF.DIR.LOOKUP D1 (P 1 CLUSTER P 0 ENTRY I 3 DONTCREATE I 2 DISK I 1 CURDIR I 0 DIRNAME) D@hlABgC HdHIB IB B IhhB o@ (101Q ERROR 71Q \VPCF.CLOSE.BACKING.STREAM 46Q \VPCF.CLUSTER.TO.FILEPOS 41Q \VPCF.CLUSTER.TO.FILEPOS 15Q \VPCF.SEARCH.DIR) (52Q VPCDISK 26Q VPCFDIRENTRY 10Q \VPCF.DIR.LOOKUPA0001) ( 75Q "DIRECTORY NOT FOUND") \VPCF.SEARCH.DIR D1 (P 12Q ENTRYLOC P 10Q LASTDIR P 7 ENTRY P 6 PTR P 5 FILELOC P 4 LOC P 3 LEN P 2 FINISHED P 1 EXTENSION P 0 STREAM I 6 DONTCREATE I 5 TESTFN I 4 DISK I 3 CURDIR I 2 ATTRIBUTE I 1 EXTENSION I 0 FILENAME) D"g Ad rJCl C O/OjnOO bjOOCl OCl GDHO _Ol __iih'O@OIEOkEOiC _CD bjMCFhOD ^d5`d@dIdBdjdjdjdN _DHO O(357Q \VPCF.WRITE.DIR.ENTRY 272Q \VPCF.FIND.FREE.DIR.ENTRY 247Q \VPCF.NEXT.DIR.CLUSTER 237Q COPY 134Q \VPCF.READ.DIR.ENTRY 70Q \FZEROP 21Q PACKC 13Q GETSTREAM) (301Q VPCFDIRENTRYTYPE# 205Q VPCFDIRENTRY 172Q VPCFDIRENTRY 10Q BOTH 3 VPCDISK) () \VPCF.READ.DIR.ENTRYA0001 D1 (NAME ERRORSET P 6 SIZE P 5 START P 4 IDATE P 3 ATTRIBUTE P 2 EXT P 1 NAME P 0 BYTE F 24Q STREAM F 25Q PTR F 26Q DISK F 27Q RESETY F 30Q ALL) W,&hi W(W* W( HjHdlؿW0`Hlk2O O%W( _&O$O&h_$_"O k_ O&&_$O" _dOlk2O O%W( _&O$O&h_$_"O k_ O&&_$O" _dOW( _dOjll __OOW( Ok__dOdjdjHjilll Hlk2O O%W( _&O$O&h_$_"O k_ O&&_$O" l lk2O O%W( _&O$O&h_$_"O k_ O&&_$O" W( ll __OOW( Ok_W( W( W( ؽW( W( W( W( ؾ`dIdJdKdLdMdNdW* c.i(642Q \VPCF.READ.FILE.DATE 574Q PACKC 571Q DREMOVE 500Q PACKC 475Q DREMOVE 251Q PACKC 152Q PACKC 23Q SETFILEPTR 13Q OBTAIN.MONITORLOCK) (703Q VPCFDIRENTRYTYPE# 61Q VPCFDIRENTRYTYPE# 4 VPCDISK) () \VPCF.READ.DIR.ENTRY D1 (P 2 RESETZ P 1 RESETY P 0 LISPXHIST I 3 ALL I 2 PTR I 1 STREAM I 0 DISK F 3 LISPXHIST F 4 RESETVARSLST) "S!Tog hgZ JI(35Q ERROR! 30Q RESETRESTORE 16Q \VPCF.READ.DIR.ENTRYA0001) (24Q ERROR 13Q INTERNAL) ( 10Q (\VPCF.READ.DIR.ENTRYA0001)) \VPCF.FIND.FREE.DIR.ENTRY D1 (P 12Q ENTRYLOC P 10Q LASTDIR P 7 CLUSTER P 6 ENTRY P 5 PTR P 4 FILELOC P 3 LOC P 2 LEN P 1 FINISHED P 0 STREAM I 1 DISK I 0 CURDIR) A"g Ik@l @ O/OjLOO @jOO@l O@l %AHOi ^E o ,Ni@A bLO(A o  @ _Ol __uA _ObdAO @O@OA @OA A @(324Q \VPCF.CLUSTER.TO.FILEPOS 313Q \VPCF.CLUSTER.TO.FILEPOS 276Q \VPCF.MARK.THE.FAT 256Q \VPCF.ALLOCATE.CLUSTER 232Q COPY 217Q ERROR 210Q \VPCF.CLOSE.BACKING.STREAM 166Q \VPCF.NEXT.DIR.CLUSTER 152Q MEMBER 142Q CHCON 125Q \VPCF.READ.DIR.ENTRY 60Q \FZEROP 13Q GETSTREAM) (330Q VPCDISK 223Q VPCFDIRENTRY 135Q VPCFDIRENTRY 10Q BOTH 3 VPCDISK) ( 214Q "NO MORE DIRECTORY ENTRIES LEFT IN THE ROOT DIRECTORY" 147Q (345Q 0)) \VPCF.WRITE.DIR.ENTRYA0001 D1 (NAME ERRORSET P 0 DATEFILEPTR F 13Q STREAM F 14Q DIRENTRY F 15Q DISK F 16Q RESETY) W&hi  WW WlW WlW WW!ll JIWj!JkZW W WW[Ll!KLl!WW__On]Nl!MNl!OOn__Ol!OOl!WH WW hci(325Q \VPCF.READ.FILE.DATE 312Q SETFILEPTR 146Q \VPCF.WRITE.FILE.DATE 140Q GETFILEPTR 71Q PRINDIRSTR 52Q PRINDIRSTR 33Q SETFILEPTR 13Q OBTAIN.MONITORLOCK) (320Q VPCFDIRENTRY 207Q VPCFDIRENTRY 156Q VPCFDIRENTRY 101Q VPCFDIRENTRY 60Q VPCFDIRENTRY 41Q VPCFDIRENTRY 26Q VPCFDIRENTRY 4 VPCDISK) () \VPCF.WRITE.DIR.ENTRY D1 (P 2 RESETZ P 1 RESETY P 0 LISPXHIST I 2 DIRENTRY I 1 STREAM I 0 DISK F 3 LISPXHIST F 4 RESETVARSLST) "S!Tog hgZ JI(35Q ERROR! 30Q RESETRESTORE 16Q \VPCF.WRITE.DIR.ENTRYA0001) (24Q ERROR 13Q INTERNAL) ( 10Q (\VPCF.WRITE.DIR.ENTRYA0001)) \VPCF.READ.FILE.DATE D1 (P 12Q DAY P 11Q MONTH P 10Q YEAR P 7 SECS P 6 MIN P 5 HOUR P 3 BYTE3 P 2 BYTE4 P 1 BYTE1 P 0 BYTE2 I 0 STREAM) [ @ @ @ @ IIllHl HllKk nKklJl Jl OOkټjLLjOMNO (130Q \PACKDATE 70Q RSH 50Q RSH 33Q RSH) NIL () \VPCF.WRITE.FILE.DATE D1 (P 12Q SECOND P 11Q MINUTE P 10Q HOUR P 7 YEAR P 6 MONTH P 5 DAY P 0 IDATE I 0 STREAM) ho AHk Hl Hl Hl Hl  Hl  @Ol OlOغYJl!IJl!@OlPl NlMؼ[Ll!KLl!h(74Q STR2INT 63Q STR2INT 52Q STR2INT 41Q STR2INT 30Q STR2INT 17Q STR2INT 7 GDATE) NIL ( 4 (DATEFORMAT NUMBER.OF.MONTH)) \VPCF.ROOTDIRECTORY D1 (L (0 DISK)) @@@nhdhNIL (17Q VPCDISK 11Q VPCDISK 3 VPCDISK) () \VPCF.NEXT.DIR.CLUSTER D1 (P 0 CLUSTER I 1 DISK I 0 CURDIR) @ @7@A XYA HA A I@@bn@(33Q \VPCF.CLUSTER.TO.FILEPOS 26Q \VPCF.CLUSTER.TO.FILEPOS 20Q \VPCF.GET.NEXT.CLUSTER) (37Q VPCDISK) () \VPCF.CLUSTER.TO.FILEPOS D1 (L (1 DISK 0 CLUSTER)) A@lA NIL (15Q VPCDISK 3 VPCDISK) () \VPCF.MAPDIR D1 (P 7 ENTRYLOC P 5 ENTRY P 4 FILELOC P 3 LOC P 2 LEN P 1 FINISHED P 0 STREAM I 2 FN I 1 DISK I 0 CURDIR) z A QIY@l @O/Oj:OO .jOO@l O@l AHO ]ii@A bLMkBgOl __(134Q \VPCF.NEXT.DIR.CLUSTER 114Q \VPCF.READ.DIR.ENTRY 50Q \FZEROP 3 \VPCF.OPEN.BACKING.STREAM) (152Q STOP) () \VPCF.READ.FAT.CHAIN D1 (P 0 CLUSTER I 1 DISK I 0 STARTCLUSTER) %@1nHHJKhZHA K&I(31Q \VPCF.GET.NEXT.CLUSTER) NIL () \VPCF.GENERATEFILES D1 (P 0 DISK I 1 PATTERN I 0 FDEV) A@ AH gghIh(14Q \VPCF.FILEMATCH 4 \VPCF.GET.DISK) (23Q \VPCF.FILEINFOFN 20Q \VPCF.NEXTFILEFN) () \VPCF.FILEMATCHA0001A0002 D1 (I 0 DISK) @$g@ (17Q \VPCF.CLOSE.BACKING.STREAM) (10Q DIR 3 VPCDISK) () \VPCF.FILEMATCHA0001 D1 (NAME ERRORSET F 0 DISK F 1 RESETVARSLST F 2 FILENAME F 3 RESETY F 4 CURDIR F 5 FILELST) YgPhhhQcP$P P Pg$R ghghghghgR hTP i c ci(121Q SORT 115Q \VPCF.FILEMATCH1 106Q PACKFILENAME 56Q DIRECTORY.MATCH.SETUP 37Q \VPCF.OPEN.BACKING.STREAM 32Q \VPCF.OPEN.BACKING.STREAM) (101Q BODY 75Q VERSION 71Q EXTENSION 65Q NAME 61Q DIRECTORY 47Q DIR 44Q VPCDISK 23Q VPCDISK 2 \VPCF.FILEMATCHA0001A0002) () \VPCF.FILEMATCH D1 (P 6 RESETZ P 5 RESETY P 4 LISPXHIST P 3 FILELST P 2 ENTRY P 1 ENTRYLOC P 0 CURDIR I 1 DISK I 0 FILENAME F 7 LISPXHIST F 10Q RESETVARSLST) +A 1W!Wog hg^ NM(46Q ERROR! 41Q RESETRESTORE 27Q \VPCF.FILEMATCHA0001 3 \VPCF.ROOTDIRECTORY) (35Q ERROR 24Q INTERNAL) ( 21Q (\VPCF.FILEMATCHA0001)) \VPCF.FILEMATCH1A0001 D1 (P 1 TRIALFILE P 0 CLUSTER I 0 ENTRY F 2 MATCHLIST F 3 DISK F 4 PATTERN F 5 NAMEBODY F 6 DIRS) @l.@ jg@lj@ljERTUV.@ HS HS S HhhS  cg@ Tg@g@gVgU Y I@Rc(235Q DIRECTORY.MATCH 231Q PACKFILENAME 170Q PACK* 165Q MKSTRING 146Q \NCONC2 143Q \VPCF.FILEMATCH1 120Q \VPCF.CLUSTER.TO.FILEPOS 113Q \VPCF.CLUSTER.TO.FILEPOS 106Q MKSTRING 23Q CHCON1) (224Q BODY 220Q DIRECTORY 213Q VPCFDIRENTRY 207Q EXTENSION 202Q VPCFDIRENTRY 176Q NAME 160Q VPCFDIRENTRY 154Q > 124Q VPCDISK 101Q VPCFDIRENTRY 55Q VPCFDIRENTRY 37Q VPCFDIRENTRY 32Q This 16Q VPCFDIRENTRY 3 VPCFDIRENTRY) () \VPCF.FILEMATCH1 D1 (P 2 ENTRY P 1 ENTRYLOC P 0 MATCHLIST I 4 DISK I 3 CURDIR I 2 DIRS I 1 NAMEBODY I 0 PATTERN) 0CDg H(12Q \VPCF.MAPDIR) (7 \VPCF.FILEMATCH1A0001) () \VPCF.NEXTFILEFN D1 (P 0 CURRENTFILE I 0 GENERATORSTATE) 6@@d@d HH $gH @(56Q \VPCF.CLOSE.BACKING.STREAM 53Q \VPCF.GET.DISK 34Q \VPCF.GET.DISK) (44Q DIR 37Q VPCDISK) () \VPCF.FILEINFOFN D1 (P 0 ENTRY I 1 FIELD I 0 GENERATORSTATE) Q@AdgH gHAdgHglAgHnk(27Q GDATE) (106Q VPCFDIRENTRY 77Q SIZE 66Q BYTESIZE 60Q VPCFDIRENTRY 51Q LENGTH 41Q VPCFDIRENTRY 33Q ICREATIONDATE 22Q VPCFDIRENTRY 13Q CREATIONDATE) () \VPCF.GETFILEINFOA0001A0002 D1 (I 0 STREAM F 0 WASOPEN) P@ (6 CLOSEF) NIL () \VPCF.GETFILEINFOA0001 D1 (NAME ERRORSET F 0 STREAM F 1 ENTRY F 2 FILE F 3 RESETVARSLST F 4 RESETY F 5 ATTRIBUTE F 6 PC.TEXTFILE.EXTENSIONS F 7 ANSWER) R R g cgPhhhScP cUdgQV gmghdgP nkذUdglJdgP =dgdgQ %dgdgQdg𑿅ghcci(217Q GDATE 167Q \VPCF.GETEOFPTR 131Q \VPCF.GETEOFPTR 103Q MEMB 17Q OPENSTREAM 11Q U-CASE 3 STREAMP) (260Q IREADDATE 251Q READDATE 242Q VPCFDIRENTRY 233Q IWRITEDATE 225Q ICREATIONDATE 212Q VPCFDIRENTRY 203Q WRITEDATE 175Q CREATIONDATE 160Q LENGTH 145Q BYTESIZE 122Q SIZE 114Q BINARY 107Q TEXT 75Q VPCFDIRENTRY 65Q TYPE 53Q VPCFFILE 46Q STREAM 25Q \VPCF.GETFILEINFOA0001A0002 14Q INPUT) () \VPCF.GETFILEINFO D1 (P 6 RESETZ P 5 RESETY P 4 LISPXHIST P 3 ANSWER P 2 ENTRY P 1 STREAM P 0 WASOPEN I 1 ATTRIBUTE I 0 FILE F 7 LISPXHIST F 10Q RESETVARSLST) +@ 1W!Wog hg^ NK(47Q ERROR! 41Q RESETRESTORE 27Q \VPCF.GETFILEINFOA0001 3 OPENP) (35Q ERROR 24Q INTERNAL) ( 21Q (\VPCF.GETFILEINFOA0001)) \VPCF.SETFILEINFOA0001A0002 D1 (I 0 STREAM F 0 WASOPEN) P@ (6 CLOSEF) NIL () \VPCF.SETFILEINFOA0001 D1 (NAME ERRORSET F 0 STREAM F 1 FILE F 2 RESETVARSLST F 3 RESETY F 4 ENTRY F 5 ATTRIBUTE F 6 ITSVALUE) BQ Q g cgPhhhRcP cUgPV ci(74Q \VPCF.SETEOFPTR 17Q OPENSTREAM 11Q U-CASE 3 STREAMP) (64Q LENGTH 53Q VPCFFILE 46Q STREAM 25Q \VPCF.SETFILEINFOA0001A0002 14Q BOTH) () \VPCF.SETFILEINFO D1 (P 5 RESETZ P 4 RESETY P 3 LISPXHIST P 2 ENTRY P 1 STREAM P 0 WASOPEN I 2 ITSVALUE I 1 ATTRIBUTE I 0 FILE F 6 LISPXHIST F 7 RESETVARSLST) *@ !V!Wog hg] ML(45Q ERROR! 40Q RESETRESTORE 26Q \VPCF.SETFILEINFOA0001 3 OPENP) (34Q ERROR 23Q INTERNAL) ( 20Q (\VPCF.SETFILEINFOA0001)) \VPCF.OPEN.BACKING.STREAM D1 (I 0 DISK F 0 \FLOPPY.TRACKSPERCYLINDER F 1 \FLOPPY.SECTORSPERTRACK F 2 \PCFLOPPY.TRACKSPERCYLINDER.SAVE F 3 \PCFLOPPY.SECTORSPERTRACK.SAVE) k@" &@$@"g %o@" @"g @i$@"gPcQc@c@c(72Q OPENSTREAM 54Q ERROR 35Q GETSTREAM 10Q OPENP) (143Q VPCDISK 132Q VPCDISK 113Q {PCFLOPPY} 106Q VPCDISK 76Q VPCDISK 67Q BOTH 62Q VPCDISK 47Q VPCDISK 32Q BOTH 25Q VPCDISK 16Q VPCDISK 3 VPCDISK) ( 43Q "FILE IN USE") \VPCF.CLOSE.BACKING.STREAM D1 (P 4 FILENAME P 3 DISKS P 2 DISKSTREAM P 0 FDEV I 0 DISK F 5 \VPCF.OPENFILES F 6 \PCFLOPPY.TRACKSPERCYLINDER.SAVE F 7 \FLOPPY.SECTORSPERTRACK F 10Q \FLOPPY.TRACKSPERCYLINDER F 11Q \PCFLOPPY.SECTORSPERTRACK.SAVE) wg @"g !H(@"@Uh@h$KY'iJ J @"gVcWcd"LI$h(104Q CLOSEF 76Q OPENP 24Q GETSTREAM 5 \GETDEVICEFROMNAME) (156Q VPCDISK 141Q VPCDISK 116Q {PCFLOPPY} 111Q VPCDISK 57Q VPCDISK 42Q VPCDISK 33Q FDEV 21Q BOTH 14Q VPCDISK 2 PCDISK) () \VPCF.EOFP D1 (P 2 CLUSTERSIZE P 1 DISK P 0 FILE I 0 STREAM) k@ !HY @Rk@@ @@J@ h@@ @J @ h(136Q IMOD 52Q \VPCF.UPDATEOF) (142Q STREAM 130Q STREAM 117Q STREAM 111Q STREAM 76Q STREAM 65Q STREAM 57Q STREAM 43Q STREAM 31Q STREAM 22Q VPCDISK 14Q VPCFFILE 3 STREAM) () \VPCF.SETFILEPTR D1 (P 11Q CLUSTER P 10Q CPAGE P 7 NEXTCLUSTER P 6 FULLNAME P 5 NEWCOFFSET P 4 NEWCPAGE P 3 CLUSTERSIZE P 2 DISK P 1 DIRENTRY P 0 FILE I 1 FILEPOS I 0 STREAM) @  HHZ AKۼAKܽI_@ jH@i @j @ @Lj_HI_O_LO>nOlOHOOJ@ o _HOOk_@h@j@MA(233Q \VPCF.GET.NEXT.CLUSTER 230Q MEMBER 221Q \GETACCESS 121Q \VPCF.UPDATEOF 103Q \VPCF.WRITE.CLUSTER) (302Q STREAM 273Q STREAM 264Q STREAM 242Q VPCFFILE 205Q VPCFFILE 143Q VPCFDIRENTRY 137Q VPCFFILE 125Q STREAM 110Q STREAM 75Q STREAM 61Q STREAM 50Q VPCFDIRENTRY 31Q VPCDISK 23Q VPCFFILE 14Q VPCFFILE 3 STREAM) ( 225Q (OUTPUT BOTH APPEND)) \VPCF.GETFILEPTR D1 (L (1 FILEPOS 0 STREAM)) $@  @@HNIL (34Q STREAM 26Q STREAM 15Q VPCDISK 10Q VPCFFILE 3 STREAM) () \VPCF.BACKFILEPTR D1 (I 0 STREAM) z@Rlo@@ @ @@kjHHj@j@j,@j@d k @@mHIIh(137Q \VPCF.SETFILEPTR 132Q \VPCF.GETFILEPTR 40Q \VPCF.UPDATEOF 33Q ERROR) (150Q STREAM 144Q STREAM 120Q STREAM 106Q STREAM 75Q STREAM 50Q STREAM 44Q STREAM 23Q STREAM 3 STREAM) ( 17Q "BACKFILEPTR illegal on APPEND-ONLY access") \VPCF.SETEOFPTR D1 (P 7 I P 5 RETURNVALUE P 4 DISKSTREAM P 3 CLUSTER P 2 CLUSTERSIZE P 1 DISK P 0 FILE I 1 FILEPOS I 0 STREAM) @ 1HY I i@ jH@i @j @ AJ@ @Rlj@ IH@AJ I@ I oI M@AJ @AJ HI LKI AJ I kAJON=Lj!Ok_h]AJ@ @RljIH@AJ }h]z@@ \@@ @@ @@ @@ @h@jHnHnM(410Q \VPCF.DEALLOCATE.CLUSTERS 300Q SETFILEPTR 271Q \VPCF.CLUSTER.TO.FILEPOS 261Q LAST 256Q \VPCF.GET.CLUSTER.CHAIN 205Q ERROR 174Q \VPCF.CLOSE.BACKING.STREAM 167Q \VPCF.DELETEOFD 160Q \VPCF.ALLOCATE.CLUSTERS 102Q \VPCF.UPDATEOF 64Q \VPCF.WRITE.CLUSTER 31Q \VPCF.OPEN.BACKING.STREAM) (566Q VPCFFILE 554Q VPCFFILE 544Q STREAM 534Q STREAM 523Q STREAM 517Q STREAM 507Q STREAM 501Q STREAM 470Q STREAM 462Q STREAM 451Q STREAM 445Q STREAM 433Q STREAM 425Q STREAM 366Q STREAM 354Q STREAM 305Q VPCDISK 250Q VPCFDIRENTRY 243Q VPCFFILE 231Q STREAM 217Q STREAM 144Q STREAM 124Q STREAM 111Q STREAM 71Q STREAM 56Q STREAM 42Q STREAM 22Q VPCDISK 14Q VPCFFILE 3 STREAM) ( 201Q "\VPCF.SETEOFPTR: DISK SPACE EXHAUSTED") \VPCF.GETEOFPTR D1 (P 2 CLUSTERSIZE P 1 DISK P 0 FILE I 0 STREAM) +@ !HY @ @ @ J(31Q \VPCF.UPDATEOF) (43Q STREAM 35Q STREAM 22Q VPCDISK 14Q VPCFFILE 3 STREAM) () \VPCF.UPDATEOF D1 (P 4 BYTESPERCLUSTER P 3 EOFFSET P 2 EPAGE P 1 COFFSET P 0 CPAGE I 0 STREAM) @Rlj@Rlj@@@ @ @  LdK JKLԺKL @J @K LIHILԸIL HJ @K@H @IdKK @LHJ@H @I h(171Q IMOD 131Q IMOD) (266Q STREAM 256Q STREAM 241Q STREAM 223Q STREAM 213Q STREAM 203Q STREAM 146Q STREAM 136Q STREAM 102Q VPCDISK 75Q VPCFFILE 70Q STREAM 62Q STREAM 54Q STREAM 46Q STREAM 40Q STREAM 20Q STREAM 3 STREAM) () \VPCF.OPENFILE D1 (P 1 STREAM P 0 DISK I 4 FDEV I 3 PARAMETERS I 2 RECOG I 1 ACCESS I 0 NAME) R@D Adg@HD -g@HD Adg@HD g@HD YH@ HI I(116Q \VPCF.ADDOFD 110Q \VPCF.SEARCHOFDS 102Q SHOULDNT 76Q \VPCF.OPEN.FOR.APPEND 62Q \VPCF.OPEN.FOR.BOTH 42Q \VPCF.OPEN.FOR.OUTPUT 25Q \VPCF.OPEN.FOR.INPUT 4 \VPCF.GET.DISK) (66Q APPEND 51Q BOTH 32Q OUTPUT 14Q INPUT) () \VPCF.OPEN.FOR.INPUT D1 (P 5 FULLNAME P 4 FILE P 3 DIRENTRY P 2 STREAM P 1 EXTENSION P 0 NAMEFIELD I 2 FDEV I 1 DISK I 0 NAME) i @g @g A  ghghg@ Aid [dA o@ gBgAgHgIg@ ]`dKdAKdNK_dOdMKA _dO \`dBdMdL djdjdjKA _dO KA _dO A _dO0dldg.dg,d`&dg"dg d`djd`dhdldjRdk@dk0dh(237Q \VPCF.READ.FAT.CHAIN 146Q PACKFILENAME 103Q ERROR 72Q \VPCF.CLOSE.BACKING.STREAM 63Q \VPCF.FIND.DIR.ENTRY 55Q PACKFILENAME 51Q U-CASE 27Q \VPCF.OPEN.BACKING.STREAM 23Q U-CASE 20Q FILENAMEFIELD 11Q U-CASE 6 FILENAMEFIELD) (500Q \STREAM.DEFAULT.MAXBUFFERS 464Q FILELINELENGTH 455Q \FILEOUTCHARFN 446Q \EOSERROR 437Q \NOIMAGEOPS 430Q \STREAM.NOT.OPEN 421Q \STREAM.NOT.OPEN 373Q VPCDISK 353Q VPCDISK 345Q VPCFDIRENTRY 325Q VPCDISK 317Q VPCFDIRENTRY 254Q STREAMTYPE# 231Q VPCFDIRENTRY 205Q VPCFDIRENTRY 171Q VPCFDIRENTRY 152Q VPCFFILETYPE# 141Q BODY 135Q EXTENSION 131Q NAME 124Q VPCDISK 120Q DEVICE 113Q FDEV 107Q HOST 45Q BODY 41Q HOST 35Q DEVICE 15Q EXTENSION 3 NAME) ( 77Q "FILE NOT FOUND") \VPCF.OPEN.FOR.OUTPUT D1 (P 6 CLUSTER P 5 FULLNAME P 4 FILE P 3 DIRENTRY P 2 STREAM P 1 EXTENSION P 0 NAMEFIELD I 2 FDEV I 1 DISK I 0 NAME) F@g @g A Sghghg@ Ai [dA oA gBgAgHgIg@ ]`dKdAdjdjdMdh \K^jnNNAj Kj`dBdMdL djdjdjdj dj A _dO0dldg.dg,d`&dg"dg d`djd`dhdldjRdk@dk0dh(237Q \VPCF.MARK.THE.FAT 145Q PACKFILENAME 102Q ERROR 71Q \VPCF.CLOSE.BACKING.STREAM 62Q \VPCF.FIND.DIR.ENTRY 55Q PACKFILENAME 51Q U-CASE 27Q \VPCF.OPEN.BACKING.STREAM 23Q U-CASE 20Q FILENAMEFIELD 11Q U-CASE 6 FILENAMEFIELD) (435Q \STREAM.DEFAULT.MAXBUFFERS 421Q FILELINELENGTH 412Q \FILEOUTCHARFN 403Q \EOSERROR 374Q \NOIMAGEOPS 365Q \STREAM.NOT.OPEN 356Q \STREAM.NOT.OPEN 330Q VPCDISK 253Q STREAMTYPE# 245Q VPCFDIRENTRY 215Q VPCFDIRENTRY 151Q VPCFFILETYPE# 140Q BODY 134Q EXTENSION 130Q NAME 123Q VPCDISK 117Q DEVICE 112Q FDEV 106Q HOST 45Q BODY 41Q HOST 35Q DEVICE 15Q EXTENSION 3 NAME) ( 76Q "VIRTUAL DISK DISK SPACE EXHAUSTED") \VPCF.OPEN.FOR.BOTH D1 (P 5 FULLNAME P 4 FILE P 3 DIRENTRY P 2 STREAM P 1 EXTENSION P 0 NAMEFIELD I 2 FDEV I 1 DISK I 0 NAME) ^ @g @g A  ghghg@ Ai [dA oA gBgAgHgIg@ ]`dKdAKdNdjdMKA _dO \`dBdMdL djdjdjKA _dO KA _dO A _dO0dldg.dg,d`&dg"dg d`djd`dhdldjRdk@dk0dh(224Q \VPCF.READ.FAT.CHAIN 145Q PACKFILENAME 102Q ERROR 71Q \VPCF.CLOSE.BACKING.STREAM 62Q \VPCF.FIND.DIR.ENTRY 55Q PACKFILENAME 51Q U-CASE 27Q \VPCF.OPEN.BACKING.STREAM 23Q U-CASE 20Q FILENAMEFIELD 11Q U-CASE 6 FILENAMEFIELD) (465Q \STREAM.DEFAULT.MAXBUFFERS 451Q FILELINELENGTH 442Q \FILEOUTCHARFN 433Q \EOSERROR 424Q \NOIMAGEOPS 415Q \STREAM.NOT.OPEN 406Q \STREAM.NOT.OPEN 360Q VPCDISK 340Q VPCDISK 332Q VPCFDIRENTRY 312Q VPCDISK 304Q VPCFDIRENTRY 241Q STREAMTYPE# 216Q VPCFDIRENTRY 170Q VPCFDIRENTRY 151Q VPCFFILETYPE# 140Q BODY 134Q EXTENSION 130Q NAME 123Q VPCDISK 117Q DEVICE 112Q FDEV 106Q HOST 45Q BODY 41Q HOST 35Q DEVICE 15Q EXTENSION 3 NAME) ( 76Q "VIRTUAL DISK DISK SPACE EXHAUSTED") \VPCF.OPEN.FOR.APPEND D1 (P 5 FULLNAME P 4 FILE P 3 DIRENTRY P 2 STREAM P 1 EXTENSION P 0 NAMEFIELD I 2 FDEV I 1 DISK I 0 NAME)  @g @g A  ghghg@ Aid [dA oA gBgAgHgIg@ ]`dKdAdMKA dN dj\dLL _O`dBdMdL djKA _dOKA _dOKA _dO KA _dO A _dO0dldg.dg,d`&dg"dg d`djd`dhdldjRdk@dk0dh(241Q LAST 204Q \VPCF.READ.FAT.CHAIN 146Q PACKFILENAME 103Q ERROR 72Q \VPCF.CLOSE.BACKING.STREAM 63Q \VPCF.FIND.DIR.ENTRY 55Q PACKFILENAME 51Q U-CASE 27Q \VPCF.OPEN.BACKING.STREAM 23Q U-CASE 20Q FILENAMEFIELD 11Q U-CASE 6 FILENAMEFIELD) (544Q \STREAM.DEFAULT.MAXBUFFERS 530Q FILELINELENGTH 521Q \FILEOUTCHARFN 512Q \EOSERROR 503Q \NOIMAGEOPS 474Q \STREAM.NOT.OPEN 465Q \STREAM.NOT.OPEN 437Q VPCDISK 417Q VPCDISK 411Q VPCFDIRENTRY 371Q VPCDISK 363Q VPCFDIRENTRY 343Q VPCDISK 335Q VPCFDIRENTRY 315Q VPCDISK 307Q VPCFDIRENTRY 256Q STREAMTYPE# 234Q VPCFFILE 230Q VPCFFILE 224Q VPCFFILE 176Q VPCFDIRENTRY 152Q VPCFFILETYPE# 141Q BODY 135Q EXTENSION 131Q NAME 124Q VPCDISK 120Q DEVICE 113Q FDEV 107Q HOST 45Q BODY 41Q HOST 35Q DEVICE 15Q EXTENSION 3 NAME) ( 77Q "VIRTUAL DISK SPACE EXHAUSTED") \VPCF.REOPENFILE D1 (L (0 STREAM)) @NIL NIL () \VPCF.CLOSEFILE D1 (P 4 DISKSTREAM P 3 DIRENTRY P 2 BUFFER P 1 DISK P 0 FILE I 0 STREAM) @ 1H@HI"g @ K@ I @ @Rlj@Rlj"ILK @ jHJhd@ @jR@ @g,@g.I@ I @(254Q \VPCF.CLOSE.BACKING.STREAM 250Q \VPCF.DELETEOFD 221Q \SETACCESS 204Q \VPCF.WRITE.CLUSTER 153Q \VPCF.WRITE.DIR.ENTRY 60Q \VPCF.UPDATEOF 51Q GETSTREAM) (260Q STREAM 241Q \STREAM.NOT.OPEN 236Q STREAM 230Q \STREAM.NOT.OPEN 225Q STREAM 211Q STREAM 176Q STREAM 160Q STREAM 133Q STREAM 116Q STREAM 105Q STREAM 76Q VPCDISK 70Q STREAM 64Q VPCFDIRENTRY 46Q BOTH 41Q VPCDISK 32Q VPCFFILE 23Q STREAM 14Q VPCFFILE 3 STREAM) () \VPCF.DELETEFILEA0001A0002 D1 (I 0 DISK) @ (3 \VPCF.CLOSE.BACKING.STREAM) NIL () \VPCF.DELETEFILEA0001A0003 D1 (NAME ERRORSET F 0 CLUSTER F 1 DISK F 2 STREAM F 3 DIRENTRY F 4 RESETY) ;Q&hi RS Rl!ScjnPhciPQj (67Q \VPCF.MARK.THE.FAT 25Q SETFILEPTR 12Q OBTAIN.MONITORLOCK) (37Q VPCFDIRENTRY 20Q VPCFDIRENTRY 3 VPCDISK) () \VPCF.DELETEFILEA0001 D1 (NAME ERRORSET P 2 RESETZ P 1 RESETY P 0 LISPXHIST F 3 DISK F 4 RESETVARSLST F 5 STREAM F 6 RESETY F 7 NAME F 10Q DIRENTRY F 11Q LISPXHIST) ]S c gShhhTcghghgW Sid c%W!Tog hgZ JIc i(124Q ERROR! 116Q RESETRESTORE 104Q \VPCF.DELETEFILEA0001A0003 60Q \VPCF.FIND.DIR.ENTRY 52Q PACKFILENAME 46Q U-CASE 3 \VPCF.OPEN.BACKING.STREAM) (112Q ERROR 101Q INTERNAL 41Q BODY 35Q HOST 31Q DEVICE 11Q \VPCF.DELETEFILEA0001A0002) ( 76Q (\VPCF.DELETEFILEA0001A0003)) \VPCF.DELETEFILE D1 (P 12Q RESETZ P 11Q RESETY P 10Q LISPXHIST P 7 STREAM P 6 CLUSTER P 5 FULLNAME P 4 FILE P 3 DIRENTRY P 2 EXTENSION P 1 NAMEFIELD P 0 DISK I 1 FDEV I 0 NAME F 13Q LISPXHIST F 14Q RESETVARSLST) M @A @g @g QW! Wog hg_ OK@(104Q ERROR! 75Q RESETRESTORE 62Q \VPCF.DELETEFILEA0001 36Q U-CASE 33Q FILENAMEFIELD 21Q U-CASE 16Q FILENAMEFIELD 4 \VPCF.GET.DISK) (70Q ERROR 57Q INTERNAL 30Q EXTENSION 13Q NAME) ( 54Q (\VPCF.DELETEFILEA0001)) \VPCF.SEARCHOFDS D1 (L (1 FILENAME 0 DISK) F 2 \VPCF.OPENFILES) ,RHhYd@HXIAINIL (33Q STREAM) () \VPCF.DELETEOFD D1 (I 1 STREAM I 0 DISK F 0 \VPCF.OPENFILES) @AhP c(10Q REMOVE) NIL () \VPCF.ADDOFD D1 (L (1 STREAM 0 DISK) F 0 \VPCF.OPENFILES) A @AhPcNIL (3 STREAM) () \VPCF.PARSENAME D1 (P 2 POS P 1 DIRS P 0 DIRPART I 0 NAME) ;@g !H(oH H kغHkJk IHJk XI @(66Q REVERSE 57Q SUBATOM 45Q SUBATOM 32Q NCHARS 24Q STRPOS 6 FILENAMEFIELD) (3 DIRECTORY) ( 20Q ">") \VPCF.GETFILENAMEA0001 D1 (NAME ERRORSET F 0 FULLFILENAME F 1 FDEV F 2 DISK) PQ ci(4 \VPCF.GET.DISK) NIL () \VPCF.GETFILENAMEA0002 D1 (NAME ERRORSET F 0 FULLFILENAME F 1 RECOG F 2 DISK F 3 RESULT) LPRid !QdgdgdgP)g# QdgdgdgdgPhci(6 \VPCF.FIND.DIR.ENTRY) (77Q OLD/NEW 71Q NEW 63Q OLD 54Q OLDEST 42Q NEW 31Q OLDEST 23Q OLD 15Q OLD/NEW) () \VPCF.GETFILENAME D1 (P 2 RESULT P 1 WASOPEN P 0 DISK I 2 FDEV I 1 RECOG I 0 FULLFILENAME) (0o H" YH o IH J(44Q \VPCF.CLOSE.BACKING.STREAM 36Q \VPCF.GETFILENAMEA0002 27Q \VPCF.OPEN.BACKING.STREAM 22Q OPENP 11Q \VPCF.GETFILENAMEA0001) (15Q VPCDISK) ( 33Q (\VPCF.GETFILENAMEA0002) 6 (\VPCF.GETFILENAMEA0001)) \VPCF.GET.DISK D1 (P 1 DISK I 1 FDEV I 0 FILENAME) SAd`g b(Hh o@ @g km IIiHX(76Q MKATOM 73Q U-CASE 70Q SUBSTRING 62Q FILENAMEFIELD 50Q ERROR 16Q \GETDEVICEFROMNAME) (102Q VPCDISK 57Q DEVICE 23Q FDEV 13Q PCDISK 5 FDEVTYPE#) ( 44Q "NO DISK FOR NAME") \VPCF.GETNEXTBUFFER D1 (P 4 CLUSTER P 3 DISK P 2 FILE P 1 OLDBUFFER P 0 BUFFER I 3 NEXTCLUSTER I 2 NOERRORFLG I 1 WHATFOR I 0 STREAM) @QH@ Z@Rj@@l @ jJHB @j @Ag@K @!H@J l ]MK @@j@@k@@ @@ @K @K 0Adg)JHBC BHjK k hh~@ gtJHBC iHjK k KJ@d \K@ oK JL@@ @j Jn@K @k ih(623Q SHOULDNT 521Q ERROR 510Q \VPCF.DELETEOFD 501Q \VPCF.ALLOCATE.CLUSTERS 464Q \ZEROBYTES 445Q \VPCF.READ.CLUSTER 427Q \EOF.ACTION 415Q \ZEROBYTES 371Q \VPCF.READ.CLUSTER 212Q \ALLOCBLOCK 100Q \VPCF.WRITE.CLUSTER 57Q \LISPERROR) (612Q STREAM 601Q VPCDISK 575Q STREAM 563Q VPCFFILE 553Q STREAM 542Q STREAM 536Q STREAM 526Q VPCFFILE 474Q STREAM 455Q VPCDISK 433Q WRITE 406Q VPCDISK 356Q READ 345Q VPCDISK 341Q STREAM 330Q VPCDISK 324Q STREAM 315Q STREAM 311Q STREAM 300Q STREAM 272Q STREAM 257Q STREAM 253Q STREAM 243Q STREAM 232Q STREAM 224Q VPCDISK 200Q VPCDISK 173Q VPCFFILE 167Q STREAM 152Q STREAM 141Q VPCDISK 132Q STREAM 124Q READ 116Q STREAM 105Q STREAM 64Q STREAM 45Q STREAM 33Q STREAM 24Q VPCFFILE 16Q STREAM 3 STREAM) ( 515Q "\VPCF.GETNEXTBUFFER: DISK SPACE EXHAUSTED") \VPCF.READ.CLUSTERA0001 D1 (NAME ERRORSET P 3 STREAM P 2 DISK P 0 CLUSTER F 7 FILE F 10Q NEWCLUSTER F 11Q BUFFER F 12Q RESETY) W&hi W W!WZ"g HjnHhDWHKHJ KWJ L6LMjNlIWHJ ici(200Q \VPCF.GET.NEXT.CLUSTER 124Q SETFILEPTR 121Q \VPCF.CLUSTER.TO.FILEPOS 62Q GETSTREAM 20Q OBTAIN.MONITORLOCK) (173Q VPCFFILE 152Q FDEV 145Q STREAM 134Q VPCDISK 107Q VPCFFILE 57Q BOTH 52Q VPCDISK 44Q VPCFFILE 32Q VPCFFILE 11Q VPCDISK 4 VPCFFILE) () \VPCF.READ.CLUSTER D1 (P 2 RESETZ P 1 RESETY P 0 LISPXHIST I 3 NEWCLUSTER I 2 NOERRORFLG I 1 BUFFER I 0 FILE F 3 LISPXHIST F 4 RESETVARSLST) "S!Tog hgZ JI(35Q ERROR! 30Q RESETRESTORE 16Q \VPCF.READ.CLUSTERA0001) (24Q ERROR 13Q INTERNAL) ( 10Q (\VPCF.READ.CLUSTERA0001)) \VPCF.WRITE.CLUSTERA0001 D1 (NAME ERRORSET P 3 STREAM P 2 DISK P 0 CLUSTER F 7 FILE F 10Q NEWCLUSTER F 11Q RESETY F 12Q BUFFER F 13Q BYTECOUNT) W&hi W W!WZ"g Hjo ;nHh2KHJ KWWJ L8LMjNlIici(124Q SETFILEPTR 121Q \VPCF.CLUSTER.TO.FILEPOS 100Q SHOULDNT 62Q GETSTREAM 20Q OBTAIN.MONITORLOCK) (156Q FDEV 151Q STREAM 140Q VPCDISK 57Q BOTH 52Q VPCDISK 44Q VPCFFILE 32Q VPCFFILE 11Q VPCDISK 4 VPCFFILE) ( 75Q "ERROR: TRYING TO WRITE AN ILLEGAL CLUSTER") \VPCF.WRITE.CLUSTER D1 (P 2 RESETZ P 1 RESETY P 0 LISPXHIST I 4 BYTECOUNT I 3 NEWCLUSTER I 2 ERRORFLG I 1 BUFFER I 0 FILE F 3 LISPXHIST F 4 RESETVARSLST) "S!Tog hgZ JI(35Q ERROR! 30Q RESETRESTORE 16Q \VPCF.WRITE.CLUSTERA0001) (24Q ERROR 13Q INTERNAL) ( 10Q (\VPCF.WRITE.CLUSTERA0001)) \VPCF.GET.NEXT.CLUSTERA0001 D1 (NAME ERRORSET F 0 STREAM F 1 DISK F 2 RESETY F 3 OFFSET F 4 WORD) &Q&hi PQS P P cci(27Q SETFILEPTR 12Q OBTAIN.MONITORLOCK) (20Q VPCDISK 3 VPCDISK) () \VPCF.GET.NEXT.CLUSTER D1 (P 5 RESETZ P 4 RESETY P 3 LISPXHIST P 2 WORD P 1 OFFSET P 0 STREAM I 2 NOERRORFLG I 1 DISK I 0 CLUSTER F 6 LISPXHIST F 7 RESETVARSLST) VA"g @d@jn@nV!Wog hg] M@kjJnJ(100Q ERROR! 72Q RESETRESTORE 60Q \VPCF.GET.NEXT.CLUSTERA0001 13Q GETSTREAM) (66Q ERROR 55Q INTERNAL 10Q BOTH 3 VPCDISK) ( 52Q (\VPCF.GET.NEXT.CLUSTERA0001)) \VPCF.ALLOCATE.CLUSTERS D1 (P 1 CLUSTER P 0 DIRENTRY I 3 NEWEPAGE I 2 STREAM I 1 FILE I 0 DISK) AAnAjB CH@ YAAjHIA@I BB k AIAIAn@d"g H I(210Q \VPCF.WRITE.DIR.ENTRY 204Q GETSTREAM 114Q \VPCF.MARK.THE.FAT 54Q \VPCF.ALLOCATE.CLUSTER) (201Q BOTH 174Q VPCDISK 162Q VPCFFILE 150Q VPCFFILE 140Q VPCFFILE 125Q STREAM 121Q STREAM 105Q VPCFFILE 74Q VPCFDIRENTRY 63Q VPCFFILE 41Q STREAM 30Q VPCFFILE 14Q VPCFFILE 3 VPCFFILE) () \VPCF.ALLOCATE.CLUSTERA0001 D1 (NAME ERRORSET P 5 I P 2 WORD P 1 CLUSTER P 0 STREAM F 6 DISK F 7 RESETY) V&hi V"g 1VVVVknV ۻlYK4HVId H H غIkjJnJjIIk԰h/IVn HIV V kMLHj!Mk]Ici(222Q SETFILEPTR 217Q \VPCF.CLUSTER.TO.FILEPOS 210Q \VPCF.MARK.THE.FAT 132Q SETFILEPTR 27Q GETSTREAM 12Q OBTAIN.MONITORLOCK) (227Q VPCDISK 120Q VPCDISK 100Q VPCDISK 62Q VPCDISK 53Q VPCDISK 44Q VPCDISK 36Q VPCDISK 24Q BOTH 17Q VPCDISK 3 VPCDISK) () \VPCF.ALLOCATE.CLUSTER D1 (P 2 RESETZ P 1 RESETY P 0 LISPXHIST I 0 DISK F 3 LISPXHIST F 4 RESETVARSLST) "S!Tog hgZ JI(35Q ERROR! 30Q RESETRESTORE 16Q \VPCF.ALLOCATE.CLUSTERA0001) (24Q ERROR 13Q INTERNAL) ( 10Q (\VPCF.ALLOCATE.CLUSTERA0001)) \VPCF.DEALLOCATE.CLUSTERS D1 (P 2 CURPAGE P 1 CLUSTER P 0 ENDPAGE I 3 NEWEPAGE I 2 STREAM I 1 FILE I 0 DISK) tB ABCkٻjZKI@ Jk԰AII@ HkJMZLnIIkI@j Jk԰A@n Ann(145Q \VPCF.MARK.THE.FAT 121Q \VPCF.MARK.THE.FAT 64Q \VPCF.GET.NEXT.CLUSTER 41Q \VPCF.GET.NEXT.CLUSTER) (151Q VPCFFILE 134Q VPCFFILE 53Q VPCFFILE 16Q VPCFDIRENTRY 11Q VPCFFILE 3 STREAM) () \VPCF.MARK.THE.FATA0001 D1 (NAME ERRORSET P 3 OLDVALUE P 2 WORD P 1 OFFSET P 0 STREAM F 6 DISK F 7 CLUSTER F 10Q NEWVALUE F 11Q RESETY) V&hi V"g WdBHVI H H غWkjJnJHVI WkjHWnJn\Jl!LHWlJl]Jl!MJl!HIV HJl!HJl!Kci(232Q SETFILEPTR 122Q SETFILEPTR 53Q SETFILEPTR 27Q GETSTREAM 12Q OBTAIN.MONITORLOCK) (224Q VPCDISK 113Q VPCDISK 44Q VPCDISK 24Q BOTH 17Q VPCDISK 3 VPCDISK) () \VPCF.MARK.THE.FAT D1 (P 2 RESETZ P 1 RESETY P 0 LISPXHIST I 2 NEWVALUE I 1 DISK I 0 CLUSTER F 3 LISPXHIST F 4 RESETVARSLST) 0n@o S!Tog hgZ JI(53Q ERROR! 46Q RESETRESTORE 34Q \VPCF.MARK.THE.FATA0001 14Q SHOULDNT) (42Q ERROR 31Q INTERNAL) ( 26Q (\VPCF.MARK.THE.FATA0001) 11Q "ILLEGAL FAT VALUE") \VPCF.PRINT.FATS D1 (P 2 STR P 1 X I 0 DIR) H@ !HhYgg Z i li J  i i J HX(100Q CLOSEF 73Q TERPRI 66Q PRIN1 46Q SPACES 37Q PRIN1 33Q FULLNAME 27Q OPENSTREAM 3 DIRECTORY) (60Q VPCFFILE 53Q STREAM 24Q OLD 21Q INPUT) () \VPCF.GET.CLUSTER.CHAIN D1 (P 0 CLUSTER I 1 DISK I 0 STARTCLUSTER) %@1nHHJKhZHA K&I(31Q \VPCF.GET.NEXT.CLUSTER) NIL () \VPCF.DIRTEST D1 (P 2 I P 0 TS I 1 NUMBER.OF.FILES I 0 PCDISKDIR) AkJI3oi @J i @J g X JkZAkJI-oi @J i @J JlZAlAkJI4@J g oi @J i H JkZh(256Q CLOSEF 251Q TERPRI 245Q TERPRI 241Q PRIN1 235Q CONCAT 227Q PRIN1 216Q OPENSTREAM 210Q CONCAT 153Q DELFILE 150Q CONCAT 142Q TERPRI 136Q TERPRI 132Q PRIN1 126Q CONCAT 120Q PRIN1 66Q CLOSEF 62Q OPENSTREAM 54Q CONCAT 46Q TERPRI 42Q TERPRI 36Q PRIN1 32Q CONCAT 24Q PRIN1) (213Q OUTPUT 57Q OUTPUT) ( 223Q "OPENING FILE " 114Q "DELETING FILE " 20Q "OPENING FILE ") (PRETTYCOMPRINT VPCDISKCOMS) (RPAQQ VPCDISKCOMS ((* * Implements a LISP file system, so lisp can use files on virtual IBM-PC format floppy and hard disks.) (DECLARE: DONTCOPY (RECORDS VPCDISK VPCFDIRENTRY VPCFFILE VPCDIR VPCGENERATEDFILEINFO) (CONSTANTS (VPCF.BYTES.PER.SECTOR 512) (VPCF.DIR.ENTRY.LEN 32) ( VPCF.SECTORS.PER.CYLINDER 68)) (* * Directory file attribute-byte bit meanings) (CONSTANTS ( ATTR.READONLY 1) (ATTR.HIDDEN 2) (ATTR.SYSFILE 4) (ATTR.VOLLABEL 8) (ATTR.DIR 16) (ATTR.ARCHIVE 32)) ( * * Media-type byte meanings (first byte of the FAT)) (CONSTANTS (DISK.8SEC2SIDE 255) (DISK.8SEC1SIDE 254) (DISK.9SEC2SIDE 253) (DISK.9SEC1SIDE 252) (DISK.15SEC2SIDE 249) (DISK.FDISK 248) (VPCF.EOF 4088) (* 12-bit EOF value)) (MACROS \SWIN \DSWIN \SWOUT \DSWOUT)) (INITRECORDS VPCDISK VPCFDIRENTRY VPCFFILE ) (COMS (FNS PRINDIRSTR STR2INT \VPCF.READPAGES)) (COMS (* DEVICE and FLOPPY initialization and copying) (FNS VPCDISK.FLOPPY.TO.FILE VPCDISK.FILE.TO.FLOPPY VPCDISK.INSTALL VPCDISK.CREATE.DEVICE \VPCDISK.CREATE.FLOPPY VPCDISK.DELETE.DEVICE VPCDISK.FREEPAGES VPCDISK.GETPARTITION# VPCDISK.CHANGE.PARTITION.TYPE \VPCF.INITIALIZE.DISK)) (COMS (* LISP to real PC FLOPPY functions) (FNS PCFLOPPY.INSTALL \PCFLOPPY.OPEN.FOR.APPEND \PCFLOPPY.OPEN.FOR.BOTH \PCFLOPPY.OPEN.FOR.INPUT \PCFLOPPY.OPEN.FOR.OUTPUT \PCFLOPPY.OPENFILE \PCFLOPPY.CLOSEFILE \PCFLOPPY.READPAGES \PCFLOPPY.WRITEPAGES)) (COMS (* Directory Manipulation) (FNS \VPCF.FIND.DIR.ENTRY \VPCF.DIR.LOOKUP \VPCF.SEARCH.DIR \VPCF.READ.DIR.ENTRY \VPCF.FIND.FREE.DIR.ENTRY \VPCF.WRITE.DIR.ENTRY \VPCF.READ.FILE.DATE \VPCF.WRITE.FILE.DATE \VPCF.ROOTDIRECTORY \VPCF.NEXT.DIR.CLUSTER \VPCF.CLUSTER.TO.FILEPOS \VPCF.MAPDIR \VPCF.READ.FAT.CHAIN) (FNS \VPCF.GENERATEFILES \VPCF.FILEMATCH \VPCF.FILEMATCH1 \VPCF.NEXTFILEFN \VPCF.FILEINFOFN) (FNS \VPCF.GETFILEINFO \VPCF.SETFILEINFO \VPCF.OPEN.BACKING.STREAM \VPCF.CLOSE.BACKING.STREAM)) (COMS (* FILEPTR Manipulation) (FNS \VPCF.EOFP \VPCF.SETFILEPTR \VPCF.GETFILEPTR \VPCF.BACKFILEPTR \VPCF.SETEOFPTR \VPCF.GETEOFPTR \VPCF.UPDATEOF)) ( FNS \VPCF.OPENFILE \VPCF.OPEN.FOR.INPUT \VPCF.OPEN.FOR.OUTPUT \VPCF.OPEN.FOR.BOTH \VPCF.OPEN.FOR.APPEND \VPCF.REOPENFILE \VPCF.CLOSEFILE \VPCF.DELETEFILE \VPCF.SEARCHOFDS \VPCF.DELETEOFD \VPCF.ADDOFD) (FNS \VPCF.PARSENAME \VPCF.GETFILENAME \VPCF.GET.DISK \VPCF.GETNEXTBUFFER \VPCF.READ.CLUSTER \VPCF.WRITE.CLUSTER \VPCF.GET.NEXT.CLUSTER \VPCF.ALLOCATE.CLUSTERS \VPCF.ALLOCATE.CLUSTER \VPCF.DEALLOCATE.CLUSTERS \VPCF.MARK.THE.FAT \VPCF.PRINT.FATS \VPCF.GET.CLUSTER.CHAIN \VPCF.DIRTEST) (VARS (\VPCF.OPENFILES NIL) \PCFLOPPY.TRACKSPERCYLINDER.SAVE \PCFLOPPY.SECTORSPERTRACK.SAVE) (INITVARS (PC.TEXTFILE.EXTENSIONS NIL )) (P (VPCDISK.INSTALL)) (P (PCFLOPPY.INSTALL)))) (/DECLAREDATATYPE (QUOTE VPCDISK) (QUOTE (POINTER FLAG BYTE BYTE FIXP FIXP BYTE FIXP FIXP FIXP FIXP FIXP FIXP BYTE FIXP FIXP FIXP FIXP FIXP FIXP FIXP POINTER POINTER POINTER POINTER)) (QUOTE ((VPCDISK 0 POINTER) (VPCDISK 0 (FLAGBITS . 0)) (VPCDISK 2 (BITS . 7)) (VPCDISK 2 (BITS . 135)) (VPCDISK 3 FIXP) (VPCDISK 5 FIXP) (VPCDISK 7 (BITS . 7)) (VPCDISK 8 FIXP) (VPCDISK 10 FIXP) (VPCDISK 12 FIXP) (VPCDISK 14 FIXP) (VPCDISK 16 FIXP) (VPCDISK 18 FIXP) (VPCDISK 7 (BITS . 135)) (VPCDISK 20 FIXP) (VPCDISK 22 FIXP) (VPCDISK 24 FIXP) (VPCDISK 26 FIXP) (VPCDISK 28 FIXP) (VPCDISK 30 FIXP) (VPCDISK 32 FIXP) ( VPCDISK 34 POINTER) (VPCDISK 36 POINTER) (VPCDISK 38 POINTER) (VPCDISK 40 POINTER))) (QUOTE 42)) (/DECLAREDATATYPE (QUOTE VPCFDIRENTRY) (QUOTE (POINTER POINTER BYTE FIXP WORD FIXP POINTER)) (QUOTE (( VPCFDIRENTRY 0 POINTER) (VPCFDIRENTRY 2 POINTER) (VPCFDIRENTRY 2 (BITS . 7)) (VPCFDIRENTRY 4 FIXP) ( VPCFDIRENTRY 6 (BITS . 15)) (VPCFDIRENTRY 7 FIXP) (VPCFDIRENTRY 10 POINTER))) (QUOTE 12)) (/DECLAREDATATYPE (QUOTE VPCFFILE) (QUOTE (POINTER POINTER WORD WORD FIXP POINTER POINTER)) (QUOTE (( VPCFFILE 0 POINTER) (VPCFFILE 2 POINTER) (VPCFFILE 4 (BITS . 15)) (VPCFFILE 5 (BITS . 15)) (VPCFFILE 6 FIXP) (VPCFFILE 8 POINTER) (VPCFFILE 10 POINTER))) (QUOTE 12)) (RPAQQ \VPCF.OPENFILES NIL) (RPAQQ \PCFLOPPY.TRACKSPERCYLINDER.SAVE 2) (RPAQQ \PCFLOPPY.SECTORSPERTRACK.SAVE 9) (RPAQ? PC.TEXTFILE.EXTENSIONS NIL) (VPCDISK.INSTALL) (PCFLOPPY.INSTALL) (PUTPROPS VPCDISK COPYRIGHT ("Xerox Corporation" 1986 1900)) NIL