home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / BASIC / BASIC00.ZIP / DOS.MOD < prev    next >
Encoding:
Text File  |  1987-01-11  |  6.5 KB  |  178 lines

  1. ******************************************************************
  2.            RESIDENT COMMAND INTERPRETER
  3.  
  4.   BY JOHN CHAPMAN 844 S.  MADISON ST.  HINSDALE, ILLINOIS 60521
  5.              COMPUSERV ID 7025,1217
  6. ******************************************************************
  7.  
  8.         DISCLAIMER
  9.  
  10. This  modification  is provided without warranty of any kind.  The
  11. Author assumes no liability for failure of this code to perform in
  12. any  environment.   The  user  is   completely   responsible   for
  13. determining the applicability of this modification to a particular
  14. environment.  
  15.            
  16.         LIMITATIONS
  17.  
  18. This  modification  causes the transient portion of COMMAND.COM to
  19. be made resident at SYSTEM IPL.  Re-booting  the  system  with  an
  20. unmodified   COMMAND.COM   is   the   only   way  to  remove  this
  21. modification.
  22.  
  23. This  modification alters the starting segment [paragraph] address
  24. available to programs, Lowering the amount  of  storage  available
  25. by  4288  bytes [for PC/DOS 1.1 with a normal load segment address
  26. of 02C1.  The starting segment of  COMMAND.COM  can  be  found  at
  27. location 0000:9E, and should display [DEBUG] as 
  28.  
  29.         0000:009E 2C 01
  30.          
  31. This  set  of  two  DEBUG  scripts  will  alter  the  IBM Personal
  32. Computer DOS COMMAND Interpreter (COMMAND.COM) to remain  entirely
  33. resident,  rather  than  be half resident and half transient.  The
  34. whole purpose of this modification  is  to  suppress  99%  of  the
  35. occurrances  of  the  refresh of the transient portion.  This will
  36. remove the  requirement  to  always  have  a  disk  with  a  valid
  37. COMMAND.COM  in  drive  A.  This change has been especially useful
  38. with  multiple  diskcopy   type   activities,   and   with   those
  39. application  packages  which  use all of memory, including the top
  40. 4880 bytes where the transient COMMAND.COM resides.
  41.  
  42.         **NOTE**
  43.  
  44. We   have   experienced  a  limited  number  of  cases  where  the
  45. refreshable,  or  transient  portion  of  COMMAND.COM,  which  now
  46. resides  in  low memory, has been damaged.  This damage causes the
  47. checksum code to refresh the transient portion from disk.  If  you
  48. experience  repeated  occurances  of  this,  see  part two of this
  49. modification.
  50.  
  51.         PART ONE  
  52.  
  53. Begin  installation  by  copying  the  "model" PC/DOS diskette you
  54. wish to modify onto a fresh diskette using DISKCOPY.  If  you  are
  55. producing  a  system  diskette  that  will  not have a copy of the
  56. DEBUG  command  on  it,  you  must  have  a  diskette  with  DEBUG
  57. available.
  58.  
  59.         PART ONE: DEBUG SCRIPT  
  60.         DEBUG COMMAND.COM <CR>
  61.         -D,44D,450 <CR>
  62.         XXXX:44D 04 01 00
  63.         XXXX:450 00
  64.         -D,3ED,3EE <CR>
  65.         XXXX:3ED 01 00
  66.  
  67.         -D,0460,0479 <CR>
  68.         XXXX:0460 46 00 A3 03 01 A1 02 00-8C 1E 05 01 A3 52 04 2D
  69.         -D,10D3,10D7
  70.         XXXX:10D3 8C C8 05 C0 00
  71.  
  72. **Verify  the above displayed bytes.  The contents of this display
  73. must match exactly.  If any discrepancies  are  detected,  do  not
  74. install any of the patch which follows.
  75.  
  76.         -E,3ED,00 <CR>
  77.         -E,44F,54,00 <CR>
  78.         -E,103,61,01 <CR>
  79.         -E,45F,01,06,4F,04,01,06,03,01 <CR>
  80.         -E,467,8C,1E,05,01,A1,02,00 <CR>
  81.         -E,46E,A3,52,04,90,90,90,90,90 <CR>
  82.         -E,479,90,90,90 <CR>
  83.         -E,658,A1,02,00,2B,06,9F,0F <CR>
  84.         -E,65F,BA,10,00,F7,E2,90,71,03 <CR>
  85.         -E,10D3,A1,02,00,2D,02,00 <CR> 
  86.  
  87. The above enters the first section of the patch.
  88.  
  89. Next,  we will display the modified code, to verify that the patch
  90. was correctly installed:
  91.  
  92.         -U,045D,047B <CR>
  93.              MOV  AX,CS   
  94.              ADD  [044F],AX
  95.              ADD  [0103],AX 
  96.              MOV  [0105],DS
  97.              MOV  AX,[0002]
  98.              MOV  [0452],AX
  99.              NOP
  100.              NOP
  101.              NOP
  102.              NOP
  103.              NOP
  104.              CALL 0294
  105.              NOP
  106.              NOP 
  107.              NOP
  108.         
  109.         -U,0656,0665 <CR>
  110.              INT  21
  111.              MOV  AX,[0002]
  112.              SUB  AX,[0F9F]
  113.              MOV  DX,0010
  114.              MUL  AX,DX
  115.              NOP        
  116.              JNO  066A
  117.  
  118. Be   sure   that   the  above  matches  the  display  produced  by
  119. "UNASSEMBLE" on your machine.
  120.  
  121.         -W <CR>
  122.          WRITING 135F BYTES  
  123.         -Q <CR>
  124.         A> * When the "A" prompt appears you are ready to reboot..
  125.  
  126. You  should use this modification with only this portion installed
  127. unless you encounter any of the problems described in  the  second
  128. section.   Please  do  not  install  part two of this modification
  129. unless you  experience a problem using part one by itself.  
  130.  
  131.           PART TWO: REFRESH SUPPRESSION
  132.  
  133. We  have experienced a limited number of cases where the 'refresh'
  134. of the transient portion of COMMAND.COM, which now resides in  low
  135. memory,  has  been  damaged.  This damage causes the checksum code
  136. to refresh the transient portion from disk.   The changes provided
  137. in part two allow specific protection  against the damage possible
  138. in an environment  where  a  program[s]   has  been  written  with
  139. specific architecture dependencies.
  140.  
  141. If,  and  only if, you receive the "INSERT DOS DISK IN DRIVE A AND
  142. STRIKE ANY KEY WHEN READY" message, or  see  that  an  unsolicited
  143. I/O  has  occurred on the default drive during program execution..
  144. and one of these occurances is followed by a system "hang".  
  145.  
  146. If  it becomes necessary to apply part two, please document to the
  147. author the circumstances  that  caused  the  hang,  including,  if
  148. possible,  the  [source]  program  that  was  executing.   If  the
  149. software you were using is proprietary, please  indicate:  A)  The
  150. package  name,  vendor,  etc.  B) The memory size on your machine,
  151. and C) The language used to produce the program which  caused  the
  152. modified command interpreter to "hang".
  153.  
  154. **PLEASE REPORT BUGS** To the address/ID shown on the first  page.
  155.  
  156.         PART TWO: DEBUG SCRIPT 
  157.  
  158.         DEBUG COMMAND.COM  <CR>
  159.         -D,111B,111E <CR>
  160.         XXXX:111B 3B D1 77 51
  161.         -D,1134,1137 <CR>
  162.         XXXX:1136 3B D1 77 38
  163.  
  164. As  before, be sure that the displays above match your system, and
  165. do not enter the patch below unless each byte verifies.
  166.  
  167.         -E,023A,90,90 <CR>
  168.         -E,0242,90,90 <CR>
  169.         -E,0246,90,90 <CR>
  170.         -E,111D,90,90 <CR>
  171.         -E,1136,90,90 <CR>
  172.         -W <CR> 
  173.          WRITING 135F BYTES
  174.         -Q <CR>
  175.         A>  *** Reboot at this point ***
  176. ******************************************************************
  177.                                                             
  178.