home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / SOFTIC~1.ZIP / DOC-TXT.ZIP / ADDENDUM next >
Text File  |  1992-05-24  |  29KB  |  854 lines

  1.  
  2.  Soft-ICE 2.5 Addendum
  3.   
  4.     CONTENTS
  5.   Introduction ..............................................4
  6.   Product Description (1.1) .................................5
  7.   The Diskettes (2.1) .......................................7
  8.   Loading Soft-ICE (2.2).....................................8
  9.   Using Soft-ICE with BOUNDS-CHECKER (New feature)...........9
  10.          Loading BOUNDS-CHECKER to use with Soft-ICE
  11.          2.5.................................................10
  12.          Running Soft-ICE 2.5 with BOUNDS-CHECKER............11
  13.          The Soft-ICE BOUNDS Command.........................11
  14.   Overlay Support (New feature of BPX and G commands)........13
  15.   32 Bit Dis-assembly and Register Display (5.1 - R command).14
  16.   STACK Command (New command) ...............................14
  17.   SHOW Command (5.6).........................................15
  18.   FILE Command (5.10)........................................15
  19.   Preparing for Symbolic or Source Debugging(7.2)............17
  20.          Microsoft and Turbo Source/Symbolic
  21.          Improvements........................................17
  22.   Loading Programs and Symbol Files (7.4 and new TABLE
  23.   command)...................................................19
  24.          Multiple Symbol Tables .............................19
  25.   Tabs Control (New TABS command)............................20
  26.   Remote Debugging (New feature and new SERIAL
  27.   command)...................................................21
  28.   486 Support (New feature)..................................22
  29.   Special Configuration Options (6.4.1)......................23
  30.          Soft-ICE color support..............................23
  31.   Expanded Memory Support (8)................................25
  32.          EMMSETUP.EXE Changes................................25
  33.          
  34.   2 Soft-ICE 2.5 Addendum
  35.  
  36.  
  37.  
  38.  
  39.   Loading High Of Resident Programs (New feature) .......... 26
  40.   Loading High Of MS-DOS Loadable Device Drivers
  41.    (New feature) ........................................... 27
  42.   Adding High Memory to MS-DOS (New feature). .............. 28
  43.   VCPI Support (New feature) ............................... 28
  44.   CONFIG.SYS Editor (New feature) .......................... 30
  45.   Back Door Commands (New feature) ......................... 32
  46.                   
  47.  
  48.  Soft-ICE Addendum 3
  49.  
  50.  Introduction
  51.  
  52. This release memo is an addendum to the Soft-ICE 2.0 User's Guide. It
  53. describes the differences between the Soft-ICE 2.0 User's Guide and the
  54. Soft-ICE 2.5 release. When this memo is referring to enhancements or
  55. changes made to features that existed in the Soft-ICE 2.0 User's Guide,
  56. the memo headings will include, in parenthesis, the chapter number of the
  57. corresponding information in the Soft-ICE 2.0 User's Guide. Please read
  58. both the Soft-ICE 2.0 User's Guide and this release memo.
  59.  
  60.      4 Soft-ICE Addendum
  61.  
  62.  Product Description ( 1, 1 )
  63.  
  64. There have been many features added to the Soft-ICE 2.5 release. The
  65. principal features are that Soft-ICE:
  66.  
  67.      * integrates with BOUNDS-CHECKER.
  68.      * reads symbolic and source information directly
  69.        from the .EXE header from Microsoft &
  70.        Borland languages.
  71.      * has overlay support for Microsoft's LINK and
  72.         Pocket Soft's .RTLink/Plus.
  73.      * can have two symbol tables loaded at the same
  74.        time.
  75.      * allows 386 32-bit instruction dis-assembly and
  76.         32-bit register dump.
  77.      * is Microsoft C version 6 compatible.
  78.      * provides numeric processor dis-assembly.
  79.      * lets device drivers and T&SR programs load
  80.          high
  81.      * includes some additional commands:
  82.         BOUNDS, TABS, STACK, SERIAL.
  83.      * includes enhancements to some existing
  84.         commands: R, FILE, SHOW, BPX, G.
  85.      * has VCPI support.
  86.  
  87.       Soft-ICE Addendum 2.5      5
  88.      
  89.      * allows remote debugging
  90.      * has 80486 support.
  91.      * allows customizes Soft-ICE window colors.
  92.  
  93.  
  94.            6 Soft-ICE 2.5 Addendum
  95.  
  96.  The Diskettes (2, 1),
  97.  
  98. A directory of a Soft-ICE 2.5 diskette will now show the following
  99. additional files:
  100.      \NEW\LH.
  101.      \NEW\LD.SYS
  102.      \NEW\ADDHI.EXE
  103.      \NEW\CE.EXE
  104.      \IOSIM.ASM
  105.  
  106. LH.EXE is a utility that loads high T&SRs. LD.SYS is a utility that loads
  107. high DOS loadable device drivers. ADDHI.EXE is a utility that adds high
  108. memory to DOS memory chain. CE.EXE is the CONFIG.SYS editor. IOSIM.ASM is
  109. an example of a user qualified break point. It will take a BPIO break
  110. point and log all the values that were written to or read from that port.
  111.  
  112.       Soft-ICE 2.5 Addendum 7
  113.  
  114.  Loading Soft-ICE (2.2)
  115.  
  116. Follow the installation instructions in the Soft-ICE 2.0 User's Guide to
  117. copy all the files from the root directory of the distribution diskette to
  118. your Soft-ICE directory on your hard disk. In addition, copy the files
  119. from the /WW directory on the distribution diskette to your Soft-ICE
  120. directory on your hard drive; these files are new with the Soft-ICE 2.5
  121. release.
  122.           Note
  123.              If you were previously using Soft-ICE
  124.              2.0 with the /EMM option on the S ICE command line in   
  125. CONFIG.SYS,
  126.              you need to run EMMSETUP. Since
  127.              EMMSETUP writes configuration
  128.              information directly into the S ICE.EXE file, this  
  129.              information was
  130.              over-written when you loaded Soft ICE 2.5.
  131.  
  132.       8 Soft-ICE 2.5 Addendum
  133.  
  134.  Using Soft-ICE with BOUNDS-CHECKER (New feature)
  135.  
  136.  Introduction
  137.  
  138. BOUNDS-CHECKER gives you the protection of a protected mode operating
  139. system under MS-DOS. When your program is running, BOUNDS-CHECKER protects
  140. your program's CODE and all memory outside your program. When an MS-DOS
  141. system call or BIOS call or interrupt occurs, BOUNDS-CHECKER prevents the
  142. system software from corrupting your program. So BOUNDS-CHECKER can not
  143. only detect problems caused by your program, it can also determine if a
  144. T&SR or other program is clobbering you.
  145.  
  146. Each time you make a change to your program, run BOUNDS-CHECKER while
  147. testing the new code. Your program runs at full speed, and if you
  148. accidentally access out-of-bounds memory, BOUNDS-CHECKER pops up
  149. displaying the offending source line.
  150.  
  151. Using Soft-ICE in combination with BOUNDSCHECKER is very useful when the
  152. bug found by BOUNDS-CHECKER is not clearly self-explanatory. You may need
  153. to use Soft-ICE to look at data, to debug a little, or to rerun the
  154. program with Soft-ICE's back trace capability to determine why the out-of-
  155. bounds access occurred..
  156.  
  157.  
  158.   Soft-ICE 2.5 Addendum         9
  159.  
  160.  
  161. Loading BOUNDS-CHECKER to use with Soft-ICE 2.5
  162.  
  163. To use BOUNDS-CHECKER with Soft-ICE 2.5, you must first:
  164.  
  165. 1. Install BOUNDS-CHECKER on your hard
  166.       disk using the BOUNDS-CHECKER
  167.       installation program (BCSETUP.EXE).
  168. 2. Replace the DEVICE=d:\path\BC.SYS line
  169.       in your CONFIG.SYS file with
  170.       DEVICE=d:\path\S-ICE.EXE.
  171.       Use the same parameters that were on the
  172.       BC.SYS command line. In addition, you may
  173.       want to use the /TRA nnnn parameter to
  174.       create a back trace buffer larger than 10K.
  175.       You may also need to increase the size of your
  176.       /SYM nnnn parameter to allow your source
  177.       and your symbols to be loaded.
  178.            Notes
  179.               You do not need the /BC switch on
  180.               the DEVICE=d:/path /S-ICE.EXE
  181.               line in CONFIG.SYS as the
  182.               BOUNDS-CHECKER manual states.
  183.               You must have Soft-ICE version 2.5
  184.               or greater and BOUNDS-CHECKER
  185.               version 1.1 or greater for them to
  186.               coexist.
  187.  
  188.  
  189.  10 Soft-ICE 2.5 Addend
  190.  
  191.  Running Soft-ICE 2.5 with BOUNDSCHECKER
  192.  
  193. Run BOUNDS-CHECKER. When BOUNDSCHECKER pops up, if you want to enter Soft-
  194. ICE to do further debugging, select Options on the main menu, then select
  195. Soft-ICE. To re-enter BOUNDS-CHECKER, simply exit Soft-ICE with the hot
  196. key sequence or the X command.
  197.  
  198. If you don't have enough extended memory to run BOUNDS-CHECKER, you can
  199. save space by running BOUNDS-CHECKER with option /S in this form:
  200.  
  201.      BC /S program-name
  202.  
  203. This stops source from loading up into extended memory for use by Soft-
  204. ICE. The disadvantage is that Soft-ICE will show line numbers, but will
  205. not show source code.
  206.            Note
  207.               Soft-ICE range break points and back
  208.               trace ranges will be disabled while the
  209.               BOUNDS-CHECKER is running.
  210.  
  211. The Soft-ICE BOUNDS Command
  212.  
  213. The new command, BOUNDS, is used for turning BOUNDS-CHECKing on and off
  214. from within SoftICE. This is useful if you want to stop to do some
  215. debugging from within a BOUNDS-CHECKER
  216.  
  217.          Soft-ICE 2.5 Addendum 11
  218.  
  219.  session, then return to BOUNDS-CHECKing after you have debugged a portion
  220. of the program.
  221.  
  222. The syntax of the BOUNDS command is:
  223.  
  224.     BOUNDS [ON | Off]
  225.  
  226. BOUNDS OFF turns off BOUNDS-CHECKing, and BOUNDS-ON turns BOUNDS-CHECKing
  227. back on. If no parameters are specified, then the current state is
  228. displayed.
  229.  
  230.  
  231.   12 Soft-ICE 2.5 Addendum
  232.  
  233.    Overlay Support (New feature of BPX and G commands)
  234.  
  235. The Soft-ICE BPX break point will follow overlays produced by the
  236. Microsoft linker or.RTLink/Plus.
  237.  
  238. The BPX and G commands allow you to use break points in overlays. Other
  239. break point types do not follow overlays. To use BPX to set a break point
  240. in an overlay, you must type:
  241.  
  242.             BPX routine_name
  243.  
  244. Other forms of BPX, such as using source line numbers or setting BPX using
  245. point-and-shoot, do not follow break points in overlays.
  246.  
  247.  Soft-ICE 2.5 Addendum 13
  248.  
  249.  32 Bit Dis-assembly and Register Display (5.1 - R command)
  250.  
  251. Soft-ICE now displays 32 bit 80386 instructions properly. The Dis-assembly
  252. is always enabled. To enable 32 bit register display in the data window
  253. enter:
  254.  
  255.                R 32
  256.  
  257. This toggles between 16 bit and 32 bit registers.
  258.  
  259. STACK Command (New command)
  260.  
  261. Soft-ICE 2.5 now allows you to display the call stack. A call stack is a
  262. list of routines that were called to reach the current address. Using the
  263. call stack is especially useful when Soft-ICE pops up in a library
  264. routine. By using the call stack, you can quickly see the last routine in
  265. your program that had control before entering the library, even if the
  266. program is several levels deep into library calls.
  267. The most recently called entry in the stack is displayed first in the
  268. command window.
  269.  
  270. The format of the call stack is:
  271.  
  272.         procedure(offset) [line-number]
  273.  
  274. If line-number is a '?' then no line number information was available for
  275. this procedure.
  276.  
  277.   14 Soft-ICE Addendum
  278.  
  279.  The STACK command can only be used if symbolic information is loaded.
  280. If the module of an entry in the call stack was not compiled with debug
  281. information, no symbolic label will be displayed. Only a hexadecimal
  282. offset will be shown.
  283.  
  284. SHOW Command (5.6)
  285.  
  286. The SHOW command has been enhanced to allow you to dump large amounts of
  287. back traced instructions to the printer.
  288. The new syntax for SHOW is:
  289.  
  290.        SHOW [B | start] [L length]
  291.       B - start at beginning of buffer
  292.       start - number of instructions back to begin
  293.       length - number of instructions to display
  294.  
  295. If SHOW is used with the length argument, you can use CTRL P to dump the
  296. Dis-assembled source to the printer. If you don't specify B or start, it
  297. starts displaying at the current location.
  298.  
  299.  FILE Command (5.10)
  300.  
  301. The FILE command has been enhanced. The new syntax for FILE is:
  302.  
  303.         FILE [file-name |*]
  304.  
  305.          Soft-ICE 2.5 Addendum 15
  306.  
  307.  FILE * displays all source files that have been loaded by LDR.EXE into
  308. extended memory.
  309.  
  310. To switch to a new file with the FILE command you no longer have to type
  311. the full path name or file extension. For example, to switch to file
  312. C:\SOURCE\FOO.C, pop up Soft-ICE and enter FILE FOO.
  313.  
  314.   16 Soft-ICE 2.5 Addendum
  315.  
  316.  Preparing For Symbolic or Source Debugging (7,2)
  317.  
  318.  Microsoft and Turbo Source/Symbolic Improvements
  319.  
  320. Soft-ICE 2.5 has made source and symbolic improvements for users of
  321. Microsoft or Turbo languages.
  322.  
  323. Soft-ICE can now get the symbolic and source information directly from the
  324. .EXE file if there is Microsoft CodeView compatible or Turbo Debug
  325. compatible debug information in the.EXE file. MSYM.EXE, the.MAP file, and
  326. the.SYM file are no longer needed if the debug records are present.
  327. With Microsoft, compile with /Zi and link with /CO. With Turbo, compile
  328. with /v and link with /v.
  329.  
  330. The /CO switch makes the linker append symbolic information to the end of
  331. your.EXE file. although this will make your.EXE file grow in size, this
  332. will not affect the amount of conventional memory required by your
  333. program.
  334.  
  335.          Soft-ICE 2.5 Addendum
  336.  
  337.  Note
  338.    MSYM.EXE is useful when you are
  339.    using a compiler that produces a
  340.    Microsoft Link compatible .MAP file,
  341.    but does not place Microsoft
  342.    compatible debug information in the
  343.    .EXE file.
  344.  
  345. 18 Soft-ICE Addendum
  346.  
  347.  Loading Programs and Symbol Files (7,4 and new TABLE command),
  348.  Multiple Symbol Tables
  349.  
  350. Soft-ICE 2.5 can now handle two symbol tables. This is useful when
  351. debugging a T&SR or DOS loadable device driver with an application, or
  352. debugging a shell with a child process.
  353.  
  354. To load a separate symbol table or a separate program with symbols use the
  355. Soft-ICE TABLE command. TABLE 1 uses symbol table number one, TABLE 2 uses
  356. symbol table number 2.
  357.  
  358. To use two symbol tables, do the following:
  359.  
  360.        1. Use LDR to load your first program and
  361.            symbolic information.
  362.        2. Pop up Soft-ICE.
  363.        3. Enter TabLE 2.
  364.        4. Exit Soft-ICE.
  365.        5. Use LDR.EXE to load the second symbol
  366.           table.
  367.  
  368. Both sets of symbolic information are now loaded into extended memory and
  369. you are currently viewing the second set of symbolic information. Use the
  370. TABLE 1 and TABLE 2 commands to toggle between which set of symbolic
  371. information you are currently viewing.
  372.  
  373. To view your first program's symbolic information, pop up Soft-ICE if it's
  374. not up already, and enter:
  375.  
  376.          Soft-ICE 2.5 addendum
  377.  
  378.  
  379.            TABLE 1
  380.  
  381. To view your second program's symbolic information, pop up Soft-ICE if
  382. it's not up already, and enter:
  383.  
  384.          TABLE 2
  385.  
  386. If you enter TABLE without any parameter, it will tell you which set of
  387. symbolic information is currently being viewed.
  388.  
  389.            Note
  390.                  When you re-load table 1 by entering
  391.                  TABLE 1 then loading with LDR,
  392.                                table 2 is invalidated.
  393.  
  394.  
  395. Tabs Control (New TABS command)
  396.  
  397. Soft-ICE 2.5 allows you to control tab expansion size of source files.
  398. Previous versions of Soft-ICE assumed tabs of every 8. The syntax for the
  399. TABS command is:
  400.  
  401.                 TABS [2 | 4 | 8]
  402.  
  403. If no parameter is specified then the current tabs setting is displayed.
  404. An interesting use of the TABS command is to see more than 78 characters
  405. of source on a single line. To do this enter TABS 2.
  406.  
  407.   20 Soft-ICE 2.5
  408.  
  409.  Remote Debugging (New feature and new SERIAL command)
  410.  
  411. Soft-ICE is capable of displaying all of the information from the command
  412. window over a serial port. The hot key is still activated via the system
  413. keyboard but once Soft-ICE is popped up, both the system and the remote
  414. keyboard will be active. To activate remote debugging use the following
  415. sequence:
  416.  
  417. 1) Set the BAUD rate with the DOS MODE
  418.          command to the same baud rate as the remote
  419.          terminal. 
  420. 2) Within Soft-ICE, set PRN to the correct serial
  421.          port.
  422.  
  423.             Example: PRN COM1
  424.  
  425. 3) Within Soft-ICE, enter SERIAL ON. At this
  426.          point, you may enter information on either
  427.          keyboard, and the command window output
  428.          will go to both screens.
  429. 4) You will probably want to get rid of your Code,
  430.          Data and Register windows as these will not be
  431.          displayed across to the remote terminal.
  432. 5) If you do not want the Soft-ICE screen up on
  433.          the host machine then turn ALTSCR ON from
  434.          within Soft-ICE.
  435.  
  436.  
  437.  
  438.         Soft-ICE 2.5 Addendum 21
  439.  
  440.  486 Support (New Feature)
  441.  
  442. Soft-ICE 2.5 now has 80486 support. Previous versions did not, due to
  443. anomalies with the 80486 processor. Also 486 instructions will be
  444. disassembled correctly
  445.  
  446.    22 Soft-ICE 2.5 Addendum
  447.  
  448.  Special Configuration Options (6.4.1)
  449.  
  450.  Soft-ICE color support
  451.  
  452. Soft-ICE 2.5 now allows you to specify the screen colors for the Soft-ICE
  453. windows.
  454.  
  455. To set colors for the different windows in Soft-ICE you must use the
  456. COLORS directive in the S-ICE.DAT file. The syntax of the COLORS command
  457. is:
  458.  
  459. COLORS = "nnH,nnH,nnH,nnH,nnH,nnH, nnH,nnH,nnH,nnH,nnH,nnH
  460.  
  461. where nn is a HEX number. There are four sets of three numbers. Each
  462. grouping of three affects the colors of a particular window. The ordering
  463. for the four Soft-ICE windows is:
  464.  
  465. COLORS register-window, data-window, code-window, command-window
  466. Each grouping of three HEX numbers controls the normal attribute,
  467. highlight attribute and reverse attribute for the respective window. The
  468. actual number is the value that is placed in the attribute field in the
  469. video frame. The high order nibble is the background color and the low
  470. order nibble is foreground color. The colors are:
  471.  
  472. 0 - black 1 - blue 2 - green
  473.  
  474. 23 Soft-ICE Addendum
  475.  
  476. 3 - cyan 4 - red 5 - magenta 6 - brown 7 - gray
  477. 8-0F are intense versions of the above.
  478.  
  479. An example of the colors command is:
  480. COLORS = "47H,4EH,7EH, 07H,OFH,70H, 17H,lFH,71H,30H,3FH,71H"
  481.  
  482.  
  483.    24 Soft-ICE 2.5 Addendum
  484.  
  485.  Expanded Memory Support (8)
  486.  
  487. The expanded memory manager has been enhanced in Soft-ICE 2.5, and
  488. utilities are now provided to load device drivers and T&SR programs into
  489. extended memory. (The expanded memory manager is enabled with the /EMM
  490. command when S-ICE.EXE is placed in your CONFIG.SYS.)
  491.  
  492.          EMMSETUP.EXE Changes
  493.  
  494. Running EMMSETUP.EXE (the expanded memory manager setup program) now
  495. requires a command line parameter that specifies the name of the expanded
  496. memory manager file. The syntax for running EMMSETUP is:
  497.  
  498.      EMMSETUP file-name
  499.  
  500. The file-name parameter should be S-ICE.EXE. EMMSETUP can also be used
  501. with MagicCV release 3.0, in which case the parameter should be
  502. NUMEGA.SYS. This parameter is required because EMMSETUP writes the
  503. configuration information directly into the driver file.
  504. EMMSETUP now has the option of enabling memory blocks for loading high of
  505. device drivers and T&SR programs. You must select this feature on
  506. EMMSETUP's initial screen.
  507.  
  508. The EMMSETUP configuration memory map now has more choices. You can choose
  509. F for page frame, and H
  510.  
  511.          Soft-ICE 2.5 Addendum 25
  512.  
  513.  for high memory areas. To enable expanded memory you must have 4 and only
  514. 4 contiguous F's above 640K. To load high device drivers or T&SRs you must
  515. place H's in UN-occupied memory blocks above 640K.
  516.           Note
  517.               If you want to load high device drivers
  518.               & T&SR programs, but do not want
  519.               EMM (expanded) memory, then make
  520.               sure there are no E's or F's in the
  521.               memory map.
  522.  
  523.  
  524. Loading High Of Resident Programs (New feature)
  525.  
  526. The LH.EXE utility allows loading certain  resident programs into
  527. available memory blocks between 640K and I megabyte. Before using LH.EXE
  528. you must reserve memory for loading high using EMMSETUP.EXE. This is done
  529. by placing an 'H' in each memory block above 640K that you wish to have as
  530. a load high area.
  531. To load a resident program high enter:
  532.  
  533.       LH program-name [program parameters]
  534.  
  535. If there is a high memory block large enough to hold the program, the
  536. program will be loaded into it.
  537.  
  538. If no program-name follows LH on the command line, a memory map is
  539. displayed of the DOS loadable device
  540.  
  541.  26 Soft-ICE 2.5 Addendum
  542.  
  543. drivers and resident programs loaded high along with available memory.
  544.           Note
  545.              You can not load all resident
  546.              programs with LH.EXE. You must
  547.              experiment to see which programs can
  548.              be loaded high.
  549.  
  550. Loading High Of MS-DOS Loadable Device Drivers (New feature)
  551.  
  552. The LD.SYS utility allows loading certain MS-DOS loadable device drivers
  553. into available memory blocks between 640K and I megabyte. Before using
  554. LD.SYS you must reserve memory for loading high using EMMSETUP.EXE. This
  555. is done by placing an 'H' in each memory block above 640K that you wish to
  556. have as a load high area.
  557.  
  558. To load an MS-DOS loadable device driver high, you must place the
  559. following line in your CONFIG.SYS file:
  560.  
  561. DEVICE = \path\LD.SYS device-name [parameters]
  562.        path - Path containing LD.SYS
  563.        device-name - Name of DOS Loadable
  564.                device driver including path
  565.  
  566. If there is a high memory block large enough to hold the device driver,
  567. the program will be loaded into it when you boot.
  568.  
  569.          Soft-ICE 2.5 Addendum 27
  570.  
  571.  To display a memory map of DOS loadable device drivers and resident
  572. programs loaded high use the LH utility with no parameters from DOS.
  573.           Note
  574.              You can not load all DOS loadable
  575.              device drivers high. You must
  576.              experiment to see which drivers can be
  577.              loaded high. Make sure you have a
  578.              boot disk handy While experimenting.
  579.  
  580.  Adding High Memory to MS-DOS (New feature)
  581.  
  582. The ADDHI.EXE utility allows you to add high memory areas to the DOS pool
  583. of free memory. Before using ADDHI.EXE you must reserve memory for adding
  584. high using EMMSETUP.EXE. This is done by placing an 'H' in each memory
  585. block above 640K that you wish to have as a add high area.
  586.  
  587. VCPI Support (New feature)
  588.  
  589. VCPI (Virtual Control Program Interface) is automatically enabled when you
  590. use the /EMM switch on the S-ICE.EXE line in CONFIG.SYS. VCPI support lets
  591. you run VCPI applications that use DOS extenders when Soft-ICE is loaded.
  592. It does not allow you to debug these applications in protected mode. VCPI
  593. conforming applications include Lotus 123 version 3.0 and Autocad.
  594.  
  595.   28 Soft-ICE 2.5 Addendum
  596.  
  597.  VCPI support does NOT enable Soft-ICE to run with
  598.  other VCPI control programs, such as Quarterdeck's QEMM and Qualitas's
  599. 386MAX.
  600.  
  601.  
  602. Soft-ICE 2.5 Addendum 29
  603.  
  604.  CONFIG.SYS Editor (New feature)
  605.  
  606. CONFIG EDIT (CE.EXE) is an on-the-fly text editor for CONFIG.SYS. CONFIG
  607. EDIT is useful if you have to make occasional changes to your CONFIG.SYS.
  608. It is especially useful if you suspect that a driver in CONFIG.SYS may
  609. hang the system. It is advisable to use CONFIG EDIT when installing
  610. SoftICE in your CONFIG.SYS for the first time.
  611. Install CONFIG EDIT by placing CE.EXE as the first DEVICE = line in your
  612. CONFIG.SYS file. For example:
  613.  
  614.      DEVICE = /S-ICE /CE.EXE
  615.  
  616. When your system boots, you will hear a tone. After the tone, you have a
  617. short time to press any key. If you press a key CE will take over and
  618. allow you to edit CONFIG.SYS.
  619.  
  620. When you have edited your CONFIG.SYS file, you may exit CE by pressing one
  621. of the following keys:
  622.        F1 Pressing F1 exits and changes
  623.               CONFIG.SYS for this boot only. The
  624.               changes are not permanent.
  625.        F10 Pressing F10 exits and changes
  626.               CONFIG.SYS for this boot and
  627.               subsequent boots.
  628.        ESC Pressing ESC exits with no changes
  629.  
  630.  30 Soft-ICE 2.5 Addendum
  631.  
  632. CE can also be run From the DOS command line. This is for a quick look or
  633. quick changes to CONFIG.SYS. Simply enter CE from the DOS command line.
  634. The /Q switch (Quiet) will disable the initial sound made by CE. when it
  635. is installed in CONFIG.SYS.
  636.  
  637.  Soft-ICE 2.5 Addendum 31
  638.  
  639.  Back Door Commands (New feature)
  640.  
  641. Soft-ICE 2.5 contains commands for controlling SoftICE from an MSDOS
  642. program. A program can take advantage of powerful break points for special
  643. debugging jobs or hardware simulation projects.
  644.  
  645. These calls all have the following calling sequence:
  646.       MOV AH,09
  647.       MOV AL,SUB-FUNCTION
  648.       MOV SI,'FG'
  649.       MOV DI,'JM'
  650.       INT 3
  651. The sub-functions are available:
  652.         AL value Description
  653.         10H Display information in the Soft-ICE
  654.                window.
  655.         11H Do a Soft-ICE command.
  656.         12H Get break point information.
  657.         13H Set Soft-ICE break point.
  658.         14H Remove a Soft-ICE break point.
  659. The following paragraphs give more detailed information about these
  660. subfunctions.
  661.  
  662.   32 Soft-ICE 2.5 Addendum
  663.  
  664.  AL = 10H --Display Information In the Soft-ICE window.
  665. This is useful for diagnostic writes - especially from within interrupt
  666. routines and other areas that may have reentrancy concerns.
  667.  
  668. Input: DS:DX - > Zstring of text characters to be
  669.        displayed
  670.  
  671. The Zstring can be a maximum of 100 characters and can contain carriage
  672. returns (0DH).
  673.  
  674.  AL = 11H -- Do a Soft-ICE command.
  675.  
  676. This allows you to generate a Soft-ICE command from your program. This is
  677. used for all non-break point commands. To set Soft-ICE break points from
  678. your program see AL = 13H below.
  679.  
  680. Input: DS:DX - > Zstring that contains a Soft-ICE
  681.          command.
  682.  
  683. The Zstring can be a maximum of 100 characters. Each Soft-ICE command in
  684. the string should end with a carriage return (0DH).
  685.  
  686.         Soft-ICE 2.5 Addendum 33
  687.  
  688.  AL = 12H -- Get break point Information.
  689.  
  690. Returns the break point number of the last break point set and the last
  691. break point that went off.
  692.  
  693. This is useful when setting break points from hardware control or doing
  694. hardware simulation.
  695.  
  696. Returns: DH - entry number of last break point that
  697.               went off
  698.          DL - type of last break point that went off
  699.          BH - entry number of last break point set
  700.          BL - type of last break point set
  701.  
  702. The entry number is the same as is displayed in the BL command.
  703. The types are: 0 - BPM (break point register types)
  704.                  1 - I/O
  705.                  2 - INT
  706.                  3 - BPX (int 3 style BP)
  707.                  4 - Reserved
  708.                  5 - Range
  709.  
  710.  AL = 13H -- Set Soft-ICE break point.
  711.  
  712. Use this command to set Soft-ICE break points from program control.
  713.  
  714. Input: DS:DX - pointer to break point structure
  715.  
  716.   34 Soft-ICE 2.5 Addendum
  717.  
  718.  Returns: ax = error code
  719.           bx = break point number
  720.  
  721. ; Very little parameter value checking is done, but the following ; errors
  722. are returned.
  723.  
  724. OK EQU 0 BP_TABLE_FULL EQU 3 MEM_LlM_ERR EQU 6 IO_LlM_ERR EQU 7
  725. RANGE_LlM_ERR EQU 9 DUP_ERR EQU l6 ;duplicate break point
  726.  
  727. ; Break point structure
  728.  
  729. ;bp_entry      struc 
  730. ;bp_type       db ? 
  731. ;bp_addrl      dd ? 
  732. ;bp_addr2      dd ? 
  733. ;bp_addr3      dd ? 
  734. ;bp_mode       db ? 
  735. ;bp_mode2      db ? 
  736. ;bp_size       db ? 
  737. ;bp_cnt        db ? 
  738. ;bp_state      db ? 
  739. ;bp_entry      ends
  740.  
  741. ; The following break point types are allowed:
  742.  
  743.          Soft-ICE 2.5 Addendum 35
  744.  
  745.  MEM_LOC       equ 0     ;Memory Iocation
  746.       break point (BPM). 
  747.  MEM_RANGE     equ 1     ;Memory range
  748.       break point (BPR). 
  749.  IO            equ 3     ;I/0 break point
  750.       (BPIO).
  751.  INT_BP        equ 4     ;Interrupt break
  752.       point (BPINT).
  753.  X_BP          equ 5     ;Execution break
  754.       point (BPX).
  755.  
  756. ; Here are the possible break point modes and sizes.
  757.  
  758. ; Break point modes
  759.  
  760.  READ_MODE     equ 01
  761.  WRITE_MODE    equ 02
  762.  EX_MODE       equ 04
  763.  
  764. ; Break point sizes
  765.  
  766.  BYT           equ 0
  767.  WRD           equ 1
  768.  DBL           equ 3
  769.  
  770. ; The following paragraphs give information on how to fill the break point
  771. structure
  772.  
  773.   36 Soft-ICE 2.5 Addendum
  774.  
  775. ; for each break point type.
  776.  
  777. ; Setting memory location break points
  778.  
  779.     bp_type = MEM_LOC
  780.     bp_addr1 = address of break point
  781.     bp_mode = one of following:
  782.     READ_MODE
  783.     WRITE_MODE
  784.     EX_MODE or WRITE_MODE
  785.     EX,MODE (execute break point)
  786.     bp,size = one of following:
  787.     BYT
  788.     WRD
  789.     DBL
  790.     bp,cnt = Number of instances before
  791.     breakpoint occurs
  792.  
  793. ; All unused fields should be 0.
  794.  
  795. ; Setting memory range break points
  796.        bp_type = MEM_RANGE
  797.        bp_addrl = lower range limit
  798.        bp_addr2 = upper range limit
  799.        bp_mode = one of following:
  800.        READ_MODE
  801.  
  802.          Soft-ICE 2.5 Addendum 37
  803.  
  804.     WRITE_MODE
  805.     READ_MODE or WRITE_MODE
  806.     bp_cnt = Number of instances before breakpoint occurs
  807.  
  808. ; All unused fields should be 0.
  809.  
  810.  ; Setting I/O break points
  811.  
  812.       bp_type = I/O
  813.       word ptr bp_addr1 = I/O address
  814.       bp_mode = one of following:
  815.       READ_MODE
  816.       WRITE_MODE
  817.       READ_MODE or WRITE_MODE
  818.       bp_cnt = Number of instances before
  819.       breakpoint occurs
  820.  
  821. ; All unused fields should be 0.
  822.  
  823. ; Setting interrupt break points
  824.  
  825.   38 Soft-ICE 2.5 Addendum
  826.  
  827.       bp_type = INT_BP
  828.       bp,addr1 = Interrupt #
  829.       bp,addr2 = Optional value to check
  830.       bp,mode = register to check
  831.                0 - no value checking
  832.                1 - check AL
  833.                2 - check AH
  834.                3 - check AX
  835.  
  836. ;Setting execution break points
  837.  
  838.      bp_type = X_BP
  839.      bp,addr1 = address of break point
  840.      bp,addr2 = overlay number (0 = root)
  841.  
  842. AL = 14H -- Remove Soft-ICE break point.
  843.  
  844. Input: BX = Break point number
  845.  
  846. Returns: BX = ??? when set
  847.  
  848.          Soft-ICE 2.5 Addendum 39
  849.  
  850. Page 40 is blank
  851.  
  852.        Soft-ICE 2.5 Addendum 40
  853.  
  854.