home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / jsage / znode3 / z3util / cr28src.lbr / CRUNCHCF.ZZ0 / CRUNCHCF.Z8°
Encoding:
Text File  |  1991-03-21  |  11.8 KB  |  378 lines

  1. ; CRUNCHCF.Z80
  2. ;
  3. ; ZCNFG configuration module for CRUNCH.COM and UNCR.COM.  The assembled
  4. ; version of this file must be named CRUNCHxx.CFG, where xx is the version
  5. ; number of CRUNCH and UNCR, to be automatically recognized by ZCNFG.
  6. ;
  7. ; Version 1.0 -- March 16, 1991 -- Gene Pizzetta
  8. ;    For CRUNCH/UNCR 2.5.
  9. ;
  10. ; The help screens were prepared as a CRUNCHCF.TXT text file, justified
  11. ; to 75 columns using Irv Hoff's JUS, and converted to code with TEXT2DB.
  12. ;
  13. ; Patch locations . . .
  14. ;
  15. Archiv    equ    015h        ; archive mode (CRUNCH)
  16. QuiFl    equ    016h        ; quiet mode
  17. NProFl    equ    017h        ; overwrite prompt flag
  18. TrboFl    equ    018h        ; multisector flag
  19. CnfrFl    equ    019h        ; tag mode
  20. WrmFlg    equ    01Ah        ; warm boot flag
  21. BigFlg    equ    01Bh        ; bigger file prompt flag (CRUNCH)
  22. MaxUsr    equ    01Ch        ; { maximum user
  23. MaxDrv    equ    01Dh        ; { maximum drive
  24. SysFl    equ    01Eh        ; system file inclusion flag
  25. TypFl    equ    01Fh        ; default filetype (UNCR)
  26. ;
  27. ExTbl0    equ    020h        ; filetype exclusion table (CRUNCH)
  28. ExTbl1    equ    023h
  29. ExTbl2    equ    026h
  30. ExTbl3    equ    029h
  31. ExTbl4    equ    02Ch
  32. ExTbl5    equ    02Fh
  33. ExTbl6    equ    032h
  34. ExTbl7    equ    035h
  35. ExTbl8    equ    038h
  36. ExTbl9    equ    03Bh
  37. ;
  38. ; ZCNFG function definitions . . .
  39. ;
  40. Switch    equ    0        ; toggle bit n in a byte (n is specified)
  41. Text    equ    1        ; edit text with UC conversion
  42. DUSpec    equ    2        ; replace a ZCPR style DU spec (NOT DIR:!)
  43. HexRad    equ    3        ; edit byte/word using HEX radix
  44. DecRad    equ    4        ; edit byte/word using DECIMAL radix
  45. TextLC    equ    5        ; edit text, both UC and LC
  46. FileSp    equ    6        ; edit a Z3 filespec or filespec fragment
  47. Togl3    equ    7        ; toggle one of three options: 001B, 010B, 100B
  48. ToglTF    equ    8        ; toggle a byte between 0ffh and 0
  49. ;
  50. ; ASCII characters . . .
  51. ;
  52. HON    equ    1        ; highlight on
  53. HOF    equ    2        ; highlight off
  54. TAB    equ    9        ; tab
  55. LF    equ    10        ; linefeed
  56. CR    equ    13        ; carriage return
  57. ;
  58. ; Macro definitions
  59. ;    C    = character to identify menu item
  60. ;    OFFSET    = offset in program's configuration block
  61. ;    FUNC    = ZCNFG function
  62. ;    SCRN    = screen location for data
  63. ;    DATA    = function data address (if required)
  64. ;
  65. CASE    macro    c,func,offset,bytes,scrn,data
  66.     db    '&C'
  67.     dw    func, offset
  68.     db    bytes
  69.     dw    scrn, data
  70.     endm
  71. ;
  72. ; Code . . .
  73. ;
  74.     rst    0        ; for safety, so .CFG file won't execute
  75. ;
  76.     dw    MenuA        ; for relocation of addresses, this
  77.                 ; ..points to the NEXT location.
  78. ;
  79. ; Menu list section . . .
  80. ;
  81. MenuA:    dw    MenuB, MenuB, ScrnA, CaseA, HelpA    ; single menu
  82. MenuB:    dw    MenuA, MenuA, ScrnB, CaseB, HelpB
  83. ;
  84. ; Case table section . . .
  85. ;
  86. CaseA:    db    (CaseAX-CaseA1)/(CaseA2-CaseA1)    ; number of cases
  87.     db    CaseA2-CaseA1    ; length of each record
  88. ;
  89. ;    Macro name
  90. ;    |    Single char menu selector
  91. ;    |    |    Function (see above)
  92. ;    |    |    |    Offset in config block
  93. ;    |    |    |    |    Number of bytes
  94. ;    |    |    |    |    |    Screen location
  95. ;    |    |    |    |    |    |
  96. ;Case1:    CASE    0,    ToglTF,    QtFlag,    1,    ScrnA1,    NoYes
  97. ;                            |
  98. ;             Address of data used by function
  99. ;
  100. ; The first two entries in table are labeled for calculation at CaseA:.
  101. ;
  102. CaseA1:    CASE    1,    ToglTF,    QuiFl,    1,    ScrnA1,    YesNo
  103. CaseA2:    CASE    2,    ToglTF,    SysFl,    1,    ScrnA2,    YesNo
  104.     CASE    3,    ToglTF,    NProFl,    1,    ScrnA3,    YesNo
  105.     CASE    4,    ToglTF,    BigFlg,    1,    ScrnA4,    YesNo
  106.     CASE    5,    ToglTF,    CnfrFl,    1,    ScrnA5,    YesNo
  107.     CASE    6,    ToglTF,    Archiv,    1,    ScrnA6,    YesNo
  108.     CASE    7,    ToglTF,    WrmFlg,    1,    ScrnA7,    YesNo
  109.     CASE    8,    ToglTF,    TrboFl,    1,    ScrnA8,    YesNo
  110.     CASE    D,    DuSpec,    MaxUsr,    1,    ScrnAD,    0
  111.     CASE    T,    Text,    TypFl,    1,    ScrnAT,    0
  112. ;
  113. CaseAX:                ; for calculation of list length
  114. ;
  115. CaseB:    db    (CaseBX-CaseB1)/(CaseB2-CaseB1)    ; number of cases
  116.     db    CaseB2-CaseB1    ; length of each record
  117. ;
  118. CaseB1:    CASE    A,    Text,    ExTbl0,    3,    ScrnBA,    0
  119. CaseB2:    CASE    B,    Text,    ExTbl1,    3,    ScrnBB,    0
  120.     CASE    C,    Text,    ExTbl2,    3,    ScrnBC,    0
  121.     CASE    D,    Text,    ExTbl3,    3,    ScrnBD,    0
  122.     CASE    E,    Text,    ExTbl4,    3,    ScrnBE,    0
  123.     CASE    F,    Text,    ExTbl5,    3,    ScrnBF,    0
  124.     CASE    G,    Text,    ExTbl6,    3,    ScrnBG,    0
  125.     CASE    H,    Text,    ExTbl7,    3,    ScrnBH,    0
  126.     CASE    I,    Text,    ExTbl8,    3,    ScrnBI,    0
  127.     CASE    J,    Text,    ExTbl9,    3,    ScrnBJ,    0
  128. ;
  129. CaseBX:
  130. ;
  131. ; Case table support . . .
  132. ;
  133. YesNo:    db    'YES',0        ; displayed if value is FFh (ToglTF)
  134.     db    ' NO',0        ; displayed if value is 00h (ToglTF)
  135. ;
  136. ; Screen image section . . .
  137. ;
  138. ScrnA:    db    cr,lf,lf,tab,tab,tab,'CRUNCH/UNCR Installation Menu'
  139.     db    cr,lf
  140.     db    tab,tab,tab,tab,1,'(Page 1 of 2)',2
  141.     db    cr,lf,lf
  142. ;
  143.     db    tab,tab,'(1) ',1,'Default to quiet mode?  . . . . . . . ',2
  144. ScrnA1:    db    '   '        ; current value
  145.     db    cr,lf
  146. ;
  147.     db    tab,tab,'(2) ',1,'Include System files? . . . . . . . . ',2
  148. ScrnA2:    db    '   '        ; current value
  149.     db    cr,lf
  150. ;
  151.     db    tab,tab,'(3) ',1,'Erase existing files without asking?  ',2
  152. ScrnA3:    db    '   '        ; current value
  153.     db    cr,lf
  154. ;
  155.     db    tab,tab,'(4) ',1,'Keep larger files without asking? . . ',2
  156. ScrnA4:    db    '   '        ; current value
  157.     db    cr,lf
  158. ;
  159.     db    tab,tab,'(5) ',1,'Default to Tag mode?  . . . . . . . . ',2
  160. ScrnA5:    db    '   '        ; current value
  161.     db    cr,lf
  162. ;
  163.     db    tab,tab,'(6) ',1,'Default to Archive mode?  . . . . . . ',2
  164. ScrnA6:    db    '   '        ; current value
  165.     db    cr,lf
  166. ;
  167.     db    tab,tab,'(7) ',1,'Warm boot on exit?  . . . . . . . . . ',2
  168. ScrnA7:    db    '   '        ; current value
  169.     db    cr,lf
  170. ;
  171.     db    tab,tab,'(8) ',1,'Suppress multi-sector disk I/O? . . . ',2
  172. ScrnA8:    db    '   '        ; current value
  173.     db    cr,lf
  174. ;
  175.     db    tab,tab,'(D) ',1,'Maximum drive and user (DU) . . . . . ',2
  176. ScrnAD:    db    '   '        ; current value
  177.     db    cr,lf
  178. ;
  179.     db    tab,tab,'(T) ',1,'Default filetype (Z, Y, or Q) . . . . ?',2
  180. ScrnAT:    db    ' ',1,'?',2    ; current value
  181.     db    cr,lf
  182. ;
  183.     db    lf,lf,lf    ; fill rest of screen
  184. ;
  185.     db    0        ; terminator
  186. ;
  187. ScrnB:    db    cr,lf,lf,tab,tab,'      CRUNCH Filetype Exclusion List'
  188.     db    cr,lf
  189.     db    tab,tab,tab,1,'      (Page 2 of 2)',2
  190.     db    cr,lf,lf
  191. ;
  192.     db    tab,tab,tab,'(A)',1,' . . . . . . . . . . ',2
  193. ScrnBA:    db    '   '        ; current value
  194.     db    cr,lf
  195. ;
  196.     db    tab,tab,tab,'(B)',1,' . . . . . . . . . . ',2
  197. ScrnBB:    db    '   '        ; current value
  198.     db    cr,lf
  199. ;
  200.     db    tab,tab,tab,'(C)',1,' . . . . . . . . . . ',2
  201. ScrnBC:    db    '   '        ; current value
  202.     db    cr,lf
  203. ;
  204.     db    tab,tab,tab,'(D)',1,' . . . . . . . . . . ',2
  205. ScrnBD:    db    '   '        ; current value
  206.     db    cr,lf
  207. ;
  208.     db    tab,tab,tab,'(E)',1,' . . . . . . . . . . ',2
  209. ScrnBE:    db    '   '        ; current value
  210.     db    cr,lf
  211. ;
  212.     db    tab,tab,tab,'(F)',1,' . . . . . . . . . . ',2
  213. ScrnBF:    db    '   '        ; current value
  214.     db    cr,lf
  215. ;
  216.     db    tab,tab,tab,'(G)',1,' . . . . . . . . . . ',2
  217. ScrnBG:    db    '   '        ; current value
  218.     db    cr,lf
  219. ;
  220.     db    tab,tab,tab,'(H)',1,' . . . . . . . . . . ',2
  221. ScrnBH:    db    '   '        ; current value
  222.     db    cr,lf
  223. ;
  224.     db    tab,tab,tab,'(I)',1,' . . . . . . . . . . ',2
  225. ScrnBI:    db    '   '        ; current value
  226.     db    cr,lf
  227. ;
  228.     db    tab,tab,tab,'(J)',1,' . . . . . . . . . . ',2
  229. ScrnBJ:    db    '   '        ; current value
  230.     db    cr,lf
  231. ;
  232.     db    lf,lf
  233. ;
  234.     db    0        ; terminator
  235. ;
  236. ; Help screen section . . .
  237. ;
  238. HelpA:    db    CR,LF
  239. ;
  240.     db    HON,'Option 1',HOF,' -- Quiet mode.  "YES" causes  CRUNCH  '
  241.     db    'and UNCR to default to quiet',CR,LF
  242.     db    'mode, with only the  filenames  displayed  as  the  file  '
  243.     db    'is  uncrunched or',CR,LF
  244.     db    'crunched.  The Q  command line option toggles the default '
  245.     db    'mode chosen here.'
  246.     db    CR,LF,LF
  247. ;
  248.     db    HON,'Option 2',HOF,' -- Include System  files.  "NO"  causes '
  249.     db    ' CRUNCH and UNCR to filter',CR,LF
  250.     db    'out system (hidden) files as it reads the directory.  If "YES" '
  251.     db    'is selected,',CR,LF
  252.     db    'system files will be included.  The  default  can  be  toggled '
  253.     db    ' with  the S',CR,LF
  254.     db    'command line option.'
  255.     db    CR,LF,LF
  256. ;
  257.     db    HON,'Option 3',HOF,' -- Overwrite without prompt.  "YES" causes '
  258.     db    'existing files with the',CR,LF
  259.     db    'same name in the destination directory to be erased and overwritten '
  260.     db    'without',CR,LF
  261.     db    'notice by CRUNCH and UNCR.  If "NO"  is chosen, you will be '
  262.     db    'prompted before',CR,LF
  263.     db    'files are erased.  The E command line option toggles the default.'
  264.     db    CR,LF,LF
  265. ;
  266.     db    HON,'Option 4',HOF,' -- Bigger File.  "NO" will cause CRUNCH '
  267.     db    'to ask "Result file larger',CR,LF
  268.     db    'than original, keep it anyway?".  If  "YES"  is selected, '
  269.     db    'the question will',CR,LF
  270.     db    'not be asked and the resulting file will always be kept.  '
  271.     db    'This  question is',CR,LF
  272.     db    'asked only  when the source and destination directories are '
  273.     db    'the same.  This',CR,LF
  274.     db    'configuration option has no effect on UNCR.'
  275.     db    CR,LF,LF,LF,LF
  276. ;
  277.     db    HON,'Option 5',HOF,' -- Inspect (Tag) mode.  "YES" causes CRUNCH '
  278.     db    'and UNCR to default to',CR,LF
  279.     db    'Tag mode.  The default is toggled by the I and T command line '
  280.     db    'options.'
  281.     db    CR,LF,LF
  282. ;
  283.     db    HON,'Option 6',HOF,'  --  Archive  mode.  "YES"  causes  CRUNCH '
  284.     db    ' to  default to Archive',CR,LF
  285.     db    '"backup" mode.  The default can be toggled by the  A  command '
  286.     db    ' line option.',CR,LF
  287.     db    'This configuration option has no effect on UNCR.'
  288.     db    CR,LF,LF
  289. ;
  290.     db    HON,'Option 7',HOF,' -- Warm boot.  "NO" is the correct selection '
  291.     db    'in most cases.  "YES"',CR,LF
  292.     db    'causes a warm boot each time CRUNCH  and UNCR exit to the '
  293.     db    'operating system,',CR,LF
  294.     db    'and is included for systems which do not allow the CCP to '
  295.     db    ' remain resident.'
  296.     db    CR,LF,LF
  297. ;
  298.     db    HON,'Option 8',HOF,' -- Turbo-DOS.  "YES" turns off multi-sector '
  299.     db    'disk I/O for CP/M 3.0-',CR,LF
  300.     db    'compatible systems, like TurboDOS, which don''t support that '
  301.     db    'method.  Multi-',CR,LF
  302.     db    'sector I/O  is  never  used under CP/M 2.2, so this configuration '
  303.     db    'option is',CR,LF
  304.     db    'not significant.'
  305.     db    CR,LF,LF,LF,LF,LF,LF,LF,LF
  306. ;
  307.     db    HON,'Option D',HOF,' -- Maximum drive  and  user allowed.  '
  308.     db    'This configuration option is',CR,LF
  309.     db    'only effective under vanilla CP/M systems  and  for  user '
  310.     db    ' areas  under 15.',CR,LF
  311.     db    'User areas  above  15 cannot be accessed when CRUNCH and UNCR '
  312.     db    'are run under',CR,LF
  313.     db    'CP/M.  Under ZCPR3 all 32 user areas  are  available and the '
  314.     db    'CPR is used to',CR,LF
  315.     db    'parse the file specifications, so this option has no effect. '
  316.     db    '  If you wish,',CR,LF
  317.     db    'you can enter a DU specification here, which will become the '
  318.     db    ' maximum drive',CR,LF
  319.     db    'and user available under CP/M.'
  320.     db    CR,LF,LF
  321. ;
  322.     db    HON,'Option T',HOF,' -- Default filetype.  This UNCR option '
  323.     db    'is used only when files are',CR,LF
  324.     db    'uncrunched or unsqueezed to and from the same drive and user. '
  325.     db    ' In that case',CR,LF
  326.     db    'a wildcard filetype ("*") will default  to files with the '
  327.     db    'character entered',CR,LF
  328.     db    'here as the middle character  of  their  filetype.  Normally, '
  329.     db    ' for crunched',CR,LF
  330.     db    'files this  option should be "Z".  If you use UNCR more often '
  331.     db    'to decompress',CR,LF
  332.     db    'squeezed or LZH-encoded files, enter  "Q"  or "Y".  This option '
  333.     db    'is not used',CR,LF
  334.     db    'by CRUNCH.'
  335.     db    CR,LF
  336. ;
  337.     db    0        ; Terminator
  338. ;
  339. HelpB:    db    CR,LF
  340. ;
  341.     db    '                          ',HON,'FILETYPE EXCLUSION LIST',HOF,CR,LF
  342.     db    '                             (For CRUNCH only)'
  343.     db    CR,LF,LF
  344. ;
  345.     db    'You may enter up  to  10  three-letter  filetypes  to be ignored '
  346.     db    'by CRUNCH.',CR,LF
  347.     db    'When these filetypes are encountered, no attempt will be made '
  348.     db    'to crunch the',CR,LF
  349.     db    'files unless they are explicitly specified  on  the  command '
  350.     db    'line.  Instead',CR,LF
  351.     db    'they will  be  copied  (if  the  destination  is  a different '
  352.     db    'directory) or',CR,LF
  353.     db    'ignored (if the  source  and  destination  directories  are '
  354.     db    'the same).  The',CR,LF
  355.     db    'defaults already installed are "ARC", "ARK", "LBR", and "FOR".'
  356.     db    CR,LF,LF
  357. ;
  358.     db    'It is not necessary to  add  ?Z?  or  ?Q?  to  the list because '
  359.     db    'CRUNCH will',CR,LF
  360.     db    'recognize  squeezed  and  crunched  files  automatically  '
  361.     db    'by  reading their',CR,LF
  362.     db    'headers.'
  363.     db    CR,LF,LF
  364. ;
  365.     db    'All the filetypes must  be  filled  in.  To  eliminate  a '
  366.     db    'filetype from the',CR,LF
  367.     db    'list, simply overwrite it with a repeat  of  one  of  the '
  368.     db    ' others,  such as',CR,LF
  369.     db    '"ARK", that you don''t want crunched.'
  370.     db    CR,LF,LF
  371. ;
  372.     db    'UNCR does not use this exclusion list.'
  373.     db    CR,LF
  374. ;
  375.     db    0        ; Terminator
  376. ;
  377.     end
  378.