MICEpack/SLD-186 2.5
----------------
MICEpack/SLD-186 2.5 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.5
-----------------------
  * Fixed the bug of showing register's address in peripheral window.

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 peripheral 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 signals 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 assigning the range name a function or a module.
    
  * Now SLD put the source paths by their loading order.

  * Fixed the problem while opening 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 emulation 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 caused EMM test
    failure when setting regions of 0p-0x3ffffp and 0xC0000p-0xfffffp as
    overlap mapping with 512k RAM.

  * Fixed assembly code debugging problem which caused "step into" command
    cann't work correctly and variables can'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 scrolling 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 variables.

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, structurs 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 OP code 
(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 com driver
    included in Windows supports 115200 baud.  To run at 115200 baud with
    Windows 3.1, you must get a third-party com 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-up-arrow
    and Ctrl-down-arrow 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

