[net.micro.cpm] NC - a new backup copy program

Keith Petersen <W8SDZ@Simtel20.ARPA> (11/20/84)

Dave Rand has just released NC, which is now available from Simtel20:

Filename			Type	 Bytes	 CRC

Directory MICRO:<CPM.FILCPY>
NC.LBR.1			COM	  4096  E127H

Here's Dave Rand's comments about the program:

    NC is a "New Copy" utility. It works with files, rather than disks,
so it is compatible with any(*) CP/M 2.x system.

    I am one of the type who has a standard set of utilities, which I
upgrade from time to time. I then distribute these upgrades onto my working
disks.

The problem:
------------

   The problem with this is twofold:

1. Not all of the files on the source disk may be on the working disk.
   (eg. Source disk has C, Fortran and Basic,  destination has only C)

2. There may be files on the destination disk that you do not wish altered,
   so a bulk disk copy will not work.

   Until now, SWEEP has been an unsatisfactory, but welcome, answer.

The solution:
-------------

    NC has overcome the problem of updating disks. It will ONLY copy
files that ALREADY EXIST on the destination (or, with a switch, files
that do not already exist). While this capability has been available for
some time on other computers, this is the only one I am aware of for CP/M.

    Now, when you get that new distribution disk for the fantastic QQz
compiler, you can update your existing disks as follows:

A>NC B:*.COM A:

    As well, since NC supports multiple wildcards, you can do this:

A>NC (B:*.COM B:*.QQZ B:Q*.Q*) A:

    Which will take all *.COM, *.QQZ and Q*.Q* files that exist on drive
B, and copy them on top of the files that exist on drive A. Since the
destination files are deleted before copying begins, you should not have
to worry about running out of disk space.

    NC also allows you to copy files that DO NOT already exist. This means
you can merge disks as follows:

A>NC /N B:*.* A:

    This will take all files from B that DO NOT already exist on A, and copy
them to drive A.

    With version 1.15 and up, multiple source drives may be specified, as
follows:

A>NC /N (B:*.COM C:*.QQZ D:*.ARC D:*.DIR) A:

    This means copy the selected files from drives B, C and D to drive A.


---------------------------------------------------------------------------
* Note:

This system has been tested on:
SS/SD 8"
SS/SD 5"
DS/DD 8" -1 meg capacity
DS/DD 8" -1.2 meg
Hard     -2.6 meg
Hard     -8   meg

In addition, it is known to work with files over 512K.
All tests were made with CP/M version 2.2, and this program WILL NOT
work with 1.4 or 1.3, as it uses random positioning for the file write.

mwm@ea.UUCP (11/25/84)

NC looks neat. Would somebody in ARPANet land mail me a copy, or post it
to {net,mod}.sources?

	Thanx,
	<mike

Mark <Phillips.Henr@XEROX.ARPA> (11/28/84)

Here you go.... glad to be of service.

~ Mark

		Documentation for NC.COM

Dave Rand
10232-160 Street
Edmonton, Alberta
(403) 484-4114

    NC is a "New Copy" utility. It works with files, rather than disks,
so it is compatible with any(*) CP/M 2.x system.

    I am one of the type who has a standard set of utilities, which I
upgrade from time to time. I then distribute these upgrades onto my working
disks.

The problem:
------------

   The problem with this is twofold:

1. Not all of the files on the source disk may be on the working disk.
   (eg. Source disk has C, Fortran and Basic,  destination has only C)

2. There may be files on the destination disk that you do not wish altered,
   so a bulk disk copy will not work.

   Until now, SWEEP has been an unsatisfactory, but welcome, answer.

The solution:
-------------

    NC has overcome the problem of updating disks. It will ONLY copy
files that ALREADY EXIST on the destination (or, with a switch, files
that do not already exist). While this capability has been available for
some time on other computers, this is the only one I am aware of for CP/M.

    Now, when you get that new distribution disk for the fantastic QQz
compiler, you can update your existing disks as follows:

A>NC B:*.COM A:

    As well, since NC supports multiple wildcards, you can do this:

A>NC (B:*.COM B:*.QQZ B:Q*.Q*) A:

    Which will take all *.COM, *.QQZ and Q*.Q* files that exist on drive
B, and copy them on top of the files that exist on drive A. Since the
destination files are deleted before copying begins, you should not have
to worry about running out of disk space.

    NC also allows you to copy files that DO NOT already exist. This means
