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 / A / COPY171.ARC / COPYCFG.SRC < prev   
Text File  |  1989-09-27  |  12KB  |  388 lines

  1.     TITLE    "ZCNFG Configuration file for COPY, Ver 1-.71"
  2. ;----------------------------------------------------------------
  3. ;  COPY Patch offsets                    09 March 91
  4.  
  5. VERFLG    EQU    16H        ; 0 = don't automatically verify copy
  6.                 ; FF = automatically verify file copies
  7.  
  8. INSP    EQU    17H        ; 0 = set to no inspect of files on disk
  9.                 ; FF = ask to tag desired files by inspection
  10.  
  11. SYSEXC    EQU    18H        ; 0 = include system files in dir scan
  12.                 ; FF = exclude system files from dir scan
  13.  
  14. NCOPY    EQU    19H        ; 0 = no multiple copies of specified files
  15.                 ; FF = copy specified files to multiple disks
  16.  
  17. EXIST    EQU    1AH        ; 0 = don't test existence  before copying
  18.                 ; FF = test existence of files before copying
  19.  
  20. EXRO    EQU    1BH        ; 0 = don't do special test for r/o files
  21.                 ; FF = test for r/o files before copying
  22.  
  23. ARCHIV    EQU    1CH        ; 0 = do not use archive attribute control
  24.                 ; FF = select only non-archived, set archive
  25.                 ; Bit on source after copy
  26.  
  27. REPLACE    EQU    1DH        ; 0 = do not copy based on existence
  28.                 ; FF = copy only if destination file exists
  29.  
  30. CHK4DS    EQU    1EH        ; 0 = Don't Check DateStamper stamps
  31.                 ; FF = Check DateStamper stamps
  32.  
  33. FIXDDU    EQU    1FH        ; 0 = Copy to DOS default if no dest
  34.                 ; FF = Copy to BACKUP or DDISK DUSER
  35.  
  36. DUSER    EQU    20H        ; Default destination user (0 is default)
  37.  
  38. DDISK    EQU    21H        ; Default destination disk (drive b here)
  39.  
  40. BACKUP    EQU    22H        ; Name of backup directory (keep at 8 chars)
  41.  
  42. EXCL0    EQU    2AH        ; Offsets to Exclude list entries
  43. EXCL1    EQU    35H
  44. EXCL2    EQU    40H
  45. EXCL3    EQU    4BH
  46. EXCL4    EQU    56H
  47. EXCL5    EQU    61H
  48. EXCL6    EQU    6CH
  49. EXCL7    EQU    77H
  50.  
  51. ;---------------------------------------------------------
  52.  
  53. ; DATA for CNFG Program Linkage
  54. ; function definitions - ** needed for CASE Table entries **
  55.  
  56. switch    equ    0    ;toggle bit n in a byte (n is specified)
  57. text    equ    1    ;replace a text string of specified length
  58. duspec    equ    2    ;replace a ZCPR style DU specification (NOT DIR:!)
  59. hexrad    equ    3    ;edit byte/word using HEX radix
  60. decrad    equ    4    ;edit byte/word using DECIMAL radix
  61. textlc    equ    5    ;same as function text, but lower case is OK
  62. filesp    equ    6    ;change all or part of a filespec DU:FN.FT
  63. togl3    equ    7    ;toggle to one of three options: 001B, 010B, 100B
  64. togltf    equ    8    ;toggle a byte between 0ffh and 0
  65.  
  66. ;see ZCNFG.WS (or .DOC) for a full definition of these functions.
  67.  
  68. ;---------------------------------------------------------
  69.  
  70. ; ASCII definitions
  71. ; these are convenient, but only required if you wish
  72. ; to use them in text or data fields (including HELP)
  73.  
  74. CTLC    EQU    3
  75. BS    EQU    8        ; Backspace
  76. HT    EQU    9        ; Horizontal tab
  77. LF    EQU    10        ; Line feed
  78. CR    EQU    13        ; Carriage return
  79. SPC    EQU    20H        ; Space char
  80.  
  81. ;=========================================================
  82. ;    MACRO Definitions
  83. ; You don't HAVE to use the macros. But it does make it
  84. ; easier to fill in the tables!
  85.  
  86. ; This macro is used for creating a CASE table
  87. ; entry which specifies toggling or setting a
  88. ; single bit (0..7) in a configuration data byte.
  89. ; It is useful when the 'switch' function is named.
  90.  
  91. BITMAP     MACRO    A,SUB,OFF,BIT,SCR,DAT
  92.     DEFB    '&A'
  93.     DEFW    SUB, OFF
  94.     DEFB    1 SHL BIT    ; ;make a mask byte
  95.     DEFW    SCR, DAT
  96.      ENDM
  97.  
  98. ;=========================================================
  99. ; Macro parameter definitions
  100. ;    A   = the character used in the screen for a menu item
  101. ;    OFF = byte offset in config block
  102. ;    SUB = subroutine for translation to screen
  103. ;    SCR = screen location
  104. ;    DAT = extra data word if required. Normally 0
  105. ; produces a record which is 8 bytes long
  106.  
  107. ;=========================================================
  108. ; This macro is used to create a case table entry
  109. ; which contains a byte of data required by the function
  110. ; to be performed. (see table of function definitions above)
  111.  
  112. VECTOR     MACRO    A,SUB,OFF,BYTE,SCR,DAT
  113.     DEFB    '&A'
  114.     DEFW    SUB, OFF
  115.     DEFB    BYTE        ; ;a byte of data
  116.     DEFW    SCR, DAT
  117.      ENDM
  118.  
  119. ;************************************************************
  120. ;    S T A R T    O F    O V E R L A Y    C O D E
  121. ;************************************************************
  122. ; The next 13 bytes must remain in this location.
  123.  
  124.     RST    0        ; For safety - file won't execute
  125.     DEFW    AMENU        ; For relocation of addresses, this
  126.                 ; Points to the next location.
  127. ; First MENU list must be here. All names are local.
  128.  
  129. AMENU:    DEFW    BMENU, BMENU, ASCRN, ACASE, AHELP ; Menu a
  130. BMENU:    DEFW    AMENU, AMENU, BSCRN, BCASE, BHELP ; Menu a
  131.  
  132. ;=========================================================
  133. ;The case tables used for COPY
  134. ;=========================================================
  135.  
  136. ACASE:    DEFB    (ACASEX-ACASE1)    / (ACASE2-ACASE1) ; Number of cases
  137.     DEFB    ACASE2 - ACASE1    ; Length of each record
  138.  
  139. ;     macro    .single char menu selector
  140. ;    |    |    .function (see above)
  141. ;    |    |    |    .offset in cnfg block
  142. ;    |    |    |    |    .function dependant data
  143. ;    |    |    |    |    |    .screen location
  144. ;    |    |    |    |    |    |
  145. ;acse1: bitmap    0,    switch, obyte0, crtflg, ascrl0, yndata
  146. ;                            |
  147. ;        address of data structure used by function._|
  148. ;
  149. ; The first two entries in the case table must be labeled to
  150. ; provide data for the calculation at ACASE:. Subsequent
  151. ; entries (one for each menu selection) need not be labeled.
  152.  
  153. ACASE1:    VECTOR    A,    TOGLTF,    ARCHIV,    1,  SCR_R0,    YNDATA
  154. ACASE2:    VECTOR    E,    TOGLTF,    EXIST,    1,  SCR_R1,    YNDATA
  155.     VECTOR    I,    TOGLTF,    INSP,    1,  SCR_R2,    YNDATA
  156.     VECTOR    M,    TOGLTF,    NCOPY,    1,  SCR_R3,    YNDATA
  157.     VECTOR    O,    TOGLTF,    EXRO,    1,  SCR_RB,    YNDATA
  158.     VECTOR    R,    TOGLTF,    REPLACE,1,  SCR_R4,    YNDATA
  159.     VECTOR    S,    TOGLTF,    SYSEXC,    1,  SCR_R5,    YNDATA
  160.     VECTOR    V,    TOGLTF,    VERFLG,    1,  SCR_R6,    YNDATA
  161.     VECTOR    D,    TOGLTF,    CHK4DS,    1,  SCR_RA,    YNDATA
  162.     VECTOR    U,    TOGLTF,    FIXDDU,    1,  SCR_R9,    YNDATA
  163.  
  164. ; Note: User/Drive are sequential bytes accessed as a word
  165.  
  166.     VECTOR    C,    DUSPEC,    DUSER,    0,  SCR_R7,    0
  167.     VECTOR    B,    TEXT,    BACKUP,    8,  SCR_R8,    0
  168.  
  169. ; The next entry is a label which terminates the list.
  170. ; It is required for use in the calculation at ACASE:
  171.  
  172. ACASEX:                ; Label used to calc number of entries
  173.  
  174. BCASE:    DEFB    (BCASEX-BCASE1)    / (BCASE2-BCASE1) ; Number of cases
  175.     DEFB    BCASE2 - BCASE1    ; Length of each record
  176.  
  177. BCASE1:    VECTOR    0,    filesp,    EXCL0,    0, SCR_E0,    0
  178. BCASE2:    VECTOR    1,    filesp,    EXCL1,    0, SCR_E1,    0
  179.     VECTOR    2,    filesp,    EXCL2,    0, SCR_E2,    0
  180.     VECTOR    3,    filesp,    EXCL3,    0, SCR_E3,    0
  181.     VECTOR    4,    filesp,    EXCL4,    0, SCR_E4,    0
  182.     VECTOR    5,    filesp,    EXCL5,    0, SCR_E5,    0
  183.     VECTOR    6,    filesp,    EXCL6,    0, SCR_E6,    0
  184.     VECTOR    7,    filesp,    EXCL7,    0, SCR_E7,    0
  185.  
  186. ; The next entry is a label which terminates the list.
  187. ; It is required for use in the calculation at ACASE:
  188.  
  189. BCASEX:                ; Label used to calc number of entries
  190.  
  191. ;=========================================================
  192.  
  193. ASCRN:                ; Screen image for first screen
  194.     DB CR,LF        ; Ensure clean top of screen
  195. ;Title line
  196.     DB    LF,HT
  197.     DB    '__________ COPY Configuration Screen 1 _________'
  198.     DB    CR,LF            ; Blank lines for screen format
  199.  
  200.     DB    HT,'A) Archive Bit Control of Select and Copy    '
  201. SCR_R0:    DB    '   '
  202.     DB    CR,LF
  203.  
  204.     DB    HT,'E) Existence Test of File on Destination     '
  205. SCR_R1:    DB    '   '
  206.     DB    CR,LF
  207.  
  208.     DB    HT,'I) Inspect Files Before Copy                 '
  209. SCR_R2:    DB    '   '
  210.     DB    CR,LF
  211.  
  212.     DB    HT,'M) Multiple Disk Copy                        '
  213. SCR_R3:    DB    '   '
  214.     DB    CR,LF
  215.  
  216.     DB    HT,'O) Existence Test of R/O File on Dest.       '
  217. SCR_RB:    DB    '   '
  218.     DB    CR,LF
  219.  
  220.     DB    HT,'R) Copy ONLY files which exist (Replace)     '
  221. SCR_R4:    DB    '   '
  222.     DB    CR,LF
  223.  
  224.     DB    HT,'S) System Files Excluded                     '
  225. SCR_R5:    DB    '   '
  226.     DB    CR,LF
  227.  
  228.     DB    HT,'V) Verify After Copying                      '
  229. SCR_R6:    DB    '   '
  230.     DB    CR,LF
  231.  
  232.     DB    HT,'U) Use Default Destination Directory below   '
  233. SCR_R9:    DB    '   '
  234.     DB    CR,LF
  235.  
  236.     DB    HT,'  B) Default Destination Directory Name   '
  237. SCR_R8:    DB    '        '
  238.     DB    CR,LF
  239.  
  240.     DB    HT,'  C) Default Destination Drive/User          '
  241. SCR_R7:    DB    '   '
  242.     DB    CR,LF
  243.  
  244.     DB    HT,'D) Check for DateStamper Stamps              '
  245. SCR_RA:    DB    '   '
  246.     DB    CR,LF,lf,lf,lf,lf,lf
  247.  
  248.     DB    0        ; Terminator
  249.  
  250. BSCRN:                ; Screen image for first screen
  251.     DB CR,LF        ; Ensure clean top of screen
  252. ;Title line
  253.     DB    LF,HT
  254.     DB    '__________ COPY Configuration Screen 2 _________'
  255.     DB    CR,LF            ; Blank lines for screen format
  256.  
  257.     DB    HT,'0) Excluded Files.................  '
  258. SCR_E0:    DB    '            '
  259.     DB    CR,LF
  260.  
  261.     DB    HT,'1) ...............................  '
  262. SCR_E1:    DB    '            '
  263.     DB    CR,LF
  264.  
  265.     DB    HT,'2) ...............................  '
  266. SCR_E2:    DB    '            '
  267.     DB    CR,LF
  268.  
  269.     DB    HT,'3) ...............................  '
  270. SCR_E3:    DB    '            '
  271.     DB    CR,LF
  272.  
  273.     DB    HT,'4) ...............................  '
  274. SCR_E4:    DB    '            '
  275.     DB    CR,LF
  276.  
  277.     DB    HT,'5) ...............................  '
  278. SCR_E5:    DB    '            '
  279.     DB    CR,LF
  280.  
  281.     DB    HT,'6) ...............................  '
  282. SCR_E6:    DB    '            '
  283.     DB    CR,LF
  284.  
  285.     DB    HT,'7) ...............................  '
  286. SCR_E7:    DB    '            '
  287.     DB    CR,LF,LF,lf,lf,lf,lf,lf,lf,lf,lf
  288.  
  289. ; Scroll to top of screen (not needed if only one screen)
  290.  
  291.     DB    0        ; Terminator
  292.  
  293. ;-----------------------------------
  294. ;    TYPICAL Screen Data List
  295. ;  (handy, but only need be here if referenced)
  296.  
  297. ; Data pair for representing bit values in screen image
  298. ; Can also be used for function 8 display (True/False)
  299. ; these must be null terminated strings.
  300.  
  301. YNDATA:    DEFB    'YES',0        ; For 1=yes
  302.     DEFB    ' NO',0
  303.  
  304. ;=========================================================
  305. ; Help screen for menu A
  306.  
  307. AHELP:                ; Help screen for menu a
  308.     DB    CR,LF,LF
  309.     DB    '                                ZSDOS COPY V1.71',CR,LF
  310.     DB    CR,LF
  311.     DB    'Archive  - If yes, copies only those files which '
  312.     DB    'have the archive attribute',CR,LF
  313.     DB    '           clear.',cr,lf
  314.     DB    CR,LF
  315.     DB    'Exclude  - If yes, excludes system (hidden) files '
  316.     DB    'from copy.',CR,LF
  317.     DB    CR,LF
  318.     DB    'Inspect  - if yes, COPY prints the name of each file '
  319.     DB    'and asks if you wish to ',CR,LF
  320.     DB    '           copy it.',CR,LF
  321.     DB    CR,LF
  322.     DB    'Multiple - If yes, copies all listed files to the '
  323.     DB    'specified drive/user, then',CR,LF
  324.     DB    '           prompts for a new disk and repeats the '
  325.     DB    'copy operation.',CR,LF
  326.     DB    CR,LF
  327.     DB    'Exist    - If yes, tests if the file exists on the '
  328.     DB    'destination drive/user',CR,LF
  329.     DB    '           before copying.  If the file exists, you '
  330.     DB    'are asked if you want to',CR,LF
  331.     DB    '           replace it.  On systems with stamping '
  332.     DB    'enabled, the stamps are',CR,LF
  333.     DB    '           compared and an added prompt of SAME, OLDER,'
  334.     DB    ' or NEWER is shown to ',CR,LF
  335.     DB    '           indicate the comparative age of the files.'
  336.     DB    CR,LF
  337.     DB    CR,LF
  338.     DB    CR,LF
  339.     DB    CR,LF
  340.     DB    CR,LF
  341.     DB    'RO Exist - Similar to "Exist" (above), but applies only '
  342.     DB    'to read-only files.',CR,LF
  343.     DB    CR,LF
  344.     DB    'Replace  - If yes, files will only be copied if the '
  345.     DB    'destination already',CR,LF
  346.     DB    '           exists.  The "N" option is disabled '
  347.     DB    'but dates will still be',CR,LF
  348.     DB    '           compared.',CR,LF
  349.     DB    CR,LF
  350.     DB    'Verify   - If yes, the CRC''s of the source and the '
  351.     DB    'copied file are checked to',CR,LF
  352.     DB    '           confirm error free copies.',CR,LF
  353.     DB    CR,LF
  354.     DB    'Use      - If yes, if no destination is specified, then '
  355.     DB    'use the directory',CR,LF
  356.     DB    '           specified below to copy files to.  Otherwise '
  357.     DB    'the DOS default',CR,LF
  358.     DB    '           directory is used as the destination.',CR,LF
  359.     DB    CR,LF
  360.     DB    'Backup   - The name of the directory you normally '
  361.     DB    'copy most of your files to.',CR,LF
  362.     DB    CR,LF
  363.     DB    'Default  - The "normal" destination drive and user '
  364.     DB    'to use if the named backup',CR,LF
  365.     DB    '           directory isn''t found.  DO NOT use wild'
  366.     DB    'cards!',CR,LF
  367.     DB    CR,LF
  368.     DB    CR,LF
  369.     DB    0
  370.  
  371. BHELP:                ; Help screen for menu B
  372.     DB    CR,LF,LF
  373.     DB    '                                ZSDOS COPY V1.71',CR,LF
  374.     DB    CR,LF
  375.     DB    'Exclude  - File names listed here will not be found '
  376.     DB    'in the directory scan and',CR,LF
  377.     DB    '           consequently cannot be copied.  To remove '
  378.     DB    'an entry, select the',CR,LF
  379.     DB    '           number and enter a single space for the '
  380.     DB    'name.  To add an entry,',CR,LF
  381.     DB    '           enter the ambiguous or unambiguous file '
  382.     DB    'name and type separated',CR,LF
  383.     DB    '           by a period.'
  384.     DB    CR,LF
  385.     DB 0
  386.  
  387. ;=========================================================
  388.