home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug144.arc / ZSWP14.LBR / ZSWP14.DZC / ZSWP14.DOC
Text File  |  1979-12-31  |  33KB  |  782 lines

  1.     Additions to original NSWP 2.06 documentation.
  2.     ----------------------------------------------
  3.  
  4. ZSWP v1.30    Feb 87
  5. ==========
  6.  
  7. This first release of ZSWP (Z80SWEEP) is courtesy of Ian Branch,
  8. who responded following a plea to fix the RST 38 problem in
  9. NSWP 2.07. As usual, many programmers are terrible at documenting
  10. their work, and Ian Branch is no exception, so this explanatory
  11. note is added by a happy user and non-programmer. It is being
  12. released back into the Public Domain from whence it came.
  13.  
  14. Though the original author of NSWP, Dave Rand, has not been
  15. consulted (yet), we hope that improvements which follow the
  16. release of the (poorly) documented Source Code as ZSWPnn.MAC
  17. will be taken in the spirit in which it was done. 
  18.  
  19. Bugs, of which I (RM) am aware in NSWP v2.07 which have been
  20. fixed in ZSWP v1.30:
  21.  
  22. 1. Did not restore RST 38 vector on exit. This may well explain
  23.    some unconfirmed nasty rumours about NSWP.
  24.  
  25. a) We contend that most programs ought not leave fatal pointers
  26.    in sensitive places after exit. We believe that this ought 
  27.    to be so for ALL programs with perhaps the single exception
  28.    of program debuggers (DDT, SID, CEBUG, etc), and which are
  29.    widely known to fiddle with Restarts. Most debuggers put a
  30.    non-destructive vector at 38h anyway. NSWP left, at 38h, a
  31.    jump to an address in the middle of the TPA with orbital
  32.    results, often many hours after NSWP had been used.
  33.  
  34. b) This problem showed up on an Exidy Sorcerer modified for 80
  35.    column operation using the resident monitor called SCUAMON.
  36.    This monitor protects DRAM contents for the majority of 
  37.    system crashes by installing a jump to a warm start at 
  38.    address 38h on cold start. SCUAMON also happens to use this
  39.    Restart in its own break point debugging routine.
  40.    Unexplained behaviour of the innovative routines was
  41.    (eventually) traced to having used NSWP at some time during
  42.    the session.
  43.  
  44. 2. Several code faults in the original NSWP were spotted during
  45.    disassembly and Z80ification. Their effects (if any) are 
  46.    quite unknown, but may well have constributed to the sporadic
  47.    reports of NSWP V2.07's unexplained failures to perform as
  48.    expected.
  49.  
  50.    One such example, which has not been seen with ZSWP, was a
  51.    peculiar inability to recognise a newly logged in directory.
  52.    This occurred sporadically and was sufficiently uncommon as
  53.    to preclude its accurate definition and therfore a fix.
  54.  
  55. Additions to NSWP v2.07
  56. -----------------------
  57. 1. Attribute bit setting has been extended to all 8 bits of the
  58.    filename. These are set using the same procedure as for NSWP
  59.    v2.07 (see relevant section of docs) but you may now use 
  60.    F1-F8 instead of F1-F4. This is to allow Global file handling
  61.    by ZDOS and perhaps other BDOS replacements.
  62.  
  63. 2. When the message 'No files' appears, the user is prompted
  64.    further with the letters 'X,L,S,'. These mean eXit, Log,
  65.    and Space respectively.
  66.  
  67. 3. User areas up to 1Fh (31 decimal) are now accessible.
  68.  
  69. ZSWP will work only in computers which use a Z80 CPU or its
  70. derivatives, eg HD64180. It will not work under an 8080 CPU.
  71. A number of routines have been shortened and speeded up using
  72. Z80 op codes. Users will find that the directory sorts are
  73. marginally faster.
  74.  
  75. The distributed version of ZSWP is configured to clear the
  76. screen for an ADM3A, 24 line terminal PLUS escape sequences for
  77. character enhancement (reverse video). This combination is
  78. sometimes referred to as an 'extended ADM3A'. Enhancement is
  79. used to display the setting of attribute bits.
  80.  
  81. Modification for other terminal configurations is, for
  82. practical purposes unchanged from what applied to NSWP (See
  83. NSWP docs also). The procedure now follows more closely that
  84. for many other public domain utilities.
  85.  
  86. Use PATCH.COM or other direct file alteration utility to
  87. modify the parameters in the first page of the file. For
  88. example, to change the clear screen sequence, find CLR> in page
  89. 1 (100h - 1FFh). Currently the values are 01 1A 00 00 00 00.
  90. Enter the number of bytes which constitute your clear screen
  91. sequence followed by the byte(s) to clear the screen.
  92.  
  93.         ------------------------
  94. V1.40   Aug 1987
  95.  
  96. ZSWP (Turbo) now supports CP/M 2.2, CP/M 3.0, MP/M and TurboDOS.
  97.  
  98. The (V)iew option:  A distinction between pressing the space bar
  99. and the RETURN key has been added, i.e.,
  100.  
  101. <SPACE> advances a line at a time.
  102. <RETURN> advances a page (24 lines) at a time.
  103.  
  104.                 ------------------------
  105.  
  106. Rick Millicer, c/o SCUA RBBS (03) 754-5081. Melbourne, Australia.
  107.  
  108.         --------------------------------------------------------
  109.  
  110.                NSWP - A disk maintenance utility.
  111.  
  112.                             Dave Rand
  113.                        10232 - 160 Street
  114.                         Edmonton, Alberta
  115.                              Canada
  116.                              T5P 3E9
  117.  
  118.                             I N D E X
  119.  
  120.         Introduction ........................  3
  121.              Overview of NSWP ...............  4
  122.              Invoking NSWP ..................  5
  123.  
  124.         Single file commands ................  6
  125.              Help ...........................  7
  126.              Forward and Backward ...........  7
  127.              Exiting ........................  8
  128.              Finding a file .................  8
  129.              Viewing and Printing ...........  8
  130.              Deleting a file ................  8
  131.              Copying ........................  9
  132.              Renaming .......................  9
  133.              The Space command .............. 11
  134.              The Log command ................ 11
  135.  
  136.         Introduction to Multifile Commands .. 12
  137.              The Tag command ................ 12
  138.              Wildcard tagging ............... 13
  139.              The Untag command .............. 13
  140.              The Mass copy command .......... 13
  141.              After the mass (Again) ......... 14
  142.              Erasing files .................. 14
  143.              Squeezing and Unsqueezing files. 14
  144.              Setting file status ............ 15
  145.         Epilogue ............................ 16
  146.  
  147.         Credits ............................. 16
  148.  
  149.         Contributions ....................... 16
  150.  
  151.                 Introduction
  152.                 =============
  153.  
  154. NSWP is a new disk utility than can replace many of the more common
  155. utilities that are used, such as DISK7, PIP, PRINT, PROT, SQ, STAT,
  156. SWEEP, TYPE, USQ and others. In only 12K of disk space it replaces over
  157. 100K of utilities!
  158.  
  159. NSWP is written entirely in assembly language, and will run on any CP/M
  160. 2.x, 3.x or MP/M based system with no changes. Since it is coded in 8080
  161. assembler, any 8080, 8085 or Z80 compatible processor will work. Note
  162. that this program WILL NOT run on CP/M 1.4.
  163.  
  164. When NSWP was conceived, the dominant file utility was SWEEP, and thus
  165. NSWP is syntax compatible with SWEEP, but with many extensions. This
  166. allows you to directly rename NSWP to SWEEP, if you so desire, with no
  167. retraining period.
  168.  
  169. I hope that you enjoy this program, and use it well. Any problems, or
  170. suggestions may be directed to myself at the address on the first page,
  171. or on one of the following RCP/Ms:
  172.  
  173. Edmonton RCP/M - (403) 454-6093 (300 or 1200 baud)
  174. Stadium RCP/M  - (403) 479-3450 (300 baud only)
  175.  
  176. or voice at: (403) 484-4114
  177.  
  178.                 Disclaimer and warning
  179.                 ======================
  180.  
  181. While this program has been tested on many systems, I will have no
  182. liability or responsibilty to the user or any other person or entity
  183. with respect to any liability, loss or damage caused, or alledged to be
  184. caused directly or indirectly by this program, including, but not
  185. limited to, any interruption of service, loss of business, anticipatory
  186. profits or consequential damages resulting from the use of this program.
  187.  
  188. Furthermore, although this program has been placed into the public
  189. domain, I retain all copyrights to this program, both in the U.S.A and
  190. in Canada, and pursuant to this, this program MAY NOT BE SOLD BY ANY
  191. PARTY unless specifically authorized by the author, Dave Rand, in
  192. writing, previous to the first copy being sold. As well, this program
  193. MAY NOT BE INCLUDED IN ANY OTHER PACKAGE FOR SALE, even if this program
  194. is indicated as being 'in the public domain'. All of the above applies
  195. to both the original as well as derived, or modified copies of the
  196. original. Any modified copies of this program MUST NOT have the
  197. copyright notice violated, changed or altered.
  198.  
  199. Please report any copyright violations to the author, at one of the
  200. above telephone numbers. Thank you.
  201.  
  202.                 NSWP Overview
  203.                 =============
  204.  
  205. NSWP is a directory and file manipulation program. With it, you can
  206. copy, delete, rename, unsqueeze and squeeze files. The documentation
  207. following is split into two major sections: A tutorial for the
  208. inexperienced, and a reference section. The reference normally will be
  209. used in conjunction with the program to answer specific questions
  210. regarding NSWP. The tutorial is a broad coverage of all of the
  211. functions, and should be read through at least once.
  212.  
  213. The most important thing to remember when using NSWP is that it provides
  214. a list of your files in ALPHABETICAL order. Moving around in this list
  215. is quite easy, and will soon become second nature.
  216.  
  217. In this documentation, all user input is underlined. As well, when the
  218. "current" file is referenced in this documentation, it means the file
  219. just to the left of your input. This "current" file is often referred to
  220. as the file you are "on".
  221.  
  222.                 Invoking NSWP
  223.                 =============
  224.  
  225. To make effective use of NSWP, you must know the various options
  226. available to you when you invoke NSWP. Here are some of the options:
  227.  
  228. A>NSWP
  229. This format simply loads NSWP, and scans the default drive and user for
  230. filenames. Once inside NSWP, you may change to a different drive and/or
  231. user, but when you exit you will be returned to the drive/user that you
  232. called NSWP from.
  233.  
  234. A>NSWP *.COM
  235. This format loads NSWP and scans the current drive and user for all
  236. filenames with the extension '.COM'. Note that NSWP can find system
  237. files as well, so no additional information need be given.
  238.  
  239. A>NSWP B:*.COM *
  240. The presence of the second asterisk indicates to NSWP that you wish to
  241. scan all user areas of the indicated disk drive. In this case, all '.COM
  242. files on all user areas on drive B.
  243.  
  244. Combinations of the above are acceptable, and you may even log to all
  245. user areas, and find all files with the specification '*.* *'.
  246.  
  247. Once inside NSWP you are presented with a menu, then a report of which
  248. drive and user you are logged to, how much space is taken by the files
  249. you have specified, how many files have been found with the
  250. specifications given, and how much space is left on the disk. A sample
  251. follows:
  252.  
  253. Drive A0:  596K in 36 files.  735K free.
  254.  
  255. A special format of this line shows that you are logged to all user
  256. areas:
  257.  
  258. Drive B*:  950K in 234 files.  2956K free.
  259.  
  260. From this point, you may execute any of the menu options. A special
  261. display occurs if no files are found with the specification you have
  262. given, or if there are no files in the given drive/user area(s):
  263.  
  264. No files.
  265.  
  266. This display may also occur if you delete all the files out of a given
  267. specification. When this occurs, your menu choices are limited to ONLY
  268. 'S', 'L' or 'X'. This allows you to see the free Space on a drive, to
  269. Log to another drive/user, or to eXit.  No other choices are valid, nor
  270. will they be accepted.
  271.  
  272.                 Command Structure
  273.                 =================
  274.  
  275. There are two primary types of commands in NSWP: those that act on one
  276. file and those that act on many files. We will go through them both.
  277. Before doing that though, let's try moving around in NSWP first.
  278.  
  279. To move in NSWP, you must first understand that the files on your
  280. selected drive/user will be presented to you in a sorted manner. The
  281. files are sorted in this order: Filename, File extension, user area:
  282.  
  283.    1. B0: -WORK   .001    0K :
  284.    2. B0: ARCADD  .COM    4K :
  285.    3. B0: ARCCOPY .COM    2K :
  286.  
  287. As you can see, the files are numbered for your convenience. You may not
  288. directly use these numbers. As you can see, the file size is also shown
  289. (rounded to the nearest block size).
  290.  
  291. Note that if you have enabled the reverse video sequence (see Epilog),
  292. you may see some of the letters in the filename printed in reverse
  293. video. The chart below shows how to decode this information.
  294.  
  295.           FFFFFFFF RSA
  296.           12345678 /YR
  297.           |||||||| OSC
  298.  
  299.    4. B0: ARCDEL  .COM    2K :
  300.  
  301. As you can see, this looks confusing. Really, though, it is not. The
  302. tags F1-F8 normally are not used, but NSWP allows you set F1-F4 for your
  303. own use. The R/O tag means that the file may be read, but not written
  304. to. The SYS tag means that the file does not appear in normal DIR
  305. listings, and in CP/M 3, MPM and CP/M 86 also means that this file is
  306. avaiable to all user areas. The ARC tag means that, if set, the file has
  307. been backed up since it was last accessed.
  308.  
  309. Now that you understand how files are presented, we can go through a
  310. sample session. Remember, user input is underlined.
  311.  
  312. A>NSWP B:
  313.  
  314. NSWEEP   -  Version 2.06     04/20/1984
  315.         (c) Dave Rand, 1983, 1984
  316.             Edmonton, Alberta
  317.  
  318. Drive B0:   850K in   64 files.   118K free.
  319.  
  320.    1. B0: -WORK   .001    0K :  <SP>
  321.    2. B0: ARCADD  .COM    4K :  <SP>
  322.    3. B0: ARCCOPY .COM    2K :  <CR>
  323.    4. B0: ARCDEL  .COM    2K :  <CR>
  324.    5. B0: ARCDIR  .COM    2K : B
  325.    4. B0: ARCDEL  .COM    2K : B
  326.    3. B0: ARCCOPY .COM    2K : B
  327.    2. B0: ARCADD  .COM    4K : B
  328.    1. B0: -WORK   .001    0K : X
  329. A>
  330.  
  331.                 Help
  332.                 ====
  333.  
  334. At any point, you may request the main help menu by pressing '?'.
  335.  
  336.    1. B0: -WORK   .001    0K : ?
  337.  
  338. NSWEEP   -  Version 2.06     04/20/1984
  339.         (c) Dave Rand, 1983, 1984
  340.             Edmonton, Alberta
  341.  
  342. A - Retag files        :  Q - Squeeze/Unsqeeze tagged files
  343. B - Back one file      :  R - Rename file(s)
  344. C - Copy file          :  S - Check remaining space
  345. D - Delete file        :  T - Tag file for transfer
  346. E - Erase T/U files    :  U - Untag file
  347. F - Find file          :  V - View file
  348. L - Log new disk/user  :  W - Wildcard tag of files
  349. M - Mass file copy     :  Y - Set file status.
  350. P - Print file         :  ? - Display this help
  351. X - Exit to CP/M       :  cr, sp - Forward one file
  352.  
  353.                 Moving forward and backward
  354.                 ===========================
  355.  
  356. As you can see, the two most common commands will be moving forward and
  357. backwards through the directory. Either the SPACE bar (<SP>), or the
  358. RETURN key (<CR>) may be used to move forward. To move backwards simply
  359. use the 'B' key. Note that all commands in NSWP can be either in upper
  360. or lowercase. Internally, lowercase will be converted to uppercase. If
  361. you reach the end of the directory with either command, you will be
  362. "wrapped around" to the other end automatically.
  363.  
  364.                 Exiting
  365.                 =======
  366.  
  367. To exit, just use the 'X' command as shown above. This will return you
  368. to the same drive and user area that you invoked NSWP from, regardless
  369. of anything you may have done in NSWP.
  370.  
  371.                 Finding a file
  372.                 ==============
  373.  
  374. Since you may have many hundreds of files selected, you may wish to move
  375. rapidly to a particular file. You may do this through the 'F', or FIND
  376. command.
  377.  
  378.    1. B0: -WORK   .001    0K : F  Which file? BASCOM
  379.  
  380.    8. B0: BASCOM  .COM   32K :
  381.  
  382. The Find command always starts looking from entry number one. You may
  383. use the standard CP/M syntax for wildcarding (eg: to find the first .HEX
  384. file, you may use *.HEX), and also note that the Find command will fill
  385. all blank spaces with question marks. This makes the search strings
  386. 'B*.*', 'B', and 'B??????.' all find the first file beginning with 'B'.
  387. As you experiment, you will find other interesting uses for this
  388. command.
  389.  
  390. At this point, you now know how to move through your directory, both
  391. rapidly and one step at a time. Let's move on to some more useful
  392. commands.
  393.  
  394.                 Viewing and Printing a file
  395.                 ===========================
  396.  
  397. The View command, invoked with a 'V', will type the current file onto
  398. the screen unsqueezing the file if required. Note that this command will
  399. NOT prevent you from listing ANY type of file, so you must use your own
  400. judgement on what can and cannot be listed. At the end of each page on
  401. the screen, view will stop, and allow you to abort the viewing with a ^C
  402. or a ^X. To get one more line from the file, hit the space bar. To get
  403. another page, hit the <CR> or RETURN key.
  404.  
  405. The Print command, invoked with a 'P', will send the current file, with
  406. no modifications or paging, to the current LST: device. You may abort
  407. the print with a ^C or ^X. All other features of the View command apply.
  408.  
  409.                 Deleting a file
  410.                 ===============
  411.  
  412. You can delete the current file just by hitting the 'D' key. Before
  413. deletion occurs, you will be prompted.
  414.  
  415.   12. B0: CDP1    .      40K : D  Delete file? Y
  416.   12. B0: DEAD    .DAT  100K :
  417.  
  418. If any reply other than 'y' or 'Y' is given, the file is not deleted. If
  419. the file is deleted, it is removed from the list and the next file is
  420. given the current file's number.
  421.  
  422. If the file is a Read Only file, you will be prompted again:
  423.  
  424.   12. B0: CDP1    .      40K : D  Delete file? Y  R/O. Delete? Y
  425.   12. B0: DEAD    .DAT  100K :
  426.  
  427.                 Copying a file
  428.                 ==============
  429.  
  430. While on any file, you may copy that file to:
  431. A) Another name, on the same drive/user
  432. B) Another name, on a different drive/user
  433. C) The same name, on a different drive/user
  434.  
  435. NSWP will prevent you from copying a file to the same drive/user that
  436. the source file resides on. Other than that, there are no restrictions
  437. on where you wish the file to be. If a file exists on the same
  438. drive/user that you wish to place the destination file, the existing
  439. file is deleted automatically, even if it is Read Only. When NSWP copies
  440. a file, all the attributes of the original file are passed on to the
  441. destination file. Thus, if a file is a SYS, R/O file, NSWP will cause
  442. the destination file to be SYS, R/O after the file copy has taken place.
  443.  
  444.   12. B0: CDP1    .      40K : C  Copy to (filespec)? C9:BACK.CDP
  445.  
  446. If you wish to preserve the name of the file, you may just enter the
  447. destination drive/user part of the filespec (eg. C9: in the preceding
  448. example would have copied the file to drive C user 9, retaining the name
  449. CDP1). Just entering the drive part of the filespec causes NSWP to
  450. retain the user number of the source file.
  451.  
  452. If the filename is followed by a space, then a 'V', the file will be
  453. verify read after it is written. NSWP maintains a CRC of the file as it
  454. is writing the file, and verifies this CRC.
  455.  
  456.                 Renaming files
  457.                 ==============
  458.  
  459. The Rename command ('R') may be used to:
  460. A) Change the name of one file
  461. B) Change the names of many files
  462. C) Change the user number of one file
  463. D) Change the user number of many files
  464.  
  465. To just change the name of one file, the syntax is simple:
  466.  
  467.   12. B0: CDP1    .      40K : R  New name, or *? CDP2
  468.   12. B0: CDP2    .      40K :
  469.  
  470. You may also change the user number of the file, as follows:
  471.  
  472.   12. B0: CDP1    .      40K : R  New name, or *? B1:CDP2
  473.   12. B1: CDP1    .      40K :
  474.  
  475. Note that if all user areas are not specified in the logon of NSWP, the
  476. file may not be shown on your list when renaming to another user area.
  477.  
  478. To change a group of files from one name to another, you may enter the
  479. following command at any file:
  480.  
  481.    9. B0: BASIC   .COM   24K : R  New name, or *? *
  482.  
  483. Old name? *.HEX
  484. New name? *.BAK
  485.  
  486. At this point all files with the extension .HEX will be renamed to the
  487. same filename but with the extension .BAK. You will see a running
  488. display on the screen as each file is renamed. Any valid wildcard may be
  489. used to select the source files, and the destination files will take one
  490. character from the source for each '?' in the name. An asterisk
  491. qualifies as filling the remainder of the field with '?'. If the
  492. destination file exists, the rename is not made.
  493.  
  494. You may also choose to rename a group of files to another user area,
  495. optionally changing their names as well:
  496.  
  497.    9. B0: BASIC   .COM   24K : R  New name, or *? *
  498.  
  499. Old name? *.HEX
  500. New name? B1:*.BAK
  501.  
  502. This command will rename all .HEX files on drive B user 0 to the same
  503. filename, but with the extension .BAK, and place the resultant file in
  504. user 1. You may want to try this command a few times to get the hang of
  505. it, but it is extremely powerful.
  506.  
  507.                 The Space command
  508.                 =================
  509.  
  510. The Space command ('S') simply asks you for a drive code, then tells you
  511. the remaining space on the drive you specify. Before doing the space
  512. check, a drive reset is performed, so feel free to change disks.
  513.  
  514.                 The Log Command
  515.                 ===============
  516.  
  517. The Log command ('L') allows you to change your directory to another
  518. drive or user. Additionally, it allows you to re-specify the wildcard
  519. mask just like entering the NSWP program from CP/M. As well, the drive
  520. system is reset, so again you should be able to change to a different
  521. diskette at this point or to another part of the same diskette. When the
  522. Log command is used, the instructions are reprinted for review.
  523.  
  524.  
  525.   16. B0: DD      .COM    4K : L  New drive/user/mask? A14:*.HEX
  526.  
  527.  
  528. NSWEEP   -  Version 2.06     04/20/1984
  529.         (c) Dave Rand, 1983, 1984
  530.             Edmonton, Alberta
  531.  
  532. Drive A14:   44K in   2 files.  1118K free.
  533.  
  534.   1. A14:NSWP    .HEX    22K:
  535.  
  536.                 Introduction to Multifile commands
  537.                 ==================================
  538.  
  539. Now that all the commands that affect single files have been described,
  540. it is time to introduce the concept of Multifile commands. These
  541. commands are ones that affect as few as one or as many as all of the
  542. files on a single disk. To affect these files, though, we must have some
  543. way of describing which files need to be affected. CP/M has a way to do
  544. this, using "wildcards". This program, on the other hand, uses the
  545. concept of a file"tag".
  546.  
  547.                 The Tag command
  548.                 ===============
  549.  
  550. Tagging a file, in its simplest form, can be accomplished just by
  551. depressing the 'T' key when the file to be tagged appears. What exactly
  552. is a tag? A tagged file is a file in the list of filenames that has an
  553. asterisk next to the colon after the name of the file, as shown below.
  554.  
  555.    9. B0: BASIC   .COM   24K :*
  556.  
  557. A tagged file is different from an untagged file in that you may now
  558. request an operation that deals with several unrelated files (eg., Files
  559. that will not match using only one wildcard). A sample"tag" session is
  560. shown:
  561.  
  562.    9. B0: BASIC   .COM   24K : T  Tagged files =   24K (  23K).
  563.   10. B0: BRUN    .COM   16K : T  Tagged files =   40K (  39K).
  564.  
  565. Note that the 'T' command automatically performs a "move forward"
  566. operation.
  567.  
  568. To the right of the 'Tagged files' message two numbers are displayed.
  569. The numbers are the total size in K, of the files you have tagged so
  570. far. This is useful if, for example, you are moving files from one size
  571. of diskette to another, smaller, size diskette. If the source disk holds
  572. 500K, and the destination holds 256K, you can stop the tagging operation
  573. when your size is just less than 256K. The tag function in itself does
  574. not perform any operation, other than to mark the file for a
  575. future"mass" operation.
  576.  
  577. By now the astute reader will notice that I have cleverly skipped over
  578. the function of the second number display, the one in parenthesis. This
  579. number is the combined size of the tagged files, IN 1K BLOCKS. If you
  580. are using a computer system that supports many different disk
  581. sizes/formats, or a system with a hard disk attached, you may already
  582. know that CP/M can allocate storage only in "BLOCKS", and that these
  583. "BLOCKS" may be up to 16k in length. This means that NSWP would show a
  584. file containing say, 512 bytes in information, as being up to 16k long,
  585. depending on your computer. The second number in the tag display shows
  586. how much storage the cumulative files would take if they were stored on
  587. a single-sided, single-density, 8" diskette.
  588.  
  589.                 Wildcard tagging
  590.                 ================
  591.  
  592. Another way to tag files is the wildcard tag function. This function
  593. accepts a CP/M type wildcard and proceeds to tag all the files that
  594. match the wildcard. To invoke this, just hit 'W' and you will be
  595. prompted with the message 'Which files? ' Enter any CP/M wildcard, right
  596. down to a unique filename, and if that file exists it will be tagged and
  597. displayed.
  598.  
  599. Untagging files
  600.  
  601. If you can tag a file, you must be able to Untag a file as well.
  602.  
  603.    9. B0: BASIC   .COM   24K :*U  Tagged files =   16K (  16K).
  604.   10. B0: BRUN    .COM   16K :*
  605.  
  606. As you can see, the untag function subtracts the current file's size
  607. from the total then displays the total of the remaining files.
  608.  
  609.                 The mass copy command
  610.                 =====================
  611.  
  612. Now that we have a number of files "tagged", what do we do with them?
  613. Well the Mass copy function is one of those that acts on many files. Its
  614. purpose is to copy the tagged file(s) from one drive/user area to
  615. another drive/user area.
  616.  
  617.   12. B0: CDP1    .      40K : M
  618.   Copy to drive/user? A14: V
  619.  
  620. Copying   --> B0: BRUN    .COM  to A14:  with verify
  621. Verifying --> file ok.
  622.  
  623. The 'V' is optional, and it indicates that you wish to have the file
  624. verified after it is written.
  625.  
  626. As you can see, the files have been sent to drive A, user 14. If you
  627. wish the tagged files to reside in the same user area as the source
  628. files after the copy, do not specify a user area in the Mass command.
  629. This will cause NSWP to put the file in the same user area as the source
  630. file.
  631.  
  632. NSWP will not allow you to copy a file to the same drive and user area
  633. as the source. The copy is simply not made.
  634.  
  635.                 After the mass
  636.                 ==============
  637.  
  638. After any mass file operation, the tags are "reset" as each file is
  639. copied. Visually, they change from a '*' to a '#'. The files are
  640. logically untagged, and will respond as such. But, since NSWP remembers
  641. them, you can automatically retag these files. This is useful if, for
  642. example, you need to copy the same files to a number of different
  643. diskettes or user areas on a drive. To invoke this, use the 'A' command.
  644.  
  645.   12. B0: CDP1    .      40K : A
  646.  
  647. Retagging--> B0: BRUN    .COM   Tagged files =    16K (  16K)
  648.  
  649.                 Erasing files
  650.                 =============
  651.  
  652. You may want to copy a group of files, then delete them from the source
  653. disk after the copy has been made. To do this, you can use either the
  654. 'C' command to copy, followed by the 'D' command, which is tedious, or a
  655. combination of the 'T', 'M', 'A', and the 'E' commands. The 'E' command
  656. Erases tagged or untagged files at your option, on a global scale.
  657.  
  658.   12. B0: CDP1    .      40K : E
  659. Erase Tagged or Untagged files (T/U)? T
  660. Do you wish to be prompted (Y/N/A)? N
  661.  
  662. Deleting  --> B0: BRUN    .COM
  663.  
  664. If you specify Untagged files, the untagged files will be erased. You
  665. may wish to be prompted before each file is to be deleted, and you can
  666. do this via the second question.
  667.  
  668.                 Squeezing and Unsqueezing files
  669.                 ===============================
  670.  
  671. The 'Q' command allows you to Squeeze and Unsqueeze tagged files. This
  672. file squeeze program is compatible with the original squeeze/unsqueeze
  673. programs written in the 'C' language by Richard Greenlaw. After hitting
  674. Q, you will see the prompt:
  675.  
  676. Squeeze, Unsqueeze or Reverse (S/U/R)?
  677.  
  678. After answering this skill-testing question, you will be asked which
  679. drive/user you wish to place the destination files. The syntax here is
  680. the same as for the Move command, except it is permissible to 'Q' the
  681. files back to the same drive/user that they originated.
  682.  
  683. When 'Q' is invoked, you are asked if you wish to Squeeze, Unsqueeze or
  684. Reverse. A carriage return here will return you to the command line of
  685. NSWP.
  686.  
  687. If you select 'S' for Squeeze, all tagged files will be examined to see
  688. if it is "worth" squeezing them. Files that exibit ANY space reduction,
  689. even if it is only one sector, will be squeezed. If the files is not
  690. "worth" squeezing the file will simply be copied to the destination
  691. drive/user.
  692.  
  693. If you select 'U' for Unsqueeze, all tagged files will be examined to
  694. see if they are squeezed. If they are, they will be unsqueezed, and
  695. moved to the destination drive/user. If they are not squeezed, then they
  696. are simply copied.
  697.  
  698. If you select 'R' for Reverse, all files that are squeezed will be
  699. unsqueezed, and all files that are unsqueezed will be squeezed (if it is
  700. worth it), and moved to the destination drive/user.
  701.  
  702. The most attractive feature of the 'Q' command in general is the ability
  703. to Squeeze files ONLY if it is "worth" it. This means that by using
  704. NSWP, you can archive data into the absolute minimum amount of space
  705. possible.  The SQ algorithm used in NSWP is better than the one in the
  706. original 'C' squeezer, and produces the smallest output file possible
  707. with current technology.
  708.  
  709. The file squeezer section was done by Jim Lopushinsky, and is
  710. copyrighted separately by him. He also has a public domain standalone
  711. squeezer.
  712.  
  713.                 Setting the tagged files status
  714.                 ===============================
  715.  
  716. You may set the attributes of a group of tagged files just like STAT, or
  717. PROT. To do this, tag the files and select the 'Y' command.
  718.  
  719.   12. B0: CDP1    .      40K : Y  Which flags (1-4,R,S,A)? R,S
  720.  
  721. Setting ---> B0: BRUN    .COM to R/O SYS
  722.  
  723. The flags you may set are the F1-F4 flags, as well as the Read Only,
  724. System, and Archive (MP/M, CP/M 3 only) flags. Any flags you do not
  725. specify will be reset. To reset all the flags (i.e., Change to R/W, DIR
  726. and no "Sysop tag") just enter a single comma or space at the "Which
  727. flags" prompt. Note that the flags in the "Which flags" question do not
  728. have to be entered with a comma between them, as anything (or nothing at
  729. all!) will do. As far as the program is concerned 'RSA', 'R S A', and
  730. 'R,S A' are all valid.
  731.  
  732.  
  733.                 Epilogue
  734.                 ========
  735.  
  736. All the functions of NSWP have now been described. The best way to get
  737. more familiar with the program is to actually USE it. I think it will be
  738. one of your most frequently used programs.
  739.  
  740. There are several things in this version that you will want to alter:
  741.  
  742. 103H
  743. This byte controls the screen length used in the 'V'iew command. It is
  744. currently set to 23D (17H).
  745.  
  746. 104H-10AH - Turn reverse video on
  747. The first byte in this sequence of seven shows the length of the reverse
  748. video on sequence, which follows at location 105H. All seven bytes are
  749. currently set to zero.
  750.  
  751. 10BH-111H - Turn reverse video off
  752. The first byte in this seqence of seven shows the length of the reverse
  753. video off sequence, which follows at location 10DH. All seven bytes are
  754. currently set to zero.
  755.  
  756.  
  757.                 Credits
  758.                 =======
  759.  
  760. My thanks to all who made this program possible and particularly to Dave
  761. Mccrady for his help in composing the documentation and .HLP files for
  762. NSWP. Thanks also goes to Jim Lopushinsky, also of Edmonton, since
  763. without him the SQ section of NSWP might never have been completed!
  764. Thanks to the use of his SQ section, NSWP can produce the smallest
  765. possible SQ'ed files.
  766.  
  767.                 Contributions
  768.                 =============
  769.  
  770. If you like, use and enjoy this program, feel free to send a
  771. contribution (suggest $20).  This will help me expand this program, and
  772. add even more features. I am currently working on a CP/M 86 version, and
  773. once that is running, I intend to port it to MSDOS. Suggestions for
  774. enhancement are also appreciated, and you may send them to:
  775.  
  776.                                 Dave Rand
  777.                                 10232 - 160 Street
  778.                                 Edmonton, Alberta  CANADA
  779.                                 T5P 3E9
  780.  
  781.         --------------------------------------------------------
  782.