Release Notes for MPLAB® IDE v8.00

Includes MPLAB Editor v4.00

October 1, 2007

Table of Contents

1 PC Operating System Support List

2 Reference Documents

3 Minimum Required Configuration

4 Installing/Uninstalling MPLAB IDE

5 Network Administrator Information

6 Multiple Installations of MPLAB IDE v7.xx and later

7 What's New/Updated in v8.00

8 Debug/Release Selection

9 Known Problems

10 Plug-in Tools

11 Third Party Support

12 Customer Support

13 License Agreements

# 1 PC Operating System Support List

This tool has been tested under the following PC operating systems:

Windows® 2000 SP4, Windows XP SP2, and Windows Vista™ (32-Bit)* OSs

* Only initial testing has been performed on the 32-bit version for this release. The 64-bit version is not supported at this time.

Tools associated with MPLAB IDE may not support the same operating systems as MPLAB IDE. See individual tool readme's for more information.

IMPORTANT NOTICE: Beginning with MPLAB IDE v7.51, MPLAB IDE and its related components (except those listed below) will no longer be tested on Windows 98, Windows ME, or Windows NT® OSs. MPLAB IDE and its related components may continue to work under these operating systems, but their operation will no longer be verified through testing.

· Microchip will continue to support Visual ProCMD and PM3CMD on Windows 98.

# 2 Reference Documents

The following documents may be found on our website or MPLAB IDE CD-ROM:

· MPLAB IDE User's Guide (DS51519)

· MPLAB IDE Quick Start Guide (DS51281)

On-line help (Help>Topics) is also available for this tool:

· System>MPLAB IDE

· System>Editor

The default locations of the Help files are:

· C:\Program Files\Microchip\MPLAB IDE\Core\hlpMPLABIDE.chm

· C:\Program Files\Microchip\MPLAB IDE\Core\hlpMPLABEditor.chm

# 3 Minimum Required Configuration

The following minimum configuration is required to run MPLAB IDE:

· PC-compatible Pentium®-class system

· Supported Windows operating system (see section 1)

· 128 MB memory (512 MB recommended)

· 400 MB of hard disk space

· Internet Explorer 5.0 or greater for installation and on-line Help

# 4 Installing/Uninstalling MPLAB IDE

## 4.1 Installing MPLAB IDE - Microchip Website

For some Windows OS’s, you will need administrative access in order to install software on your PC.

· Go to the Microchip website using the IE browser. Locate the MPLAB IDE page and click the software link to launch the installation wizard.

· In the wizard, select either a complete (all tools) or custom installation. Follow other wizard steps to complete the installation setup and then begin the download installation of MPLAB Tools.

· Error 1311: If you receive this error while attempting to install, go to your Windows Temporary Internet files folder, delete all files, and then attempt to download again. For example, in Microsoft Internet Explorer, select Tools>Internet Options. On the General tab, under "Temporary Internet files", click "Delete Files".

· For general installation program problems, consult http://consumer.installshield.com/

NOTE: Microsoft recommends reinstalling the service pack after ANY software or device driver is installed on an NT system. Refer to http://support.microsoft.com/default.aspx?scid=kb;en-us;196269 for additional information.

## 4.2 Changing/Uninstalling MPLAB IDE - Microchip Website

· Select Start>Programs>Microchip>MPLAB IDE v7.xx>Setup MPLAB Tools.

· When the dialog box appears, select either "Modify", "Repair" or "Remove" and then click "Next".
NOTE: You will need to be connected to the internet if you modify or repair MPLAB IDE.

· After an uninstall (Remove), the installation directory can be deleted.

## 4.3 Installing MPLAB IDE - CD-ROM

For some Windows OS’s, you will need administrative access in order to install software on your PC.

· Place the CD-ROM into the drive. Follow the MPLAB Tools dialogs to set up and then install MPLAB IDE. If no MPLAB Tools install wizard appears, use Windows Explorer to find and execute this file by double-clicking on the executable file setup.exe.

· For general installation program problems, consult http://consumer.installshield.com/.

NOTE: Microsoft recommends reinstalling the service pack after ANY software or device driver is installed on an NT system. Refer to http://support.microsoft.com/default.aspx?scid=kb;en-us;196269 for additional information.

## 4.4 Changing/Uninstalling MPLAB IDE - CD-ROM

