MICEpack/SLD-186 2.4 ---------------- MICEpack/SLD-186 2.4 supports the enhanced MICEpack-186, equipped with MTAT-II board only. It doesn't support old MICEpack-186, equipped with MTAT board. Here is the enhancement feature that provided in this SLD: * Support Software Performance Analysis(SPA) features: Module Analysis, Time Analysis and Code Coverage function. * Support 40-bit TimeStamp. * Support Trace Qualify. * Support Trigger On-The-Fly (setting event/trigger without stopping emulation). * Support Trace On-The-Fly (display trace data without stopping emulation). * Support two 32-bit counters or two 32-bit timers or one 32-bit counter + one 32-bit timer. * More trace information on the trace window. Including timestamp, external trace-bit, trigger action, sequence level and Bus-Event-Matched bits. * Support trace off/emulation break when the trace buffer is full. 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. Serial port for connect to emulator using for after version 2.0. MS-PCE card or MIF key for connection to emulator using for before Version 1.4a. 7. MSDOS 3.3, 5.0, or 6.x. 8. Windows running in 386-enhanced mode. 9. 4 Megabytes or greater swap file (permanent swap file recommended). 10. Minimum: Files=30 Buffers=30 11. boot.hex is for EPROM firmware by setting Segment:F800, Checksum:BF63 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 2.4 ----------------------- * Support window NT. * Fixed the bug of showing code in Code Coverage. * Fixed the problem of range length in Code Coverage. Changes in version 2.3a ----------------------- * Fixed the bug that peripher window can't show all message. * Fixed the bug that source and assemble can't match. * Fixed the bug of showing qualify trace with instruction mode. Changes in version 2.3 ----------------------- * Fixed the bug of singnals control. * Added the Up Load memory function. * Fixed the bug of showing warning message in stack window with free running mode. * Fixed the bug of showing source code in Mixed mode. * Fixed the bug of setting breakpoint which caused a GP Fault error by dialog box. Changes in version 2.2 ----------------------- * Fixed the bug of the result while opening trace window after accepting trigger. * Fixed the bug of the setting Tab width problem in source window. * Fixed the bug of the display problem while setting breakpoint by set breakpoint dialog. * Fixed the bug of multiple segment problem of SPA in code coverage mode. * Fixed the problem of copy memory and fill memory in memory window. * Fixed the bug of assemble instruction. Changes in version 2.1o ----------------------- * Fixed the bug of SPA while adding range with covering two different module in code coverage mode. * Fixed the bug of SPA which caused a GP Fault error while adding range in code coverage mode without assigning segment of start or end address. * Fixed the bug which causing PC hang while download program. * Fixed the bug of Timestamp problem while Trace-On-The-Fly. Changes in version 2.1n ----------------------- * Fixed the bug of Timestamp which caused a GP Fault error when the value of 'zero at frame' is NULL in "Relative To Frame" mode. * Fixed the bug of SPA while adding range in code coverage mode without assignning the range name a function or a module. * Now SLD put the source paths by their loading order. * Fixed the problem while openning source window in "instruction mode with linked cursor". Changes in version 2.1m ----------------------- * Fixed the bug of Timestamp while Trace-On-The-Fly. * Now SLD save the parameters of the Periodic Refresh, and restore them while MICEpack/SLD is invoking again. * Removed shell commands : enableHighWaterMark, disableHighWaterMark and fillStackPattern. * Fixed the bug while setting event address range is larger than 0xffff. * Now SLD can work correctly when 80C188 is selected as the emualtion CPU. * Updated the DEMO.OMF to add JMP code at 0xffff:0. It allows user to re-execute the DEMO.OMF after CPU is reset. * Now SLD save the parameter of the Run Access, and restore it while MICEpack/SLD is invoking again. Changes in version 2.1l ----------------------- * Added periodic updating for Variable, Stack and Memory windows while CPU is free-running (Run Access option must be enabled). * Added an option to clear the trace buffer. * Now can set software breakpoint while CPU is running (Run Access option must be enabled). * If the loaded OMF86 file without the start address information, the default starting address now set as 0xffff:0 instead of 0:0. * The Stack and Variable windows now can be refreshed while CPU is free-running (Run Access option must be enabled). Changes in version 2.1j ----------------------- * Add "Timestamp" feature into Instruction mode of Trace window. Changes in version 2.1i ----------------------- * Copy memory command and Download file command now can access memory in Byte or Word size according to the setting of Size command. Changes in version 2.1h ----------------------- * Write memory command now can access memory in Byte or Word size according to the setting of Size command. Changes in version 2.1g ----------------------- * Fixed search text problem in the Source window which caused system running error when search text in "Mixed Source and Asm" mode. * Fixed line number problem which caused the instruction pointer marker lost and assembly code mismatched in the source window when the program is made from Microtec Research MCC86 C compiler. * Fixed zero at frame number problem in the Trace window which caused a GP Fault error when setting a null data in "zero at frame number". * Fixed overlay memory problem which caused the code download failure when setting the overlay up as ROM break. * Fixed selftest problem in the shell command window which casued EMM test failure when setting regions of 0p-0x3ffffp and 0xC0000p-0xfffffp as overlap mapping with 512k RAM. * Fixed assembly code debugging problem which casued "step into" command cann't work correctly and variables cann't be viewed when the program is made from Borland C ver. 4.5 compiler and Paradigm ver. 5.11. locate. Changes in version 2.1 ----------------------- * Support multiple code segment. * Fixed the srolling problem in the Trace window which caused a GP Fault error when viewing the Trace window in "Instruction" mode. * Fixed the tracing status on the Status window which reported an incorrect status when the trace buffer was full or trace end had been generated. * Support Paradigm Locate extended OMF86 specification: 1. Break through TYPE INDEX 32767 limitations. 2. Using register varibles. Changes in version 2.01 ----------------------- * Support new toolchain: Microtec Research MCC86 C Compile version 2.2A, ASM86 Assembler, Linker, and Librarian version 5.3. * Updated on-line help. * Fixed the bug of the event status setting error. * Fixed the bug of the trace window while setting trace in/off in the trigger. * In version 2.0, step over command in loop code will operate with step by step. Now, it will operate with step over. 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: Microtec Research MCC86 C 2.2a & ASM86, Linker, Librarian 5.3 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 ----------------- * 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-186 can be set up the communication port and its COM port in "Comm" and "Serial" sections of MICEPACK.INI file. For example: [Comm] type=serial [Serial] comport=com{1|2|3|4} MP/SLD supports serial port baud rate up to 115200. The comm driver included in Windows supports 115200 baud. To run at 115200 baud with Windows 3.1, you must get a third-party comm driver. Cybercom is one has been tested successfully. The selection of communication port can be set by accessing MP/Setup application. * 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. How to Contact Microtek ----------------------- As Microtek customer, you can call Microtek technical support for help with any emulator or SLD problem during your warranty period. To register for this support, be sure to fill out and mail in the registration card that came with the emulator. The Customer Support Department of Microtek are as following: Microtek International, Inc. (Hsinchu, Taiwan) Voice: +886-3-5772-155 Fax: +886-3-5772-6443 E-mail: mice@smtp.microtek.com.tw Web: http://www.microtek.com.tw Microtek/DSD (San Jose, CA) Voice: +1-408-955-9355 Ext:145 Fax: +1-408-955-9360 E-mail: jkang@micrtek.com