home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / m / memres41.zip / RESDEL.DOC < prev    next >
Text File  |  1988-07-24  |  11KB  |  253 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                              Ed Jordan 70357,2162
  7.                                   RESDEL.EXE
  8.                            Version 4.1  - July 1988
  9.  
  10.     1.  tablev.exe<cr> - enter from DOS with no ram resident utilities
  11.     2.  resdel<cr>     - to get help message
  12.     3.  resdel \r<cr>  - remove all ram residents and replace vectors
  13.     4.  resdel \n<cr>  - n = 1 to 9; remove one or more utilities
  14.  
  15.     This  program  replaces earlier versions.  The table fix-up routine has
  16.     been rewritten.  Some vectors were not properly located by the  earlier
  17.     versions.
  18.  
  19.     This  program  has  several helpful enhancements.  The program will now
  20.     display the vector numbers which are being  replaced  from  the  backup
  21.     copy  of  the  table.   In  addition,  the  name of the memory resident
  22.     program will be displayed.  I have also taken the liberty of  including
  23.     a  separate  program in this archive which I did not write.  MAP.COM is
  24.     also on CompuServe and is in the public domain.   I  do  not  know  how
  25.     MAP.COM  works.   This  version will allow the user to remove more than
  26.     one utility without replacing the entire vector table.  As noted below,
  27.     there  can still be problems if vectors are redirected by more than one
  28.     utility in a cascade fashion. Be careful or you will have  to  use  the
  29.     red switch.
  30.  
  31.     To  delete  ram  resident  utilities  this the program requires that an
  32.     accurate copy of the default vector table be made as a file on the disk
  33.     where  it  can be located.  I wrote the program to look for this vector
  34.     table file in the root directory of drive (A).  Note: DEBUG.COM  cannot
  35.     be  used  to  make  a copy of the vector table because it redirects the
  36.     vectors just like a memory resident utility does.
  37.  
  38.     The "\R" mode copies the vector table from the file (VECTOR.TBL) to the
  39.     1024  bytes  of  memory  at  0:0.   Then  the  program  deallocates the
  40.     environment blocks and program segment prefix (PSP) blocks from the end
  41.     of  DOS to the beginning of the program itself.  This is all of the RAM
  42.     residents in low memory.  If a resident installs itself in high  memory
  43.     and then readjusts the size of the system memory, this program will not
  44.     work and it will be incompatible.
  45.  
  46.     The "\n" (n = 1 to 9) causes successive memory blocks lower  in  memory
  47.     than  RESDEL.EXE  itself to be removed.  The program locates all of the
  48.     blocks between the parent program (DOS) and itself by reading the chain
  49.     of  memory  blocks.   If  there  are  no intervening blocks between the
  50.     parent program and RESDEL.EXE, no action is taken.  Otherwise, the next
  51.     lower block corresponding to a PSP and its environment block, if found,
  52.     are deleted.  The vector table information present  in  low  memory  is
  53.     searched  for  references to the code segment of the deallocated block.
  54.     These vectors are replaced with the original values.  In this way,  the
  55.     resident  utility  is  effectively  removed  and  the  memory freed for
  56.     further use.  The program then  recycles  until  the  specified  number
  57.     (1-9) of utilities are removed.
  58.  
  59.     A  brief  help  message is displayed if no entry is made on the command
  60.     line or if an incorrect command is given.  If "\0" is entered, only the
  61.  
  62.  
  63.                                     -1-
  64.  
  65.  
  66.                                 resdel.exe
  67.  
  68.  
  69.     title  message  is  displayed.  No action is taken regarding the vector
  70.     table or the utilities in low memory.
  71.  
  72.     GETTING STARTED:
  73.     Boot your system  from  its  basic  configuration  without  any  memory
  74.     resident  utilities  in  place.   This should be the DOS itself running
  75.     with the correct number of files and buffers  and  any  device  drivers
  76.     that you want to have installed.
  77.  
  78.     Then  run  TABLEV.EXE  from  the  DOS  command line.  This program will
  79.     create a file called VECTOR.TBL in the current  directory.   Copy  this
  80.     file  to  the root directory of drive "A:".  This is the default vector
  81.     table that RESDEL.EXE looks for.  The instructions below show how  this
  82.     default location can be changed.
  83.  
  84.     Once this is done, you are ready to load your memory resident utilities
  85.     and then remove them when desired by running RESDEL.EXE  from  the  DOS
  86.     command  line.   RESDEL.EXE will not work as a child process to another
  87.     program other than DOS itself.  For example, it will not run as a child
  88.     process under DEBUG.COM.  The program thinks that the parent segment is
  89.     DOS.  It is really DEBUG instead and you will get an error message.
  90.  
  91.     Caution: Be very careful if the vectors are redirected more than  once.
  92.     Utilities  often redirect a vector that a previously loaded utility has
  93.     already redirected.  In this  situation,  you  will  probably  have  to
  94.     replace  the  entire vector table and start over or keep a special copy
  95.     of the table for a particular situation.  Instead of running TABLEV.EXE
  96.     with clean memory, run it with the utility already loaded that you want
  97.     to keep after a subsequent utility is  removed.   This  will  give  the
  98.     program  the  correct  vector  to  replace when you delete a subsequent
  99.     utility that also redirects the vector.  Otherwise the program replaces
  100.     the vector for a clean memory and the remaining memory resident utility
  101.     then cannot function properly.  You may get system lock-up.  You  could
  102.     have several copies of VECTOR.TBL stored under different names and then
  103.     copied to the  name  VECTOR.TBL  in  a  batch  file  prior  to  running
  104.     RESDEL.EXE.
  105.  
  106.     I  will  try to keep the bugs fixed if I know about them.  I wrote this
  107.     program on an IBM PC model 5150 which has a 1982 ROM upgrade and  a  20
  108.     meg.  hard  drive.   I am including the source code with the program so
  109.     that you may adjust the code for your particular situation if  this  is
  110.     needed.
  111.  
  112.     A  helpful program called MAP.COM (by Dorn W. Stickle) is included with
  113.     this archive.  This program will give you a memory map which will  tell
  114.     you  which  vectors point to which programs.  Using MAP you can see the
  115.     vectors assigned to each program as you load successive utilities.
  116.  
  117.     RIGHTS:
  118.     This  program  is  contributed  to  the  public  domain.   It  may   be
  119.     distributed.  No charge is to be made for these programs although costs
  120.     for magnetic media  may  be  recuperated.   No  warranty  expressed  or
  121.     otherwise  is  provided  with  this  software.   It  is provided as is.
  122.     Defects may be present which  can  prevent  it  from  working  on  your
  123.     particular computer.
  124.  
  125.  
  126.                                     -2-
  127.  
  128.  
  129.                                 resdel.exe
  130.  
  131.  
  132.  
  133.     This group of programs is included:
  134.                                   TABLEV.ASM version 1a
  135.                                   TABLEV.EXE
  136.                                   RESDEL.DOC
  137.                                   RESDEL.EXE
  138.                                   RESDEL.ASM version 4.1
  139.                                   PATCH.BAT
  140.                                   PATCH.INS
  141.  
  142.     For  those  who do not have an assembler and want to change the default
  143.     drive for VECTOR.TBL:
  144.  
  145.                   ren resdel.exe resdel.123<cr>
  146.                   debug resdel.123<cr>
  147.                   ecs:06fb<cr>
  148.                   41.43<cr> ( to make drive C )
  149.                   w<cr>
  150.                   q<cr>
  151.                   ren resdel.123 resdel.exe<cr>
  152.  
  153.     A short batch file  which  provides  this  patch  is  included  in  the
  154.     archive.  Enter "PATCH" to patch the program for drive C.  You may edit
  155.     PATCH.INS to change this patch for a different drive.  Note: VECTOR.TBL
  156.     can  be located in a subdirectory.  Supply the correct path name in the
  157.     PATCH.INS file that is provided.  The path and program name must end in
  158.     a  binary  zero  (asciiz format).  A correct example is provided in the
  159.     PATCH.INS file.  In addition, it is possible  to  change  the  name  of
  160.     VECTOR.TBL  using  the  same  patch and supplying a different name.  Be
  161.     sure that you keep the archive file in a safe place so that you do  not
  162.     accidentally ruin the only copy of these programs that you have.
  163.  
  164.     To  run  PATCH.BAT  you  will  need  to have DEBUG.COM in your path and
  165.     RESDEL.EXE will need to be in the current directory.
  166.  
  167.     TABLEV.EXE has been revised.   A  user  of  a  TANDY  1000  experienced
  168.     difficulty  using  the  earlier  version.   I  hope that the change has
  169.     corrected the problem.  DEBUG.COM cannot be used to make a copy of  the
  170.     vector  table  because it redirects vectors just like a memory resident
  171.     utility.
  172.  
  173.     RESDEL.EXE ERROR MESSAGES:
  174.  
  175.     ** Please do not try to delete DOS
  176.     The program has not found any memory resident utilities between  itself
  177.     in  memory  and  the segment of its parent program.  This is DOS if the
  178.     program is run from the DOS command line.
  179.  
  180.     ** Unrecognized command
  181.     There are two command line switches.  "\n"  and  "\r"   where  n  is  a
  182.     number between 1 and 9.  See the text above.
  183.  
  184.     ** Insufficient memory
  185.     The  program  allocates  1024 bytes to be used as a buffer to store the
  186.     default memory table.  This program should run in 64K of memory.
  187.  
  188.  
  189.                                     -3-
  190.  
  191.  
  192.                                 resdel.exe
  193.  
  194.  
  195.  
  196.     ** Warning: Vector not located
  197.     Should the program try to remove a utility from memory and yet not find
  198.     a  vector  in  the table that points to that memory block, this message
  199.     will be displayed.  A memory block is removed but vectors have not been
  200.     redirected.  I have seen this message when a utility has redirected all
  201.     of the vectors that a previously loaded utility had captured.
  202.  
  203.     ** Error freeing allocated memory block
  204.     An error occurred when DOS tried to return a block  of  memory  to  the
  205.     system pool.
  206.  
  207.     ** VECTOR.TBL not found.
  208.     The  default  copy  of  the  vector  table  could  not be located.  Run
  209.     TABLEV.EXE from the command line with DOS in its  clean  configuration.
  210.     No memory resident utilities installed.  See text above.
  211.  
  212.     ** Warning: SHARE.EXE installed
  213.        Do you wish to proceed? (Y/N)
  214.     SHARE.EXE  changes  some of DOS below COMMAND.COM in low memory.  It is
  215.     best to reboot if you see  this  message.   To  continue  may  redirect
  216.     interrupt  2F  which  is  used by SHARE.EXE but it does not correct the
  217.     other  changes.   Your  system  may  not  function  correctly  in  this
  218.     situation.  Note: interrupt 2F is supported by DOS 3.0
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.                                     -4-
  253.