· Select Start>Programs>Microchip>MPLAB IDE v7.xx>Setup MPLAB Tools.

· When the dialog box appears, select either "Modify", "Repair" or "Remove" and then click "Next".

· After an uninstall (Remove), the installation directory can be deleted.

# 5 Network Administrator Information

Note to network administrators on installing MPLAB IDE v7.30 and later in a secure environment:

MPLAB_X_YY.MST file is a Windows installer transform file, located in the full zipped installation of MPLAB IDE vX.YY. This file can be used by domain administrators with Microsoft Active Directory and group policies to assign the application for software deployment in a security environment (local machines do not have admin rights). Microsoft Active Directory can be used to assign the application to local workstations. It has not been tested for "assigning/publishing to users." If this is a first time install, you may need to install the isscript10.msi first. Apply the transform file to the MPLAB_X_YY.MSI installation file in the group policy object (GPO). All of the files in the MPLAB IDE vX.YY full download zip must be located on a shared network directory.

# 6 Multiple Installations of MPLAB IDE v7.xx and later

Multiple versions of MPLAB IDE v7.xx may be INSTALLED on the same PC.

Note: You still may not RUN multiple versions of MPLAB IDE at the same time, i.e., only one version will be registered on the PC.

If necessary, you may switch between installed MPLAB IDE versions (i.e., change which one is registered) by following the steps listed in the following sections.

Note: See “Known Problems”, “Operating System Issues” for OS-specific conditions that may apply when switching MPLAB IDE versions.

To switch between v7.00 through v7.10:

· Open a Command Prompt window (Start>Programs>Accessories>Command Prompt).

· Find the installation directory of the v7.xx that you want to run.

· In the "MPLAB IDE Common" directory, execute mpswitch.exe -l to determine the installed v7.xx versions of MPLAB IDE on your system. The version marked with an asterisk is the active version.

· Execute mpswitch.exe <version>, where <version> is the v7.xx to which you wish to switch. For example, to switch from MPLAB IDE 7.01 to MPLAB IDE 7.00:
C:> mpswitch.exe 7.00

To switch between v7.11 and v7.20 (and later versions):

· Double-click on the icon of the version you wish to run.

To switch between v7.51/v7.52 and v7.60 (and later versions):

If you have installed MPLAB IDE v7.51 or v7.52 after v7.60, that version of mpswitch.exe will not work correctly. Do the following:

· Delete the mpswitch.exe file in the "MPLAB IDE Common" directory.

· Reinstall MPLAB IDE version v7.60.

# 7 What's New/Updated in v8.00

· Projects without linker scripts – For projects using the 16-bit language tool suites, linker scripts will automatically be added based on the selected device.

· Generic libraries – For projects using the 16-bit language tool suites, a generic library may be built from an option on the Build Options dialog, ASM30/C30 Suite tab.

· ICE/ICD Header information is now shown on the Select Device dialog.

## 7.1 What’s New/Updated in v7.62

· Peripheral Freeze on Halt for MPLAB ICD 2 and MPLAB REAL ICE™ in-circuit emulator: This feature utilizes the mechanism present on many peripherals across the range of Microchip devices.

· Editor Autocomplete: The MPLAB Editor will suggest possible completions of variable and function names as you begin to type their names in your code.

· embOS RTOS Awareness Plug-in: The Segger embOS RTOS is now supported by a kernel-aware viewer.

· Complete dsPIC33F and PIC24H support in VDI: The entire dsPIC33F and PIC24H product families are now supported for peripheral initialization in the MPLAB VDI. Complete PIC24F support is scheduled for the next release of the MPLAB IDE.

## 7.2 What’s New/Updated in v7.61

· New Docking Windows strategy

· PIC12F519/PIC16F526 FLASH Data Window

· Code folding in Assembly Language ( use ;{ and ;} )

· Read device ID in MPLAB PM3 programmer stand-alone utility

· Calibration memory programming support in PRO MATE® II.

## 7.3 What’s New/Updated in v7.60

· MPLAB REAL ICE in-circuit emulator- Complex Triggers (Full) and Software Breakpoints (Beta - 16-Bit devices only).

· Expanded Trace - Provide streaming trace data to a file buffer of user-configurable size and a view of that data from the IDE. The size of the view window is configurable. Affects MPLAB SIM simulator and the MPLAB REAL ICE in-circuit emulator.

# 8 Debug/Release Selection

