filed on {rose}fugue6>doc>FloppySupport.bx5.1 FLOPPY SUPPORT This documentation describes Interlisp-D's file device {FLOPPY}, used tointeract with floppy drives on Xerox 1108 machines. In general, Interlisp-D canbe used to read, write, and otherwise interact with files on Pilot formatted floppydisks through standard Interlisp input/output functions. All familiar operationssuch as LOAD, OPENFILE, READ, PRINT, READC, GETFILEINFO,SETFILEINFO, GETFILEPTR, SETFILEPTR, etc. work with file device{FLOPPY}. COPYFILE is commonly used to archive and unarchive filesbetween {FLOPPY} and other file devices. Files on {FLOPPY} can be compiled,edited, hardcopied, etc. just as files may be on all other ordinary file devices. The user should be aware that the occurence of certain events (i.e. openingthe floppy drive door, performing a (LOGOUT), etc. ) while a {FLOPPY} stream is open can result in the files on the floppy being inaccessible. Thisupdate of Fugue.4 provides recovery techniques which attempt to repair suchdamage. See FLOPPY.RESTART and FLOPPY.SCAVENGE described below.(OPENP) can be used to determine if any files are currently open for input oroutput; (CLOSEALL) will close all open files except T and the currenttypescript file, if any, and return a list of the files closed. See Section 6.1 of theInterlisp Reference Manual for more information on file manipulation functions. The following functions and capabilities are supported in the current softwarerelease. (FLOPPY.FORMAT NAME AUTOCONFIRMFLG SLOWFLG) [Function]This function is used to erase and establish track information on floppies,especially floppies which are brand new. The NAME arg becomes the name ofyour floppy. It's a good idea to label the outside of your floppies with the sameNAME. AUTOCONFIRMFLG controls questioning the user about destroyingfloppies that appear to contain valid information. If AUTOCONFIRMFLG is T,the user will not be asked to confirm. SLOWFLG determines how thorough aformatting job is to be done on the floppy you format. If SLOWFLG is T,FLOPPY.FORMAT will completely erase your floppy, setting down trackinformation and critical Pilot records on your floppy. When SLOWFLG is leftNIL, only Pilot records needed to give your floppy an empty directory are written.Use SLOWFLG = T with brand new floppies. Your floppies should always be8" double sided/double density soft sectored floppy disks. Floppies are insertedinto the floppy drive face up, the edge of the floppy with two 2" long cover holes(one hole per side) going in first. The writeprotect notch will be on the same edgeas and to the left of a cover hole as you look down on the floppy from above. Ifyou attempt to write on an unformatted floppy a break will occur and the mesage"Floppy: Not a Pilot Floppy" will appear in the Prompt Window. `hp,ZZq{ R6rs!, Pk+rs Nrs- Lrs1 K rs# I? rms n' Gt! rs"- E rs# Crs@rs @l> >& <J ;  < 9@5 7u' 55 3 G 2ts: .*rs" , )eu jvX#ursj % rs  $( rsrs$ "]rs* rs? rs rs& 1 rs  f RS rs%  rs rs rs rs# :rs2 o rs+ #rs 1rsrs = CCURRENT>FULL.SYSOUT '{FLOPPY}) would put the current Interlisp-D FULL.SYSOUT onto floppies. The InstallationUtility is then used to load these sysouts onto a Xerox 1108. Similarly, sysouts canbe copied off of floppies onto another file device using COPYFILE when inSYSOUT mode. It is possible to write and read Pilot huge files across multiple floppies inHUGEPILOT mode (FLOPPY.MODE 'HUGEPILOT). This mode is practicallyidentical to SYSOUT mode, with the exception that the user has control over thenames of file and floppies. Nf2r _ujvu5es" \#'rXsjrX Xsusj5e# U?%rs Str Pusj5e# L rs J# H: Ejus5e' B1 rs @K1rs ;juvu5es# 7rs 5rs 4rs0 2;rsr ,sjuvusV ) rs 'rs" % rs $+rs= "`rsB  |;  rs-rs ?0rs t$rs  rs 7*rs l-rs rs TVk(:3(FLOPPY.TO.FILE TOFILE) & (FLOPPY.FROM.FILE FROMFILE)These two functions support the ability to copy Pilot floppies. FLOPPY.TO.FILEcopies the contents of the current floppy to a file and FLOPPY.FROM.FILE isFLOPPY.TO.FILE's inverse. Typically, you may insert a floppy into the floppydrive, use FLOPPY.TO.FILE to move the contents of the floppy to a file (on a fileserver or some logical volume of your machine with 2500 free pages), remove yourfloppy, insert a blank floppy, and use FLOPPY.FROM.FILE to move the contentsof the file onto the blank floppy. The new floppy will automatically be formattedand given the same name as the original floppy. FLOPPY.FROM.FILE can beused more than once if you would like to make more than one copy. As analternative to using FLOPPY.SCAVENGE (described below), the TOFILEproduced by FLOPPY.TO.FILE can be usefully editted to salvage the contents ofa floppy that has been damaged.(FLOPPY.FREE.PAGES) [Function] This function returns the number of unallocated free pages on the current floppy.Pilot floppy files are contiguously represented on floppy disks. If you are going touse your floppy interactively (you are not just doing a simple series ofCOPYFILEs after a FLOPPY.FORMAT), it is suggested you do not fill thefloppy to capacity. Try to keep such a floppy <75% full. (FLOPPY.COMPACT) [Function]If your floppy is stable--there are no extant {FLOPPY} streams--FLOPPY.COMPACT may be used to compact your floppy, moving files towardsthe front of your floppy so that all free blocks on your floppy can be combinedinto one free block. (A compactor that works well when there are open{FLOPPY} streams is in the pipeline.) (FLOPPY.SCAVENGE) [Function]This function attempts to repair a floppy whose critical records have becomeconfused. (FLOPPY.RESTART) [Function] A last resort way to try to restart {FLOPPY} if you think {FLOPPY} is smashed.FLOPPY.RESTART will recreate all of {FLOPPY}'s internal globals. Be warnedthat any outstanding {FLOPPY} streams will be lost if you do(FLOPPY.RESTART). Try switching floppies or opening and then closing thefloppy drive door first. Nf2r _ujvusuvs \# .rs ZX1rs Xrs Vrs+ Trs3 S,rs& Qa8 O < Mrs# L S0T J56rs Hj Du=sj A;rs ? rs! =LrsM <%rs :Z!rs 6jus= 3vrs 1 rs /&rs .$%rs- ,J rs r (us= %f%rs  # )ujs= "rs*  rs7 !rs ( Vrs!  rsrrTVk(C TimesRoman TimesRoman TimesRoman  TimesRoman  TimesRoman  TimesRoman  TimesRoman j/0FloppySupport.bxSybalskyMarch 30, 1984 9:23 AM