MICEpack/SLD 1.2 ---------------- 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.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: Borland C 4.0, Paradigm Locate 4.0 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. Known limitations in version 1.2 -------------------------------- * Trigger window must be closed for setting events into emulator. * Modules with multiple code segments are not supported. * Variable inspection (double clicking on a variable in the source window) does not work in Mixed mode, only in Source mode. * 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.