On the Project Manager toolbar, there is a drop-down list box for Build Configuration. In the future, additional functionality for this control is planned. For now, its function is limited and described below.

If you have either the MPLAB ICD 2 in-circuit debugger or the MPLAB REAL ICE in-circuit emulator selected as a debugger and your selected device is a 16-bit device, you must select "Debug" to set the option "--defsym=__ICD2RAM=1" for MPLAB LINK30. When you change either tool to a programmer, you must then select "Release" to remove the linker option.

For all other tools and/or devices, the state of this list box does not matter.

This control replaces the checkbox option of "Link for ICD2" on the MPLAB LINK30 tab for MPLAB ICD 2. Therefore, existing MPLAB ICD 2 projects must be updated to operate correctly. With the project open:

· Select Project>Build Options>Project. When the dialog opens, click OK. (This is necessary to save new Build Options in the project.)

· On the Project Manager toolbar, select "Debug" from the Build Configurations drop-down list.

· Rebuild the project. (Use Build All - Make does not work with this configuration yet.)

# 9 Known Problems

The following is a list of known problems. For information on common problems, error messages and limitations, please see Troubleshooting in the online help file for MPLAB IDE (hlpMPLABIDE.chm). Bolded prefix represents internal tracking numbers.

## 9.1 Launch Issues

The splash screen flashes, but MPLAB IDE will not launch

When you try to start MPLAB IDE, the splash screen flashes by, but the application does not launch.

(1) Applies to MPLAB IDE versions 7.01 and 7.10:

Occurs on PCs with non-administrator (user-only) privileges.

Note: Administrator rights are required to install, but should not be required to run.

The workaround is to modify the target path on the MPLAB IDE shortcut and append the option -noswitch:

mplab.exe -noswitch

You can reach the target path by selecting the MPLAB IDE icon on the desktop, right-clicking properties, and then selecting the shortcut tab.

(2) Applies to MPLAB IDE version 7.61a:

You will need to remove the following entry from the PC registry:

[-HKEY_CURRENT_USER\Software\Microchip\MPLAB IDE\DebugDisplays]

Select Start>Run, enter regedit or regedt32 after “Open”, and click OK to open the registry for editing.

MPLAB IDE used to work, but now it will not launch

Items to check are:

· Did you recently install another version of MPLAB IDE? Please see section 7 for information on switching between versions of MPLAB IDE.

· Did you recently install other software? If so, it may have overwritten a system DLL in such a way that other applications cannot use it. Consult the software documentation and the Windows OS documentation to determine how to repair or reinstall the correct system DLL.

· Did you recently edit your PC registry? MPLAB IDE uses the registry to find related files. Try reinstalling MPLAB IDE.

· Do you have virus protection software on your machine? Try other programs on your PC to see if they are functioning correctly. If not, you may have a virus.

## 9.2 Operating System Issues

· Once the program is installed and you attempt to run it, you might receive an error stating that a dll file failed to register. This is caused when the Windows OS does not allow the MPLAB IDE installation to register the file for some reason. You will need to select Start>Programs>Microchip>MPLAB IDE vx.xx>Setup MPLAB Tools and run Repair to install and register the file.

### 9.2.1 Windows Vista OS

· When attempting to install MPLAB IDE 7.6x on a Windows Vista PC, you may receive the message: “MPLAB Tools v7.6x Error IS OnError - Error 1935. An error occurred during the installation of assembly…” The problem is some registry settings/permissions related to XML. To resolve this issue, do one of the following:

· Deselect MPLAB VDI in the MPLAB IDE installation.

· If you cannot deselect MPLAB VDI from the installation, you can use the Microsoft installation for XML 4.0 SP2. You can get the Microsoft original install here:
http://www.microsoft.com/downloads/details.aspx?FamilyID=3144b72b-b4f2-46da-b4b6-c5d7485f2b42&DisplayLang=en

MPLAB-685: Windows Vista OS Installation Directory: Database errors received if a non-default directory, such as D:\, is used for installation.

MPLAB-813: You must turn off User Account Control in order to switch between MPLAB IDE versions. This is accessed through the Control Panel > User Accounts > Turn User Account Control on or off.

MPLAB-938: Build problems seen while building a CCS project. Sometimes a project builds fine, and sometimes it fails. So, if your build fails, try again.

### 9.2.2 Windows 2000

