JOYTemplate for Letters group  .ÿŒÿ„ 'FH R< ”È‚‰ Ȉ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†ÌNSWP-Adiskmaintenanceutility.ˆ† ˆ† ˆ†¼DaveRandˆ†l10232-160Streetˆ†lEdmonton,Albertaˆ†äCanadaˆ†ÐT5P3E9ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ€ ”È‚‰ Ȉ†ä-1-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP2-Adiskmaintenanceutilityˆ† ˆ† ˆ† ˆ† ˆ†¼INDEXˆ† ˆ†lPageˆ†€Introduction........................3ˆ†€OverviewofNSWP...............4ˆ†€InvokingNSWP..................5ˆ†€Singlefilecommands................6ˆ†€Help...........................7ˆ†€ForwardandBackward...........7ˆ†€Exiting........................8ˆ†€Findingafile.................8ˆ†€ViewingandPrinting...........8ˆ†€Deletingafile................8ˆ†€Copying........................9ˆ†€Renaming.......................9ˆ†€TheSpacecommand..............11ˆ†€TheLogcommand................11ˆ†€IntroductiontoMultifileCommands..12ˆ†€TheTagcommand................12ˆ†€Wildcardtagging...............13ˆ†€TheUntagcommand..............13ˆ†€TheMasscopycommand..........13ˆ†€Afterthemass(Again).........14ˆ†€Erasingfiles..................14ˆ†€SqueezingandUnsqueezingfiles.14ˆ†€Settingfilestatus............15ˆ†€Epilogue............................16ˆ†€Credits.............................16ˆ†€Contributions.......................16ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ€ € ”È‚‰ Ȉ†ø-2-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP2-Adiskmaintenanceutilityˆ† ˆ† ˆ†°Introductionˆ† ˆ†xNSWPisnewdiskutilitythancanreplacemanyofthemoreˆ†xcommonutilitiesthatareused,suchasSTAT,PIP,USQ,SQ,TYPE,ˆ†ŒPRINT,SWEEP,DISK7,PROT,andothers.Inonly12Kofdiskspace,ˆ†äitreplacesover100Kofutilities!ˆ† ˆ†xNSWPiswrittenentirelyinassemblylanguage,andwillrunˆ†xonanyCP/M2.x,3.xorMP/Mbasedsystemwithnochanges.Sinceˆ†xitiscodedin8080assembler,any8080,8085orZ80compatibleˆ†xprocessorwillserve.NotethatthisprogramWILLNOTrunonCP/Mˆ†P1.4.ˆ† ˆ†xWhenNSWPwasconceived,thedominantfileutilitywasˆ†xSWEEP,andthusNSWPissyntaxcompatiblewithSWEEP,butwithˆ†xmanyextensions.ThisallowsyoutodirectlyrenameNSWPtoˆ†¤SWEEP,ifyousodesire,withnoretrainingperiod.ˆ† ˆ†xIhopethatyouenjoythisprogram,anduseitwell.Anyˆ†xproblems,orsuggestionsmaybedirectedtomyselfattheaddressˆ†|onthefirstpage,orononeofthefollowingRCP/Ms:ˆ† ˆ†¸EdmontonRCP/M-(403)454-6093(300or1200baud)ˆ†ôStadiumRCP/M-(403)479-3450(300baudonly)ˆ† ˆ†°orvoiceat:ˆ†ˆ(403)484-4114ˆ† ˆ†DDisclaimerandwarningˆ†xWhilethisprogramhasbeentestedonmanysystems,Iwillˆ†xhavenoliabilityorresponsibiltytotheuseroranyotherˆ†xpersonorentitywithrespecttoanyliability,lossordamageˆ†xcaused,oralledgedtobecauseddirectlyorindirectlybythisˆ†xprogram,including,butnotlimitedto,anyinterruptionofˆ†xservice,lossofbusiness,anticipatoryprofitsorconsequentialˆ†ôdamagesresultingfromtheuseofthisprogram.ˆ† ˆ†xFurthermore,althoughthisprogramhasbeenplacedintotheˆ†xpublicdomain,Iretainallcopyrightstothisprogram,bothinˆ†xtheU.S.AandinCanada,andpursuanttothis,thisprogramMAYˆ€È ”È‚‰ Ȉ†xNOTBESOLDBYANYPARTYunlessspecificallyauthorizedbytheˆ†xauthor,DaveRand,inwriting,previoustothefirstcopybeingˆ†xsold.Aswell,thisprogramMAYNOTBEINCLUDEDINANYOTHERˆ†xPACKAGEFORSALE,evenifthisprogramisindicatedasbeing'inˆ†xthepublicdomain'.Alloftheaboveappliestoboththeoriginalˆ€ ”È‚‰ Ȉ†xaswellasderived,ormodifiedcopiesoftheoriginal.Anyˆ†xmodifiedcopiesofthisprogramMUSTNOThavethecopyrightˆ†Ðnoticeviolated,changedoraltered.ˆ† ˆ†xPleasereportanycopyrightviolationstotheauthor,atoneˆ†Xoftheabovetelephonenumbers.Thankyou.ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†ø-3-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP2-Adiskmaintenanceutilityˆ† ˆ† ˆ†”NSWPOverviewˆ† ˆ†xNSWPisadirectoryandfilemanipulationprogram.Withit,ˆ†xyoucancopy,delete,rename,unsqueezeandsqueezefiles.Theˆ†xdocumentationfollowingissplitintotwomajorsections:Aˆ†xtutorialfortheinexperienced,andareferencesection.Theˆ†xreferencenormallywillbeusedinconjunctionwiththeprogramˆ†xtoanswerspecificquestionsregardingNSWP.Thetutorialisaˆ†xbroadcoverageofallofthefunctions,andshouldbereadˆ†èthroughatleastonce.ˆ† ˆ†xThemostimportantthingtorememberwhenusingNSWPisthatˆ†xitprovidesalistofyourfilesinALPHABETICALorder.Movingˆ†xaroundinthislistisquiteeasy,andwillsoonbecomesecondˆ†nature.ˆ† ˆ†xInthisdocumentation,alluserinputisunderlined.Asˆ†xwell,whenthe"current"fileisreferencedinthisˆ†xdocumentation,itmeansthefilejusttotheleftofyourinput.ˆ†xThis"current"fileisoftenreferredtoasthefileyouareˆ†<"on".ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ€ ”È‚‰ Ȉ†ø-4-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP2-Adiskmaintenanceutilityˆ† ˆ† ˆ†”InvokingNSWPˆ† ˆ†xTomakeeffectiveuseofNSWP,youmustknowthevariousˆ†xoptionsavailabletoyouwhenyouinvokeNSWP.Herearesomeofˆ†°theoptions:ˆ† ˆ†(A>NSWPˆ†xThisformatsimplyloadsNSWP,andscansthedefaultdriveˆ†xanduserforfilenames.OnceinsideNSWP,youmaychangetoaˆ†xdifferentdriveand/oruser,butwhenyouexityouwillbeˆ†|returnedtothedrive/userthatyoucalledNSWPfrom.ˆ† ˆ†°A>NSWP*.COMˆ†xThisformatloadsNSWPandscansthecurrentdriveanduserˆ†xforallfilenameswiththeextension'.COM'.NotethatNSWPcanˆ†xfindsystemfilesaswell,sonoadditionalinformationneedbeˆ†(given.ˆ† ˆ†`A>NSWPB:*.COM*ˆ†xThepresenceofthesecondasteriskindicatestoNSWPthatˆ†xyouwishtoscanalluserareasoftheindicateddiskdrive.Inˆ†@thiscase,all'.COMfilesonalluserareasondriveB.ˆ† ˆ†xCombinationsoftheaboveareacceptable,andyoumayevenˆ†xlogtoalluserareas,andfindallfileswiththespecificationˆ†'*.**'.ˆ† ˆ†xOnceinsideNSWPyouarepresentedwithamenu,thenaˆ†xreportofwhichdriveanduseryouareloggedto,howmuchspaceˆ†xistakenbythefilesyouhavespecified,howmanyfileshaveˆ†xbeenfoundwiththespecificationsgiven,andhowmuchspaceisˆ†äleftonthedisk.Asamplefollows:ˆ† ˆ†€DriveA0:596Kin36files.735Kfree.ˆ† ˆ†xAspecialformatofthislineshowsthatyouareloggedtoˆ†talluserareas:ˆ† ˆ†lDriveB*:950Kin234files.2956Kfree.ˆ† ˆ†ÈFromthispoint,youmayexecuteanyofthemenuoptions.ˆ† ˆ†xAspecialdisplayoccursifnofilesarefoundwiththeˆ†xspecificationyouhavegiven,oriftherearenofilesintheˆ†¬givendrive/userarea(s):ˆ† ˆ€ ”È‚‰ Ȉ†ìNofiles.ˆ† ˆ†xThisdisplaymayalsooccurifyoudeleteallthefilesoutˆ†xofagivenspecification.Whenthisoccurs,yourmenuchoicesareˆ†xlimitedtoONLY'S','L'or'X'.Thisallowsyoutoseethefreeˆ†xSpaceonadrive,toLogtoanotherdrive/user,ortoeXit.Noˆ†¤otherchoicesarevalid,norwilltheybeaccepted.ˆ† ˆ† ˆ† ˆ† ˆ†ø-5-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP2-Adiskmaintenanceutilityˆ† ˆ† ˆ†LCommandStructureˆ† ˆ†xTherearetwoprimarytypesofcommandsinNSWP:thosethatˆ†xactononefileandthosethatactonmanyfiles.Wewillgoˆ†xthroughthemboth.Beforedoingthatthough,let'strymovingˆ†üaroundinNSWPfirst.ˆ† ˆ†xTomoveinNSWP,youmustfirstunderstandthatthefilesonˆ†xyourselecteddrive/userwillbepresentedtoyouinasortedˆ†xmanner.Thefilesaresortedinthisorder:Filename,Fileˆ†üextension,userarea:ˆ† ˆ† 1.B0:-WORK.0010K:ˆ† 2.B0:ARCADD.COM4K:ˆ† 3.B0:ARCCOPY.COM2K:ˆ† ˆ†xAsyoucansee,thefilesarenumberedforyourconvenience.ˆ†xYoumaynotdirectlyusethesenumbers.Asyoucansee,thefileˆ†Tsizeisalsoshown(roundedtothenearestblocksize).ˆ† ˆ†xNotethatifyouhaveenabledthereversevideosequenceˆ†x(seeEpilog),youmayseesomeofthelettersinthefilenameˆ†xprintedinreversevideo.Thechartbelowshowshowtodecodeˆ†Lthisinformation.ˆ† ˆ†èFFFFFFFFRSAˆ†è12345678/YRˆ†è||||||||OSCˆ† ˆ† 4.B0:ARCDEL.COM2K:ˆ† ˆ†xAsyoucansee,thislooksconfusing.Really,though,itisˆ†xnot.ThetagsF1-F8normallyarenotused,butNSWPallowsyouˆ†xsetF1-F4foryourownuse.TheR/Otagmeansthatthefilemayˆ€ ”È‚‰ Ȉ†xberead,butnotwrittento.TheSYStagmeansthatthefiledoesˆ†xnotappearinnormalDIRlistings,andinCP/M3,MPMandCP/M86ˆ†xalsomeansthatthisfileisavaiabletoalluserareas.TheARCˆ†xtagmeansthat,ifset,thefilehasbeenbackedupsinceitwasˆ†ˆlastaccessed.ˆ† ˆ†xNowthatyouunderstandhowfilesarepresented,wecangoˆ†Üthroughasamplesession.Remember,userinputisunderlined.ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†ø-6-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP2-Adiskmaintenanceutilityˆ† ˆ† ˆ†ìA>NSWPB:ˆ† ˆ†”NSWEEP-Version2.0002/11/1984ˆ†„(c)DaveRand,1984ˆ†\Edmonton,Albertaˆ† ˆ†0DriveB0:850Kin64files.118Kfree.ˆ† ˆ†Ð1.B0:-WORK.0010K:ˆ†Ð2.B0:ARCADD.COM4K:ˆ†Ð3.B0:ARCCOPY.COM2K:ˆ†Ð4.B0:ARCDEL.COM2K:ˆ† 5.B0:ARCDIR.COM2K:Bˆ† 4.B0:ARCDEL.COM2K:Bˆ† 3.B0:ARCCOPY.COM2K:Bˆ† 2.B0:ARCADD.COM4K:Bˆ† 1.B0:-WORK.0010K:Xˆ†xA>ˆ† ˆ†PHelpˆ† ˆ†(Atanypoint,youmayrequestthemainhelpmenubypressing'?'.ˆ† ˆ€  ”È‚‰ Ȉ† 1.B0:-WORK.0010K:?ˆ† ˆ†”NSWEEP-Version2.0002/11/1984ˆ†„(c)DaveRand,1984ˆ†\Edmonton,Albertaˆ† ˆ†A-Retagfiles|Q-Squeeze/Unsqeezetaggedfilesˆ†0B-Backonefile|R-Renamefile(s)ˆ†¤C-Copyfile|S-Checkremainingspaceˆ†¤D-Deletefile|T-Tagfilefortransferˆ†€E-EraseT/Ufiles|U-Untagfileˆ†”F-Findfile|V-Viewfileˆ†¤L-Lognewdisk/user|W-Wildcardtagoffilesˆ†M-Massfilecopy|Y-Setfilestatus.ˆ†ôP-Printfile|?-Displaythishelpˆ†¤X-ExittoCP/M|cr,sp-Forwardonefileˆ† ˆ† ˆ† ˆ†„Movingforwardandbackwardˆ† ˆ†xAsyoucansee,thetwomostcommoncommandswillbemovingˆ†xforwardandbackwardsthroughthedirectory.EithertheSPACEbarˆ†x(),ortheRETURNkey()maybeusedtomoveforward.Toˆ†xmovebackwards,simplyusethe'B'key.Notethatallcommandsinˆ†xNSWPcanbeeitherinupperorlowercase.Internally,lowercaseˆ†xwillbeconvertedtouppercase.Ifyoureachtheendoftheˆ†xdirectorywitheithercommand,youwillbe"wrappedaround"toˆ†ptheotherendautomatically.ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†ø-7-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP2-Adiskmaintenanceutilityˆ† ˆ† ˆ†Exitingˆ† ˆ†xToexit,justusethe'X'commandasshownabove.Thiswillˆ†xreturnyoutothesamedriveanduserareathatyouinvokedNSWPˆ†Tfrom,regardlessofanythingyoumayhavedoneinNSWP.ˆ† ˆ†ˆFindingafileˆ† ˆ†xSinceyoumayhavemanyhundredsoffilesselected,youmayˆ†xwishtomoverapidlytoaparticularfile.Youmaydothisˆ€ ”È‚‰ Ȉ† throughthe'F',orFINDcommand.ˆ† ˆ†1.B0:-WORK.0010K:FWhichfile?BASCOMˆ†Œˆ†48.B0:BASCOM.COM32K:ˆ† ˆ†xTheFindcommandalwaysstartslookingfromentrynumberˆ†xone.YoumayusethestandardCP/Msyntaxforwildcarding(eg:toˆ†xfindthefirst.HEXfile,youmayuse*.HEX),andalsonotethatˆ†xtheFindcommandwillfillallblankspaceswithquestionmarks.ˆ†xThismakesthesearchstrings'B*.*','B',and'B??????.'allˆ†xfindthefirstfilebeginningwith'B'.Asyouexperiment,youˆ†¸willfindotherinterestingusesforthiscommand.ˆ† ˆ† ˆ†xAtthispoint,younowknowhowtomovethroughyourˆ†xdirectory,bothrapidlyandonestepatatime.Let'smoveontoˆ†˜somemoreusefulcommands.ˆ† ˆ†„ViewingandPrintingafileˆ† ˆ†xTheViewcommand,invokedwitha'V',willtypethecurrentˆ†xfileontothescreen,unsqueezingthefileifrequired.Notethatˆ†xthiscommandwillNOTpreventyoufromlistingANYtypeoffile,ˆ†xsoyoumustuseyourownjudgementonwhatcanandcannotbeˆ†xlisted.Attheendofeachpageonthescreen,viewwillstop,ˆ†xandallowyoutoaborttheviewingwitha^Cora^X.Togetoneˆ†xmorelinefromthefile,hitthespacebar.Togetanotherpage,ˆ†„hittheorRETURNkey.ˆ† ˆ†xThePrintcommand,invokedwitha'P',willsendthecurrentˆ†xfile,withnomodificationsorpaging,tothecurrentLST:ˆ†xdevice.Youmayaborttheprintwitha^Cor^X.Allotherˆ†äfeaturesoftheViewcommandapply.ˆ† ˆ† ˆ†tDeletingafileˆ† ˆ†xYoucandeletethecurrentfilejustbyhittingthe'D'key.ˆ†Beforedeletionoccurs,youwillbeprompted.ˆ† ˆ†à12.B0:CDP1.40K:DDeletefile?Yˆ†H12.B0:DEAD.DAT100K:ˆ† ˆ† ˆ† ˆ† ˆ†ø-8-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP2-Adiskmaintenanceutilityˆ† ˆ† ˆ€€ ”È‚‰ Ȉ†xIfanyreplyotherthan'y'or'Y'isgiventhefileisnotˆ†xdeleted.Ifthefileisdeleted,itisremovedfromthelistandˆ†¸thenextfileisgiventhecurrentfile'snumber.ˆ† ˆ†ŒIfthefileisaReadOnlyfile,youwillbepromptedagain:ˆ† ˆ† 12.B0:CDP1.40K:DDeletefile?YR/O.Delete?Yˆ†H12.B0:DEAD.DAT100K:ˆ†xˆ† ˆ†ˆCopyingafileˆ† ˆ†¸Whileonanyfile,youmaycopythatfileto:ˆ†”A)Anothername,onthesamedrive/userˆ†XB)Anothername,onadifferentdrive/userˆ†DC)Thesamename,onadifferentdrive/userˆ† ˆ†xNSWPwillpreventyoufromcopyingafiletothesameˆ†xdrive/userthatthesourcefileresideson.Otherthanthat,ˆ†xtherearenorestrictionsonwhereyouwishthefiletobe.Ifaˆ†xfileexistsonthesamedrive/userthatyouwishtoplacetheˆ†xdestinationfile,theexistingfileisdeletedautomatically,ˆ†xevenifitisReadOnly.WhenNSWPcopiesafile,alltheˆ†xattributesoftheoriginalfilearepassedontothedestinationˆ†xfile.Thus,ifafileisaSYS,R/Ofile,NSWPwillcausetheˆ†xdestinationfiletobeSYS,R/Oafterthefilecopyhastakenˆ†(place.ˆ† ˆ†Œ12.B0:CDP1.40K:CCopyto(filespec)?C9:BACK.CDPˆ† ˆ†xIfyouwishtopreservethenameofthefile,youmayjustˆ†xenterthedestinationdrive/userpartofthefilespec(eg.C9:inˆ†xtheprecedingexamplewouldhavecopiedthefiletodriveCuserˆ†x9,retainingthenameCDP1).Justenteringthedrivepartoftheˆ†xfilespeccausesNSWPtoretaintheusernumberofthesourceˆ†<file.ˆ† ˆ†xIfthefilenameisfollowedbyaspace,thena'V',thefileˆ†xwillbeverifyreadafteritiswritten.NSWPmaintainsaCRCofˆ†thefileasitiswritingthefile,andverifiesthisCRC.ˆ† ˆ† ˆ†ˆRenamingfilesˆ† ˆ†TheRenamecommand('R')maybeusedto:ˆ†HA)Changethenameofonefileˆ€ð ”È‚‰ Ȉ† B)Changethenamesofmanyfilesˆ†¼C)Changetheusernumberofonefileˆ†”D)Changetheusernumberofmanyfilesˆ† ˆ†´Tojustchangethenameofonefile,thesyntaxissimple:ˆ† ˆ†h12.B0:CDP1.40K:RNewname,or*?CDP2ˆ†H12.B0:CDP2.40K:ˆ† ˆ† ˆ† ˆ€ ”È‚‰ Ȉ†ø-9-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP2-Adiskmaintenanceutilityˆ† ˆ† ˆ†ŒYoumayalsochangetheusernumberofthefile,asfollows:ˆ† ˆ†,12.B0:CDP1.40K:RNewname,or*?B1:CDP2ˆ†H12.B1:CDP1.40K:ˆ†Œˆ†xNotethatifalluserareasarenotspecifiedinthelogonˆ†xofNSWP,thefilemaynotbeshownonyourlistwhenrenamingtoˆ†8anotheruserarea.ˆ† ˆ†xTochangeagroupoffilesfromonenametoanother,youmayˆ†€enterthefollowingcommandatanyfile:ˆ† ˆ†¤9.B0:BASIC.COM24K:RNewname,or*?*ˆ† ˆ†tOldname?*.HEXˆ†tNewname?*.BAKˆ† ˆ†xAtthispointallfileswiththeextension.HEXwillbeˆ†xrenamedtothesamefilenamebutwiththeextension.BAK.Youˆ†xwillseearunningdisplayonthescreenaseachfileisrenamed.ˆ†xAnyvalidwildcardmaybeusedtoselectthesourcefiles,andˆ†xthedestinationfileswilltakeonecharacterfromthesourceforˆ†xeach'?'inthename.Anasteriskqualifiesasfillingtheˆ†xremainderofthefieldwith'?'.Ifthedestinationfileexists,ˆ†Ôtherenameisnotmade.ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ€  ”È‚‰ Ȉ†ä-10-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP2-Adiskmaintenanceutilityˆ† ˆ† ˆ†xYoumayalsochoosetorenameagroupoffilestoanotherˆ†¤userarea,optionallychangingtheirnamesaswell:ˆ† ˆ†¤9.B0:BASIC.COM24K:RNewname,or*?*ˆ† ˆ†tOldname?*.HEXˆ†8Newname?B1:*.BAKˆ† ˆ† ˆ† ˆ†xThiscommandwillrenameall.HEXfilesondriveBuser0toˆ†xthesamefilename,butwiththeextension.BAK,andplacetheˆ†xresultantfileinuser1.Youmaywanttotrythiscommandafewˆ†timestogetthehangofit,butitisextremelypowerful.ˆ† ˆ† ˆ†LTheSpacecommandˆ† ˆ†xTheSpacecommand('S')simplyasksyouforadrivecode,ˆ†xthentellsyoutheremainingspaceonthedriveyouspecify.ˆ†xBeforedoingthespacecheck,adriveresetisperformed,sofeelˆ†üfreetochangedisks.ˆ† ˆ† ˆ†tTheLogCommandˆ† ˆ†xTheLogcommand('L')allowsyoutochangeyourdirectorytoˆ†xanotherdriveoruser.Additionally,itallowsyoutore-specifyˆ†xthewildcardmaskjustlikeenteringtheNSWPprogramfromCP/M.ˆ†xAswell,thedrivesystemisreset,soagainyoushouldbeableˆ†xtochangetoadifferentdisketteatthispointortoanotherˆ†xpartofthesamediskette.WhentheLogcommandisused,theˆ†¨instructionsarereprintedforreview.ˆ† ˆ† ˆ† 16.B0:DD.COM4K:LNewdrive/user/mask?A14:*.HEXˆ† ˆ† ˆ†”NSWEEP-Version2.0002/11/1984ˆ†„(c)DaveRand,1984ˆ†\Edmonton,Albertaˆ† ˆ†DDriveA14:44Kin2files.1118Kfree.ˆ†Œˆ†\1.A14:NSWP.HEX22K:ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ€€ ”È‚‰ Ȉ†ä-11-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP2-Adiskmaintenanceutilityˆ† ˆ† ˆ†ÌIntroductiontoMultifilecommandsˆ† ˆ†xNowthatallthecommandsthataffectsinglefileshavebeenˆ†xdescribed,itistimetointroducetheconceptofMultifileˆ†xcommands.Thesecommandsareonesthataffectasfewasoneorasˆ†xmanyasallofthefilesonasingledisk.Toaffectthesefiles,ˆ†xthough,wemusthavesomewayofdescribingwhichfilesneedtoˆ†xbeaffected.CP/Mhasawaytodothis,using"wildcards".Thisˆ†Üprogram,ontheotherhand,usestheconceptofafile"tag".ˆ† ˆ†tTheTagcommandˆ† ˆ†xTaggingafile,initssimplestform,canbeaccomplishedˆ†xjustbydepressingthe'T'keywhenthefiletobetaggedˆ†xappears.Whatexactlyisatag?Ataggedfileisafileintheˆ†xlistoffilenamesthathasanasterisknexttothecolonafterˆ†¼thenameofthefile,asshownbelow.ˆ† ˆ†49.B0:BASIC.COM24K:*ˆ† ˆ†xAtaggedfileisdifferentfromanuntaggedfileinthatyouˆ†xmaynowrequestanoperationthatdealswithseveralunrelatedˆ†xfiles(eg.Filesthatwillnotmatchusingonlyonewildcard).Aˆ†Hsample"tag"sessionisshown:ˆ† ˆ†´9.B0:BASIC.COM24K:TTaggedfiles=24K(23K).ˆ†´10.B0:BRUN.COM16K:TTaggedfiles=40K(39K).ˆ† ˆ†xNotethatthe'T'commandautomaticallyperformsa"moveˆ†$forward"operation.ˆ† ˆ†xTotherightofthe'Taggedfiles'messagetwonumbersareˆ†xdisplayed.Thenumbersarethetotalsize,inK,ofthefilesyouˆ†xhavetaggedsofar.Thisisusefulif,forexample,youareˆ†xmovingfilesfromonesizeofdiskettetoanother,smaller,sizeˆ†xdiskette.Ifthesourcediskholds500K,andthedestinationˆ†xholds256K,youcanstopthetaggingoperationwhenyoursizeisˆ†xjustlessthan256K.Thetagfunctioninitselfdoesnotperformˆ€8 ”È‚‰ Ȉ†xanyoperation,otherthantomarkthefileforafuture"mass"ˆ†Øoperation.ˆ† ˆ†xBynowtheastutereaderwillnoticethatIhavecleverlyˆ†xskippedoverthefunctionofthesecondnumberdisplay,theoneˆ†xinparenthesis.Thisnumberisthecombinedsizeofthetaggedˆ†xfiles,IN1KBLOCKS.Ifyouareusingacomputersystemthatˆ€ ”È‚‰ Ȉ†xsupportsmanydifferentdisksizes/formats,orasystemwithaˆ†xharddiskattached,youmayalreadyknowthatCP/Mcanallocateˆ†xstorageonlyin"BLOCKS",andthatthese"BLOCKS"maybeuptoˆ†Œ16kinlength.ThismeansthatNSWPwouldshowafilecontaining,ˆ†Œsay,512bytesininformation,asbeingupto16klong,dependingˆ†Œonyourcomputer.Thesecondnumberinthetagdisplayshowshowˆ†Œmuchstoragethecumulativefileswouldtakeiftheywerestoredˆ†ôonasingle-sided,single-density,8"diskette.ˆ† ˆ† ˆ† ˆ† ˆ†ä-12-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP2-Adiskmaintenanceutilityˆ† ˆ† ˆ†`Wildcardtaggingˆ† ˆ†xAnotherwaytotagfilesisthewildcardtagfunction.Thisˆ†xfunctionacceptsaCP/Mtypewildcardandproceedstotagalltheˆ†xfilesthatmatchthewildcard.Toinvokethis,justhit'W'andˆ†xyouwillbepromptedwiththemessage'Whichfiles?'.Enteranyˆ†xCP/Mwildcard,rightdowntoauniquefilename,andifthatfileˆ†”existsitwillbetaggedanddisplayed.ˆ† ˆ†tUntaggingfilesˆ† ˆ†xIfyoucantagafile,youmustbeabletoUntagafileasˆ†<well.ˆ† ˆ†´9.B0:BASIC.COM24K:*UTaggedfiles=16K(16K).ˆ†410.B0:BRUN.COM16K:*ˆ† ˆ†xAsyoucansee,theuntagfunctionsubtractsthecurrentˆ†xfile'ssizefromthetotal,thendisplaysthetotaloftheˆ†`remainingfiles.ˆ† ˆ† ˆ†üThemasscopycommandˆ† ˆ†xNowthatwehaveanumberoffiles"tagged",whatdowedoˆ†xwiththem?Well,theMasscopyfunctionisoneofthosethatactˆ†xonmanyfiles.Itspurposeistocopythetaggedfile(s)fromoneˆ†¨drive/userareatoanotherdrive/user.ˆ† ˆ† 12.B0:CDP1.40K:Mˆ†pCopytodrive/user?A14:Vˆ† ˆ†Copying-->B0:BRUN.COMtoA14:withverifyˆ€ ”È‚‰ Ȉ†èVerifying-->fileok.ˆ† ˆ†xTheVisoptional,anditindicatesthatyouwishtohaveˆ†¨thefileverifiedafteritiswritten.ˆ† ˆ†xAsyoucansee,thefileshavebeensenttodriveA,userˆ†x14.Ifyouwishthetaggedfilestoresideinthesameuserareaˆ†xasthesourcefilesafterthecopy,donotspecifyauserareainˆ†xtheMasscommand.ThiswillcauseNSWPtoputthefileintheˆ†øsameuserareaasthesourcefile.ˆ† ˆ†xNSWPwillnotallowyoutocopyafiletothesamedriveandˆ†|userareaasthesource.Thecopyissimplynotmade.ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†ä-13-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP2-Adiskmaintenanceutilityˆ† ˆ† ˆ†ˆAfterthemassˆ† ˆ†xAfteranymassfileoperation,thetagsare"reset"aseachˆ†xfileiscopied.Visually,theychangefroma'*'toa'#'.Theˆ†xfilesarelogicallyuntagged,andwillrespondassuch.But,ˆ†xsinceNSWPremembersthem,youcanautomaticallyretagtheseˆ†xfiles.Thisisusefulif,forexample,youneedtocopythesameˆ†xfilestoanumberofdifferentdiskettesoruserareasonaˆ†Ddrive.Toinvokethis,usethe'A'command.ˆ† ˆ† 12.B0:CDP1.40K:Aˆ† ˆ†ÜRetagging-->B0:BRUN.COMTaggedfiles=16K(16K)ˆ† ˆ† ˆ† ˆ†œErasingfilesˆ† ˆ†xYoumaywanttocopyagroupoffiles,thendeletethemfromˆ†xthesourcediskafterthecopyhasbeenmade.Todothis,youcanˆ†xuseeitherthe'C'commandtocopy,followedbythe'D'command,ˆ€ ”È‚‰ Ȉ†xwhichistedious,oracombinationofthe'T','M','A',andtheˆ†x'E'commands.The'E'commandErasestaggedoruntaggedfiles,atˆ†4youroption,onaglobalscale.ˆ† ˆ† 12.B0:CDP1.40K:Eˆ†”EraseTaggedorUntaggedfiles(T/U)?Tˆ†¼Doyouwishtobeprompted(Y/N/A)?Nˆ† ˆ†HDeleting-->B0:BRUN.COMˆ† ˆ†xIfyouspecifyUntaggedfiles,theuntaggedfileswillbeˆ†xerased.Youmaywishtobepromptedbeforeeachfileistobeˆ†|deleted,andyoucandothisviathesecondquestion.ˆ† ˆ† ˆ† ˆ†4SqueezingandUnsqueezingfilesˆ† ˆ†xThe'Q'commandallowsyoutoSqueezeandUnsqueezetaggedˆ†xfiles.Thisfilesqueezeprogramiscompatiblewiththeoriginalˆ†xsqueeze/unsqueezeprogramswritteninthe'C'languagebyRichardˆ†Greenlaw.AfterhittingQ,youwillseetheprompt:ˆ† ˆ†”Squeeze,UnsqueezeorReverse(S/U/R)?ˆ† ˆ†xAfteransweringthisskill-testingquestion,youwillbeˆ†xaskedwhichdrive/useryouwishtoplacethedestinationfiles.ˆ†xThesyntaxhereisthesameasfortheMovecommand,exceptitisˆ†xpermissibleto'Q'thefilesbacktothesamedrive/userthatˆ†`theyoriginated.ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†ä-14-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP2-Adiskmaintenanceutilityˆ† ˆ† ˆ†xWhen'Q'isinvoked,youareaskedifyouwishtoSqueeze,ˆ†xUnsqueezeorReverse.Acarriagereturnherewillreturnyoutoˆ†¬thecommandlineofNSWP.ˆ† ˆ†xIfyouselect'S'forSqueeze,alltaggedfileswillbeˆ†xexaminedtoseeifitis"worth"squeezingthem.Filesthatˆ†xexibitANYspacereduction,evenifitisonlyonesector,willˆ†xbesqueezed.Ifthefilesisnot"worth"squeezing,thefilewillˆ†ôsimplybecopiedtothedestinationdrive/user.ˆ† ˆ€€ ”È‚‰ Ȉ†xIfyouselect'U'forUnsqueeze,alltaggedfileswillbeˆ†xexaminedtoseeiftheyaresqueezed.Iftheyare,theywillbeˆ†xunsqueezed,andmovedtothedestinationdrive/user.Iftheyareˆ†Xnotsqueezed,thentheyaresimplycopied.ˆ† ˆ†xIfyouselect'R'forReverse,allfilesthataresqueezedˆ†xwillbeunsqueezed,andallfilesthatareunsqueezedwillbeˆ†xsqueezed(ifitisworthit),andmovedtothedestinationˆ†Ädrive/user.ˆ† ˆ†xThemostattractivefeatureofthe'Q'commandingeneralisˆ†xtheabilitytoSqueezefilesONLYifitis"worth"it.Thismeansˆ†xthatbyusingNSWP,youcanarchivedataintotheabsoluteˆ†xminimumamountofspacepossible.TheSQalgorithmusedinNSWPˆ†xisbetterthantheoneintheoriginal'C'squeezer,andproducesˆ†thesmallestoutputfilepossiblewithcurrenttechnology.ˆ† ˆ†xThefilesqueezersectionwasdonebyJimLopushinsky,andˆ†xiscopyrightedseparatelybyhim.Healsohasapublicdomainˆ†standalonesqueezer.ˆ† ˆ† ˆ†4Settingthetaggedfilesstatusˆ† ˆ†xYoumaysettheattributesofagroupoftaggedfilesjustˆ†xlikeSTAT,orPROT.Todothis,tagthefiles,andselectthe'Y'ˆ†command.ˆ† ˆ†È12.B0:CDP1.40K:YWhichflags(1-4,R,S,A)?R,Sˆ† ˆ†€Setting--->B0:BRUN.COMtoR/OSYSˆ† ˆ† ˆ†xTheflagsyoumaysetaretheF1-F4flags,aswellastheˆ†xReadOnly,System,andArchive(MP/M,CP/M3only)flags.Anyˆ†xflagsyoudonotspecifywillbereset.Toresetalltheflagsˆ†x(IE:ChangetoR/W,DIRandno"Sysoptag"),justenterasingleˆ†xcommaorspaceatthe"Whichflags"prompt.Notethattheflagsˆ†xinthe"Whichflags"questiondonothavetobeenteredwithaˆ†xcommabetweenthem,asanything(ornothingatall!)willdo.Asˆ†xfarastheprogramisconcerned'RSA','RSA',and'R,SA'areˆ†Øallvalid.ˆ† ˆ† ˆ† ˆ† ˆ€ð ”È‚‰ Ȉ† ˆ†ä-15-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP2-Adiskmaintenanceutilityˆ† ˆ† ˆ€ ”È‚‰ Ȉ†¼Epilogueˆ† ˆ†xAllthefunctionsofNSWPhavenowbeendescribed.Thebestˆ†xwaytogetmorefamiliarwiththeprogramistoactuallyUSEit.ˆ†ÜIthinkitwillbeoneofyourmostfrequentlyusedprograms.ˆ† ˆ†xThereareseveralthingsinthisversionthatyouwillwantˆ†ìtoalter:ˆ† ˆ†P103Hˆ†xThisbytecontrolsthescreenlengthusedinthe'V'iewcommand.ˆ† Itiscurrentlysetto23D(17H).ˆ† ˆ† 104H-10AH-Turnreversevideoonˆ†xThefirstbyteinthissequenceofsevenshowsthelengthoftheˆ†xreversevideoonsequence,whichfollowsatlocation105H.Allˆ†¨sevenbytesarecurrentlysettozero.ˆ† ˆ†ø10BH-111H-Turnreversevideooffˆ†xThefirstbyteinthisseqenceofsevenshowsthelengthoftheˆ†xreversevideooffsequence,whichfollowsatlocation10DH.Allˆ†¨sevenbytesarecurrentlysettozero.ˆ† ˆ† ˆ†ÐCreditsˆ† ˆ†xMythankstoallwhomadethisprogrampossible,andˆ†xespeciallytoDaveMccradyforhishelpincomposingtheˆ†xdocumentationand.HLPfilesforNSWP.ThanksalsogoestoJimˆ†xLopushinsky,alsoofEdmonton,sincewithouthimtheSQsectionˆ†xofNSWPmightneverhavebeencompleted!Thankstotheuseofhisˆ†´SQsection,NSWPcanproducethesmallestpossibleSQ'edfiles.ˆ† ˆ† ˆ†”Contributionsˆ† ˆ†xIfyoulike,useandenjoythisprogram,feelfreetosendaˆ†xcontribution(suggest$20).Thiswillhelpmeexpandthisˆ†xprogram,andaddevenmorefeatures.Iamcurrentlyworkingonaˆ†xCP/M86version,andoncethatisrunning,Iintendtoportittoˆ†xMSDOS.Suggestionsforenhancementarealsoappreciated,andyouˆ†Lmaysendthemto:ˆ† ˆ†ìDaveRandˆ†810232-160Streetˆ†¬Edmonton,AlbertaCANADAˆ†T5P3E9ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ€ ”È‚‰ Ȉ†ä-16-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ€