home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / utils / dskutl / spec.lbr / SPEC.DOC < prev   
Encoding:
Text File  |  1987-01-24  |  2.9 KB  |  66 lines

  1.                DOUMENTATION FOR SPEC.COM
  2.  
  3. CP/M command specification:    SPEC filename.COM
  4.  
  5. where <filename> represents the filename and filetype of a valid
  6. CP/M file containing object code which is loaded at 100h.
  7.  
  8. The program will abort with an appropriate message if
  9.  
  10. (1)  No filename is specified, or
  11. (2)  The file does not exist on the default drive.
  12.  
  13. It is recommended that both SPEC and the target file be on the
  14. default drive.
  15.  
  16. Also, note that SPEC is limited to files not greater than two
  17. extents. This was both for necessity and to avoid 16-bit arithmetic,
  18. however, if anyone would like to modify the program to include
  19. larger files, I might be willing to provide the source to them.
  20. Leave me a message on the boards...
  21.  
  22.  
  23.  
  24. The program provides two degrees of protection:
  25.  
  26. (1)  A reference byte is stored on the system track the first time
  27.      the protected file is loaded.  For this reason, the protected
  28.      program must exist on a standard disk format in which the outer
  29.      track (TRK00) is reserved for the operating system.  If the
  30.      disk is copied, without copying the same system tracks, the
  31.      program will terminate with 'UNLAWFUL COPY' and a warm boot.
  32.  
  33.      This byte is stored in the CP/M proprietary message and should
  34.      not effect the operating system.
  35.  
  36. (2)  A counter byte is stored and referenced in memory and compared
  37.      against SPEC.  SPEC is requested when the program is first
  38.      called and represents the number of loads you designate for the
  39.      protected file.  When SPEC has been reached, the protected
  40.      program will then self-erase.  Any attempts to unerase will be
  41.      useless since the program will also write over itself.
  42.  
  43. The purpose of this program was to provide software on a trial basis
  44. for my clients.  If they decided against purchasing, the software
  45. would self-destruct and they would be unable to use it further.  I
  46. thought this was a good idea at the time, and I still think it is a
  47. good idea.  However, it is very difficult to protect CP/M programs
  48. since there does not appear to be any way to absolutely reference
  49. the disk.  SPEC uses direct BIOS calls, against all the edicts of
  50. Digital Research, and they proved, if you'll forgive my French, to
  51. be a royal pain in the butt.  It was necessary to set up alternate
  52. stacks and DMA's within the protected program and even then some
  53. CP/M utilities, like STAT, seem to behave erratically after run
  54. against SPEC.  Ordinary programs, however, seem to run okay and so I
  55. am releasing SPEC to the domain albeit retaining exclusive
  56. copyrights.
  57.  
  58. It's back to my experiments with the 1793 to see if there is any way
  59. to mark the disk.  If any of you have any insight into referencing
  60. the gap or ID, I would sure like to hear about it!!!!
  61.  
  62. J. Fremont
  63. Los Angeles
  64. August 13, 1985
  65.  
  66.