home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Library / +ORC / Orc pac 2 / FILEZ.ZIP / PERISCOP.ZIP / README.TXT < prev    next >
Encoding:
Text File  |  1993-06-18  |  5.1 KB  |  126 lines

  1. Readme.txt for Periscope version 5.40
  2.  
  3.  
  4. 1) When using Periscope with NetRoom 3.0, please note the following
  5. problems:
  6.  
  7. - Netroom does not correctly emulate 'HLT' instructions. When
  8. executed, a HLT instruction causes the system to hang. Avoid use of
  9. PSTEST, high-resolution timing, and Model IV in remote mode when
  10. NetRoom is in the system.
  11.  
  12. - If your cursor is not displayed correctly, try using '/V:10'.
  13.  
  14.  
  15. 2) Periscope/32 command: UV - Toggle unasm address in V86 mode
  16.  
  17. The UV command toggles the disassembly address format between CS:EIP
  18. and CS|EIP when V86 mode is used.  The latter forces the segment to
  19. be converted to zero, so that the address shown can be referenced
  20. unambiguously while in protect mode.  Each time this command is used,
  21. the disassembly window is reset to CS:EIP or CS|EIP.  When this mode
  22. is enabled, the short form of line numbers is not available. You must
  23. use the full line number name, including module name.
  24.  
  25.  
  26. 3) Using a Model I board to debug at ROM-scan time
  27.  
  28. If you are using 386Max, make sure you do not have a PSMEM=nnn
  29. statement in your 386Max profile. This may cause Periscope to fail to
  30. be activated at ROM-scan time.
  31.  
  32. If you are using QEMM 7.0, make sure that all /V:xx switches are
  33. used.
  34.  
  35. If you are using NETROOM 3.0, make sure that all /V:xx switches are
  36. used. If the SYSCLOAK utility is used, trying to debug the boot
  37. process a second time using QB or QL will cause the RM386 error
  38. 'RM386 FATAL ERROR: Fatal error in dos program, v86 exception 13'.
  39. However, you can press Ctrl-Alt-Del after this message and a short
  40. time later, a ROM-scan will activate Periscope as desired.
  41.  
  42.  
  43. 4) Problems using Periscope/EM under OS/2 2.0 and 2.1 DOS boxes
  44. (Periscope/32 for OS/2 is OK if the host system is running DOS with
  45. an OS/2 target):
  46.  
  47. - Inconsistent execution -- what works one time will fail in another
  48. DOS session (or within the same DOS session).
  49.                                        
  50. - Tracing of interrupts in V86 mode can result in erratic behavior.
  51. Sometimes when single stepping over an STI instruction, the trap flag
  52. is turned off (apparently).
  53.                                        
  54. - No NMI or debug register support.
  55.                                        
  56. - An NMI while in DOS freezes (or reboots) the system.
  57.  
  58. - Cannot turn off the internal 486 cache via CR0 register.
  59.  
  60. - Sometimes Periscope hangs when installing -- appears to be in
  61. determining/setting power-on default values for interrupts 8, 9, 10H,
  62. 15H, 16H, 17H, and 1CH.  Still freezes sometimes if these interrupts
  63. are not taken over by Periscope (interrupts 1BH, 23H, and 24H are
  64. always taken over).
  65.  
  66. - Sometimes code breakpoints are lost.
  67.  
  68.  
  69. 5) If you're using Periscope/EM with QEMM 6, avoid use of the
  70. break-out switch, since this version of QEMM has problems when an NMI
  71. occurs while Periscope is using the memory provided by QEMM. The best
  72. bet is to upgrade to QEMM 7, which fixes the NMI conflict.
  73.  
  74.  
  75. 6) The description for SKIP21.COM was accidentally omitted from the
  76. Model IV manual. Instructions for using this program follow:
  77.  
  78. Ignoring DOS Memory Access (SKIP21)
  79.  
  80. A common problem in many C programs is the corruption of low memory
  81. due to uninitialized pointers. Periscope Model IV has the ability to
  82. watch for writes to low memory in real-time, but since DOS (and other
  83. programs) can legitimately write to this area, false hits can occur.
  84. This memory-resident program is used to disarm a Periscope IV board
  85. while INT 21H services are in use. Since SKIP21 does not disarm other
  86. interrupts, minimize the use of memory-resident programs when SKIP21
  87. is in use. For best results, a Periscope Model I board should be used
  88. in conjunction with the Model IV board. Follow the instructions below
  89. exactly for proper operation.
  90.  
  91. Step 1: Install Periscope.
  92.  
  93. Step 2: Load SKIP21 from the DOS prompt. The options available are:
  94.  
  95.   /4  A Model IV board is in use
  96.   /I:nn  Specify interrupt to be used (default is 21H)
  97.   /P:nnn  Set the base port for the Periscope board (default 300H)
  98.   /Y  Remove SKIP21 from memory
  99.  
  100. Step 3: Load your program with RUN.
  101.  
  102. Step 4: Set hardware breakpoints on writes to the interrupt vector
  103. table (0:0 to 0:3FF) and from the end of the BIOS data area (0:500)
  104. to the beginning of your program (use the PSP segment displayed by
  105. RUN). Note that this avoids the BIOS data area (0:400 to 0:4FF),
  106. since this area is constantly being updated by various BIOS services.
  107.  
  108. NOTE: If you're not using a Model I board, you'll need to split the
  109. breakpoints up to avoid the region in DOS memory used by the
  110. Periscope software.
  111.  
  112. Step 5: Enter a code breakpoint at the termination point of your
  113. program. This breakpoint is very important, since DOS calls that do
  114. not return control to their caller cause SKIP21 to lose control.
  115.  
  116. Step 6: Enter GH to execute your program with the hardware 
  117. breakpoints enabled. If an INT 21 service writes to one of the
  118. hardware breakpoint regions, it is ignored, but if your program
  119. writes to one of these areas, Periscope's screen is displayed.
  120.  
  121. Step 7: When you get to the end of the program, enter G (not GH) to
  122. continue execution. 
  123.  
  124. Step 8: Restart the program with RUN or re-enter the full SKIP21
  125. command-line plus /Y to remove SKIP21 from memory.
  126.