JOYTemplate for Letters group  .ÿŒÿ�„� 'FH R<� ”È‚‰ Ȉ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†Ì���������������NSWP�-�A�disk�maintenance�utility.ˆ† ˆ† ˆ†¼����������������������������Dave�Randˆ†l�����������������������10232�-�160�Streetˆ†l������������������������Edmonton,�Albertaˆ†ä�����������������������������Canadaˆ†Ð�����������������������������T5P�3E9ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ€ � ”È‚‰ Ȉ†ä������������������������������-�1�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP�2��-���A�disk�maintenance�utilityˆ† ˆ† ˆ† ˆ† ˆ†¼����������������������������I�N�D�E�Xˆ† ˆ†l�������������������������������������Pageˆ†€Introduction�........................��3ˆ†€�����Overview�of�NSWP�...............��4ˆ†€�����Invoking�NSWP�..................��5ˆ†€Single�file�commands�................��6ˆ†€�����Help�...........................��7ˆ†€�����Forward�and�Backward�...........��7ˆ†€�����Exiting�........................��8ˆ†€�����Finding�a�file�.................��8ˆ†€�����Viewing�and�Printing�...........��8ˆ†€�����Deleting�a�file�................��8ˆ†€�����Copying�........................��9ˆ†€�����Renaming�.......................��9ˆ†€�����The�Space�command�..............�11ˆ†€�����The�Log�command�................�11ˆ†€Introduction�to�Multifile�Commands�..�12ˆ†€�����The�Tag�command�................�12ˆ†€�����Wildcard�tagging�...............�13ˆ†€�����The�Untag�command�..............�13ˆ†€�����The�Mass�copy�command�..........�13ˆ†€�����After�the�mass�(Again)�.........�14ˆ†€�����Erasing�files�..................�14ˆ†€�����Squeezing�and�Unsqueezing�files.�14ˆ†€�����Setting�file�status�............�15ˆ†€Epilogue�............................�16ˆ†€Credits�.............................�16ˆ†€Contributions�.......................�16ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ€ € ”È‚‰ Ȉ†ø�����������������������������-�2�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP�2��-���A�disk�maintenance�utilityˆ† ˆ† ˆ†°Introductionˆ† ˆ†x�����NSWP��is�new�disk�utility�than�can�replace�many�of�the��more�ˆ†xcommon�utilities�that�are�used,�such�as�STAT,�PIP,�USQ,�SQ,�TYPE,�ˆ†ŒPRINT,�SWEEP,�DISK7,�PROT,�and�others.�In�only�12K�of�disk�space,ˆ†äit�replaces�over�100K�of�utilities!ˆ† ˆ†x�����NSWP�is�written�entirely�in�assembly�language,��and�will�run�ˆ†xon�any�CP/M�2.x,��3.x�or�MP/M�based�system�with�no�changes.�Since�ˆ†xit�is�coded�in�8080�assembler,��any�8080,��8085�or�Z80�compatible�ˆ†xprocessor�will�serve.�Note�that�this�program�WILL�NOT�run�on�CP/M�ˆ†P1.4.ˆ† ˆ†x�����When��NSWP��was��conceived,��the�dominant�file��utility��was�ˆ†xSWEEP,��and�thus�NSWP�is�syntax�compatible�with�SWEEP,��but��with�ˆ†xmany��extensions.��This��allows��you�to�directly�rename��NSWP��to�ˆ†¤SWEEP,�if�you�so�desire,�with�no�retraining�period.ˆ† ˆ†x�����I��hope�that�you�enjoy�this�program,��and�use�it��well.��Any�ˆ†xproblems,�or�suggestions�may�be�directed�to�myself�at�the�address�ˆ†|on�the�first�page,�or�on�one�of�the�following�RCP/Ms:ˆ† ˆ†¸Edmonton�RCP/M�-�(403)�454-6093�(300�or�1200�baud)ˆ†ôStadium�RCP/M��-�(403)�479-3450�(300�baud�only)ˆ† ˆ†°or�voice�at:ˆ†ˆ(403)�484-4114ˆ† ˆ†D���������������������Disclaimer�and�warningˆ†x�����While�this�program�has�been�tested�on�many�systems,��I��will�ˆ†xhave��no��liability��or�responsibilty�to�the�user��or��any��other�ˆ†xperson��or�entity�with�respect�to�any�liability,��loss�or��damage�ˆ†xcaused,��or��alledged�to�be�caused�directly�or�indirectly�by�this�ˆ†xprogram,��including,��but��not�limited�to,��any��interruption��of�ˆ†xservice,��loss�of�business,�anticipatory�profits�or�consequential�ˆ†ôdamages�resulting�from�the�use�of�this�program.ˆ† ˆ†x�����Furthermore,��although�this�program�has�been�placed�into�the�ˆ†xpublic�domain,��I�retain�all�copyrights�to�this�program,��both�in�ˆ†xthe�U.S.A�and�in�Canada,��and�pursuant�to�this,��this�program�MAY�ˆ€È ”È‚‰ Ȉ†xNOT��BE��SOLD�BY�ANY�PARTY�unless�specifically�authorized�by��the�ˆ†xauthor,��Dave�Rand,��in�writing,�previous�to�the�first�copy�being�ˆ†xsold.��As��well,��this�program�MAY�NOT�BE�INCLUDED�IN��ANY��OTHER�ˆ†xPACKAGE�FOR�SALE,��even�if�this�program�is�indicated�as�being�'in�ˆ†xthe�public�domain'.�All�of�the�above�applies�to�both�the�original�ˆ€� ”È‚‰ Ȉ†xas��well��as�derived,��or�modified�copies�of��the��original.��Any�ˆ†xmodified��copies��of��this�program�MUST�NOT��have��the��copyright�ˆ†Ðnotice�violated,�changed�or�altered.ˆ† ˆ†x�����Please�report�any�copyright�violations�to�the�author,�at�one�ˆ†Xof�the�above�telephone�numbers.�Thank�you.ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†ø�����������������������������-�3�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP�2��-���A�disk�maintenance�utilityˆ† ˆ† ˆ†”��������������������������NSWP�Overviewˆ† ˆ†x�����NSWP�is�a�directory�and�file�manipulation�program.��With�it,�ˆ†xyou�can�copy,��delete,��rename,��unsqueeze�and�squeeze�files.�The�ˆ†xdocumentation��following��is��split�into�two��major��sections:��A�ˆ†xtutorial��for�the�inexperienced,��and�a��reference��section.��The�ˆ†xreference��normally�will�be�used�in�conjunction�with�the��program�ˆ†xto��answer�specific�questions�regarding�NSWP.��The�tutorial�is��a�ˆ†xbroad��coverage��of��all�of�the�functions,��and��should��be��read�ˆ†èthrough�at�least�once.ˆ† ˆ†x�����The�most�important�thing�to�remember�when�using�NSWP�is�that�ˆ†xit��provides�a�list�of�your�files�in�ALPHABETICAL��order.��Moving�ˆ†xaround��in�this�list�is�quite�easy,��and�will�soon�become��second�ˆ†nature.ˆ† ˆ†x�����In��this��documentation,��all�user�input�is��underlined.��As�ˆ†xwell,���when���the���"current"��file��is���referenced���in���this�ˆ†xdocumentation,��it�means�the�file�just�to�the�left�of�your�input.�ˆ†xThis��"current"��file��is�often�referred�to�as�the�file��you��are�ˆ†<"on".ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ€� ”È‚‰ Ȉ†ø�����������������������������-�4�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP�2��-���A�disk�maintenance�utilityˆ† ˆ† ˆ†”��������������������������Invoking�NSWPˆ† ˆ†x�����To��make�effective�use�of�NSWP,��you�must�know��the��various�ˆ†xoptions��available�to�you�when�you�invoke�NSWP.��Here�are�some�of�ˆ†°the�options:ˆ† ˆ†(A>NSWPˆ†x�����This��format�simply�loads�NSWP,��and�scans�the�default�drive�ˆ†xand��user�for�filenames.��Once�inside�NSWP,��you�may�change�to��a�ˆ†xdifferent��drive��and/or��user,��but�when�you�exit��you��will��be�ˆ†|returned�to�the�drive/user�that�you�called�NSWP�from.ˆ† ˆ†°A>NSWP�*.COMˆ†x�����This�format�loads�NSWP�and�scans�the�current�drive�and��user�ˆ†xfor��all�filenames�with�the�extension�'.COM'.��Note�that�NSWP�can�ˆ†xfind��system�files�as�well,��so�no�additional�information�need�be�ˆ†(given.ˆ† ˆ†`A>NSWP�B:*.COM�*ˆ†x�����The��presence�of�the�second�asterisk�indicates�to�NSWP��that�ˆ†xyou�wish�to�scan�all�user�areas�of�the�indicated�disk��drive.��In�ˆ†@this�case,�all�'.COM�files�on�all�user�areas�on�drive�B.ˆ† ˆ†x�����Combinations��of�the�above�are�acceptable,��and�you�may�even�ˆ†xlog�to�all�user�areas,��and�find�all�files�with�the�specification�ˆ†'*.*�*'.ˆ† ˆ†x�����Once��inside��NSWP�you�are�presented�with��a��menu,��then��a�ˆ†xreport�of�which�drive�and�user�you�are�logged�to,��how�much�space�ˆ†xis��taken��by�the�files�you�have�specified,��how�many�files��have�ˆ†xbeen�found�with�the�specifications�given,��and�how�much�space��is�ˆ†äleft�on�the�disk.�A�sample�follows:ˆ† ˆ†€Drive�A0:��596K�in�36�files.��735K�free.ˆ† ˆ†x�����A��special�format�of�this�line�shows�that�you�are�logged��to�ˆ†tall�user�areas:ˆ† ˆ†lDrive�B*:��950K�in�234�files.�2956K�free.ˆ† ˆ†È�����From�this�point,�you�may�execute�any�of�the�menu�options.ˆ† ˆ†x�����A��special��display��occurs�if�no�files�are�found��with��the�ˆ†xspecification��you�have�given,��or�if�there�are�no�files��in��the�ˆ†¬given�drive/user�area(s):ˆ† ˆ€� ”È‚‰ Ȉ†ìNo�files.ˆ† ˆ†x�����This��display�may�also�occur�if�you�delete�all�the�files�out�ˆ†xof�a�given�specification.�When�this�occurs,�your�menu�choices�are�ˆ†xlimited�to�ONLY�'S',�'L'�or�'X'.��This�allows�you�to�see�the�free�ˆ†xSpace�on�a�drive,��to�Log�to�another�drive/user,��or�to�eXit.��No�ˆ†¤other�choices�are�valid,�nor�will�they�be�accepted.ˆ† ˆ† ˆ† ˆ† ˆ†ø�����������������������������-�5�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP�2��-���A�disk�maintenance�utilityˆ† ˆ† ˆ†LCommand�Structureˆ† ˆ†x�����There�are�two�primary�types�of�commands�in�NSWP:��those�that�ˆ†xact��on��one�file�and��those�that�act�on�many��files.��We�will�go�ˆ†xthrough��them�both.��Before�doing�that�though,��let's�try��moving�ˆ†üaround�in�NSWP�first.ˆ† ˆ†x�����To�move�in�NSWP,�you�must�first�understand�that�the�files�on�ˆ†xyour��selected��drive/user�will�be�presented�to�you�in��a��sorted�ˆ†xmanner.��The��files��are�sorted�in��this��order:��Filename,��File�ˆ†üextension,�user�area:ˆ† ˆ† ���1.�B0:�-WORK���.001����0K�:��ˆ† ���2.�B0:�ARCADD��.COM����4K�:��ˆ† ���3.�B0:�ARCCOPY�.COM����2K�:��ˆ† ˆ†x�����As�you�can�see,�the�files�are�numbered�for�your�convenience.�ˆ†xYou�may�not�directly�use�these�numbers.��As�you�can�see,�the�file�ˆ†Tsize�is�also�shown�(rounded�to�the�nearest�block�size).ˆ† ˆ†x�����Note��that��if�you�have�enabled�the�reverse��video��sequence�ˆ†x(see��Epilog),��you��may�see�some�of�the�letters�in�the��filename�ˆ†xprinted��in�reverse�video.��The�chart�below�shows�how��to��decode�ˆ†Lthis�information.ˆ† ˆ†è����������FFFFFFFF�RSAˆ†è����������12345678�/YRˆ†è����������||||||||�OSCˆ† ˆ† ���4.�B0:�ARCDEL��.COM����2K�:��ˆ† ˆ†x�����As�you�can�see,�this�looks�confusing.��Really,�though,�it�is�ˆ†xnot.��The��tags�F1-F8�normally�are�not�used,��but�NSWP�allows�you�ˆ†xset�F1-F4�for�your�own�use.��The�R/O�tag�means�that�the�file��may�ˆ€ � ”È‚‰ Ȉ†xbe�read,�but�not�written�to.�The�SYS�tag�means�that�the�file�does�ˆ†xnot�appear�in�normal�DIR�listings,�and�in�CP/M�3,�MPM�and�CP/M�86�ˆ†xalso�means�that�this�file�is�avaiable�to�all�user�areas.��The�ARC�ˆ†xtag�means�that,��if�set,�the�file�has�been�backed�up�since�it�was�ˆ†ˆlast�accessed.ˆ† ˆ†x�����Now�that�you�understand�how�files�are�presented,��we�can��go�ˆ†Üthrough�a�sample�session.�Remember,�user�input�is�underlined.ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†ø�����������������������������-�6�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP�2��-���A�disk�maintenance�utilityˆ† ˆ† ˆ†ìA>NSWP�B:ˆ† ˆ†”NSWEEP���-��Version�2.00�����02/11/1984ˆ†„��������(c)�Dave�Rand,�1984ˆ†\������������Edmonton,�Albertaˆ† ˆ†0Drive�B0:���850K�in���64�files.���118K�free.ˆ† ˆ†Ð���1.�B0:�-WORK���.001����0K�:��ˆ†Ð���2.�B0:�ARCADD��.COM����4K�:��ˆ†Ð���3.�B0:�ARCCOPY�.COM����2K�:��ˆ†Ð���4.�B0:�ARCDEL��.COM����2K�:��ˆ† ���5.�B0:�ARCDIR��.COM����2K�:�Bˆ† ���4.�B0:�ARCDEL��.COM����2K�:�Bˆ† ���3.�B0:�ARCCOPY�.COM����2K�:�Bˆ† ���2.�B0:�ARCADD��.COM����4K�:�Bˆ† ���1.�B0:�-WORK���.001����0K�:�Xˆ†xA>ˆ† ˆ†PHelpˆ† ˆ†(�����At�any�point,�you�may�request�the�main�help�menu�by�pressing�'?'.ˆ† ˆ€ � ”È‚‰ Ȉ† ���1.�B0:�-WORK���.001����0K�:�?ˆ† ˆ†”NSWEEP���-��Version�2.00�����02/11/1984ˆ†„��������(c)�Dave�Rand,�1984ˆ†\������������Edmonton,�Albertaˆ† ˆ†A�-�Retag�files���������|�Q�-�Squeeze/Unsqeeze�tagged�filesˆ†0B�-�Back�one�file�������|�R�-�Rename�file(s)ˆ†¤C�-�Copy�file�����������|�S�-�Check�remaining�spaceˆ†¤D�-�Delete�file���������|�T�-�Tag�file�for�transferˆ†€E�-�Erase�T/U�files�����|�U�-�Untag�fileˆ†”F�-�Find�file�����������|�V�-�View�fileˆ†¤L�-�Log�new�disk/user���|�W�-�Wildcard�tag�of�filesˆ†M�-�Mass�file�copy������|�Y�-�Set�file�status.ˆ†ôP�-�Print�file����������|�?�-�Display�this�helpˆ†¤X�-�Exit�to�CP/M��������|�cr,�sp�-�Forward�one�fileˆ† ˆ† ˆ† ˆ†„Moving�forward�and�backwardˆ† ˆ†x�����As�you�can�see,��the�two�most�common�commands�will�be�moving�ˆ†xforward�and�backwards�through�the�directory.�Either�the�SPACE�bar�ˆ†x(),��or�the�RETURN�key�()�may�be�used�to�move�forward.�To�ˆ†xmove�backwards,�simply�use�the�'B'�key.�Note�that�all�commands�in�ˆ†xNSWP�can�be�either�in�upper�or�lowercase.��Internally,��lowercase�ˆ†xwill��be��converted��to�uppercase.��If�you�reach�the�end��of��the�ˆ†xdirectory��with�either�command,��you�will�be�"wrapped�around"��to�ˆ†pthe�other�end�automatically.ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†ø�����������������������������-�7�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP�2��-���A�disk�maintenance�utilityˆ† ˆ† ˆ†Exitingˆ† ˆ†x�����To�exit,��just�use�the�'X'�command�as�shown�above.�This�will�ˆ†xreturn�you�to�the�same�drive�and�user�area�that�you�invoked��NSWP�ˆ†Tfrom,�regardless�of�anything�you�may�have�done�in�NSWP.ˆ† ˆ†ˆFinding�a�fileˆ† ˆ†x�����Since�you�may�have�many�hundreds�of�files�selected,��you�may�ˆ†xwish��to��move��rapidly�to�a�particular�file.��You��may��do��this�ˆ€� ”È‚‰ Ȉ† through�the�'F',�or�FIND�command.ˆ† ˆ†����1.�B0:�-WORK���.001����0K�:�F��Which�file?�BASCOMˆ†Œ�ˆ†4���8.�B0:�BASCOM��.COM���32K�:�ˆ† ˆ†x�����The��Find��command�always�starts�looking�from��entry��number�ˆ†xone.�You�may�use�the�standard�CP/M�syntax�for�wildcarding�(eg:�to�ˆ†xfind�the�first�.HEX�file,��you�may�use�*.HEX),�and�also�note�that�ˆ†xthe��Find�command�will�fill�all�blank�spaces�with�question�marks.�ˆ†xThis��makes�the�search�strings�'B*.*',��'B',��and�'B??????.'��all�ˆ†xfind�the�first�file�beginning�with�'B'.��As�you��experiment,��you�ˆ†¸will�find�other�interesting�uses�for�this�command.ˆ† ˆ† ˆ†x�����At��this��point,��you��now��know�how�to��move��through��your�ˆ†xdirectory,��both�rapidly�and�one�step�at�a�time.�Let's�move�on�to�ˆ†˜some�more�useful�commands.ˆ† ˆ†„Viewing�and�Printing�a�fileˆ† ˆ†x�����The�View�command,��invoked�with�a�'V',�will�type�the�current�ˆ†xfile�onto�the�screen,�unsqueezing�the�file�if�required.�Note�that�ˆ†xthis�command�will�NOT�prevent�you�from�listing�ANY�type�of��file,�ˆ†xso��you��must��use�your�own�judgement�on�what�can�and��cannot��be�ˆ†xlisted.��At�the�end�of�each�page�on�the�screen,��view�will��stop,�ˆ†xand�allow�you�to�abort�the�viewing�with�a�^C�or�a�^X.��To�get�one�ˆ†xmore�line�from�the�file,��hit�the�space�bar.�To�get�another�page,�ˆ†„hit�the��or�RETURN�key.ˆ† ˆ†x�����The�Print�command,�invoked�with�a�'P',�will�send�the�current�ˆ†xfile,��with��no��modifications��or�paging,��to�the��current��LST:�ˆ†xdevice.��You��may��abort�the�print�with�a�^C��or��^X.��All��other�ˆ†äfeatures�of�the�View�command�apply.ˆ† ˆ† ˆ†tDeleting�a�fileˆ† ˆ†x�����You�can�delete�the�current�file�just�by�hitting�the�'D'�key.�ˆ†Before�deletion�occurs,�you�will�be�prompted.ˆ† ˆ†à��12.�B0:�CDP1����.������40K�:�D��Delete�file?�Yˆ†H��12.�B0:�DEAD����.DAT��100K�:ˆ† ˆ† ˆ† ˆ† ˆ†ø�����������������������������-�8�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP�2��-���A�disk�maintenance�utilityˆ† ˆ† ˆ€€ ”È‚‰ Ȉ†x�����If��any�reply�other�than�'y'�or�'Y'�is�given�the�file�is�not�ˆ†xdeleted.��If�the�file�is�deleted,�it�is�removed�from�the�list�and�ˆ†¸the�next�file�is�given�the�current�file's�number.�ˆ† ˆ†Œ�����If�the�file�is�a�Read�Only�file,�you�will�be�prompted�again:ˆ† ˆ† ��12.�B0:�CDP1����.������40K�:�D��Delete�file?�Y��R/O.�Delete?�Yˆ†H��12.�B0:�DEAD����.DAT��100K�:ˆ†x��ˆ† ˆ†ˆCopying�a�fileˆ† ˆ†¸�����While�on�any�file,�you�may�copy�that�file�to:ˆ†”A)�Another�name,�on�the�same�drive/userˆ†XB)�Another�name,�on�a�different�drive/userˆ†DC)�The�same�name,�on�a�different�drive/userˆ† ˆ†x�����NSWP��will��prevent��you�from�copying�a��file��to��the��same�ˆ†xdrive/user��that��the�source�file�resides�on.��Other��than��that,�ˆ†xthere�are�no�restrictions�on�where�you�wish�the�file�to�be.��If�a�ˆ†xfile��exists��on�the�same�drive/user�that�you�wish�to��place��the�ˆ†xdestination��file,��the��existing�file�is�deleted��automatically,�ˆ†xeven��if��it��is�Read�Only.��When�NSWP�copies��a��file,��all��the�ˆ†xattributes�of�the�original�file�are�passed�on�to�the��destination�ˆ†xfile.��Thus,��if�a�file�is�a�SYS,��R/O�file,��NSWP�will�cause�the�ˆ†xdestination��file��to�be�SYS,��R/O�after�the�file�copy�has��taken�ˆ†(place.ˆ† ˆ†Œ��12.�B0:�CDP1����.������40K�:�C��Copy�to�(filespec)?�C9:BACK.CDPˆ† ˆ†x�����If�you�wish�to�preserve�the�name�of�the�file,��you�may��just�ˆ†xenter�the�destination�drive/user�part�of�the�filespec�(eg.�C9:�in�ˆ†xthe��preceding�example�would�have�copied�the�file�to�drive�C�user�ˆ†x9,��retaining�the�name�CDP1).�Just�entering�the�drive�part�of�the�ˆ†xfilespec��causes��NSWP�to�retain�the�user�number��of��the��source�ˆ†<file.ˆ† ˆ†x�����If�the�filename�is�followed�by�a�space,�then�a�'V',�the�file�ˆ†xwill�be�verify�read�after�it�is�written.��NSWP�maintains�a�CRC�of�ˆ†the�file�as�it�is�writing�the�file,�and�verifies�this�CRC.ˆ† ˆ† ˆ†ˆRenaming�filesˆ† ˆ†�����The�Rename�command�('R')�may�be�used�to:ˆ†HA)�Change�the�name�of�one�fileˆ€ð ”È‚‰ Ȉ† B)�Change�the�names�of�many�filesˆ†¼C)�Change�the�user�number�of�one�fileˆ†”D)�Change�the�user�number�of�many�filesˆ† ˆ†´�����To�just�change�the�name�of�one�file,�the�syntax�is�simple:ˆ† ˆ†h��12.�B0:�CDP1����.������40K�:�R��New�name,�or�*?�CDP2ˆ†H��12.�B0:�CDP2����.������40K�:ˆ† ˆ† ˆ† ˆ€ � ”È‚‰ Ȉ†ø�����������������������������-�9�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP�2��-���A�disk�maintenance�utilityˆ† ˆ† ˆ†Œ�����You�may�also�change�the�user�number�of�the�file,�as�follows:ˆ† ˆ†,��12.�B0:�CDP1����.������40K�:�R��New�name,�or�*?�B1:CDP2ˆ†H��12.�B1:�CDP1����.������40K�:ˆ†Œ�ˆ†x�����Note��that�if�all�user�areas�are�not�specified�in�the��logon�ˆ†xof�NSWP,��the�file�may�not�be�shown�on�your�list�when�renaming�to�ˆ†8another�user�area.ˆ† ˆ†x�����To�change�a�group�of�files�from�one�name�to�another,�you�may�ˆ†€enter�the�following�command�at�any�file:ˆ† ˆ†¤���9.�B0:�BASIC���.COM���24K�:�R��New�name,�or�*?�*ˆ† ˆ†tOld�name?�*.HEXˆ†tNew�name?�*.BAKˆ† ˆ†x�����At��this��point��all�files�with�the�extension�.HEX��will��be�ˆ†xrenamed��to�the�same�filename�but�with�the��extension��.BAK.��You�ˆ†xwill�see�a�running�display�on�the�screen�as�each�file�is�renamed.�ˆ†xAny��valid�wildcard�may�be�used�to�select�the�source��files,��and�ˆ†xthe�destination�files�will�take�one�character�from�the�source�for�ˆ†xeach��'?'��in��the�name.��An�asterisk�qualifies��as��filling��the�ˆ†xremainder�of�the�field�with�'?'.��If�the�destination�file�exists,�ˆ†Ôthe�rename�is�not�made.ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ€ � ”È‚‰ Ȉ†ä�����������������������������-�10�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP�2��-���A�disk�maintenance�utilityˆ† ˆ† ˆ†x�����You��may��also�choose�to�rename�a�group�of�files�to��another�ˆ†¤user�area,�optionally�changing�their�names�as�well:ˆ† ˆ†¤���9.�B0:�BASIC���.COM���24K�:�R��New�name,�or�*?�*ˆ† ˆ†tOld�name?�*.HEXˆ†8New�name?�B1:*.BAKˆ† ˆ† ˆ† ˆ†x�����This�command�will�rename�all�.HEX�files�on�drive�B�user�0�to�ˆ†xthe��same�filename,��but�with�the�extension�.BAK,��and�place��the�ˆ†xresultant�file�in�user�1.��You�may�want�to�try�this�command�a�few�ˆ†times�to�get�the�hang�of�it,�but�it�is�extremely�powerful.ˆ† ˆ† ˆ†LThe�Space�commandˆ† ˆ†x�����The��Space�command�('S')�simply�asks�you�for�a��drive��code,�ˆ†xthen��tells��you��the�remaining�space�on�the�drive��you��specify.�ˆ†xBefore�doing�the�space�check,�a�drive�reset�is�performed,�so�feel�ˆ†üfree�to�change�disks.ˆ† ˆ† ˆ†tThe�Log�Commandˆ† ˆ†x�����The�Log�command�('L')�allows�you�to�change�your�directory�to�ˆ†xanother�drive�or�user.��Additionally,�it�allows�you�to�re-specify�ˆ†xthe�wildcard�mask�just�like�entering�the�NSWP�program�from��CP/M.�ˆ†xAs�well,��the�drive�system�is�reset,��so�again�you�should�be�able�ˆ†xto��change��to�a�different�diskette�at�this�point�or��to��another�ˆ†xpart��of��the�same�diskette.��When�the�Log�command�is��used,��the�ˆ†¨instructions�are�reprinted�for�review.ˆ† ˆ† ˆ† ��16.�B0:�DD������.COM����4K�:�L��New�drive/user/mask?�A14:*.HEXˆ† ˆ† ˆ†”NSWEEP���-��Version�2.00�����02/11/1984ˆ†„��������(c)�Dave�Rand,�1984ˆ†\������������Edmonton,�Albertaˆ† ˆ†DDrive�A14:���44K�in���2�files.��1118K�free.ˆ†Œ�ˆ†\��1.�A14:NSWP����.HEX����22K:ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ€€ ”È‚‰ Ȉ†ä�����������������������������-�11�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP�2��-���A�disk�maintenance�utilityˆ† ˆ† ˆ†Ì���������������Introduction�to�Multifile�commandsˆ† ˆ†x�����Now�that�all�the�commands�that�affect�single�files�have�been�ˆ†xdescribed,��it��is��time�to�introduce�the��concept��of��Multifile�ˆ†xcommands.�These�commands�are�ones�that�affect�as�few�as�one�or�as�ˆ†xmany�as�all�of�the�files�on�a�single�disk.�To�affect�these�files,�ˆ†xthough,��we��must�have�some�way�of�describing�which�files�need�to�ˆ†xbe�affected.��CP/M�has�a�way�to�do�this,��using�"wildcards".�This�ˆ†Üprogram,�on�the�other�hand,�uses�the�concept�of�a�file�"tag".ˆ† ˆ†tThe�Tag�commandˆ† ˆ†x�����Tagging�a�file,��in�its�simplest�form,��can�be��accomplished�ˆ†xjust��by��depressing��the��'T'�key�when�the��file��to��be��tagged�ˆ†xappears.��What��exactly�is�a�tag?��A�tagged�file�is�a�file�in�the�ˆ†xlist��of�filenames�that�has�an�asterisk�next�to�the��colon��after�ˆ†¼the�name�of�the�file,�as�shown�below.ˆ† ˆ†4���9.�B0:�BASIC���.COM���24K�:*ˆ† ˆ†x�����A�tagged�file�is�different�from�an�untagged�file�in�that�you�ˆ†xmay��now��request�an�operation�that�deals�with�several��unrelated�ˆ†xfiles�(eg.��Files�that�will�not�match�using�only�one�wildcard).�A�ˆ†Hsample�"tag"�session�is�shown:ˆ† ˆ†´���9.�B0:�BASIC���.COM���24K�:�T��Tagged�files�=���24K�(��23K).ˆ†´��10.�B0:�BRUN����.COM���16K�:�T��Tagged�files�=���40K�(��39K).ˆ† ˆ†x�����Note��that��the�'T'�command�automatically�performs��a��"move�ˆ†$forward"�operation.ˆ† ˆ†x�����To��the�right�of�the�'Tagged�files'�message�two��numbers�are�ˆ†xdisplayed.�The�numbers�are�the�total�size,�in�K,�of�the�files�you�ˆ†xhave��tagged�so�far.��This�is�useful�if,��for��example,��you��are�ˆ†xmoving�files�from�one�size�of�diskette�to�another,��smaller,�size�ˆ†xdiskette.��If��the��source�disk�holds�500K,��and�the��destination�ˆ†xholds�256K,��you�can�stop�the�tagging�operation�when�your�size�is�ˆ†xjust�less�than�256K.��The�tag�function�in�itself�does�not�perform�ˆ€8 ”È‚‰ Ȉ†xany��operation,��other�than�to�mark�the�file�for�a�future��"mass"�ˆ†Øoperation.ˆ† ˆ†x�����By�now�the�astute�reader�will�notice��that�I��have��cleverly�ˆ†xskipped�over�the�function�of�the�second��number��display,�the�one�ˆ†xin�parenthesis.��This�number�is�the�combined��size�of�the��tagged�ˆ†xfiles,�IN�1K�BLOCKS.��If�you�are��using��a�computer��system��that�ˆ€� ”È‚‰ Ȉ†xsupports��many�different��disk��sizes/formats,�or�a�system�with�a�ˆ†xhard�disk��attached,�you�may��already�know�that�CP/M�can�allocate�ˆ†xstorage�only�in�"BLOCKS",�and��that��these�"BLOCKS"�may��be�up�to�ˆ†Œ16k�in�length.�This�means�that�NSWP�would�show�a�file�containing,ˆ†Œsay,�512�bytes�in�information,�as�being�up�to�16k�long,�dependingˆ†Œon�your�computer.��The�second�number�in�the�tag�display�shows�howˆ†Œmuch�storage�the�cumulative�files�would�take�if�they�were��storedˆ†ôon�a�single-sided,�single-density,�8"�diskette.ˆ† ˆ† ˆ† ˆ† ˆ†ä�����������������������������-�12�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP�2��-���A�disk�maintenance�utilityˆ† ˆ† ˆ†`Wildcard�taggingˆ† ˆ†x�����Another�way�to�tag�files�is�the�wildcard�tag�function.��This�ˆ†xfunction�accepts�a�CP/M�type�wildcard�and�proceeds�to�tag�all�the�ˆ†xfiles�that�match�the�wildcard.��To�invoke�this,��just�hit�'W'�and�ˆ†xyou�will�be�prompted�with�the�message�'Which�files?��'.�Enter�any�ˆ†xCP/M�wildcard,��right�down�to�a�unique�filename,�and�if�that�file�ˆ†”exists�it�will�be�tagged�and�displayed.ˆ† ˆ†tUntagging�filesˆ† ˆ†x�����If��you�can�tag�a�file,��you�must�be�able�to�Untag�a�file�as�ˆ†<well.ˆ† ˆ†´���9.�B0:�BASIC���.COM���24K�:*U��Tagged�files�=���16K�(��16K).ˆ†4��10.�B0:�BRUN����.COM���16K�:*ˆ† ˆ†x�����As��you�can�see,��the�untag�function�subtracts��the��current�ˆ†xfile's��size��from��the�total,��then�displays�the��total��of��the�ˆ†`remaining�files.ˆ† ˆ† ˆ†üThe�mass�copy�commandˆ† ˆ†x�����Now��that�we�have�a�number�of�files�"tagged",��what�do�we�do�ˆ†xwith�them?��Well,�the�Mass�copy�function�is�one�of�those�that�act�ˆ†xon�many�files.�Its�purpose�is�to�copy�the�tagged�file(s)�from�one�ˆ†¨drive/user�area�to�another�drive/user.ˆ† ˆ† ��12.�B0:�CDP1����.������40K�:�Mˆ†p��Copy�to�drive/user?�A14:�Vˆ† ˆ†�Copying���-->�B0:�BRUN����.COM��to�A14:��with�verifyˆ€� ”È‚‰ Ȉ†èVerifying�-->�file�ok.ˆ† ˆ†x�����The��V�is�optional,��and�it�indicates�that�you�wish�to��have�ˆ†¨the�file�verified�after�it�is�written.ˆ† ˆ†x�����As��you�can�see,��the�files�have�been�sent�to�drive�A,��user�ˆ†x14.��If�you�wish�the�tagged�files�to�reside�in�the�same�user�area�ˆ†xas�the�source�files�after�the�copy,�do�not�specify�a�user�area�in�ˆ†xthe��Mass�command.��This�will�cause�NSWP�to�put�the�file��in��the�ˆ†øsame�user�area�as�the�source�file.ˆ† ˆ†x�����NSWP�will�not�allow�you�to�copy�a�file�to�the�same�drive�and�ˆ†|user�area�as�the�source.�The�copy�is�simply�not�made.ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†ä�����������������������������-�13�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP�2��-���A�disk�maintenance�utilityˆ† ˆ† ˆ†ˆAfter�the�massˆ† ˆ†x�����After�any�mass�file�operation,��the�tags�are�"reset"�as�each�ˆ†xfile�is�copied.��Visually,��they�change�from�a�'*'�to�a�'#'.��The�ˆ†xfiles��are��logically�untagged,��and�will�respond�as��such.��But,�ˆ†xsince��NSWP��remembers�them,��you�can�automatically��retag��these�ˆ†xfiles.��This�is�useful�if,�for�example,�you�need�to�copy�the�same�ˆ†xfiles��to��a��number�of�different�diskettes�or�user��areas��on��a�ˆ†Ddrive.�To�invoke�this,�use�the�'A'�command.ˆ† ˆ† ��12.�B0:�CDP1����.������40K�:�Aˆ† ˆ†ÜRetagging-->�B0:�BRUN����.COM���Tagged�files�=����16K�(��16K)ˆ† ˆ† ˆ† ˆ†œErasing�filesˆ† ˆ†x�����You�may�want�to�copy�a�group�of�files,�then�delete�them�from�ˆ†xthe�source�disk�after�the�copy�has�been�made.�To�do�this,�you�can�ˆ†xuse�either�the�'C'�command�to�copy,��followed�by�the�'D'�command,�ˆ€� ”È‚‰ Ȉ†xwhich�is�tedious,��or�a�combination�of�the�'T',�'M',�'A',�and�the�ˆ†x'E'�commands.�The�'E'�command�Erases�tagged�or�untagged�files,�at�ˆ†4your�option,�on�a�global�scale.ˆ† ˆ† ��12.�B0:�CDP1����.������40K�:�Eˆ†”Erase�Tagged�or�Untagged�files�(T/U)?�Tˆ†¼Do�you�wish�to�be�prompted�(Y/N/A)?�Nˆ† ˆ†HDeleting��-->�B0:�BRUN����.COMˆ† ˆ†x�����If��you�specify�Untagged�files,��the�untagged�files�will��be�ˆ†xerased.��You��may�wish�to�be�prompted�before�each�file�is��to��be�ˆ†|deleted,�and�you�can�do�this�via�the�second�question.ˆ† ˆ† ˆ† ˆ†4Squeezing�and�Unsqueezing�filesˆ† ˆ†x�����The��'Q'�command�allows�you�to�Squeeze�and�Unsqueeze��tagged�ˆ†xfiles.��This�file�squeeze�program�is�compatible�with�the�original�ˆ†xsqueeze/unsqueeze�programs�written�in�the�'C'�language�by�Richard�ˆ†�Greenlaw.��After�hitting�Q,�you�will�see�the�prompt:ˆ† ˆ†”Squeeze,�Unsqueeze�or�Reverse�(S/U/R)?�ˆ† ˆ†x�����After��answering�this�skill-testing�question,��you��will��be�ˆ†xasked��which�drive/user�you�wish�to�place�the�destination��files.�ˆ†xThe�syntax�here�is�the�same�as�for�the�Move�command,�except�it�is�ˆ†xpermissible��to��'Q'�the�files�back�to�the�same��drive/user��that�ˆ†`they�originated.ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†ä�����������������������������-�14�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP�2��-���A�disk�maintenance�utilityˆ† ˆ† ˆ†x�����When�'Q'�is�invoked,�you�are�asked�if�you�wish��to��Squeeze,�ˆ†xUnsqueeze��or�Reverse.��A�carriage�return�here�will�return�you�to�ˆ†¬the�command�line�of�NSWP.ˆ† ˆ†x�����If��you��select�'S'�for�Squeeze,�all�tagged��files��will��be�ˆ†xexamined��to��see��if�it�is�"worth"�squeezing��them.��Files��that�ˆ†xexibit�ANY�space�reduction,��even�if�it�is�only�one�sector,��will�ˆ†xbe�squeezed.�If�the�files�is�not�"worth"�squeezing,�the�file�will�ˆ†ôsimply�be�copied�to�the�destination�drive/user.ˆ† ˆ€€ ”È‚‰ Ȉ†x�����If�you��select�'U'�for�Unsqueeze,�all�tagged�files��will��be�ˆ†xexamined�to�see�if�they�are�squeezed.��If�they�are,��they�will�be�ˆ†xunsqueezed,��and�moved�to�the�destination�drive/user.�If�they�are�ˆ†Xnot�squeezed,�then�they�are�simply�copied.ˆ† ˆ†x�����If�you�select�'R'�for�Reverse,�all�files�that��are��squeezed�ˆ†xwill��be��unsqueezed,��and�all�files�that�are�unsqueezed�will��be�ˆ†xsqueezed��(if��it��is�worth�it),��and�moved��to��the��destination�ˆ†Ädrive/user.ˆ† ˆ†x�����The�most�attractive�feature�of�the�'Q'�command�in�general�is�ˆ†xthe�ability�to�Squeeze�files�ONLY�if�it�is�"worth"�it.�This�means�ˆ†xthat��by��using��NSWP,��you�can�archive�data��into��the��absolute�ˆ†xminimum�amount�of�space�possible.���The�SQ�algorithm�used�in�NSWP�ˆ†xis�better�than�the�one�in�the�original�'C'�squeezer,�and�produces�ˆ†the�smallest�output�file�possible�with�current�technology.ˆ† ˆ†x�����The�file�squeezer�section�was�done�by�Jim��Lopushinsky,��and�ˆ†xis�copyrighted��separately��by�him.��He�also�has�a�public��domain�ˆ†standalone�squeezer.ˆ† ˆ† ˆ†4Setting�the�tagged�files�statusˆ† ˆ†x�����You��may�set�the�attributes�of�a�group�of�tagged�files��just�ˆ†xlike�STAT,�or�PROT.�To�do�this,�tag�the�files,�and�select�the�'Y'�ˆ†command.ˆ† ˆ†È��12.�B0:�CDP1����.������40K�:�Y��Which�flags�(1-4,R,S,A)?�R,Sˆ† ˆ†€Setting�--->�B0:�BRUN����.COM�to�R/O�SYSˆ† ˆ† ˆ†x�����The��flags�you�may�set�are�the�F1-F4�flags,��as�well�as��the�ˆ†xRead�Only,��System,��and�Archive�(MP/M,��CP/M�3�only)�flags.��Any�ˆ†xflags��you�do�not�specify�will�be�reset.��To�reset�all�the��flags�ˆ†x(IE:��Change�to�R/W,�DIR�and�no�"Sysop�tag"),�just�enter�a�single�ˆ†xcomma�or�space�at�the�"Which�flags"�prompt.��Note�that�the��flags�ˆ†xin��the��"Which�flags"�question�do�not�have�to�be�entered�with��a�ˆ†xcomma�between�them,��as�anything�(or�nothing�at�all!)�will�do.�As�ˆ†xfar�as�the�program�is�concerned��'RSA',��'R�S�A',�and�'R,S�A'�are�ˆ†Øall�valid.ˆ† ˆ† ˆ† ˆ† ˆ€ð ”È‚‰ Ȉ† ˆ†ä�����������������������������-�15�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ†¨NSWP�2��-���A�disk�maintenance�utilityˆ† ˆ† ˆ€� ”È‚‰ Ȉ†¼�����������������������������Epilogueˆ† ˆ†x�����All�the�functions�of�NSWP�have�now�been�described.��The�best�ˆ†xway�to�get�more�familiar�with�the�program�is�to�actually�USE��it.�ˆ†ÜI�think�it�will�be�one�of�your�most�frequently�used�programs.ˆ† ˆ†x�����There��are�several�things�in�this�version�that�you�will�want�ˆ†ìto�alter:ˆ† ˆ†P103Hˆ†xThis�byte�controls�the�screen�length�used�in�the�'V'iew��command.�ˆ† It�is�currently�set�to�23D�(17H).ˆ† ˆ† 104H-10AH�-�Turn�reverse�video�onˆ†xThe�first�byte�in�this�sequence�of�seven�shows�the�length�of��the�ˆ†xreverse��video�on�sequence,��which�follows�at�location�105H.��All�ˆ†¨seven�bytes�are�currently�set�to�zero.ˆ† ˆ†ø10BH-111H�-�Turn�reverse�video�offˆ†xThe��first�byte�in�this�seqence�of�seven�shows�the�length�of��the�ˆ†xreverse�video�off�sequence,��which�follows�at�location�10DH.��All�ˆ†¨seven�bytes�are�currently�set�to�zero.ˆ† ˆ† ˆ†Ð�����������������������������Creditsˆ† ˆ†x�����My��thanks��to��all��who�made��this��program��possible,��and�ˆ†xespecially��to��Dave��Mccrady��for��his��help��in��composing��the�ˆ†xdocumentation��and�.HLP�files�for�NSWP.��Thanks�also�goes�to��Jim�ˆ†xLopushinsky,��also�of�Edmonton,��since�without�him�the�SQ�section�ˆ†xof�NSWP�might�never�have�been�completed!�Thanks�to�the�use�of�his�ˆ†´SQ�section,�NSWP�can�produce�the�smallest�possible�SQ'ed�files.ˆ† ˆ† ˆ†”��������������������������Contributionsˆ† ˆ†x�����If�you�like,�use�and�enjoy�this�program,�feel�free�to�send�a�ˆ†xcontribution��(suggest��$20).���This��will�help��me��expand��this�ˆ†xprogram,��and�add�even�more�features.�I�am�currently�working�on�a�ˆ†xCP/M�86�version,�and�once�that�is�running,�I�intend�to�port�it�to�ˆ†xMSDOS.��Suggestions�for�enhancement�are�also�appreciated,�and�you�ˆ†Lmay�send�them�to:ˆ† ˆ†ìDave�Randˆ†810232�-�160�Streetˆ†¬Edmonton,�Alberta��CANADAˆ†T5P�3E9ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ† ˆ€� ”È‚‰ Ȉ†ä�����������������������������-�16�-ˆ† ˆ† ˆ† ˆ† ˆ† ˆ€