you can merge disks as follows:

A>NC /N B:*.* A:

    This will take all files from B that DO NOT already exist on A, and copy
them to drive A.

    With version 1.15 and up, multiple source drives may be specified, as
follows:

A>NC /N (B:*.COM C:*.QQZ D:*.ARC D:*.DIR) A:

    This means copy the selected files from drives B, C and D to drive A.


---------------------------------------------------------------------------
* Note:

This system has been tested on:
SS/SD 8"
SS/SD 5"
DS/DD 8" -1 meg capacity
DS/DD 8" -1.2 meg
Hard     -2.6 meg
Hard     -8   meg

In addition, it is known to work with files over 512K.
All tests were made with CP/M version 2.2, and this program WILL NOT
work with 1.4 or 1.3, as it uses random positioning for the file write.

Mark <Phillips.Henr@XEROX.ARPA> (11/28/84)

Mike,
Here is the Hex code for NC.COM for Xerox CP/M.   On an 820, you just
cut off the header of this letter, then LOAD.com the rest.

~ Mark

--cut here--
:1E01000021000039229408312709AF32C208117406CD97020E19CD05003296080E0CE9
:1E011E00CD05007DFE20D22D01113808C3DF013A8000B7C23A0111A806C3DF010E0D77
:1E013C00CD05003A96085F0E0ECD0500218000112709018000CD9C02112809CDDE04EF
:1E015A00CA3401FE2FCA7F01FE28133E01CA6C011BAF32BE08EB22BC0821000022B0DC
:1E0178000821170AC39B0113CDDE0413CA3401FE45CA9401FE4ECA9501C35701AF32A2
:1E019600C208C35701E5CD3504E1CDCB03E52AB0081922B008E13ABE08B7CAC401EB33
:1E01B4002ABC08EB1BCDDE04CAC401FE29C29B0122BF08AF325C00CD35043A5C003282
:1E01D200C1082AB0087DB4C2F00111A907CD97023A96085F0E0ECD05002A9408F9C9AC
:1E01F0002AB008229B08CDFF022ABF0822B20822B6082A06001100F61922B408E511AB
:1E020E006408CD9702D12AB2087B954F7A9C47CDCA05CD8D02CD8D0221170A22970838
:1E022C0021C709E5E5E511C8090124003600CD9C022A9708D1010C00CD9C02E111EF79
:1E024A0009012400CD9C02D10E0FCD05003CC2610211C907C3DF013AC10832EF09CD5E
:1E026800E8042A9708111000192297082AB0082B22B0087DB4C22C02C3E2017BE67F3A
:1E0286005F0E02CD0500C91E0DCD83021E0AC383020E09C305007E1223130B78B1C2C8
:1E02A4009C02C93A5C00B7CAC302473A96083CB8CAC30278C6405FCD83021E3ACD8380
:1E02C20002215D000E08E5C57EFE20CAD4025FCD8302C1E1230DC2C8021E2ECD8302F5
:1E02E0002165000E03E5C57EFE20CAF1025FCD8302C1E1230DC2E502C97CBAC07DBB43
:1E02FE00C92A9B0822AA0821000022AC0822AE082AAA08AF7C1F677D1F6F22AA08B489
:1E031C00C8EB2A9B082B7D936F7C9A6722A60821000022A4082AA40822A2082AA208E7
:1E033A00EB2AAA081922A808CD7C03CA6803DA6803CDAF032AAA08EB2AA2087D936F94
:1E0358007C9A6722A208FA6803B5CA6803C337032AA4082322A408EB2AA608CDF902A0
:1E037600DA0E03C331032AAC082322AC082AA20829292929EB21170A19229E08E52A1B
:1E039400A80829292929EB21170A1922A008D106101ABEC0231305C2A503C92AAE081A
:1E03B2002322AE082A9E08EB2AA0080E10461A77781213230DC2BF03C9110000D5E5CB
:1E03D0003A5C00B7CADE035F1D0E0ECD05000E11115C00CD0500E1D13CC2FA03E5D5E8
:1E03EE003A96085F0E0ECD0500D1E1C913D5E5D13D8787878787D52180005F160019CF
:1E040C00D1233A5C001213060B7E12231305C2150421040019D1D5E50E12115C00CD49
:1E042A000500E1D13CC2FA03C3EC03215C00E52ABC08EBCDDE04E11AB7CA5104DE4077
:1E04480047131AFE3ACA59041B3A96083C77C35B0470130608CDC304CA7E0423FE2A3F
:1E046600C26E04363FC37004771305C25D04CDC304CA850413C3740423362005C27EF3
:1E048400040603FE2EC2AE0413CDC304CAAE0423FE2AC29E04363FC3A004771305C2AE
:1E04A2008D04CDC304CAB50413C3A40423362005C2AE04060323360005C2B704EB2233
:1E04C000BC08C91AB7C8FE20C8FE3DC8FE5FC8FE2EC8FE3AC8FE3BC8FE3CC8FE3EC9EE
:1E04DE001AB7C8FE20C013C3DE04CD1406C821C709115C00010C00D5C5CD9C0211554C
:1E04FC0008CD9702CDA702118F08CD970221EF09C1D1CD9C02CDA702CD8D02110000F7
:1E051A00D5EB22E8092AB608EB0E1ACD050011C7090E21CD0500B7C24D052AB608117D
:1E05380080001922B608EB2AB408CDF902DC7605D113C31A05D1CD760511EF090E1036
:1E055600CD05003CCA5E05C911DB07C3DF0111FB07C3DF01110808C3DF01111A08C37D
:1E057400DF012AB608EB2AB208CDF902C8E57B954F7A9C47C5117208CD9702C1CDCA93
:1E05920005118508CD9702E1EBD50E1ACD050011EF090E22CD0500B7C264052A100A76
:1E05B0002322100AE111800019EB2AB608CDF902C29B052AB20822B608C9C5E11127DB
:1E05CE0009D513131313D501050ACDF905C630121B0DC2D805D1133E2412D10E041A11
:1E05EC00FE30C2F605130DC2EB05C39702C5AF0E11C3050690F20A06802917C30D064F
:1E060A002917230DC200061FC1C93AC709473AEF09B8C83AC208B7C2640611EF090EF0
:1E0628000FCD05003CC811EF09D5D50E10CD05003CCA5E05D10E13CD05003CCA700584
:1E06460021C809D1D513010B00CD9C02D10E16CD05003CCA6A0521000022100AB7C95B
:1E06640011EF09D50E0FCD05003CD1CA5306AFC90D0A0D0A4E4557434F5059205665D5
:1E0682007273696F6E20312E3135202020446176652052616E6420202030312F31396B
:1E06A0002F313938330D0A245573653A2020204E43205B2F4E7C2F455D2028667370CF
:1E06BE00656331206673706563322920667370656333207C206673706563312066733E
:1E06DC00706563330D0A2020202020202057686572652066737065634E2063616E20B2
:1E06FA0062652077696C64636172642C20616E640D0A2020202020202066737065632A
:1E0718003320646566696E6573207468652064657374696E6174696F6E0D0A202020F8
:1E07360020202020647269766520666F72207468652066696C65732E0D0A202020204B
:1E0754002020202F4E206D65616E7320636F7079204E4F4E206578697374696E6720E5
:1E07720066696C65732E0D0A202020202020202F45206D65616E7320636F7079204549
:1E07900058495354494E472066696C6573202864656661756C74292E240D0A43616E21
:1E07AE0027742066696E6420616E792066696C657320746F20636F707921240D0A46B6
:1E07CC00696C65206E6F7420666F756E642E240D0A43616E277420636C6F7365206458
:1E07EA00657374696E6174696F6E2066696C652E240D0A4469736B2066756C6C2E24DA
:1E0808000D0A4469726563746F72792066756C6C2E240D0A43616E27742064656C6563
:1E0826007465206F6C642066696C652E20522F4F3F240D0A43502F4D207665727369CC
:1E0844006F6E20322E782072657175697265642124436F7079696E672066696C653A28
:1E08620020244275666665722073697A653A20242D2D2D2D2D2D2D2D3E205772697415
:1E088000696E6720242062797465732E0D0A2420746F202400000000000000000000E1
:1E089E000000000000000000000000000000000000000000000000000000000000003C
:1E08BC000000000000000000000000000000000000000000000000000000000000001E
:1E08DA0000000000000000000000000000000000000000000000000000000000000000
:0808F8000000000000000000F8
:0000000000