home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / CPM / UTILS / S / SZAP51.LBR / ZAP51.DYC / ZAP51.DYC
Text File  |  1992-03-04  |  29KB  |  593 lines

  1.  
  2.                                *--------------*
  3.                                | SuperZap 5.1 |
  4.                                *--------------*
  5.  
  6.      SuperZap is a screen-oriented disk- and file-update utility for CP/M-80.  
  7. Implementing an intuitive, single-keystroke-driven, menu-assisted interface, 
  8. it offers straightforward, no-nonsense access to the contents of any data file 
  9. or disk sector through an array of useful functions.
  10.  
  11.      Utilizing SuperZap's powerful facilities, you can
  12.  
  13.      o  efficiently view and edit the contents of any file or disk sector, 
  14.         even so-called "bad" or corrupted sectors.
  15.  
  16.      o  easily display ("dump") the data contents of any file to the screen, 
  17.         moving either forward or backward in a paged fashion
  18.  
  19.      o  quickly search for any string of ASCII characters or sequence of 
  20.         hexadecimal bytes, either within an individual file or on the entire 
  21.         disk
  22.  
  23.      SuperZap has two main modes of operation, Directory and Sector.  In 
  24. Directory mode, SuperZap will display an alphabetized list of the filenames 
  25. in any CP/M user area.  You can then selectively view any file's contents in 
  26. either a paged (Type submode) or sector (Edit submode) fashion.  Furthermore, 
  27. while in Edit submode, you can freely modify the contents of any file, in 
  28. either hexadecimal or ASCII format, and optionally write the changes back to 
  29. disk.
  30.  
  31.      In Sector mode, SuperZap will display, in both hexadecimal and ASCII 
  32. format, the contents of any CP/M sector (128 bytes) on any disk whose format 
  33. is recognized by your computer's BIOS.  SuperZap will read and write sectors 
  34. to and from the disk using BIOS functions directly, thus bypassing the BDOS' 
  35. safeguards and restrictions.  In this way, you can freely modify the contents 
  36. even of sectors that cause normal CP/M disk operations to fail because of a 
  37. BDOS error condition.  You can thereby attempt repair of "bad" sectors whose 
  38. control information (e.g., CRC data) has somehow been corrupted, recovering 
  39. valuable data that would otherwise be lost.
  40.  
  41.      To facilitate the repair of damaged sectors (and as a safety feature 
  42. during sector editing), SuperZap provides a handy "clipboard" to which you 
  43. can copy the contents of any file or disk sector, then transfer these contents 
  44. to any other file or disk sector on either the current or another disk.  Thus, 
  45. you might be able to restore a damaged or "blown" sector simply by replacing
  46. its invalid data with sector data from a reliable source.
  47.  
  48.  
  49. SYSTEM REQUIREMENTS
  50. -------------------
  51.  
  52.      SuperZap is written in optimized Z80 Assembler and is designed to run 
  53. under either CP/M 2.2 or CP/M 3 ("Plus") on any compatible computer that 
  54. employs or emulates a Zilog Z80 CPU.
  55.  
  56.      SuperZap requires a terminal that supplies a video display area of at 
  57. least 80 columns by 24 lines.  To install SuperZap for your CP/M computer, you 
  58. will need to consult a detailed listing of your terminal's screen-control 
  59. codes for the following functions:
  60.  
  61.      cursor left      \
  62.      cursor right      \
  63.      cursor up          \
  64.      cursor down         >  (must all be single characters)
  65.      tab                /
  66.      escape            /
  67.      del              /
  68.  
  69.      clear screen               \
  70.      clear to end of line        \
  71.      inverse video                \
  72.      normal video                  \
  73.      highlight on                   \
  74.      highlight off                   >  (can each be multiple characters,
  75.      blinking on                    /    e.g., escape sequences)
  76.      blinking off                  /
  77.      cursor on                    /
  78.      cursor off                  /
  79.      direct cursor addressing   /
  80.  
  81. You will then need to edit SuperZap's source code, inserting these terminal- 
  82. specific codes in their proper places by using your favorite text processor.  
  83. Note that if certain of the multiple-character sequences are not available on 
  84. your terminal, you can substitute one of the others (e.g., "highlight on" for 
  85. "blinking on") or deactivate them by using a zero (null string).  Finally, 
  86. you will have to assemble the complete program with a Z80 macro assembler, 
  87. either Microsoft's Macro-80 ("M80") or the popular public-domain Z80MR.
  88.  
  89.      For convenience of installation, along with the main source-code file 
  90. ZAP50.MAC, a separate, shorter file containing all the terminal-specific 
  91. parameters is included here in the correct format for each of these macro 
  92. assemblers:  ZAP.MAC for Macro-80 and ZAP.AZM for Z80MR.  (In fact, Z80MR 
  93. itself is also supplied!)  Printing out either one of these files as a first 
  94. step will make the overall installation task somewhat easier, besides 
  95. acquainting you with some of the long development history of this program.
  96.  
  97.  
  98.      Installation with Macro-80
  99.      ==========================
  100.  
  101.      Assembling SuperZap is a two-step operation:
  102.  
  103.      1. Generate a relocatable (.REL) file from the source code; a typical 
  104.         command line for Macro-80 is
  105.  
  106.           M80 =ZAP/M
  107.  
  108.         where the (optional) /M switch specifies that data-storage areas should 
  109.         autoMatically be initialized (i.e., filled with zeros).
  110.  
  111.      2. Link the .REL file into executable object code; a typical command line 
  112.         for Link-80 is
  113.  
  114.           L80 ZAP,ZAP/N/E
  115.  
  116.         where the /N switch Names the object-code (default is .COM) file and 
  117.         the /E switch instructs Link-80 to Exit back to CP/M upon completion.
  118.  
  119.  
  120.      Installation with Z80MR
  121.      =======================
  122.  
  123.      Assembling SuperZap is a two-step operation:
  124.  
  125.      1. Generate a hexadecimal (.HEX) machine-code file from the source code; 
  126.         a typical command line for Z80MR is
  127.  
  128.           Z80MR ZAP.AAZ
  129.                     ^^^
  130.                     |||
  131.                     ||+--- destination drive for the listing (.PRN) file
  132.                     ||        (i.e., A thru P, X = console, Z = no file)
  133.                     |+---- destination drive for the .HEX file
  134.                     +----- source drive for the .AZM file
  135.  
  136.      2. Load the resulting .HEX file into a command (.COM) file; a typical 
  137.         command line for LOAD.COM (the standard CP/M object-code generator)
  138.         is
  139.  
  140.           LOAD ZAP
  141.  
  142.  
  143. RUNNING SuperZap
  144. ----------------
  145.  
  146.      SuperZap can be invoked from the CP/M command line in several ways (each 
  147. is terminated by pressing RETURN or ENTER).  In the simplest case of typing 
  148. only the program's name,
  149.  
  150.           ZAP
  151.  
  152. will start up SuperZap in Directory mode in the current user area on the 
  153. current drive, or
  154.  
  155.           ZAP d:
  156.  
  157. will start up SuperZap in Directory mode on the specified drive.
  158.  
  159.           ZAP [d:]afn
  160.  
  161. will start up SuperZap in Directory mode on the optionally specified drive, 
  162. but additionally specifying an ambiguous filename ("afn"), e.g., "*.COM", will 
  163. cause SuperZap to apply a mask to the directory list, such that only those 
  164. filenames which satisfy the ambiguity will be displayed.  Being even more 
  165. specific,
  166.  
  167.           ZAP [d:]ufn
  168.  
  169. will start up SuperZap in Edit submode on the particular file specified by the 
  170. unambiguous filename ("ufn") on the optionally specified or current drive.  
  171. Finally,
  172.  
  173.           ZAP [d:]DSK:
  174.  
  175. will start up SuperZap in Sector mode on the optionally specified drive; the 
  176. first sector in the CP/M directory area will immediately be displayed.
  177.  
  178.  
  179. DIRECTORY MODE
  180. --------------
  181.  
  182.      Upon entering Directory mode, the following menu will appear at the top 
  183. of the screen:
  184.  
  185. ^?  Cursor left       N  Next directory page           D  Change Drive
  186. ^?  Cursor right      P  Previous directory page       S  Select track/Sector
  187. ^?  Cursor up         M  Set directory Mask            E  Edit file
  188. ^?  Cursor down       U  Change User number            T  Type file
  189. TAB Next file            (current:  0)                 Z  Exit SuperZap
  190.  
  191. followed by an alphabetized listing of the first 32 filenames in the CP/M 
  192. directory, with a header showing the current directory mask in use.  The 
  193. cursor will now be positioned next to the first filename in the list.
  194.  
  195.      Use the left, right, up, and down cursor/arrow keys (as installed) to 
  196. move quickly from one filename to another; hit the TAB key to move through the 
  197. filenames in alphabetical order; or hit RETURN to jump to the first filename 
  198. on the next line (cycling back to the top).
  199.  
  200.      If there are more than 32 filenames in the CP/M directory, only the first 
  201. block ("page") of the directory will be displayed.  Hit 'N' to view the next 
  202. directory page, or hit 'P' to view the previous page.
  203.  
  204.      Hit 'M' to change the current mask that SuperZap is applying to the 
  205. directory list.  The following menu will appear at the top of the screen:
  206.  
  207. ^?  Cursor left          ^V  Insert on/off            TAB Toggle name/type
  208. ^?  Cursor right         DEL Delete character         ESC Use current mask
  209.  
  210. followed by an editable display of the current mask:
  211.  
  212.               File name ==> ???????? <=
  213.  
  214.               File type ==> ??? <=
  215.  
  216. Use the left and right cursor/arrow keys (as installed) to move about the 
  217. field of the ambiguous file name or type (switching to the next field in a 
  218. circular fashion); hit the TAB key to toggle between these two fields.  Use 
  219. the DEL key to delete characters and close up the space; hit '^V' (CTRL-V) to 
  220. toggle insert on and off for changing or adding characters.  Type an asterisk 
  221. ('*') to fill from the cursor position to the end of the field with wildcards 
  222. ('?') and switch immediately to the other field.  Hit the spacebar to space- 
  223. fill ("blank") from the cursor position to the end of the field and switch 
  224. immediately to the other field.  While in the file-name field, type a period 
  225. ('.') to blank to the end of the field and switch immediately to the file-type 
  226. field.  When you are done, press RETURN to enter a new mask and return to 
  227. Directory mode; or hit ESC to revert to the current mask.
  228.  
  229.      Back in Directory mode, hit 'U' to change to a new CP/M user area; the 
  230. following prompt will appear:
  231.  
  232.                  Enter hex user number or press ESC ==>
  233.  
  234. Type a valid hexadecimal digit (0,1,...E,F) to change to the corresponding 
  235. user area 0 through 15 and view a new directory list, or hit ESC to abort the 
  236. numerical selection and return to the current list (the current user number is 
  237. shown in the menu panel).
  238.  
  239.      Hit 'D' to select a new drive; the following prompt will appear:
  240.  
  241.                     Enter drive letter or press ESC ==>
  242.  
  243. Type a valid drive letter to enter Directory mode on the specified drive, or 
  244. hit ESC to abort the selection and return to the current directory list.
  245.  
  246.      Hit 'S' to enter Sector mode on the current drive (as described below).
  247.  
  248.      Hit 'E' to enter Edit submode, or hit 'T' to enter Type submode, on the 
  249. file next to whose name the cursor is positioned (as described below).
  250.  
  251.      Finally, hit 'Z' to end your SuperZap session and exit back to the CP/M 
  252. prompt.
  253.  
  254.  
  255. SECTOR MODE
  256. -----------
  257.  
  258.      Upon entering Sector mode, the following menu will appear at the top of 
  259. the screen:
  260.  
  261. N  Next sector                T  Select Track          A  Find ASCII string
  262. P  Previous sector            S  Select Sector         H  Find Hex sequence
  263. I  Next track                 B  Select Block          L  Return to file List
  264. O  Previous track             D  Select Drive          Z  Exit from SuperZap
  265. C  Clipboard operations
  266.    Clipboard :- Empty                                  E  Edit sector
  267.  
  268. followed by a display, in both hexadecimal and ASCII format, of the contents 
  269. of the first CP/M sector (128 bytes) in the directory area of the current 
  270. disk.  Any ASCII characters with their high (eighth) bit set will be shown in 
  271. inverse video, for contrast.  Heading this display is a listing of the track, 
  272. sector, and block numbers (in hexadecimal) for the current disk sector, along 
  273. with the current drive designation:
  274.  
  275.       Current Track    Current Sector     Current Block      Current Drive
  276.            0001             0000               0000                A:
  277.  
  278. Offset    0  1  2  3   4  5  6  7   8  9  A  B   C  D  E  F   -----ASCII------
  279. 000000   00 43 4F 50  59 20 20 20  20 43 4F 4D  00 00 00 1E  |.COPY    COM....|
  280. 000010   02 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  |................|
  281. 000020   00 44 20 20  20 20 20 20  20 43 4F 4D  00 00 00 17  |.D       COM....|
  282. 000030   03 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  |................|
  283. 000040   00 44 41 20  20 20 20 20  20 43 4F 4D  00 00 00 0F  |.DA      COM....|
  284. 000050   04 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  |................|
  285. 000060   00 44 44 54  5A 20 20 20  20 43 4F 4D  00 00 00 36  |.DDTZ    COM...6|
  286. 000070   05 06 00 00  00 00 00 00  00 00 00 00  00 00 00 00  |................|
  287.  
  288. where "offset" indicates the relative location of each byte within the current 
  289. sector.  The cursor will now be positioned after a prompt to select the next 
  290. operation from the menu:
  291.  
  292.                                Select option ==>
  293.  
  294.      Hit 'N' to view the next disk sector, or hit 'P' to view the previous 
  295. sector (in a circular fashion).
  296.  
  297.      Hit 'I' to move to the next disk track (the sector number remains the 
  298. same), or hit 'O' to move to the previous track (in a circular fashion).
  299.  
  300.      Hit 'T', 'S', or 'B' to select a specified track, sector, or block 
  301. number, respectively, for sector display.  Enter the number in hexadecimal; 
  302. use the backspace key for corrections.  When you are done, press RETURN; or 
  303. hit ESC to abort the numerical selection and return to the current sector 
  304. display.
  305.  
  306.      Hit 'D' to enter Sector mode on a specified drive; type a valid drive 
  307. letter, or hit ESC to abort the selection and return to the current sector 
  308. display.
  309.  
  310.  
  311.      Searching the Disk
  312.      ==================
  313.  
  314.      Hit 'A' to find a specified string of ASCII characters on the disk, 
  315. starting from the current sector.  At the prompt "Find: ", enter up to 20 
  316. ASCII characters (including TABs); use the backspace or left cursor/arrow key 
  317. to move backward in the string (skipping over but not deleting characters), 
  318. and use the DEL key to delete characters and close up the space.  When you are 
  319. done, press RETURN to start searching for an ASCII string made up of all the 
  320. characters up to the cursor position; or hit ESC to abort the search operation 
  321. and return to the current sector display.  SuperZap will scan the disk, sector 
  322. by sector, stopping when it finds an occurrence of the specified string; a 
  323. flashing pointer '->' will indicate the string's beginning location within the 
  324. ASCII field of the sector display, and you will then be prompted whether to 
  325. continue searching for the next occurrence.  Hit 'Y' to continue, or hit 'N' 
  326. to stop the search operation and return to Sector mode on the sector within 
  327. which the string was just found.
  328.  
  329.      While entering an ASCII string to find, you can also recover a previously 
  330. typed string by using the right cursor/arrow key; the previous string will 
  331. reappear, character by character, facilitating repetitive searches on the same 
  332. string or variations thereof.
  333.  
  334.      Hit 'H' to find a specified sequence of hexadecimal bytes on the disk, 
  335. starting from the current sector.  At the prompt "Find: ", enter up to 20 
  336. bytes in hexadecimal digits (0,1,...E,F); use the backspace key for correc- 
  337. tions.  When you are done, press RETURN to start the search operation, or hit 
  338. ESC to abort the search and return to the current sector display.  SuperZap 
  339. will scan the disk, sector by sector, stopping when it finds an occurrence of 
  340. the specified sequence; a flashing pointer '->' will indicate the sequence's 
  341. beginning location within the hexadecimal field of the sector display, and you 
  342. will be prompted whether to continue searching for the next occurrence.  Hit 
  343. 'Y' to continue, or hit 'N' to stop the search operation and return to Sector 
  344. mode on the sector within which the sequence was just found.  If the specified 
  345. sequence is not found anywhere on the disk, SuperZap will redisplay the first 
  346. sector in the CP/M directory area.
  347.  
  348.      Striking any key during an ongoing search operation will interrupt 
  349. SuperZap's progress, and you then will be prompted to hit another key to 
  350. return to Sector mode at the point where the first keystroke was detected.
  351.  
  352.      Back in Sector mode, hit 'E' to enter Edit submode on the current disk 
  353. sector (as described below).
  354.  
  355.      Finally, hit 'L' to return to Directory mode on the current drive; or hit 
  356. 'Z' to end your SuperZap session and exit back to the CP/M prompt.
  357.  
  358.  
  359.      Editing a Disk Sector
  360.      =====================
  361.  
  362.      Upon entering Edit submode from Sector mode, the following menu will 
  363. appear at the top of the screen:
  364.  
  365. ^?  Cursor left                         CR  New line
  366. ^?  Cursor right                        TAB Toggle hex/ASCII field
  367. ^?  Cursor up                           ^W  Write changes to disk
  368. ^?  Cursor down                         ^Q  Quit and cancel changes
  369.  
  370. followed by the same header and sector display as before, but now with the 
  371. cursor positioned on the first hexadecimal byte in the current sector.
  372.  
  373.      Use the left, right, up, and down cursor/arrow keys (as installed) to 
  374. move around within this field; hit the TAB key to toggle between the hexa- 
  375. decimal and ASCII fields; or hit RETURN to jump to the beginning of the next 
  376. line in either the hexadecimal or ASCII field (cycling back to the top).
  377.  
  378.      While within the hexadecimal field, typing any valid hexadecimal digit 
  379. (0,1,...E,F) will immediately change the value of the current byte and advance 
  380. the cursor.  While within the ASCII field, typing any valid ASCII key will 
  381. immediately replace the current character and advance the cursor.  Note that 
  382. the corresponding byte or character in the opposite field will also change 
  383. immediately.  Illegal keystrokes in either field will simply generate a beep.
  384.  
  385.      Finally, hit '^W' (CTRL-W) to write the current sector back to the disk, 
  386. along with any hexadecimal or ASCII changes you might have made while in Edit 
  387. submode, and return to Sector mode on the freshly edited sector; or hit '^Q' 
  388. (CTRL-Q) to discard any changes and exit Edit submode back to the current 
  389. sector display.
  390.  
  391.      Because SuperZap reads and writes disk sectors by direct BIOS calls, 
  392. bypassing the BDOS' disk functions, you can view and edit even "bad" sectors 
  393. that would otherwise be unreadable from CP/M.  Oftentimes, a "bad" sector can 
  394. be made normally readable by simply writing it back to the disk, thereby 
  395. recovering its data contents for subsequent file operations.  You'll be glad 
  396. to have SuperZap's scalpel-like precision at your disposal if and when the 
  397. time comes for such delicate "disk surgery."
  398.  
  399.  
  400.      Clipboard Operations
  401.      ====================
  402.  
  403.      As an added safety feature, you may find it useful first to copy the 
  404. contents of the current sector to the clipboard before entering Edit submode.  
  405. Hit 'C' to activate the clipboard manager; the following menu will appear at 
  406. the top of the screen:
  407.  
  408.  C  Copy current sector to clipboard
  409.  X  Exchange current sector with clipboard
  410. ESC Return to sector display
  411.  
  412. followed by a header showing the status of both the current sector and the 
  413. clipboard, by drive designation, track, and sector number (in hexadecimal), 
  414. along with the contents (if any) of the clipboard in the same format as for a 
  415. sector display:
  416.  
  417. Current   :- Drive A: Track 0001 Sector 0000
  418. Clipboard :- Empty
  419.  
  420.      At the option prompt, hit 'C' again to copy the contents of the current 
  421. sector to the clipboard and immediately return to Sector mode.  The menu panel 
  422. will now be updated to show the current contents of the clipboard, by drive 
  423. designation, track, and sector number (in hexadecimal).
  424.  
  425.      Hit 'X' to exchange ("swap") the current sector with the clipboard.  
  426. SuperZap will actually write the contents of the clipboard (it must not be 
  427. empty) to the current disk sector, copy the previous sector contents to the 
  428. clipboard, and return you to Sector mode with the newly exchanged contents 
  429. displayed.  Besides allowing you to restore the original contents of a disk 
  430. sector even after editing it, this option also enables you to copy the con- 
  431. tents of one disk sector to any other, whether on the same or a different 
  432. drive.
  433.  
  434.      Hit ESC to return to Sector mode without performing any clipboard 
  435. operation.
  436.  
  437.      Back in Sector mode, hit 'L' to return to Directory mode on the current 
  438. disk; or hit 'Z' to end your SuperZap session and exit back to the CP/M prompt.
  439.  
  440.  
  441.      Editing a File Sector
  442.      =====================
  443.  
  444.      Back in Directory mode, select a file to edit by positioning the cursor 
  445. next to its name in the file list, and then hit 'E'.  The following menu will 
  446. appear at the top of the screen:
  447.  
  448. N  Next sector                T  Top of file             L  Return to file List
  449. P  Previous sector            B  Bottom of file          Z  Exit from SuperZap
  450. S  Select sector              A  Find ASCII string
  451. C  Clipboard operations       H  Find Hex sequence       E  Edit sector
  452.    Clipboard :- Empty
  453.  
  454. followed by a display, in both hexadecimal and ASCII format, of the contents 
  455. of the first CP/M sector (128 bytes) of the specified file.  Any ASCII char- 
  456. acters with their high (eighth) bit set will be shown in inverse video, for 
  457. contrast.  Heading this sector display is a listing of the current drive and 
  458. filename, the access privilege (R/W = read/write, R/O = read/only), the 
  459. current sector number (in hexadecimal), and the load address (starting at 
  460. 0100H for a .COM file) or file offset (starting at 0000H for all others):
  461.  
  462.    File Name    Access             Current Sector     Load Address
  463. A:ZAP     .COM   R/W                    0000             000100
  464.  
  465. Offset    0  1  2  3   4  5  6  7   8  9  A  B   C  D  E  F   -----ASCII------
  466. 000100   C3 17 02 5A  33 45 4E 56  01 1A 01 18  06 1B 42 30  |C..Z3ENV......B0|
  467. 000110   1B 42 31 06  1B 43 30 1B  43 31 03 1B  42 31 03 1B  |.B1..C0.C1..B1..|
  468. 000120   43 31 06 1B  42 30 1B 42  32 06 1B 43  30 1B 43 32  |C1..B0.B2..C0.C2|
  469. 000130   03 1B 42 34  03 1B 43 34  02 1B 3D 01  20 20 01 80  |..B4..C4..=.  ..|
  470. 000140   3E 0A 0D 0D  8D EA 2E 00  21 53 75 70  65 72 5A 61  |>....j..!SuperZa|
  471. 000150   70 20 35 2E  30 00 00 00  00 FF 00 00  00 00 00 00  |p 5.1...........|
  472. 000160   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  |................|
  473. 000170   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 3F  |...............?|
  474.  
  475. where "offset" indicates the relative location of each byte within the current 
  476. file.  The cursor will be now positioned after a prompt to select the next 
  477. operation from the menu:
  478.  
  479.                                Select option ==>
  480.  
  481.      Hit 'N' to view the next file sector, or hit 'P' to view the previous 
  482. sector.
  483.  
  484.      Hit 'S' to select a specified sector number for display.  Enter the 
  485. number in hexadecimal; use the backspace key for corrections.  When you are 
  486. done, press RETURN; or hit ESC to abort the numerical selection and return to 
  487. the current sector display.
  488.  
  489.      Hit 'T' to jump to the top of the file, or hit 'B' to jump to the bottom 
  490. ("end of file").
  491.  
  492.      Hit 'A' to find a specified string of ASCII characters within the file, 
  493. or hit 'H' to find a specified sequence of hexadecimal bytes.  SuperZap will 
  494. operate exactly the same as when searching the disk from Sector mode, except 
  495. that now the search's range is limited to the current file.  If SuperZap 
  496. reaches the end of the file without finding an occurrence of the specified 
  497. string or sequence, you will be prompted to hit 'T' to redisplay the first 
  498. sector ("top") of the file; hitting any other key will cause SuperZap to 
  499. display the last sector ("bottom") of the file.
  500.  
  501.      Hit 'E' to enter Edit submode on the current file sector, but only if the 
  502. access privilege is read/write (R/W).  SuperZap will operate exactly the same 
  503. as when editing a disk sector, except that now file reads and writes are 
  504. through normal BDOS functions, and so SuperZap can be thwarted if it happens 
  505. to encounter a "bad" sector.  In such a circumstance, you will need to note 
  506. the precise number of the troublesome sector and then access the file data 
  507. indirectly through Sector mode, specifying its CP/M block number.
  508.  
  509.      Hit 'C' to activate the clipboard manager, exactly as in Sector mode.  
  510. Upon returning to Edit submode, the menu panel will be updated to show the 
  511. current contents of the clipboard, now by drive designation, filename, and 
  512. sector number (in hexadecimal).
  513.  
  514.      Finally, hit 'L' to return to Directory mode on the current disk; or hit 
  515. 'Z' to end your SuperZap session and exit back to the CP/M prompt.
  516.  
  517.  
  518.      Typing a File
  519.      =============
  520.  
  521.      Back in Directory mode, select a file to type by positioning the cursor 
  522. next to its name in the file list, and then hit 'T'.  The following menu will 
  523. appear at the top of the screen:
  524.  
  525. N  Next page              F  Forward paging          S  Select Sector
  526. P  Previous page          B  Backward paging         L  Return to file List
  527. G  Go to page No.         T  Top of file             Z  Exit from SuperZap
  528.  
  529. followed by a display of the first 16 lines ("page") of the file's contents.  
  530. As in Sector mode, any ASCII characters with their high (eighth) bit set will 
  531. be shown in inverse video, for contrast.  Heading this page display is a 
  532. listing of the drive designation and filename, the page number (in decimal), 
  533. and the current ranges of sectors (in hexadecimal) and lines (in decimal):
  534.  
  535. File:  A:ZAP     .MAC
  536. Page 0001                 Sectors 0000-0002                Lines 0001-0016
  537.         TITLE   SuperZap - CP/M Disk Utility
  538.  
  539. ;-----------------------------------------------------------------------------
  540. ;
  541. ;       SuperZap - A screen-oriented disk editor for CP/M-80
  542. ;
  543. ;       Usage:
  544. ;               ZAP             start in full directory of current drive/user
  545. ;               ZAP [d:]        start in full directory on selected drive
  546. ;               ZAP [d:]afn     start with directory mask on selected drive
  547. ;               ZAP [d:]ufn     start in file-relative view/edit mode
  548. ;               ZAP [d:]DSK:    start in sector-relative view/edit mode
  549. ;
  550. ;       Created by:
  551. ;               W.M. Davidson & H.J. Sheldrake
  552. ;               18 Dean Park Cr.
  553.  
  554.      For .COM files, a "line" consists simply of 79 consecutive characters, 
  555. displayed without format; thus, typing a .COM file amounts to a screen dump of 
  556. its contents.  For all other types of files, SuperZap will expand tabs and 
  557. break lines at a carriage return (including any special end-of-line markers, 
  558. as installed), so that most text files will appear as normal.
  559.  
  560.      SuperZap's Type submode is provided mostly for quick scanning of a file's 
  561. contents, to locate any ASCII strings of interest or other embedded patterns.  
  562. The particular points of interest can then be noted by sector number for 
  563. closer scrutiny in Edit submode.
  564.  
  565.      Hit 'N' to view the next page of the file, or hit 'P' to view the 
  566. previous page.
  567.  
  568.      Hit 'F' to page forward rapidly through the file without viewing the 
  569. contents of each page; hit any key to halt paging at a page, sector, or line 
  570. number shown in the running counters.  Likewise, hit 'B' to page rapidly 
  571. backward through the file.
  572.  
  573.      Hit 'G' to go to and view a specified page number.  Enter the number in 
  574. decimal; use the backspace key for corrections.  When you are done, press 
  575. RETURN; or hit ESC to abort the numerical selection and return to the current 
  576. page display.  If it has not already done so, SuperZap first will page forward 
  577. through the entire file to establish a "queue," and then display the specified 
  578. page.  (Unlike with 'F' and 'B', this paging operation is not interruptible.)
  579.  
  580.      Hit 'S' to select a specified sector number for display within the paged 
  581. format.  Enter the number in hexadecimal; use the backspace key for correc- 
  582. tions.  When you are done, press RETURN; or hit ESC to abort the numerical 
  583. selection and return to the current page display.  If it has not already done 
  584. so, SuperZap will first page forward through the entire file to establish a 
  585. "queue," and then display the page containing the specified sector.  If this 
  586. happens to fall on a page boundary, you may have to page forward or backward 
  587. to see the rest of the sector's contents.
  588.  
  589.      Hit 'T' to redisplay the first page ("top") of the file.
  590.  
  591.      Finally, hit 'L' to return to Directory mode, or hit 'Z' to end your 
  592. SuperZap session and exit back to the CP/M prompt.
  593.