To switch between v7.50 and v7.51, you must initially run an Installer Repair on v7.50. Once this is done, you will be able to switch between the two versions of MPLAB IDE without the use of the Repair. See section 6 for more on switching between versions of MPLAB IDE.

### 9.2.3 Windows 98, Windows ME, Windows NT OSs

IMPORTANT NOTICE: Beginning with MPLAB IDE v7.51, MPLAB IDE and most components will no longer be tested on Windows 98, Windows ME, or Windows NT. MPLAB IDE and its related components may continue to work under these operating systems, but their operation will no longer be verified through testing.

· On Windows 98/ME, for every open Editor window, a message box entitled "File Time warning" appears with the content, "The parameter is incorrect". This happens after a build or after minimizing and restoring the application's main window.

Fix: Close MPLAB IDE and run the batch file located, by default, at:

C:\Program Files\Microchip\MPLAB IDE\Core\Editor\Register Old Editor 9x.bat

Restart MPLAB IDE and select Help>About MPLAB IDE. Verify that MPEditor.dll, and not MPEditor4.dll, is registered. If the batch file fails, you may need to update your PATH to include the path to regsvr32.exe (wherever it is installed on your system.)

· "File not found" error on Windows NT systems, usually from an import or project manager build. This is a Windows NT v4.0 issue, not an MPLAB IDE issue. Update Windows NT v4.0 with service pack or set registry flag HK_CU\Network\DeferFlags = 1. For more information, see: http://support.microsoft.com/default.aspx?scid=kb;en-us;169138

SSR 21029: While most Windows NT users have been able to use the MPLAB IDE, a limited number of these users have reported being unable to run MPLAB IDE. Microchip Development Tools has determined that one cause of this problem is that Windows Desktop Update is not installed on the user's PC. See the Microsoft web site for more information about the Windows Desktop Update. Another cause of the problem may be due to a registration problem; the work-around: run register.bat in the dll subdirectory of the MPLAB IDE installation directory.

## 9.3 General Issues

· When opening a workspace/project, MPLAB IDE crashes. The workspace/project file may be corrupt. Try opening a different workspace/project or MPLAB IDE alone as a test. If the workspace file (.mcw) is corrupt, delete it and then open the project file (.mcp). In this case, you may have to reselect the device and other configuration settings before saving as a new workspace. If the project file is corrupt (.mcp), you will have to rebuild the project.

· "Access Denied" message when trying to open a workspace. Make sure the workspace and related files have not been set to read-only, i.e., right-click on a file, select "Properties", and check that "Read-only" is NOT selected.

· If you use MPASM assembler to assemble a single file (i.e., you do not use the assembler with MPLINK object linker), you will get a COD file which has a 62 character length restriction for file and path names. To solve this problem either (1) Use MPLINK linker with MPASM assembler to create a COFF file, which has no character length restriction, or (2) Shorten your file name or move your file into a directory closer to the root directory (shorten the path name), and try assembling your file or project again. There are additional COD file restrictions. See MPASM assembler documentation for more information.

· Some language (build) tools may have problems if you use spaces, illegal characters or long file names for the file or project name. Consult the language tool documentation for details.

· If your language tools do not work correctly after installing this version of MPLAB IDE, go to our website or third party website to get the latest version of your language tool. If you have purchased the tool, contact your sales rep for an upgrade.

· When moving any MPLAB IDE window, if a dialog pops up, MPLAB IDE may freeze. Use <Alt>-<Tab> to move out of and then back to MPLAB IDE. The desktop should then be unfrozen.

SSR 23550: While in Animate mode, if you select File>Exit, MPLAB IDE will crash.

SSR 25806: [COFF] dsPIC disassembly listing shows address rather than Wreg number.

SSR 27761: For dual processor PC's, attempting to program with MPLAB ICD 2 after having done an Add file in Subversion results in an IDE application error.

MPLAB-597: Configuration Bit "Reset Set to Defaults": Resets the selections but does not clear the memory area. The workaround is to use Debugger>Clear Memory>Configuration Bits.

MPLAB-661: Call Stack Window: Simulator can hang when stepping through MPLAB C30 optimized code with the Call Stack window open.

MPLAB-803: Editor autocomplete: After a device change, while using the same project/workspace, the autocomplete list does not show the SFRs of the new device, but continues to list those of the old device.

MPLAB-816: If both the MATLAB/Simulink and Visual Initializer tools are selected, then either the MATLAB/Simulink or Visual Initializer menu will not work.

