home *** CD-ROM | disk | FTP | other *** search
- Readme.txt for Periscope version 5.40
-
-
- 1) When using Periscope with NetRoom 3.0, please note the following
- problems:
-
- - Netroom does not correctly emulate 'HLT' instructions. When
- executed, a HLT instruction causes the system to hang. Avoid use of
- PSTEST, high-resolution timing, and Model IV in remote mode when
- NetRoom is in the system.
-
- - If your cursor is not displayed correctly, try using '/V:10'.
-
-
- 2) Periscope/32 command: UV - Toggle unasm address in V86 mode
-
- The UV command toggles the disassembly address format between CS:EIP
- and CS|EIP when V86 mode is used. The latter forces the segment to
- be converted to zero, so that the address shown can be referenced
- unambiguously while in protect mode. Each time this command is used,
- the disassembly window is reset to CS:EIP or CS|EIP. When this mode
- is enabled, the short form of line numbers is not available. You must
- use the full line number name, including module name.
-
-
- 3) Using a Model I board to debug at ROM-scan time
-
- If you are using 386Max, make sure you do not have a PSMEM=nnn
- statement in your 386Max profile. This may cause Periscope to fail to
- be activated at ROM-scan time.
-
- If you are using QEMM 7.0, make sure that all /V:xx switches are
- used.
-
- If you are using NETROOM 3.0, make sure that all /V:xx switches are
- used. If the SYSCLOAK utility is used, trying to debug the boot
- process a second time using QB or QL will cause the RM386 error
- 'RM386 FATAL ERROR: Fatal error in dos program, v86 exception 13'.
- However, you can press Ctrl-Alt-Del after this message and a short
- time later, a ROM-scan will activate Periscope as desired.
-
-
- 4) Problems using Periscope/EM under OS/2 2.0 and 2.1 DOS boxes
- (Periscope/32 for OS/2 is OK if the host system is running DOS with
- an OS/2 target):
-
- - Inconsistent execution -- what works one time will fail in another
- DOS session (or within the same DOS session).
-
- - Tracing of interrupts in V86 mode can result in erratic behavior.
- Sometimes when single stepping over an STI instruction, the trap flag
- is turned off (apparently).
-
- - No NMI or debug register support.
-
- - An NMI while in DOS freezes (or reboots) the system.
-
- - Cannot turn off the internal 486 cache via CR0 register.
-
- - Sometimes Periscope hangs when installing -- appears to be in
- determining/setting power-on default values for interrupts 8, 9, 10H,
- 15H, 16H, 17H, and 1CH. Still freezes sometimes if these interrupts
- are not taken over by Periscope (interrupts 1BH, 23H, and 24H are
- always taken over).
-
- - Sometimes code breakpoints are lost.
-
-
- 5) If you're using Periscope/EM with QEMM 6, avoid use of the
- break-out switch, since this version of QEMM has problems when an NMI
- occurs while Periscope is using the memory provided by QEMM. The best
- bet is to upgrade to QEMM 7, which fixes the NMI conflict.
-
-
- 6) The description for SKIP21.COM was accidentally omitted from the
- Model IV manual. Instructions for using this program follow:
-
- Ignoring DOS Memory Access (SKIP21)
-
- A common problem in many C programs is the corruption of low memory
- due to uninitialized pointers. Periscope Model IV has the ability to
- watch for writes to low memory in real-time, but since DOS (and other
- programs) can legitimately write to this area, false hits can occur.
- This memory-resident program is used to disarm a Periscope IV board
- while INT 21H services are in use. Since SKIP21 does not disarm other
- interrupts, minimize the use of memory-resident programs when SKIP21
- is in use. For best results, a Periscope Model I board should be used
- in conjunction with the Model IV board. Follow the instructions below
- exactly for proper operation.
-
- Step 1: Install Periscope.
-
- Step 2: Load SKIP21 from the DOS prompt. The options available are:
-
- /4 A Model IV board is in use
- /I:nn Specify interrupt to be used (default is 21H)
- /P:nnn Set the base port for the Periscope board (default 300H)
- /Y Remove SKIP21 from memory
-
- Step 3: Load your program with RUN.
-
- Step 4: Set hardware breakpoints on writes to the interrupt vector
- table (0:0 to 0:3FF) and from the end of the BIOS data area (0:500)
- to the beginning of your program (use the PSP segment displayed by
- RUN). Note that this avoids the BIOS data area (0:400 to 0:4FF),
- since this area is constantly being updated by various BIOS services.
-
- NOTE: If you're not using a Model I board, you'll need to split the
- breakpoints up to avoid the region in DOS memory used by the
- Periscope software.
-
- Step 5: Enter a code breakpoint at the termination point of your
- program. This breakpoint is very important, since DOS calls that do
- not return control to their caller cause SKIP21 to lose control.
-
- Step 6: Enter GH to execute your program with the hardware
- breakpoints enabled. If an INT 21 service writes to one of the
- hardware breakpoint regions, it is ignored, but if your program
- writes to one of these areas, Periscope's screen is displayed.
-
- Step 7: When you get to the end of the program, enter G (not GH) to
- continue execution.
-
- Step 8: Restart the program with RUN or re-enter the full SKIP21
- command-line plus /Y to remove SKIP21 from memory.