home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / utils / dskutl / edfile.art < prev    next >
Text File  |  1994-07-13  |  11KB  |  226 lines

  1.                    EDITING THE CP/M OPERATING SYSTEM
  2.  
  3.                             File: SYSTEM.TXT
  4.  
  5.                          By Walter E. Pfiester
  6.                            1 Skadden Terrace
  7.                           Tully, N. Y.  13159
  8.  
  9. INTRODUCTION
  10.  
  11.      Editing, changing and operating on your CP/M operating system can
  12. be a real hassle using "DDT.COM" or "XMAN.COM".  These machine code
  13. editors work directly on the system tracks.  It is much easier to work
  14. on these tracks if they are saved as a file first.  This article will
  15. detail how to save the operating system tracks as a file and later,
  16. after editing or changing this file, placing this file back on the disk
  17. in the proper location for use as your new version of CP/M.
  18.  
  19.  
  20. SAVING THE OPERATING SYSTEM AS A FILE
  21.  
  22.      You will have to have "MOVCPM.COM" and "SYSGEN.COM" on the disk you
  23. want to operate on.  In addition, I find it useful to have "SD.COM" (or
  24. the enhanced version, "S.COM", "STAT.COM", and "EDFILE.COM" on the same
  25. disk.  The first two files are used to measure the size of the files.
  26. The later file is a machine code editor, in the public domain used to
  27. dump and edit, full screen, any file using HEX formats OR ASCII codes.
  28. It is not the intent of this article to delve in to the use of
  29. "EDFILE.COM".  That can be best handled by downloading the "EDFILE.DOC"
  30. file from your RCP/M library.
  31.  
  32.      The first thing that you must do is to measure the size, in
  33. hexadecimal pages of memory, your operating system.  The easiest way to
  34. do that is to type:
  35.  
  36.      A>movcpm 63 *
  37.  
  38.      For our purposes here we want to find out how many pages of memory
  39. are required for a 63K CP/M system.  If you are using a 64K system then
  40. type movcpm 64 *.  For this article I will use a 63K CP/M system.  As a
  41. result of the command above, What results is as follows:
  42.  
  43.      CONSTRUCTING 63k CP/M vers 2.2
  44.      READY FOR "SYSGEN" OR
  45.      "SAVE 34 CPM63.COM"
  46.       |
  47.       +-------> This is the number we want!
  48.  
  49.      The 63 above designates the operating system size.  If you are
  50. going to change the size of the system for later editing, recompiling or
  51. whatever, type the size in place of 64, ie MOVCPM 55 *.
  52.  
  53.  
  54.      The important thing here is to right down the number after the word
  55. SAVE.  What MOVCPM has done for us is automatically calculate the amount
  56. of memory required to save the CP/M image as a file.  You are done using
  57. "MOVCPM.COM".
  58.  
  59.      Now type "SYSGEN".  In response to the question SOURCE, type a
  60. <CR>.  When prompted as to the destination, type another <CR>.  Your
  61. entire CP/M operating system is now in RAM, starting at 100h.  To save
  62. this image as a file type "SAVE 34 CPM63.NEW".  34 is the number of
  63. hexadecimal pages that you came up with above with MOVCPM.COM above.
  64. CPM63.NEW is the file name given to save the system image as.  It could
  65. just as easily be named anything!  It should also be noted at this time
  66. that the operating system saved has ZCPR on it (Micro Cornucopia's
  67. version) and it was created using instructions on their disk K22.
  68.  
  69. EDITING AND USING THE NEW (SYSTEM) FILE
  70.  
  71.      Now the file "CPM63.SYS" can be edited, changed, whatever.  I
  72. routinely use "EDFILE" to edit machine code.  It is a full screen editor
  73. that can be used in both the ASCII and Hex field.  Besides which, it is
  74. one of the best FREE, public domain pieces of software!
  75.  
  76. USING EDFILE
  77.  
  78.      As an example in using this powerful tool, I will change the logon
  79. message on cold boot to something more meaningful than:
  80.  
  81.        KAYPRO II 63k CP/M vers.  2.2
  82.  
  83.         to
  84.  
  85.        63K ZCPR-2 9/20/84
  86.        882- 2.2
  87.  
  88.      In addition I will show you how to edit the operating system to
  89. autoload a file on cold boot.
  90.  
  91.  
  92.      The file we'll be editing is CPM63.NEW created above.  To edit
  93. using EDFILE, type the following: "EDFILE CPM63.NEW" What will result is
  94. as shown below:
  95.  
  96.  
  97. A0>EDFILE B:CPM63.SYS
  98.  
  99. Vers: 01-10-84; by: J.C.Kaltwasser & M.J.Mosko, K3RL
  100. File: B:CPM63.SYS Record: 00000 (0000H) LOF: 00068 (0044H)
  101.  
  102.        00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F    0123456789ABCDEF
  103.        -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --    ----------------
  104. 0000 - C3 3E 02 43 4F 50 59 52 49 47 48 54 20 28 43 29   >C>.COPYRIGHT (C)<
  105. 0010 - 20 31 39 37 38 2C 20 44 49 47 49 54 41 4C 20 52   > 1978, DIGITAL R<
  106. 0020 - 45 53 45 41 52 43 48 20 50 6F 72 74 69 6F 6E 73   >ESEARCH Portions<
  107. 0030 - 20 28 43 29 20 31 39 38 32 2C 20 4E 4C 53 6F 26   > (C) 1982, NLSo&<
  108. 0040 - 00 29 29 29 29 29 29 29 C9 0E 01 CD 05 00 FE 61   >.)))))))I..M..~a<
  109. 0050 - D8 FE 7B D0 E6 5F C9 5F 0E 02 CD 05 00 C9 3E 0D   >X~{Pf_I_..M..I>.<
  110. 0060 - CD 57 01 3E 0A CD 57 01 C9 E5 CD 5E 01 E1 7E B7   >MW.>.MW.IeM^.a~7<
  111. 0070 - C8 E5 CD 57 01 E1 23 C3 6E 01 4F 2A 01 00 11 18   >HeMW.a#Cn.O*....<
  112. ?Search String = \KAYPRO II\
  113.  
  114.      At the prompt above, type an "S".  EDFILE will ask you for the
  115. string to search on.  What we are doing, is searching for an ASCII
  116. string (EDFILE can also search for a HEX string).  Reply with a
  117. backslash "\" and the string itself followed by another backslash,  as
  118. shown above.  Edfile will then locate the string as shown below at
  119. address 1EE0.  This is the beginning of the log on message we are going
  120. to change.
  121.  
  122. File: B:CPM63.SYS Record: 00061 (003DH) LOF: 00068 (0044H)
  123.  
  124.        00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F    0123456789ABCDEF
  125.        -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --    ----------------
  126. 1E80 - C3 48 FA C3 99 FA C3 F3 FA C3 09 FB C3 2F FB C3   >CHzC.zCszC.{C/{C<
  127. 1E90 - 48 FB C3 43 FB C3 3E FB C3 7C FB C3 80 FB C3 84   >H{CC{C>{C|{C.{C.<
  128. 1EA0 - FB C3 88 FB C3 8C FB C3 90 FB C3 98 FB C3 65 FB   >{C.{C.{C.{C.{Ce{<
  129. 1EB0 - C3 A8 FB 81 00 0B 0A 08 0C 30 31 32 33 34 35 36   >C({......0123456<
  130. 1EC0 - 37 38 39 2D 2C 0D 2E 05 CD 78 FB AF 32 04 00 3A   >789-,...Mx{/2..:<
  131. 1ED0 - 33 FA 32 03 00 3A 47 FA D3 00 CD CF FB 1A 0D 0A   >3z2..:GzS.MO{...<
  132. 1EE0 - 4B 41 59 50 52 4F 20 49 49 20 36 34 6B 20 43 50   >KAYPRO II 64k CP<
  133. 1EF0 - 2F 4D 20 76 65 72 73 20 32 2E 32 0D 0A 00 3E C3   >/M vers 2.2...>C<
  134.  
  135.      Type <CTRL> E.  This will place your cursor in the HEX field.  To
  136. move about, use the arrow keys.  To change to the ASCII field, type
  137. another <CTRL> E.  Again, the arrow keys will move you about this field.
  138. To edit the message, type over the message already there.   Remember,
  139. the carriage return and line feed can not be editied in the ASCII field,
  140. they need to be added in the HEX field.  Now that you have a new log in
  141. message, lets save it to disk.  First, type a <CTRL> W.  This will write
  142. all your changes out to RAM and place you at EDFILE's command level.  To
  143. write the changes to disk and return to CP/M, type a "Q" (for QUIT).
  144. Your are done!
  145.  
  146.      You have a new file to load in place of your old CP/M operating
  147. system.  Once you have completed changing this file, placing it back in
  148. the correct location on disk is very easy.  Type SYSGEN CPM63.SYS <cr>.
  149. The prompt will ask you for the drive to place the system image to.
  150. Type A (or B or whatever drive you want it to go to).
  151.  
  152.      A>SYSGEN CPM63.NEW
  153.  
  154.      KAYPRO SYSGEN VER 2.2
  155.      DESTINATION DRIVE NAME (OR RETURN TO REBOOT)b <------TYPE THIS
  156.      DESTINATION ON b, THEN TYPE RETURN <cr> <------------TYPE THIS
  157.  
  158.      FUNCTION COMPLETE
  159.      DESTINATION DRIVE NAME (OR RETURN TO REBOOT) <cr> <--TYPE THIS
  160.  
  161.      That's all there is to it.  The next time you boot off the drive
  162. you'll have your new system image on it with the new log in message.
  163.  
  164.      Lets do this again, in addition to the new log in message, have the
  165. system autoload "S $AL".  "S" is a modified version of "SD-92" that I
  166. have modified.  The $AL command tail will lok at all user areas, and
  167. list the directory of all libraries.  Now lets modify the operating
  168. system, again.
  169.  
  170.      This time, use the ASCII search again only look for the word
  171. "COPYRIGHT":
  172.  
  173. File: B:CPM63.SYS Record: 00017 (0011H) LOF: 00068 (0044H)
  174.  
  175.        00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F    0123456789ABCDEF
  176.        -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --    ----------------
  177. 0880 - C3 5C E7 C3 58 E7 7F 00 20 20 20 20 20 20 20 20   >C\gCXg.         <
  178. 0890 - 20 20 20 20 20 20 20 20 43 4F 50 59 52 49 47 48   >        COPYRIGH<
  179. 08A0 - 54 20 28 43 29 20 31 39 37 39 2C 20 44 49 47 49   >T (C) 1979, DIGI<
  180. 08B0 - 54 41 4C 20 52 45 53 45 41 52 43 48 20 20 00 00   >TAL RESEARCH  ..<
  181. 08C0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   >................<
  182. 08D0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   >................<
  183. 08E0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   >................<
  184. 08F0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   >................<
  185.  
  186.      Note the pattern of HEX 20's above.  At location 0887 (now 00h)
  187. place the number of HEX bytes the command line will contain, in this
  188. case, 5.  At location 0888 start the actual command.  The result is as
  189. shown below:
  190.  
  191.  
  192. File: B:CPM63.SYS Record: 00017 (0011H) LOF: 00068 (0044H)
  193.  
  194.        00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F    0123456789ABCDEF
  195.        -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --    ----------------
  196. 0880 - C3 5C E7 C3 58 E7 7F 05 53 20 24 41 4C 20 20 20   >C\gCXg.S $AL    <
  197. 0890 - 20 20 20 20 20 20 20 20 43 4F 50 59 52 49 47 48   >        COPYRIGH<
  198. 08A0 - 54 20 28 43 29 20 31 39 37 39 2C 20 44 49 47 49   >T (C) 1979, DIGI<
  199. 08B0 - 54 41 4C 20 52 45 53 45 41 52 43 48 20 20 00 00   >TAL RESEARCH  ..<
  200. 08C0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   >................<
  201. 08D0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   >................<
  202. 08E0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   >................<
  203. 08F0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   >................<
  204.  
  205.      Save this file again, and put it in place of your system tracks.
  206. Now the next time you cold boot, the log in message will be meaningful
  207. and you will automatically run "S $AL".
  208.  
  209. SUMMARY
  210.  
  211.      When you obtain a copy of "EDFILE.COM" make sure to obtain a copy
  212. of the accompanying .DOC file, it is absolutely essential.  Another
  213. feature I have not heretofore mentioned, EDFILE.COM has HELP features
  214. built in!
  215.  
  216.      I also use this method of editing my CP/M system in order to test
  217. my compiled Turbo Pascal files under different size operating systems
  218. (saved on disk as CPM64.COM, CPM63.COM, CPM62.COM, etc.).  Additionally,
  219. I have used this method to change my operating system (changed the
  220. resident CP/M command "USER" to "U", logon procedures, autoload
  221. functions, prompt messages, and different size operating systems with
  222. new logical assignments for my disk drives.  Try this system and I don't
  223. think you'll ever go back to using "XAMN.COM" or "DDT.COM" to modify
  224. your .COM files again!
  225.  
  226.