MPLAB-615: 16-bit Devices: Memory Gauge is reporting 'unfair' numbers for the data section. The Memory Gauge does not take the usage of data memory in .ndata , .data, .ydata and .dconst sections into account for its display.

MPLAB-918: PIC12F683: Disassembly shows wrong information for banksel instruction. Program memory window shows two instructions used for banksel instruction, whereas disassembly window shows only a single instruction.

# 10 Plug-in Tools

MPLAB IDE supports a number of plug-ins under its Tools menu.

Tool | Device Support | Help File
MATLAB/Simulink (Third Party Tool) | N/A | hlpMATLAB.chm
Data Monitor Control Interface | All | hlpDMCI.chm
MPLAB Macros | N/A | hlpMPLABIDE.chm
RTOS Viewer | Same as RTOS used | hlpMPLABIDE.chm
KeeLoq Plugin | Secure Data Devices (HCS) | hlpKEELOQ.chm
AN908 ACIM Tuning Interface | dsPIC30F DSCs | hlpAN908.chm
AN901 BLDC Tuning Interface | dsPIC30F DSCs | hlpAN901.chm
Visual Initializer | See "Readme for MPLAB VDI.htm" | hlpMPLABVDI.chm

# 11 Third Party Support

## 11.1 Language Tools

MPLAB IDE supports language tools from many different vendors.

Some vendors provide plug-in support for their language tools. Among these are:

