home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / nstar / putusr.dqc / PUTUSR.DOC
Encoding:
Text File  |  1985-02-10  |  4.1 KB  |  91 lines

  1. El Paso, TX, 12-15-83
  2.  
  3. Documentation for PUTUSR.ASM
  4.  
  5.  
  6. 1. PURPOSE
  7.  
  8.  
  9. PUTUSR is a utility for North Star CP/M. A similar utility is distributed
  10. with Lifeboat's implementation of CP/M on the HORIZON, but not with North
  11. Star's version of CP/M. The idea of writing this routine was inspired by
  12. a book on CP/M and was realized in 3 hours, including debugging time.
  13.  
  14. The purpose of PUTUSR is to assist the North Star CP/M user in placing a
  15. modified "user area" onto the system tracks without having to aginize
  16. through SYSGEN, DDT and calculating load offsets.
  17.  
  18.  
  19. 2. REQUIREMENTS
  20.  
  21. PUTUSR will only run on North Star CP/M 1.1.0 or 1.2.0 and will report an
  22. error message if it runs on a different implementation of CP/M or if the
  23. BDOS serial number is corrupt.
  24. For correct operation, the file USER.HEX must be present. The user is
  25. fully responsible for ensuring that USER.HEX contains the correctly
  26. ORGed code for a new user area (I/O patch area).
  27.  
  28.  
  29. 3. USE
  30.  
  31. NOTE: A response of CONTROL-C at any prompt will execute a warmboot.
  32.  
  33. PUTUSR is started without arguments. Any command line arguments are
  34. ignored. The program will identify itself and then ask for the source
  35. drive letter to be typed. Drive letters are entered in accordance with
  36. CP/M's drive convention, rather than North Star's. PUTUSR will then
  37. prompt for a carriage return, allowing a disk change. After pressing RETURN,
  38. PUTUSR will read the file USER.HEX and translate it to binary code. Error
  39. messages reporting file not found, read error or checksum error will
  40. abort execution. When the file is translated, you are prompted for the
  41. destination drive letter, using same conventions as above. Be sure to
  42. specify a valid North Star CP/M drive. Again, the program now waits for
  43. a RETURN to be typed, allowing disk change. NOTE: the destination disk
  44. must be double density and it must contain a system track!
  45.  
  46. The user area is now written into it's appropriate spot on the system
  47. track, at North Star sector 8, or CP/M sector 29.  Next, you are asked
  48. for more copies, allowing to quickly change I/O blocks on all your disks.
  49. Note that the disk system need not be reset, since the I/O mode is similar
  50. to North Star DOS.
  51.  
  52.  
  53. 4. BRIEF PROGRAM DESCRIPTION
  54.  
  55. The DCOM routine entry parameters (the BIOS low level disk driver) is
  56. explained in great detail in the file DIRDUMP.ASM which is supplied with
  57. all copies of North Star CP/M.
  58.  
  59. PUTUSR.ASM is not memory efficient. I have deviated from straightforward
  60. coding to a somewhat modular approach, with a number of CALL instructions
  61. at the beginning and all major functions coded as subroutines (which in
  62. turn may call subroutines). Also, text display is achieved via normal
  63. BDOS call #9, rather than using the infamous and untraceable ILPRT. No
  64. range checking is done comparing the ORG of USER.HEX with the user area
  65. in the running system, as it may be desired to integrate USER.HEX into
  66. a system of different size from the running system.
  67.  
  68. The program uses two buffers, a 512 byte buffer which is sufficient to
  69. hold the binary code, and a second buffer immediately thereafter, holding
  70. the HEX file. The hex file is translated to binary without regard for
  71. running location and errors will be reported if the checksum does not
  72. match or if the code size exceeds 512 bytes. All errors reported in
  73. PUTUSR are fatal.
  74.  
  75. In contrast to the memory-wasting structure of PUTUSR I have saved two
  76. bytes on each warm boot jump by using RST 0 instead of JMP 0.
  77.  
  78. For any further questions feel free to ask me by leaving your message
  79. on SENECA (the El Paso RCPM) any time at 1200 baud only. Also, please
  80. feel free to modify the program to your liking, but please give me
  81. credit for the original. And finally, I have tested the program on
  82. North Star CP/M 1.1.0 and it works. However, don't blame me if for
  83. whatever reason it doesn't in your system, especially don't ask me to
  84. replace any disks you might wipe out...
  85.  
  86. PUTUSR.ASM should assemble under ASM, MAC, RMAC, M80, PDS and probably
  87. a few other assemblers with no or minor changes and therefore I feel
  88. it is unnecessary to distribute a COM file.
  89.  
  90.                         Have fun!
  91.