MICEpack/SLD 2.0 ---------------- Host System Requirements ------------------------ The following host computer requirements and recommendations apply: 1. An Intel 386DX, Intel 486, or Intel Pentium(tm)-based PC or 100% compatible system. 2. At least 6 Megabytes of RAM. 3. 4.4 Megabytes of available disk space. 4. VGA or Super VGA graphics card and color monitor (A graphics accelerator card will boost performance, and a monitor capable of at least 800x600 operation is highly recommended). 5. Mouse. 6. MS-PCE card or MIF key for connection to emulator. 7. MSDOS 3.3, 5.0, or 6.x. 8. Windows 3.1 running in 386-enhanced mode. 9. 4 Megabytes or greater swap file (permanent swap file recommended). 10. Minimum: Files=30 Buffers=30 MICEpack/SLD Configuration Guidelines ------------------------------------- * Use a disk cache such as smartdrive for improved Windows performance. * Be sure you have a swap file of at least 4 Megabytes (a permanent swap file is recommended). * MICEpack/SLD requires a minimum of 5 Megabytes of free memory after Windows is loaded. More memory is better, especially if you run other applications at the same time. If memory is low, close other applications to regain memory. * While the emulator runs, status messages are sent from the chassis to the host PC. If you are running a DOS shell at the same time, give it a low priority via the .PIF file settings, or stop the emulator. * One GP fault that showed up in MICEpack/SLD was traced to a faulty video device driver of the Diamond Stealth ISA 1M VRAM card (version 2.31) in 1024 X 768 mode. The problem went away by reducing the resolution to 800 X 600. Another problem exists with the Genoa 256-color small font driver. The symptom is the load-progress indicator is not updated completely at the completion of a load. If you encounter a fault in a driver file (*.DRV), try installing a more current device driver. Changes in version 1.4 ----------------------- * Support PL/M 86 source level debugging. * Support Intel Absolute 8086 Hexadecimal format. * Provide "Ignore Case" load option in the load dialog box and "ignorecase" keyword in the Load shell command to oppress case sensibility for symbols lookup. Intel iC86, ASM86, and PL/M 86 users should always use this option to be able to lookup symbols in the Source Window. * MP/SLD now allow user to use INT 3. * Fixed the bug that setting trigger conditions didn't reliable. * Remove "Trace" menu from the Trace Window. * Correct syntax checking error in memory copy CLI command. * When peripheral windows was closed, MP/SLD now save layout correctly. * Log command now turn on logging immediately. * New source path now is added to the top of the path list. * While source file wasn't exist, MP/SLD now can display source and stepping in assembly mode. * MP/SLD now can enable the HWM even though the segment of stack base is different from current stack segment. * The disassembly body in Source/Memory Window now display more compactly. * Fixed an assembler bug that interprets "MOV BYTE PTR[0],XX" to 3-byte length instead of 5-byte. * Fixed a bug that step-into Assembly module acts like step-over. * Status Window now report the correct message when accessing protected/ guard memory area. * Fix a bug that setting breakpoint in source window sometimes show incorrect message, "exceed address limit". * Fix a bug that scrolling source window (in assemly) to next page make IP becomes incorrect address. * Fix a bug that TLIST command display incorrect data in 188 CPU models. * Fix a bug that trace buffer windows was incorrect while the program was executing within a loop command. * Fix a bug that trace buffer data was saved nothing when input frame was less than the start frame of trace buffer. * Fix a bug that caused GPF while scrolling up in Trace Window. * Fix a bug that caused GPF while entering incorrect Write command syntax. * Fix a bug for Metaware High C Enum Type. * Fix the bug that failed to act while clicking on a token for Mixed mode in the source window. Changes in version 1.3a ----------------------- * Fixed the GPF in Memory Test/Fill/Checksum command if the logical address exceeds 0xfffff. * Fixed the GPF in Include Shell command if access the zero length file. * Removed the Source window from the default active windows while MP/SLD-186 was invoked. Changes in version 1.3 ---------------------- * Fixed the bug of using the H/W execution breakpoint. When setting breakpoint, MP/SLD-186 now uses H/W execution breakpoint first. It is useful for user to debug his/her code in ROM area. If more than 2 breakpoints are set, MP/SLD-186 uses one H/W execution breakpoint and the rest are set as S/W breakpoints. * Added Diagnostic feature in Shell Command. The added shell command is DIAGNOSTIC. * Added List Qualify feature in Shell Command. There are two new shell commands added to support this feature, TLIST and BUFFER commands. The TLIST command is used to list the specified address, data and status in the trace buffer. The BUFFER command is to specify the active trace buffer. * Improved the performance of the STEP OVER and GO INTO RETURN command. It also allows user to execute these commands in ROM area. * Supported the number of data type in OMF86 exceeding 32767. Changes in version 1.2 ---------------------- * Supported OMF86 load files from the Borland compiler & Paradigm Locate toolchain. * Source Window will updates its content after the target file is loaded or whenever the memory content is modified. * Fixed the bug of the Input command with byte size. * Supported the edit keys, End, Home and Delete, in the Shell command window. * Supported the edit keys, PageDn and PageUp, in the Source window. * Provided a setup utility to change the emulation processor and the communication port in MP186.INI. * Added new option, ExpandSmallPtr, of [Toolchain] section in MP186.INI file to force OMF86 loader treat the small pointer as 16:16 pointer. The default setting of this option is OFF. * Fixed the bug of the initialized data value while loading an OMF file. Toolchain Notes --------------- * Enumerated types do not display symbolic values. * Enums, structs and unions are limited to 256 elements. * The fatal error "Out of object pointers" indicates that MICEpack/SLD has exhausted system display resources. If you frequently encounter this error condition, try the following: - close windows that are not in use. - reduce the size of windows. - decrease the number of saved transcript lines and history commands in the shell window. - when loading, select "On Demand Symbol Loading". - include symbols in only the modules that are being actively debugged. MICEpack/SLD supports OMF86 file formats. Testing has confirmed, however, that there are numerous interpretations of the OMF file specifications. MICEpack/SLD has been tested with these toolchains: OMF86: Microsoft C7 & SSI Link&Locate-86, 7.2f OMF86: Microsoft C7 & Phar Lap LinkLoc 4.0 OMF86: Metaware High C & Phar Lap LinkLoc 4.0 OMF86: Borland C 4.0, Paradigm Locate 4.0 OMF86: PL/M 86 V3.3, LINK86, LOC86 MP/SLD-186 requires that you have only one BLKDEF record per procedure. User must specify the -ONEBLKDEF option in Link&Locate-86 while producing the OMF86 file. Borland floating point emulation is done by replacing the floating point instruction with an INT instruction and some byte information that the interrupt handler is going to read. The interrupt handler reads this information and then modifies the stack pointer to return to the next executable instruction. The MICEpack/SLD disassembler knows nothing of this operation and hence when the source code is disassembled, it disassembles the INT instruction and then tries to disassemble the bytes that follow the INT instruction. These bytes are not really opcodes (they are special bytes that the INT routine knows about). The disassembly is incorrect until the next line number is reached. At this point the disassembly has synched up again and the disassembly is correct. Trying to step past this code will not work correctly either (suffers from the same symptoms). However, if the source is viewed in Source Only (not mixed mode) then single stepping should work just fine since the breakpoint will be placed on the line number. Notes for PL/M 86 Users ------------------------ * For better performance, a source file name identical (or first 8 letters identical) to the first label of the program body (module name) is recommended. * The first label of the program body (module name) has to be unique. * All codes must be contained in procedures; otherwise the source level debugging might not function properly. * For the source modules to be debugged, $LIST and $NOLIST directives are not allowed in the program body. * For the files (header files, or code) which are included in a module, $NOLIST directive has to be specified at the 1st line and $LIST directive has to be the last line. * Compiling with the options "DEBUG", "MOD186" and "OPTIMIZE(0)" is required. * Do not override the default for compiler option "TITLE". * List files for PL/M source files must be generated and locate at the same path where the load-file is. * In MP186.INI (in the windows directory), add the PL/M source files extension name(s) to the "DefaultModuleExtension" item under the [SourceInfo] section. * Must check "Ignore Case" option in the load options dialog box or use the keyword "ignorecase" in the shell command "Load" to oppress the case sensitivity for symbol lookup. Known limitations in version 1.3 -------------------------------- * Trigger window must be closed for setting events into emulator. * Modules with multiple code segments are not supported. * The shell command AddressOf does not support #module#staticVar lookup if #module is not the current execution context. * No warning is given if a source file is newer than the OMF. * Does not currently support C++. Initialization Script in MP186.INI ---------------------------------- * Communication Selection MICEpack/SLD can be set up the communication port and its port address in "Comm" and "Microtekparallel" sections of MP186.INI file. For example: [Comm] type=microtekparallel [MicrotekParallel] basePort=0x200 MICEpack/SLD can also be set up the communication port using the printer port in "Comm" section of MP186.INI file. The printer port could be lpt1, lpt2 or lpt3. For example: [Comm] type=lpt1 * Emulated Target CPU Selection MICEpack/SLD can be set up the emulated target CPU in "SystemInfo" section of MP186.INI file. For example: [SystemInfo] MICEpack=80C186XL MICEpack/SLD-186 supports 80C186/188 XL, 80C186/188 EA, 80C186/188 EB, and 80C186/188 EC. * Running Auto-initialization Script. MICEpack/SLD can be set up to run an auto-initialization script. The script sets up the emulator to your requirements each time you run MICEpack/SLD. The product is shipped with an include file that describes how to do this. The file is named "include.me". To create your own script file, create a file with the commands you want for initialization. BE SURE TO END EACH COMMAND WITH A SEMICOLON. Edit the MP186.INI file (in your windows directory), and change the "script=include.me" line, replacing "include.me" with your initialization file. Be sure to include the full path, including drive letter if necessary. For example: script=c:\mp186\reset.inc You can also run the same initialization file in the Shell window. For example: include "c:\mp186\reset.inc"; * Shell command history You can access the Shell command history with Ctrl-uparrow and Ctrl-downarrow keys. Diagnosing Fatal MICEpack/SLD Errors ------------------------------------ * GP Faults If you have received a GP fault, our ability to find and fix it is increased if you run the Dr. Watson recorder, which captures information at the point of the GP fault. The Dr. Watson program is shipped with Windows and is located in your windows directory. To start Windows with Dr. Watson enabled, use the File Manager to drag and drop the drwatson.exe icon (in your windows directory) into the Windows StartUp Group. Another way to do this is to add the path and filename to the load= line of your win.ini file. Example: load=c:\windows\drwatson.exe After a GP fault, the drwatson.log file in your Windows directory holds the information. Fax this file, along with any other information that led up to the GP fault, to Microtek International. Fax: +886-35-772-598 * PV.DMP Under some conditions, an error can occur which produces a message box indicating that information about a problem has been placed in the file pv.dmp in your MICEpack/SLD directory. This file gets written over each time an error occurs, so we recommend that you rename the file, then fax it to Microtek International.