· B Knudsen Data (http://www.bknd.com)

· CC5X

· CC8E

· Byte Craft (http://www.bytecraft.com)

· Assembler & C Compiler

· CCS (http://www.ccsinfo.com)

· C Compiler for PIC12/14/16/18

· HI-TECH (http://www.htsoft.com)

· PICC Toolsuite

· PICC Lite Toolsuite

· PICC18 Toolsuite

· IAR Systems (http://www.iar.com)

· IAR Systems Midrange

· IAR Systems PIC18 Toolsuite

· microEngineering (http://www.melabs.com)

· PicBasic Pro Toolsuite

· PicBasic Toolsuite

Other vendors use a generic interface which is tailored through the use of MTC and INI files. These files are available in:

C:\Program Files\Microchip\MPLAB IDE\Core\MTC Suites

More recent tailoring files are usually available through the language tool vendor.

## 11.2 RTOS

View RTOS information from Tools>RTOS Viewer.

MPLAB IDE supports the following real-time operating systems (RTOSs) as plug-ins:

· CMX (http://www.cmx.com)

· Scheduler

· Tiny+

· Micrium mC/OS-II (http://www.micrium.com)

You must include "os_dbg.c" in the project and set OS_DEBUG_EN = 1 for the Micrium mC/OS-II viewer to operate properly

· embOS (http://www.segger.com/embos.html)

## 11.3 Version Control

MPLAB IDE supports the following version control programs under projects:

· Microsoft Visual Source Safe (http://msdn.microsoft.com/vstudio/previous/ssafe)

· PVCS (http://www.serena.com/Products/professional/vm/home.asp)

· CVS (http://www.nongnu.org/cvs/)

· Subversion (http://subversion.tigris.org)

## 11.4 Plug-ins

MPLAB IDE supports the following plug-in tools:

· MATLAB/Simulink - (http://www.mathworks.com/)

# 12 Customer Support

## 12.1 The Microchip Web Site

Microchip provides online support via our web site at http://www.microchip.com. This web site is used as a means to make files and information easily available to customers. Accessible by using your favorite Internet browser, the web site contains the following information:

· Product Support - Data sheets and errata, application notes and sample programs, design resources, user's guides and hardware support documents, latest software releases and archived software

· General Technical Support - Frequently Asked Questions (FAQs), technical support requests, online discussion groups/forums (http://forum.microchip.com), Microchip consultant program member listing

· Business of Microchip - Product selector and ordering guides, latest Microchip press releases, listing of seminars and events, listings of Microchip sales offices, distributors and factory representatives

## 12.2 Development Systems Customer Change Notification Service

Microchip's customer notification service helps keep customers current on Microchip products. Subscribers will receive e-mail notification whenever there are changes, updates, revisions or errata related to a specified product family or development tool of interest.

To register, access the Microchip web site at www.microchip.com, click on Customer Change Notification and follow the registration instructions.

The Development Systems product group categories are:

· Compilers - The latest information on Microchip C compilers and other language tools. These include the MPLAB C18 and MPLAB C30 C compilers; MPASM™ and MPLAB ASM30 assemblers; MPLINK™ and MPLAB LINK30 object linkers; and MPLIB™ and MPLAB LIB30 object librarians.

· Emulators - The latest information on Microchip in-circuit emulators. These include the MPLAB REAL ICE, MPLAB ICE 2000 and MPLAB ICE 4000 in-circuit emulators.

· In-Circuit Debuggers - The latest information on Microchip in-circuit debuggers These include the MPLAB ICD 2 in-circuit debugger and PICkit™ 2 express debugger.

· MPLAB IDE - The latest information on Microchip MPLAB IDE, the Windows® Integrated Development Environment for development systems tools. This list is focused on the MPLAB IDE, MPLAB IDE Project Manager, MPLAB Editor and MPLAB SIM simulator, as well as general editing and debugging features.

· Programmers - The latest information on Microchip programmers. These include the MPLAB PM3 and PRO MATE® II device programmers and the PICSTART® Plus, PICkit 1 and PICkit 2 development programmers.

## 12.3 Additional Support

Users of Microchip products can receive assistance through several channels:

· Distributor or Representative

· Local Sales Office

· Field Application Engineer (FAE)

· Technical Support

Customers should contact their distributor, representative or field application engineer (FAE) for support. Local sales offices are also available to help customers. A listing of sales offices and locations is available on our website.

Technical support is available through the web site at: http://support.microchip.com

# 13 License Agreements

Microchip’s license agreement accompanying the MPLAB IDE governs your use of the software. In addition, certain files or code accompanying this software are governed by third party licenses. You are responsible for complying with these license agreements. For your convenience, we have posted the third party licenses below.

## 13.1 Copyright notice for strlcpy() and strlcat()

Copyright (c) 1998 Todd C. Miller Todd.Miller@courtesan.com
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

## 13.2 Copyright notice for Henry Spencer's implementation of regex

Copyright (c) 1992 Henry Spencer.
Copyright (c) 1992, 1993
The Regents of the University of California. All rights reserved.

This code is derived from software contributed to Berkeley by Henry Spencer of the University of Toronto.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. All advertising materials mentioning features or use of this software must display the following acknowledgement:

4. This product includes software developed by the University of California, Berkeley and its contributors.

5. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

@(#)regex.h 8.2 (Berkeley) 1/3/94

## 13.3 License notice for Apache Xerces

=========================================================================

NOTICE file corresponding to section 4(d) of the Apache License,

Version 2.0, in this case for the Apache Xerces distribution.

=========================================================================

This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).

Portions of this software were originally based on the following:
- software copyright (c) 1999, IBM Corporation., http://www.ibm.com.

Apache License

Version 2.0, January 2004

http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
2. You must cause any modified files to carry prominent notices stating that You changed the files; and
3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

## 13.4 Pathan Open Source License

DecisionSoft Open Source Software is copyrighted software available under the DecisionSoft Open Source License (see below), based on the BSD License (http://www.opensource.org/osi3.0/licenses/bsd-license.php).

Pathan 1 and Pathan 2 dynamically link against, and include a modified header file from Xerces-C by the Apache Software Foundation. Xerces-C is covered by the Apache Software License (see previous section.)

Pathan includes software developed by the Apache Software Foundation (http://www.apache.org/).

DecisionSoft Open Source License

DecisionSoft Open Source Software is copyrighted software available under the DecisionSoft Open Source License, based on the BSD License.

The DecisionSoft Open Source License

This license is based on the BSD License template.

Copyright (c) 2003, DecisionSoft Limited

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

* Neither the name of DecisionSoft Limited nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE

## 13.5 zlib License

/* zlib.h -- interface of the 'zlib' general purpose compression library

version 1.2.3, July 18th, 2005

Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler

This software is provided 'as-is', without any express or implied

warranty. In no event will the authors be held liable for any damages

arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,

including commercial applications, and to alter it and redistribute it

freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not

claim that you wrote the original software. If you use this software

in a product, an acknowledgment in the product documentation would be

appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not be

misrepresented as being the original software.

3. This notice may not be removed or altered from any source distribution.

Jean-loup Gailly jloup@gzip.org

Mark Adler madler@alumni.caltech.edu

*/