READHIST.TXT Driver File Contents (xvl322cdinst.zip)

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

             X     X  V     V  LLL        LLL      IIIII  BBBBBB
              X   X   V     V   L          L        III    B    B
               X X    V     V   L          L         I     B    B
                X     V     V   L          L         I     BBBBB
               X X     V   V    L          L         I     B    B
              X   X     V V     L    L     L    L   III    B    B
             X     X     V     LLLLLLL    LLLLLLL  IIIII  BBBBBB

==============================================================================
==============================================================================
Notes:
    A) The release requires 42 megs of disk space on a disk with 16K block size.

    B) Compiler versions:

       DSP:     TMS320 C/ASM - 4.7
                XVL Software: xpg.out, xpg.lib, fpg.out, fpg.lib
                              and DSP samples.

       DOS:     MSVC 1.0 (Microsoft C/C++ Compiler 8.0) and ML 6.1 (Assembler)
                XVL Software: xpgmlib.lib.

                Borland C 4.5 and Tasm 3.1 (Borland Assembler)
                XVL Software: xpgblib.lib, inter.exe, ppmhist.exe, pdemo.exe,
                              rtdemo.exe and PC samples.

       Windows 3.1: MSVC 1.0 (Microsoft C/C++ Compiler) 8.0 and ML 6.1
                XVL Software: wxpgmlib.lib, wxpgmlib.dll and wdemo.exe.

       Windows NT and Windows 95: MSVC 4.0 (Microsoft C/C++ Compiler 10.0)
                XVL Software: w32xpgml.dll, w32xpgml.lib and w32demo.exe.
                - Borland 5.0
                XVL Software: w32xpgbl.lib, w32xpgbl.dll

       Direct Draw: DirectX V3.0

    C) Note to DSP programmers using the DIPIX xpg.lib.   The library uses
       the TMS320C40 Parallel Runtime Support Library and some of it's
       header files.   This library and it's header files are stored in the
       PRTS40.SRC file of the TI software package.   To build this library
       read chapter 1 of the "TMS320C4x Parallel Runtime Support Library"
       manual.  Use maker instead of make if using make from BORLAND 4.0.
    D) The DSP DIPIX printf functions are not currently supported.
    E) The JPEG image compression software is not currently supported.
    F) PCI board notes:
        - emm386.exe must be version 4.49 or greater for use under DOS.
        - Use of the 16 bit DLL under Windows 95 is not tested or officially
          supported.  Use of the 32 bit DLL is recommended.

==============================================================================
                        XVL-Library Software Revisions
==============================================================================

     For latest revision information see file Readme.txt

==============================================================================
Revision 3.21-09 (02-Dec-1997)

1. New
    A1) Colour Camera Module (CCM) support.
        - Defined a new set of Camera Parameter File (CPF) parameters for
          supporting features built into CCM. Two new CPF sections have been
          added: [COLOUR CAMERAMODULE] and [COLOUR DECODER].
          NOTE: Not all CCM features are implemented presently. LUT-s, Colour
          Space Converter (CSC), and Hue Saturation Value (HSV) converter are
          not supported.
        - DOS and Windows display functions are supporting colour display modes.
          Display under Windows is limited to the DirectDraw library only.
        - Defined new image data formats: P_16_BIT_PACKED_555,
          P_16_BIT_PACKED_565, P_16_BIT_YCRCB_422, P_24_BIT_PACKED_888,
          P_24_BIT_YCRCB_444, P_32_BIT_PACKED_888X, P_3X8_BIT_COLOUR,
          P_3X8_BIT_MONOCHROME, and P_2X8_BIT_MONOCHROME.
        - Added a new image data size: P_DATA_SIZE_24BITS.
        - An uncompressed colour image storage in TIFF format is supported.
          (Currently our colour tif files cannot be read by other tiff
           readers)
        - A Windows (NT and 95 only) demo in DIPXPG\wdemo called wccm32.exe
          which uses Direct Draw to display colour images. Note that Windows
          may not support all the possible colour modes for displaying the
          image, it worked for P_16_BIT_PACKED_555, P_24_BIT_PACKED_888 and
          P_32_BIT_PACKED_888X.   The source for this demo is in
          DIPXPG\wdemo\wccm.

        - CCM samples in DIPXPG\pc\samples\ccm
        - CCM interpreter scripts rgb555.scr and rgb32.scr.

        - The following processing function return the error
          P_ERROR_UNABLE_PROC_DATATYPE if trying to processs a colour
          image of type (P_8_BIT_PACKED_332, P_16_BIT_PACKED_555,
          P_16_BIT_PACKED_565, P_16_BIT_YCRCB_422, P_24_BIT_PACKED_888,
          P_24_BIT_YCRCB_444 or P_32_BIT_PACKED_888X):

        DBG_DrawBox           DBI_ConvertData    DBI_GetPixelHistory
        DBG_DrawCircle        DBI_ImageRemap     DBI_GetPixelValue
        DBG_DrawLine                             DBI_PutPixelValue
        DBG_WriteText         DBI_Label          DBI_LineProfile
                                                 DBI_XYProfile
        DBI_Fft
        DBI_InverseFft        DBI_Warp           DBI_Average
        DBI_Filter            DBI_WarpWithTable  DBI_FrameAveraging
        DBI_FilterMorphology                     DBI_RealTimeFrameAveraging
        DBI_FilterSlice       DBI_Moment
                              DBI_PatternMatch   DPT_TestImage
        DBI_DrawHistogram
        DBI_Histogram         DBI_Arith
        DBI_Statistics        DBI_ArithBitPlane

        - The DBK_MmtCreateImage function now returns the error
          P_ERROR_DS_DT_MISMATCH if the data size specified does not match
          the colour packed type:
        P_16_BIT_PACKED_555     expects lDataSize = P_DATA_SIZE_WORD
        P_16_BIT_PACKED_565     expects lDataSize = P_DATA_SIZE_WORD
        P_16_BIT_YCRCB_422      expects lDataSize = P_DATA_SIZE_WORD

        P_24_BIT_PACKED_888     expects lDataSize = P_DATA_SIZE_24BITS
        P_24_BIT_YCRCB_444      expects lDataSize = P_DATA_SIZE_24BITS

        P_32_BIT_PACKED_888X    expects lDataSize = P_DATA_SIZE_LONGWORD

    A2) PPM-GEN (APA)
        - (Description of new functionality)
        - Numerous samples are included in DIPXPG\pc\samples\ppmgen.  The
          samples are described in a readme.txt within that directory.

    A3) The samples in DIPXPG\pc\samples are now provided with .exe and
        with .out files from DIPXPG\dsp\samples

    A4) Added #ifdef for Linux compiler.

2.  Bug fixes.
    A) PC code:
        A1) In DPW_DDDisplayImageInWindows added logic to try and recuperate
            from LOST_SURFACE error (Direct Draw error code).  This was
            happening occasionally when popping out of Windows 95 to a full
            screen Dos box.

    B) DSP code:

    C) Drivers:
        C1) Fixed multiple PCI bridges support in the Windows NT driver.  If
            you had a Power Grabber board on the other side of a PCI bridge you
            were not able to see it.

==============================================================================
Revision 3.20-42 (20-Nov-1997)

1. New
    A1) The Windows NT and Windows 95 DLL have been combined into a single DLL,
        w32xpgml.dll.  The same version of 32 bit applications can be run with
        either operating system.  The following files have been deleted:

        DIPXPG\pc\lib:
            - wntxpgml.dll, wntxpgml.lib
        DIPXPG\pc\source:
            - wntxpgml.def, wntxpgml.mak
        DIPXPG\wdemo\source:
            - wntdemo.mak, wntdemo.exe

        All PCDirect samples contained in the DIPXPG\samples\pcdirect
        directory structure have been recompiled to a single version
        that runs under both Windows NT and 95. The new samples are:
            DIPXPG\samples\pcdirect\rtauto\RTAUTO32.EXE
            DIPXPG\samples\pcdirect\rtmanual\RTMAN32.EXE
            DIPXPG\samples\pcdirect\rtprcess\RTPROC32.EXE

        The Dipix Windows demo is now a single executable for Windows
        NT and 95. The new demo is called:
            DIPXPG\wdemo\W32DEMO.EXE

    A2) The function DPW_AppDDDisplayImageInWindow has been added to the
        DLL.  It uses the Driver to copy data to the Direct Draw surface.
        It expects the data to have already been sent by the DSP via the
        user application.  Available for 32 Windows applications only.

        Calling Sequence:
            long DPW_AppDDDisplayImageInWindows (HWND hWnd, long lWindowWidth,
                                                 long lWindowHeight)

    A3) Added function DPV_XDCToVesaDisplay. This function is the same as
        DPV_VesaDisplayImage except the data is already queued up in the XDC
        and no call to DPK_XDCGetImage is required.

    A4) Drivers files and driver setup files are now in:
            DIPXPG\pc\drivers\nt
            DIPXPG\pc\drivers\w95
            DIPXPG\pc\drivers\setupdpg
        The setup utility setupdpg is now used for both NT and Windows 95.
        See DIPXPG\pc\drivers\nt\ntdriver.txt and
            DIPXPG\pc\drivers\w95\instal95.txt for new installation notes.

    A5) Driver enhancements:
        - The NT driver was modified to work around problems with
          Matrox Digimix boards with MGA chips.
        - Changes were made to the Windows NT and 95 drivers resulting
          in improved stabiliy and error handling under PCDirect.
        - Windows NT and Windows 95 drivers now support the FPG-ISA.

    A6) Function DBK_SetDspClockSpeed.  This function should only be used if
        the clock speed of the processor is not 50 megahertz.
            Calling sequence:
                LONG DBK_SetDspClockSpeed (LONG lProcessorFrequency)
            Parameters:
                lProcessorFrequency     One of P_PROCFREQ_40MHZ,
                                        P_PROCFREQ_45MHZ, P_PROCFREQ_50MHZ
                                        or P_PROCFREQ_60MHZ.

    A7) Borland 5.0 make files for Windows NT deleted along with it's resulting
        LIB and DLL.  Now there is a single 32 bit Borland LIB and DLL,
        w32xpgbl.lib and w32xpgbl.dll.   Note that the w32xpgbl.mak file
        contains specific paths and should be edited to match the system on
        which it is to be used.

    A8) The Windows demo program now includes the warp, slice and label
        functions.  The Filtering dialog box allows the editing of the
        convolution kernel.  The arith function can now use two images
        operations.  A text file wdemo.txt has been included in the wdemo
        source directory describing all the options available in the demo
        and how to use them.

    A9) The STATINFO has a new member, lNumSamples, which is the number of
        pixels in the calculation window used to compute the statistics.

    A10)Under Windows NT/95, the XVL now provides support for multiple
        boards being accessed through a single DLL and Windows driver.
        This functionality requires one application process for each
        board used, a single application cannot access multiple boards
        concurrently in seperate threads. A single application can still
        access multiple boards in a sequential fashion.

        Modifications have been made to DPK_InitPCK to support multiple boards.
        Applications should not fail on error P_ERROR_XPG_NOT_AVAILABLE
        if more than 1 board was found in the call to DPK_InitPCK.
        If more than one board is found, the user should use the
        function DPK_PCKSelectXPG to select the desired board explicitly.
        The code can alternatively make a call to the new function
        DPW_PCKSelectBoard to generate a dialog box which allows the user
        to select between boards. Refer to the Windows Demo sample code in
        the DIPXPG/WDEMO/SOURCE directory, file WDSETUP.C for an example
        of this initialization.

    A11) Added drivers.txt to DIPXPG\pc\drivers.  This file introduces the
         drivers for Windows NT and Windows 95.

    A12) The install.bat file now detects if Windows NT is running and copies
         the Dipix NT driver to the NT system directory.

2.  Bug fixes.
    A) PC  code:
        A1) Modified DPW_DisplayImageInWindows to handle images with bit depth
            greater than 8.
        A2) setupdpg.exe no longer requires msvcrt40.dll to run.

    B) DSP code:
        B1) Fixed DBI_LineProfile make sure that the StartX is <= to the EndX
            value, and that the StartY <= to the EndY value.
        B2) - In DBI_RealTimeFrameAveraging, check for errors from the grab
            function.
            - Make sure that the buffer being used is a frame averaging buffer.
        B3) The DBI_Label function now performs a non-destructive slice of the
            input image.  The slice results are stored in the output image
            instead of back into the input image.
        B4) Functions DBF_MIOSetVideoSource DBF_MIOSetGain and
            DBF_MIOSetOffset now return an error if the lMasterSlaveFlag is
            set to P_SLAVE and there is no slave module defined for that setup.
        B5) The CPF reader now allows the ClockSelect parameter to be set
            to P_CLOCKSRC_1 and P_CLOCKSRC_1_MODIFIED on an FPG digital.
        B6) DBF_GetTriggerInfo now only modified the structure elements
            of the TriggerInfo parameter specified by the lTrigFieldsMask
            parameter.
        B7) Fixed bug that did not allow the exposure/linesync out pulse to
            exit a DCM module when using the function DBF_StartLineScanOut or
            DBF_StartExposurePeriodic followed by DBF_QuickGrabHardwareInit.
        B8) DBF_StartLineScanOut and DBF_StartExposurePeriodic now return an
            error if the required timer resource is in use by another process.
        B9) If the CPF parameter OutputPixelDepth is set to P_PIXEL_DEPTH_BYTE
            for a greater than 8 bit camera, the function
            DBF_GetCameraDataSize now returns returns a pixel data size of 8.
        B10) In DBI_SetImageBuffer change the image size in longword computation
             as it was incorrect for 24 bit data.
        B11) Fix to DBF_GetBoardConfig to preserve the LUT selection on DCM
             modules. This utility function was always leaving the DCM with the
             LUT enabled.  This problem appeared in the DIPIX sample W32DEMO
             and WDEMO when using an XPG/DCM combination. The symptom is that
             all images acquired appeared as a solid shade on boards with no
             LUT installed. On boards that contain a LUT, the image may be
             arbitrarily incorrect depending on the power up contents of the
             DCM's LUT.
        B12) Fixed bug introduced inn version 3.10 which caused large grab
             sequences (200+ images) to hang.
        B13) Fixed DBK_GetBoardConfig to report LPG correctly (not as an FPG).
        B14) Fixed DBK_MmtSetCalculationWindow to allow 1 line window.

3.  PCDirect

    New
        A1) Added support for 2 com port transfers on the XDC
        A2) Added support for image buffering on both global and local
            bus if the memory is populated.

    Bug Fixes
        B1) In PC Direct when grabbing to VGA, if moving the mouse accross
            window borders, when the operating system writes information to
            disk or after performing a resize, move or scroll, there was an
            occasional flicker in the top 32K of the image, this has been
            reduced to flicker on a portion of the top line. The effect
            occurs much less frequenly than the flicker of Ver 3.11.
        B2) When starting the RT Display Window, occasionally the following
            message would appear: "Critical Real Time Tansfer Error: -223033387".
        B3) When moving any window (except the RT Window), the RT Display
            Window had a blitting effect.(Windows NT only)
        B4) When minimizing the RT Window it occasionally crashed. (Windows 95
            only)
        B5) Possible erratic mouse cursor behavior for the Auto RT Window.
        B6) For Manual RT Window, if entire Transfer Window was occluded on
            the right side of screen and then the RT Window is moved back to
            display the entire Transfer Portion, the data transfer to the RT
            Window halted.
        B7) When entire Transfer Portion of Manual RT Window was occluded by
            resizing the window vertically, the following error appeared:
            "Critical Real Time Transfer Error: -11450".
        B8) For RT Window (Manual and Auto), when performing a suspend the
            last frame was erased from the RT Window. (Windows 95 only)
        B9) PCDirect 16 bit transfers to memory were transferring twice as much
            data as was present in each image. This bug gives the illusion that
            PCDirect is acquiring at half the frame rate of the camera. The bug
            appears when acquiring to memory in raster format, if grabbing in
            interlace format (only valid for interlace cameras), the error code
            -11106 may have been encountered.
        B10)PCDirct samples RTAUTO32.EXE and RTMAN32.EXE now restore the
            palette with a grey scale palette when the applications regains
            the Windows focus. If another application gains focus and modifies
            the palette, images running in a PCDirect window may appear
            pseudo-colored until focus is returned to the PCDirect process.




    Camera Restrictions

        C1) A maximum of 2 com ports are supported for grab transfers on any
            camera type (LinePair not supported in PC Direct).  The majority
            of testing in this release was performed with single com port
            using RS170 and CCIR cameras.

        C2) The maximum camera bandwidth tested for FPG and LPG is:
                17 million bytes per second using 2 XDC com ports
                15 million bytes per second using 1 XDC com port
            Test performed on a Pentium 133MHz with Windows NT, Windows 95
            performance was in the 13-14 Mb/s range. 2 com port does not
            apply to the FPG analog.

        C3) The maximum camera bandwidth tested for XPG populated with
            memory on both buses.
            global and local bus and using 2 XDC com ports for transfers.
                15 million bytes per second to VGA
                12.5 million bytes per second to memory.
            Test performed on a Pentium 133MHz with WindowsNT, Windows 95
            measurement was not performed.

        C4) The following grab features have been tested with PC direct,
            Frame Holdoff and Frame Skip. Triggering, Exposure, LineSyncOut
            and Reset have had minimal testing.

==============================================================================
Revision 3.10-30 (05-Jun-1997)

1. New
    A1) A new communications mechanism has been introduced to replace and
        enhance the XPG Communications Channel (XCC). This new interface
        replaces the single, polled-I/O, bi-directional XCC FIFO mechanism with
        a Packet transfer mechanism supporting multiple, interrupt-driven(*),
        bi-directional communications channels.
            This new interface provides formal support for asynchronous
        communications with DSP User functions without the need to detach and
        re-attach the XCC FIFOs as was the case in previous releases. In
        addition, the use of interrupt-driven(*) communications reduces CPU
        usage on the PC by eliminating polling. Furthermore, the blocking I/O
        provided by the interrupt mechanism lends itself readily for use in
        multi-threaded applications that can harness the power of the WIN32
        Operating System and the powerfull CPU platforms that it runs on.

        (*) - Interrupt support is provided only under WIN32 compliant
            Operating Systems. (Currently, Windows 95 and Windows NT).

        Updated Windows NT and Windows 95 drivers are provided and have to be
        installed.  These drivers now support shared interrupts on PCI boards.

    A2) PC Direct software.   (Direct grab from the DSP to the PC.)

        Restrictions , Hints, Tests/Tasks still to be performed:
        ========================================================
        1)  PCDirect only supports single com port XDC transfers from DSP
            to PC. Setting the XDC to 2 comm ports prior to calling PCDirect
            may cause PCDirect applications to fail. Note: The XDC can not
            be set for 1 com port transfers after being used for 2 com port
            transfers without reinitializing the board.

        2)  Samples program for Windows NT and Windows 95 in
            DIPXPG\pc\samples\pcdirect

        3)  The multi threading capabilities of PCDirect is a new addition to
            our XVL library. The performance of PCDirect can be affected by
            other processes running in the NT and 95 OS environments. Both the
            disk drivers and mouse drivers on these platforms have high enough
            priorities to affect PCDirect's operation.

        4)  All Win RT Samples have not been tested with Line Scan camera. Only
            minimal testing has been done with Areascan and Linepair cameras.

        5)  When creating image buffers in PC memory, the PC Direct S/W will
            only allow the allocation of (Total available PC memory - 8MB).
            This is done to reserve some memory for the operating system to run
            adequately.

        6)  Only function calls labelled DPW_RT* may be called while using the
            PC Direct functionality.

        7)  When using the Grab and Process Sample (RTPROC95 or RTPROCNT), if
            the Number of Frames processed increments very slowly or
            Error -1910 occurs, the CPF HVideoActive and VVideoActive values
            need to be decreased.

            Here's a list of outstanding bugs currently found in the PCDirect
            Application Samples:

        Known PCDirect Bugs
        -------------------

        1)  Moving/scrolling window with XPG with 1 memory bank will
            occasionally cause frames to shift horizontally and vertically.

        2)  When starting the RT Display Window, occasionally the following
            message will appear: "Critical Real Time Tansfer Error: -223033387".

        3)  There is occasionally a problem loading a CPF file in the PCDirect
            samples. If this problem is encountered, restart the application.

        4)  When moving any window (except the RT Window), the RT Display
            Window has a blitting effect.(Windows NT only)

        5)  When minimizing the RT Window it may crash. (Windows 95 only)

        6)  For Manual RT Window, if entire Transfer Window is occluded on
            right side of screen and then the RT Window is moved back to
            display the entire Transfer Portion, the data transfer to the RT
            Window halts.

        7)  When entire Transfer Portion of Manual RT Window is occluded by
            resizing the window vertically, the following error will appear:
            "Critical Real Time Transfer Error: -11450".

        8)  For RT Window (Manual and Auto), when performing a suspend the
            last frame gets erased from the RT Window. (Windows 95 only)

        PCDirect Camera Restrictions
        ----------------------------

        1)  A maximum of 2 com ports are supported for grab transfers on any
            camera type. (Linepair requires 2 com ports).

        2)  The maximum camera bandwidth tested for FPG and LPG is 14-15 Mb/s.
            This rate is sufficient for both RS170 and CCIR data rates.

        3)  The maximum camera bandwidth tested for XPG is RS170 full frame
            rate when both global and local bus memory resides on the board.
            With only one bank of memory on the global bus, the maximum attained
            was 25fps.

        4)  In PC Direct when grabbing to VGA, if moving the mouse accross
            window borders, when the operating system writes information to
            disk or after performing a resize, move or scroll, you may see a
            flicker in the top 32K of the image for a period of 1 frame. These
            events all cause the PC to temporarily stop receiving data from the
            frame grabber resulting in a 32K block that is partially transferred
            being over wriitten with image data. If grabbing to PC memory, this
            condition will be reported as an error.

    A3) Added Borland 5.0 make files for Windows 95 / Windows NT.

    A4) The CPF directory now include cpflist.txt which list all the cpf files
        and the camera supported by each CPF file.

==============================================================================
Revision 3.02-24 (18-Mar-1997)
1.  New
    A) Added functionality.
        A1) PC library updated to detect FPG-ISA under DOS and Windows 3.1.
            The Windows 95 and Windows NT drivers have not yet been updated
            to detect this board.

        A2) The libraries have been updated to detect LPG-PCI.   LPG.OUT is
            provided.

        A3) The DPS_TiffCopyImageBufferToDisk and DPS_TiffCopyDiskToImageBuffer
            functions now support 16 bit data.

        A4) AVI file output support.
                This is a prelimary release of functions to allow writing a
            sequence of images from the Power Grabber into an AVI format file.
            These files can then be played by many standard utilities provided
            by Microsoft and others.
                This first implementation provides only file output capability.
            No reading of these files is supported. Additionally files are
            written in un-compressed format only.   Note that unlike many AVI
            functions these operate equaly well under DOS and Windows.

            High level (user callable):
                DPS_AVIWriteSequence:   Writes a sequence of images in DSP
                                        memory to AVI file.
                DPS_AVIGrabAndWriteSequence: Grabs a frame at a time and writes
                                        it to an AVI file.

            Low level:
                DPS_AVIWriteHeader:     Writes header for the file.
                DPS_AVIWriteFrame:      Writes one frame to the file.
                DPS_AVIWriteIndex:      Writes index at the end of the file.

            This software should be considered as beta software and the
            functions provided may change in a future release.

        A5) Added DBS_SerialPort functions for the FPG-ISA board.  The
            functions available are:
                DBS_SerialPortInit
                DBS_SerialPortGetChar
                DBS_SerialPortSendChar
                DBS_SerialPortSendString

        A6) The windows demo (WDEMO.EXE, W32DEMO.EXE and WNTDEMO.EXE) now
            supports the PPM.

        A7) New CPF files:
            - EGG9128.cpf for the EG&G MC9128 analog area scan camera.
            - DALCAD4A.cpf for the Dalsa CA-D4-1024A digital camera.
            - PROVIEW.cpf for the Amber 12 bit infrared Proview camera.
            - KODES1.cpf for the Kodak Megaplus ES 1.0 camera.   This cpf can
                         also be used with the Kodak XHF camera.
            - KOD16.cpf for the Kodak Megaplus 1.6/1.6i camera.
            - DALCAD7T.cpf cpf for single Dalsa CA-D7-1024T.
            - TM9701.cpf for the Pulnix TM9700/TM9701 camera.

        A8) The sample provided in DIPXPG\wdemo now has the capability of
            selecting different boards.

        A9) Added DPW_DDDisplayPCImageInWindows to copy an image from the PC
            memory to Windows using DirectDraw.  This functionality is
            available for the Windows 95 and Windows NT dlls.

    B) Modified
        B1) Changed BOARD_CONFIG_STRUCT used by DBK_GetBoardConfig.
        B2) Dipix functions that use .INI parameter files have had the
            following problems fixed.
            Problems fixed:
                1.  If a line was greater than 80 chars, it would get very
                    confused.   Now a line can be up to 512 characterss. All
                    characters beyond 512 are discarded.
                2.  Trailing spaces or comments on a section line would cause
                    it to fail.
                3.  Comments on string parameters were not stripped.
                4.  The INI file reader assumed the value was after the
                    last '=' on the line, so an '=' in a string, or in a
                    comment would get picked up. Now it is the first '=' on
                    the line.

        B3) New features for DPU_GetIni* functions:
                1.  Functions to get an integer, boolean, or float.
                2.  Leading and trailing white spaces are stripped.
                3.  Boolean function accepts "true", "false", "t", "f",
                    "yes", "no", "y", "n", "1", "0" (not case sensitive) all
                    as valid inputs.

        B3) Changes to initializations of the PCK:
            - The function DPK_PCKSetIOBase allows you to change IO base
              before calling DPK_InitPCK.   Previously when initializing the
              PCK the boards were detected in the following manner:  XPG-PCI,
              FPG-PCI Analog, FPG-PCI Digital and the rest of the boards
              to be initialized were assumed to be XGP-ISA, a user could
              then modify the IO base for any of the XPG-ISA.   With the
              addition of an FPG-ISA to the product line it is now necessary
              to detect the type of ISA board and to do that some register
              (offset from the IO base) must be read, hence the software must
              know before initializing the PCK the correct IO base of the
              ISA boards.   The boards are now detected as follows: all the
              PCI boards, FPG-ISA and then XPG-ISA.

              Example:  A system with 3 boards, XPG-PCI, FPG-PCI and XPG-ISA
                        at IO base 0x310.

                        lStatus = DPK_PCKSetIOBase (iBoardNumber = 2,
                                                    iIOBase = 0x310);
                        lStatus = DPK_InitPCK (iBoardCount = 3);

            - The function DPK_InitPCK now returns a warning if the number of
              board found is smaller than the number of boards specified in
              the call. P_WARNING_FBOARDS_TEXPECTED

            - The number of boards detected can be inquired from
              DPU_GetHostInfo with the parameter P_HOST_INFO_NUM_BOARDS

        B4) Updates to CPF files:
                EG&G2040.cpf:   - Changed CameraName.  Update jed file list
                                - Changed HVideoStart value from 0 to 1 in
                                  [FRAME TIMING] section.
                RS170ANA.cpf    - Correction to ICPLFile entries.

            File name changes:
                EG&G1911.CPF    to  EGG1911.CPF
                EG&G1950.CPF    to  EGG1950.CPF
                EG&G2040.CPF    to  EGG2040.CPF
                EG&G4013.CPF    to  EGG4013.CPF
                EG&G4922.CPF    to  EGG4922.CPF
                KODAK14.CPF     to  KOD14.CPF

            Replaced DALCADXD.CPF by DALCADXA.CPF.

        B5) The text files provided in the various directory have been given
            a consistent name extension .TXT.  Also the file names have been
            changed to indicate the part of the product they belong to.

            From:                                   To (path unchanged):
            DIPXPG\readme.doc                       readme.txt
            DIPXPG\pc\ntdriver\readme.txt           ntdriver.txt
            DIPXPG\pc\samples\readme.1st            pcsamps.txt
            DIPXPG\pc\samples\rtsamp\read.me        rtsamp.txt
            DIPXPG\pc\samples\visbasic\readme.txt   visbasic.txt
            DIPXPG\pc\demos\read.me                 pcdemos.txt
            DIPXPG\pc\demos\ppmhist\readme.1st      ppmhist.txt
            DIPXPG\pc\demos\rtdemo\read.me          rtdemo.txt
            DIPXPG\dsp\samples\readme.1st           dspsamps.txt
            DIPXPG\dsp\samples\app1\readme.txt      dspapp1.txt
            DIPXPG\dsp\samples\app2\readme.txt      dspapp2.txt

        B6) The board samples link files have been modified to account for the
            new communication FIFO size.  The DSP\SAMPLES\APP1 application has
            been modified to account for the packet IO communication mechanism.

        B7) Added PRO_lDataType to the PROCESSINGINFO structure.

        B8) In ccir.cpf and rs170ana.cpf added commented out
            CameraInputLutLoad=P_LUT_WINDOWS_OPTIMIZE in Camera Control
            section. This allows easy adaptation of the CPF file to scale
            the input data for display under Windows.

        B9) The samples in DIPXPG\pc\samples have been modified to call the
            DPK_SetIOBase function before calling DPK_InitPCK.
            - Similarly DIPXPG\pc\samples\rtsamp, DIPXPG\pc\demos\ppm and
              DIPXPG\pc\demos\rtdemo.
        B10) DBF_SetInterlaceOutput now correctly processed the flags
             P_IMAGE_FORMAT_INTERLACE and P_IMAGE_FORMAT_RASTER. The flags
             P_INTERLACE_OUTPUT and P_RASTER_OUTPUT should not be used.

2.  Bug fixes.
    A) PC library:
        A1) Corrected the parameter count for DBF_MIOSetSyncGenValue.
        A2) The CPF files now support CameraInputLutLoad parameter in the
            [CAMERA CONTROL] section.
            Using this parameter with the value P_LUT_WINDOWS_OPTIMIZE will
            load a linear lut reduced to 20-247 so that the data is displayed
            properly in Windows.
        A3) Fixes affecting DPF_LoadCPF:
            - Modified DPF_LoadDefaultLUT such that the load lut linear case
              works for two tap cameras.
            - Added new lut case for windows that reduces 0-255 to 20-247 and
              also works for 2 tap cameras.
            - Changed the function so that it calls CreateLutBuffer instead
              of CreateWarpBuffer.
        A4) The getini functions are now available in the DLLs and support
            case insensitivity for the section names and parameter names.

    B) DSP code:
        B1) Fixed DBK_MmtCreateBuffer so that for an XPG it allows a buffer
            to be created in SRAM as well as DRAM.
        B2)  - Fixed PPM software to account for different PPM revisions.
             - Updated PC PPF reader to account for 2 new parameters for the
               PPF entry PBDataFormat.
               These new parameters are:
               - P_PB_FORMAT_PIX_1B_LP (1 byte per pixel clock linepair format).
               - P_PB_FORMAT_PING_1B_LP (1 byte per pixel clock linepair format
                 ping clock).
               Note this functionality is supported in rev X2 issue 13 and
               greater hardware only.
             - LinePair:
               The LinePair mode is now working with the PPM-GEN.  It is tested
               with the 12 bit Amber camera and 16 bit BBOB only.
             - Mask RAM buffer size:  Because the PPM-GEN incurs a minimum of a
               4 pixel delay (shift) of the pixel grab mask and a 1 line
               (minimum) delay of the pixel grab mask, the mask RAM buffer size
               calculation to take this into account.  The mask RAM buffer
               stored in the QGS was not being allocated large enough to
               account for these shifts in the case of line pair cameras.
             - Convolver horizontal delay:  The convolver on the PPM-GEN incurs
               a vertical delay which is accounted for depending on the kernel
               size being used.  The convolver also incurs a similar horizontal
               delay which wasn't being accounted for.  This has now been fixed.

        B3) Fixed DBI_PatternMatch DSP to PC interface function to return
            the correct error status (it was always returning P_SUCCESS).
            If there was an error in the  function it would not be reported
            and the PC would try to extract return parameters when they
            were none.
        B4) In DBI_PackRGB fixed Masks values for 3 16-bit input images to
            a 16-bit output.
        B5) Fixed 3 com port continuous grab for area scan and linescan cameras
            so that it now works for the cases where the number of bytes per
            line is a multiple of twelve and the image buffer and the acquire
            windows are the same.
        B6) Fixed bug where FPG with only global bus memory may not have been
            able to grab multi images or continuously to the EDB.
        B7) In DBI_XYProfile fixed stack leak problem which caused system to
            hang if this function was called a two hundred times or so.
        B8) Fixed memory detection for XPG-PCI with 256 megs of memory.
        B9) Fixed a problem with the median filtering function which occured on
            FPGs.  If the a median value happened to be 255 the board would
            hang.  This is because the histogram used for the median function
            is at the end of the internal chip memory.  The algorythm which
            computes the median uses a branch delayed loop which when the
            median value is 255 it cause a read past the end of the memory.
            The FPG does not return a ready signal when reading undecoded
            memory hence hanging the DSP.  This has been corrected by moving
            the histogram buffer by a few words.
        B10) Fixed DBI_Moment P_MOMENT_GREY_CENTRE_MASS case to return
             parameters correctly.
        B11) Fixed DBI_RealTimeFrameAveraging and DBI_FrameAverage which were
             not correctly checking the size of the FrameAveraging buffer.
        B12) In the DBI_Zoom function return errors from call to
             DBK_MmtGetImageInfo.
        B13) Fixed calculating interlace DMA lists, the list were being created
             at half required size in the horizontal direction for
             P_DUAL_IMAGE_GRAB mode.
        B14) In the function DBI_PatternMatch correct the error return if the
             pattern image was not found from P_ERROR_IMAGE_NOT_FOUND to
             P_ERROR_PM_PATTERN_IMG_NFOUND.
        B15) Fixid DBK_MmtSetCalculationWindow which did not check for invalid
             window (ie: a start coordinate is larger or equal to the associated
             end coordinate), error P_ERROR_INVALID_CWINDOW.
        B16) Fixed DBK_MmtSetValidBits so that it does not allow bit depth of
             less than 1.

Notes:  The name of the .zip files on the distribution diskettes have been
        modified from xpgv????.zip to xvlv????.zip.

==============================================================================
Revision 3.01-35 (02-Nov-1996)
1.  New
    A) Added functionality:
        A1) PPM:
            - Added support for QUAD_MODE Memory operation.
            - New functions:
                - DBP_PPMUpload2PointLUTs
                - DBP_PPMClearMemory

        A2) Windows 95 Virtual Device Driver : DPGRAB.VXD
            DPGRAB.VXD, the WIN32 virtual device driver (VxD), has been
            upgraded to support Bus Master DMA operation for the PCI bus based
            products. The "instal95.txt" file (on disk 4) contains the
            installation and upgrade procedures.

        A3) Support for DirectDraw under Windows 95, PCI boards only.
            New functions:
                - DPW_DDStartup
                - DPW_DDCopyDspToWindows
                - DPW_DDDisplayImageInWindows
                - DPW_DDLiveGrabDisplay
                - DPW_DDShutdown
            Note that the w32xpgml.dll provided includes the DirectDraw function
            and that if this dll is recompiled it requires ddraw.lib.  If you
            do not have this lib then the w32xpgml.mak can be edited to use the
            compile and link commands which exclude the DirectDraw software.
            - The Japanese Direct Draw software kit is not included.  Contact
              Dipix's customer support if you require this software.

        A4) Support for Windows 95 Real-Time Display Window for PCI PowerGrabbers:
            This consists of a display window which performs continuous grab
            and display in a Windows 95 window.  To create the display window
            and initialize the grab and display thread the function
            DPW_RTCreateDisplay must be called.  Then the function DPW_RTStart
            must be called to start the grab and display thread.  To suspend
            or resume the grab and display the DPW_RTSuspend and DPW_RTResume
            must be used.  The DPW_RTKill destroys the window and the
            associated thread.
            The display window only operates with area scan cameras. It
            does not work with line scan cameras.
            The frame rate for the display window was benchmarked on the
            following CPUs:
                486 DX4-100 : 13 Frames/Sec with a Mach 64 1 Meg video card (640x480)
                Pentium-100 : 27 Frames/Sec with a Mach 64 1 Meg video card (640x480)
            The display window will only operate with video card drivers
            that supports Microsoft's Direct Draw API.

            DirectX v2.0 API must be installed:
            Installation Notes for Windows 95 DirectDraw:
                    1) Run the program DXSETUP.EXE which is in the
                        \DIRECTX subdirectory.
                    2) Select "ReInstall Direct X" command button.
                    3) After done installing the files press Ok to reboot
                       Windows 95.

            - To control the size of the RT Display Window you need to modify
              the following values within the CPF:
                HVideoActive -> controls the width of the RT Display Window
                VVideoActive -> controls the heigth of the RT Display Window

            - It is adviseable to keep the RT Display Window as small as
              possible for two reasons:
                1) The frame rate is faster for a smaller RT Display Window.
                2) Since the RT Display Window is top-most, it will obstruct
                   other windows.

            - It is also adviseable not to use the 2 COM Ports to transfer
              from PCI to Host when using the RT Display Window.  The behavior
              noticed with 2 COM Ports is that the image display shifts horizontally.
              In order to get it working with 2 COM Ports with this release, it is
              required to decrease the number of lines on the frame (i.e. Decrease
              VVideoActive in the CPF).

            - It is important to note that the RT Display Window DOES NOT function with
              ISA PowerGrabber Devices.

        A5) - In addition to the real time grab and display DOS sample there is
              now a real time grab, process and display DOS demo and it is in
              DIPXPG\pc\demos\rtdemo.
            - The ppm demo has been moved from DIPXPG\samples\ppm\pdemo to
              DIPXPG\pc\demos\ppm.
            - A ppm histogram demo has been added, in DIPXPG\pc\demos\ppmhist.

        A6) - Modifications were made in order to speed up data (XDC) transfers
              from the DSP to the Host PC for the PCI bus based products.
                - Use "NOSYNC" DMA from DSP memory to the XDC ComPorts. The
                  SYNCronized DMA used Destination synchronization to write to
                  the ComPorts. The NOSYNC DMA will not lose data as the write
                  to the ComPort FIFO will not complete until there is space
                  in the FIFO to write to as the C40 peripheral bus will
                  lock-up until the write completes. The practical upshot is
                  that the NOSYNC transfers are faster than the SYNChronized
                  ones.
                - Addition of a PIO (Programmed I/O) mode on the DSP side of
                  the XDC software. Using DMA to the ComPorts from DRAM tops out
                  at 32 MBytes/sec on XPG-PCI due to the way the C40's DMA
                  controller interfaces with the DRAM. Using Local Bus SRAM
                  provides a transfer rate 47 Mbytes/sec. The new PIO mode
                  replaces the DMA lists and performs direct access to the
                  ComPorts. The result is that the XDC transfers can proceed
                  at 47 MBytes/sec regardless of the source memory bank.
                  (Note : The FPG tops out at around 29 MBytes/sec regardless
                  of PIO mode or the normal DMA mode due to the lack of an
                  external FIFO for transferring to the AMCC PCI interface
                  chip.)  This mode can be set by ANDing P_XDC_DSPPIO_MODE
                  (in dbdefs.h) with the number of comports to use and calling
                  DBK_XDCSetComPortNumber.

        A7) New board initialization function.
                - DPK_InitBoard

        A8) Added CPF file for DVC 10 bit camera DVC10.CPF

        A9) Grab
            - Added support for 2 and 3 comm port grab for interlace cameras.
            - Added functions DBF_SetOutputPixelDepth and related CPF parameter
              to allow greater than 8 bit cameras to be grabbed as 8bit for
              display purposes. This function is only available for digital
              boards.
            - Created new CPF parameter CameraInputLutLoad which can be used to
              automatically load and select a LUT to a camera module. Currently
              linear luts are supported. A shifted LUT format is also supported to
              be used in conjunction with the new feature OutputPixelDepth for
              reducing camera data.

            - Created new function DBF_MIOLoadModuleLUT to replace
              DBF_MIOLoadLUT. This function takes a buffer number as input and
              expects LUT values to be stored as 1 value per 32bit word. This was
              done to adhere to the format used in all other DIPIX LUT related
              functions. DBF_MIOLoadLUT will remain in the library for existing
              code implementations.

        A10) Added ICE memory definition files for user debugging DSP user
             functions.  The files are xpg.cmd and fpg.cmd and are found in
             DIPXPG\dsp\ice

        A11) File mkwatcom.txt in DIPXPG\pc\source directory explains how to
             develop an application for Windows 3.1 with Watcom and link it to
             the Dipix dll.

        A12) The sample found in DIPXPG\pc\samples\rtgd is now in
             DIPXPG\pc\samples\rtsamp.

        A13) Added pci.exe in the top level directory DIPXPG.  This program
             detects and reports Dipix PCI boards.

2.  Bug fixes.
    A) PC library:
        A1) In the function DPW_DisplayImageInWindows replace the calls to
            malloc by calls to GlobalAlloc.
        A2) Fixed a few problems in the new DPV_VesaDisplayImage.
        A3) Fixed the allocation of DisplayInfo for the microsoft DOS lib.
        A4) In DPK_EndPCK reset G_lImageInfoWindowHeight.
        A5) In DPK_InportLongwordStream and DPK_OutportLongwordStream check for
            64k boundary as the .asm functions do not.   This caused various
            problems when transferring larger than 64k blocks of data between
            the PC and DSP in programmed IO mode.
        A6) - DMADESCR modified for scatter/gather structure.
            - DPK_XDCReadData and DPK_XDCWriteData now use scatter/gather list.
            - Modified DPK_PCIXDCBeforeDma to do Scatter/Gather and also along
              with DPK_PCIXDCAfterDma no longer check for VDS services.
        A7) In DPK_InitXPG fixed warm boot sequence to return proper error.
        A8) Fix in initpck.c for compile problem which caused the xpgmlib.lib
            to be incomplete in the last release.
        A9) When doing data transfers between the PC and the DSP on a PCI board,
            only return the P_WARNING_NOT32BIT_ALIGNED status if the buffer
            provided by the user is not 32 bit aligned and the bus mastering
            mode is on.
        A10) Fixes to ddlinfo.rc in DIPXPG\pc\source.

    B) DSP code:
        B1) In DBK_MmtInitialize added a call to DDK_XDCInitializeStatus so
            that if there was a DMA list buffer created for an XDC transfer
            it's number is cleared from the variable that keeps track of it.
        B2) Optimize the DBI_FilterSlice algorithm to run a bit faster.
        B3) The FPG now works with the EDB in dual screen mode.
        B4) Fixed list of urgent functions, some were out of order with the
            list in dpiop.h.
        B5) Fixed bug in DCM that did not allow the LUT to operate properly for
            an 8 bit camera if it was preceded by an acquisition from a greater
            than 8 bit camera.
        B6) Changed size of FIFO memory from 0x300 to 0x400 in all DSP link
            files.   This was causing the software to allow only 192 parameters
            to be sent back to the PC.
        B7) The functions DBI_Histogram and DBI_DrawHistogram now return
            P_ERROR_BUFFER_NOT_HISTTYPE error if the histogram buffer supplied
            is not of type P_BUFFER_TYPE_HISTOGRAM.
        B8) Modified DBF_QuickGrab so that the TimeOut timer is not initiated
            if the MultiImageGrab mode is set to P_CONTINUOUS_IMAGE_GRAB.
        B9) Fixed bug that did not allow Linepair cameras to operate
            in P_CONTINUOUS_IMAGE_GRAB mode.
        B10) In DBI_GetPixelHistory.  If the first image was not found the
             error returned was P_ERROR_PHISTORY_NE_IMAGES, this has been
             corrected to returning P_ERROR_IMAGE_NOT_FOUND.
        B11) The DBI_Label function no longer includes the background in the
             label count.

    C) CPF Files:
        C1) In xpgppm.cpf. ICPLFile2 = G11619.JED has been commented out.
            It is only required for XPG-1000 boards prior to rev A issue 32.

    D) Samples:
        D1) The samples that call DPV_VesaDisplayImage now ignore the warnings
            returned by the function.

    E) EDB VGA Windows 3.1 Driver P/N 964-11777-000-03-01
        The driver for windows 3.1 now provides additional VGA modes for use
        in programs which do not use VGA passthru. These modes are provided
        as a convienience to users who want these modes for applications
        unrelated to the frame grabber. Additional modes are not fully
        tested or supported. Only the 256 color modes are fully supported
        for pass-through applications.

        Eliminates problems with missing fonts after installing the EDB
        drivers. Also corrects problems with display of accented characters
        in other languages.

==============================================================================
Revision 3.00-30 (24-Jun-1996)

1.  New
    A) Added functionality:
       A1) Support for the PPM.
           - PPM sample code in DIPXPG\pc\samples\ppm\pdemo
              - Default CPF is RS170ANA.CPF
              - Modify PDEMO.INI to reference your CPF
              - Modify your CPF to reduce image size as follows:
                - for 2MB PPM, image size must be to less than 256k pixels.
                - for 1MB PPM, image size must be to less than 128k pixels.
           - PPM PPF files in DIPXPG\ppf
              - PPF files included only support ACTIVE_GRAB operations (see manual)
           - Interpreter script files: pconv.scr, pfrmsubt.scr and pfrmavg.scr.
              - Default CPF is RS170ANA.CPF
           It is suggested that the customer use the following functions
           to begin developing their application.  Additional functionality
           will be provided in later versions of software.  For more
           information please contact DIPIX Board Products Support.
              DPP_LoadPPF
              DBP_PPMSetGrabConfiguration
              DBP_PPMSetupWALUTs

           NOTE that the PPM has only been tested with rs170 and ccir cameras,
                support and testing for other cameras is in progress.

       A2) Windows 95 Virtual Device Driver : DPGRAB.VXD
           DPGRAB.VXD is a WIN32 virtual device driver (VxD) that supports the
           ISA/VL and PCI PowerGrabber products. It performs the underlyng
           device accesses for the WIN32 DLL (w32xpgml.dll). The VxD supports
           the WIN32 DeviceIOControl interface that is also used by the
           PowerGrabber driver for Windows NT (dpgrab.sys).

           The VxD performs only programmed I/O (PIO) to and from the devices
           at this time. Bus Mastering DMA transfer are planned in a future
           release.

           Installation instructions are found in the file "instal95.txt".

           ISASetup.exe Utility Program for Windows 95

           This program (ISASetup.exe) is used to set up the Windows 95 registry
           with information about the ISA/VL PowerGrabber board. Our ISA/VL
           boards are not Plug-and-Play compatible and need to be identified to
           Windows 95. ISASetup prepares entries in the registry so that, on the
           next boot-up, Windows 95 detects the ISA/VL board as new hardware and
           issues the standard Plug-and-Play dialogs in order to configure the
           driver (VxD) for the board.

           In order to perform this configuration cleanly (and much more easily)
           , any existing entries for PowerGrabber devices (both the ISA/VL and
           PCI boards) are initially removed from the registry by ISASetup. This
           is acceptable in that the ISASetup program will then enter the new
           information aboout the ISA/VL boards in the registry and the PCI
           boards will be automatically detected on the next boot.

           The ISASetup utility resides on the installation disk which is Disk 1
           of the 2 disk XVL Software distribution. The files of interest for
           both ISA/VL and PCI driver installation are :

           ISASetup.exe    : The Setup program itself.
           mscomstf.dll    : The Setup dll's.
           mscuistf.dll    : "    "     "
           msdetstf.dll    : "    "     "
           msinsstf.dll    : "    "     "
           msshlstf.dll    : "    "     "
           msuilstf.dll    : "    "     "

           DPGRAB.VXD  : The virtual device driver for ISA/VL and PCI
                         PowerGrabber boards.
           Dipix.inf   : Setup INF file for PowerGrabber devices.

       A3) PCI bus mastering data transfers for DOS and Windows 3.1.
       A4) New function DPK_UseBusMasteringMode.  This function allows a user
           to turn on or off the use of the PCI bus mastering mode.
           Calling sequence:
           VOID DPK_UseBusMasteringMode (LONG lUseBusMasteringFlag)
                    where lUseBusMasteringFlag is TRUE to use (turn on) the
                    PCI bus mastering mode or FALSE to turn off.

           In addition the following functions were modified to return warnings
           to indicate any problems while in bus mastering mode.  The warning
           indicates why bus mastering was not used and that the data transfer
           was done using polled IO.
            DPK_XDCPutData, DPKXDCPutImage, DPC_CopyDiskToDsp,
            DPC_CopyDiskYoImageBuffer, DPC_CopyMemToDsp,
            DPS_JpegCopyDiskToBuffer, DPS_TiffCopyDiskToImageBuffer,
            DPS_TiffCopyDiskToDsp, DPK_XDCGetData, DPK_XDCGetImage,
            DPC_CopyImageBufferToDisk, DPC_CopyDspToDisk, DPC_CopyDspToMem,
            DPS_JpegCopyBufferToDisk, DPS_TiffCopyDspToDisk,
            DPS_TiffCopyImageBufferToDisk, DPV_VesaDspMemToVga,
            DPV_VesaDisplayImage, DPW_CopyDspToWindows and
            DPW_DisplayImageInWindows.

            #define P_WARNING_BUFFER_NOT32BIT_ALIGNED                   -81L
            The buffer address passed in by the calling function is not aligned
            on a 32 bit boundary hence the data transfer is done without using
            the PCI bus mastering mode.

            #define P_WARNING_VDS_NOT_RUNNING                           -82L
            The virtual DMA services are not running hence the data transfer
            is done without using the PCI bus mastering mode.

            The error checking for these functions should be modified to reflect
            these changes.
            Example.
                Before:
                if ((lStatus = DPK_XDCGetData (..,..)) != P_SUCCESS)
                {
                    /* Error handling */
                }

                Now:
                if ((lStatus = DPK_XDCGetData (..,..)) < P_ERROR)
                {
                    /* Error handling */
                }
                else if (lStatus != P_SUCCESS)
                {
                    /* Warning handling */
                }
       A5) - The function DPK_LoadCOFFFile (which is called from DPK_InitXPG)
           now takes the out file name "default".   The function translates
           "default" to xpg.out or fpg.out depending on the current board
           type.
           - The interpreter script files now all use "default".
           - The pc samples which used xpg.out or fpg.out have also been
           modified to use "default".
           - initxpg.scr and initfpg.scr are no longer needed and combined to
             init.scr.

       A6) GRAB
           - Added support for DUAL image grab on interlaced cameras in the
           following grab modes, P_DUAL_IMAGE_GRAB and
P_DUAL_MULTI_IMAGE_GRAB.
           The DBF_SetSecondImageID function is used to specify the second
           buffer.   This functionality is not available for the EDB.
           - On XPG boards please note that 3 COM port grabs for areascan works
           properly in all modes if the horizontal acquire widths are kept to
           a multiple of 12 bytes. If only using P_SINGLE_IMAGE grabs, it
           operates on multiples of 4 bytes.
       A7) A live grab and display sample has been placed in
           DIPXPG\pc\samples\rtgd.   It demonstrate double buffer grabs and
           displaying the images to the VGA screen at live video rates.  This
           sample is an alpha version.

2.  Bug fixes.
    A) PC library:
        A1) The coff loaded now makes sure that the type of coff file loaded
            matches the type of board it is being loaded to.   In case of
            mismatch is returns P_ERROR_INVALID_COFF_LOAD.
        A2) The DPV_VesaDisplay image function has been speeded up.  It shows
            significant speed improvement if the screen resolution and the
            screen output position and the image window to be displayed are
            kept the same for each image to be displayed.
    B) DSP code:
        B1) Fixed problem with the CopyImage function when copying to and from
            an EDB.   On an FPG this caused the XDC transfer to and from the
            PC to hang and similarly on the XPG in two com port mode.
    C) Interpreter:
        C1) Fixed interface to DPK_InitPCK so that initializing with NumBoards
            = 0, returns the proper error code.
        C2) Added to information displayed in the ReportBuffer function.
        C3) Fixed interface to DBF_SetTriggerInfo, the structure parameters
            TRIG_lTriggerIn and TRIG_lTriggerPeriod were not properly extracted
            from the command line.
        C4) The error status report after each function call now also displays
            the error code mnemonic from dberrors.h. ie status = 0 (P_SUCCESS).
    D) CPF Files:
        D1) dalclg1g.cpf: Corrected error in SlaveSDIBBusID.
        D2) ccir.cpf: Moved clamp pulse to occur after color burst for color
            cameras.
    E) Samples:
        E1) Fixed the app1 sample ISR function.   The function was not saving
            the DP register.

==============================================================================
Revision 2.50-11 (09-May-1996)

1.  New
    A) Added functionality:
        A0) FPG-44 Analog and FPG-44 Digital support.
        A1) Windows NT support for:
                - PCI XPG and FPG boards.
                - Multiple boards.
                - Bus mastering XDC data transfers.
            The driver installation procedure is included in the
            %DIPXPG%\pc\ntdriver directory in readme.txt.
        A2) Windows 32 bit support, for Windows 95 (ISA boards only).
            w32xpgml.lib and w32xpgml.dll.

    B) Interpreter:
        B1) The XPG script file init.scr has been renamed to initxpg.scr.
            A new script file for the fpg initialization has been provided
            and is called initfpg.scr.

    C) Sample code:
        C1) The sample programs have been modified to account for an FPG or
            and XPG.   The DSP samples have FPG link files to make FPG
            compatible out files.
        C2) A version of the Windows sample program in 32 bit mode has been
            added for use with Windows 95.  w32demo.exe with w32demo.res.
        C3) The windows sample programs (wdemo, wntdemo and w32demo) account
            for the FPG board.

    D) CPF Changes:
        D1) A new section called [FPG] has been added. This section requires
            the same parameters as the [XPG] section. The DPF_LoadCPF function
            will detect whether the board is and FPG or XPG and access the
            appropriate section of the CPF file. All CPF files of this release
            have been updated to contain both sections, such that the CPF file
            may be loaded on either board type.
        D2) The ModuleType parameter has been moved from the [CAMERA MODULE]
            section of the CPF file to the [XPG]/[FPG] sections. In the FPG
            section the new ModuleType definitions P_MODULE_TYPE_FPGACM and
            P_MODULE_TYPE_FPGDCM should be used to indicate analog and digital
            FPGs respectively. These new definitions allow the CPF loader to
            allow or restrict parameters or parameter values in accordance
            with the functional characteristics of the FPGs.
        D3) The following CPF files have XPG ComPortCount values larger than
            the number of available com ports on the respective analog or
            digital FPG boards.
                EG&G1950.CPF
                EG&G2040.CPF
                EG&G4013.CPF
                TM6701.CPF
            In the [FPG] sections of these files the ComPortCount was reduced
            to the maximum available for the analog or digital FPG. With the
            reduced number of comm ports, the FPGs will likely not be able to
            sustain the data rate of these cameras. It is recomended that
            the data rate be reduced if it is under the control of the user or
            the acquire window be reduced to a size which permits proper
            acquisition from these cameras.

    E) JED FILES:
        The following JED files have been added for programming of the Analog
        and Digital FPG GDS switches.

        The "x" in the filenames below denote the firmware revision
        and may vary from one software release to the next, however only
        one revision for each base number will be present on any one software
        release. As new firmware files appear, the older revisions will be
        deleted requiring the user to upgrade.

        FPG Analog (JED files related to FPG Analog firmware)
            x11997.JED      GDS switch 1 (default)
            x11998.JED      GDS switch 2 (default - exposure/line sync - active
                                          high)
            x1199801.JED    GDS switch 2 (exposure/line sync - active low)
            x1199802.JED    GDS switch 2 (outputs connected to general purpose
                                          output register)

        FPG Digital (JED files related to FPG Digital firmware)
            x12080.JED      GDS switch 1 (default)
            x12081.JED      GDS switch 2 (default)
            x12082.JED      GDS switch 3 (default - exposure/line sync - active
                                          high)
            x1208201.JED    GDS switch 3 (exposure/line sync - active low)

        The following pair of JED files can be used to access all 8 data outputs
        with the DBF_MIODataWrite function.  Features such as exposure, linesync
        out and reset are not available when using all 8 data outputs.

            x1208101.JED    GDS switch 2
            x1208202.JED    GDS switch 3

        EXAMPLES:
        These examples detail the possible JED file combinations for an FPG
        board. These lines are placed in the [FPG] section of the CPF file.

        1. Digital FPG:
            A) Configuration for active high exposure.
                [FPG]
                    ...
                    ICPLFile1 =A12080.JED
                    ICPLFile2 =A12081.JED
                    ICPLFile3 =A12082.JED

            B) Configuration for active low exposure.
                [FPG]
                    ...
                    ICPLFile1 =A12080.JED
                    ICPLFile2 =A12081.JED
                    ICPLFile3 =A1208201.JED

            C) Configuration to attach 8 outputs to the Digital FPGs module
               output register.
                [FPG]
                    ...
                    ICPLFile1 =A12080.JED
                    ICPLFile2 =A1208101.JED
                    ICPLFile3 =A1208202.JED

        2. Analog FPG:
           A) Configuration for active high exposure.
                [FPG]
                    ...
                    ICPLFile1 =A11997.JED
                    ICPLFile2 =A11998.JED

           B) Configuration for active low exposure.
                [FPG]
                    ...
                    ICPLFile1 =A11997.JED
                    ICPLFile2 =A1199801.JED

           C) Configuration to attach 7 of the Analog FPG's 8 outputs to it's
              module output register replace the following line. Output 3 of
              the general purpose output register is not available to the
              Analog FPG's output in this release of S/W.
                [FPG]
                    ...
                    ICPLFile1 =A11997.JED
                    ICPLFile2 =A1199802.JED

2.  Bug fixes.
    A) PC library:
        A1) Fixed DBD_DispEnablePassthru for Windows NT so that it does not
            access VGA registers directly, thus avoiding hangup in single
            screen mode with EDB.
    B) DSP code:
        B1) Fixed 2 Com Port DSP to PC transfers to handle calculation windows
            properly.
        B2) Fixed DBI_Label to delete first temporary buffer if the memory
            allocation for the second temporary buffer failed.
    C) Interpreter:
        C1) Corrected short form for DPK_SetComPortNumber from scompnum to
            xdcscpn.
    E) Samples:
        E1) Fixed tcamsamp.c which was running out of stack space.

==============================================================================
Revision 2.40-34 (09-Apr-1996)

1.  New
    A) Added functionality:
        A0) The XPG software now supports a PCI XPG.   The use of this board
            is the same as the ISA XPG.   The library has the following new
            functions to take advantage of the PCI bus:
                - DBK_XDCSetComPortNumber
                    Note that image transfer from disk to a calculation window
                    on the DSP has some unresolved problems.
                - DPK_XDCHostTransferMode
                - DPK_XDCHostTransferReady

        A1) Support of Windows NT.
                PC lib: wntxpgml.dll, wntxpgml.lib, wntxpgml.def and
                        wntxpgml.mak
                demo  : wntdemo.exe, wntdemo.mak and wntdemo.res
                Driver: genport.sys with genport.ini.   Installation procedure
                        provided.
        A2) New for grab:
            - Modified the programmable oscillator software to choose device
              paramater which produces less oscillator jitter. The actual
              frequency produced by the oscillator is a close approximation of
              the desired frequency.
            - Added function DBF_MIOGetOscFreq which will return an
              approximation of the desired frequency specified in a call to
              DBF_MIOSetOscFreq or in a CPF file. This approximation is the
              closest frequency that can be generated by the programmable
              oscillator without significant signal jitter.
            - Also added:   - DBF_QuickGrabAbort
                            - DBF_SetTriggerInfo
                            - DBF_GetTriggerInfo
            - Added optional parameter TimeOutPeriod to the CPF loader.
              TimeOutPeriod is used to interrupt the grab process if
              TimeOutPeriod microseconds (us) elapses between camera frames,
              this is used by DBF_Grab and DBF_QuickGrab.  This parameter may
              be added to the CAMERA CONTROL section of the CPF file.

            - For linescan cameras there was previously a restriction on the
              period between line pulses of 32K pixel clocks. In this release,
              if the EndOfLine parameter is specified in the CPF file, the
              line period can exceed this limit. If using this feature, you
              must ensure that the EndOfLine pulse is defined to occur before
              the the line valid from the camera.
              (ie: (LineSize + EndOfLine) <  Line Period in pixel clocks)

        A3) A function to properly initialize Comm Port linked XPGs in
            a master slave mode has been added to the library.
                - DPK_InitCPLinkedXPGs
        A4) A function to resize an image, DBK_MmtResizeImage, to allow a
            user to change an image's dimension (the image size must remain
            the same).
        A5) DBK_GetBoardConfig returns the configuration of the currently
            selected board.   The coff file must be loaded before this
            function.

    B) Interpreter:

    C) Sample code:
        C1) Sample code dxpgsamp to demonstrate using the Com Ports, linking
            XPGs in Master Slave mode and some asynchronous processing.  It
            uses xpguser4.out from the DSP sample directory.

    D) New CPF files:
            eg&g1950.cpf    for EG&G 1950 camera
            eg&g2040.cpf    for EG&G LD2040 camera using cameras pixel clock
            eg&g4922.cpf    for EG&G LD4922 camera (TDI)

    E) Misc:
        E1) The wxpgblib.def, wxpgmlib.def, wntxpgml.def and wdemo.def
            files now contain the company name, def info and version number
            in the DESCRIPTION parameter.
        E2) The dlls have the product information, extracted by the
            resource compiler from dllinfo.rc found in DIPXPG\pc\source.
        E3) Updated Visual Basic samples with added support for VB 4.0, 16
            and 32 bit.

2.  Bug fixes.
    A) PC library:
        A1) The DPU_Delay function will use _bios_timeofday for both Microsoft
            and Borland libs.
        A2) The functions DPC_CopyImageBufferToDisk, DPC_CopyDiskToImageBuffer,
            DPS_TiffCopyImageBufferToDisk and DPS_TiffCopyDiskToImageBuffer
            have been speeded up.
        A3) Fixed prototype for DBF_LookupCPS, DBS_JpegCompress and
            DBS_JpegDecompress in dbptypes.h (was missing PTRTYPE for pointer
            parameters).
    B) DSP code:
        B1)  Fixed DBF_LookupCPS to properly handle input camera name.
        B2)  In DBK_MmtCreateImage check that the number of images to be
             created is greater than 0.
        B3)  Fixed positioning of 2nd and subsequent EDB images when grabbing.
        B4)  Fixed problem when QuickGrabbing to different images in succession.
        B5)  Account for cache in the DSP components of the DPK_XDCPutImage and
             DPK_XDCPutData functions.
        B6)  The FFT functions and the filter MEDIAN function now return an
             error if the image data size is anything but 8 bits per pixel.
        B7)  For DSP programmers: The functions DDK_XDCRcvData and
             DDK_XDCSndData have had their calling sequence changed.  The
             data address variable is now a ULONG instead of an ULONG *,
             as the value was never used as a pointer.
        B8)  The DBI_XYProfile function runs faster.
        B9)  Fixed bug that did not allow external triggering on an ACM.
        B10) Fixed bug that did not allow the selection
             P_TRIGGER_EXTERNAL_HARDWARE to work properly. Note: This form of
             triggering triggers based on the signal level, not the edge. When
             the frame count is greater than one, in this mode all frames will
             be acquired consecutively after the first trigger. This works
             similar to P_TRIGGER_EXTERNAL_ONE for software triggering.
        B11) Fixed bug where the grab did not reset the grab status flag
             after aborting due to insufficient hardware resources. This bug
             would only occur if a user was writing DSP code which made use
             of the IIOF0 interrupt while trying to use the external triggering
             feature of the grab.
        B12) DBI_PatternMatch:
                - Modified method of calculating pattern and feature variance
                  to use histogram/mean method to minimize floating point
                  precision loss.
                - Added new variable, fFeatureVarThreshold, to eliminate divide
                  by zero problem that can occur when calculating the
                  NormalizedCorrelation value when the Feature variance is
                  close to zero.  This can occur in an image with a uniform
                  background.
        B13) The DBF_QuickGrabHardwareInit function no longer starts the
             linescan out pulse. This pulse is now initiated from the
             DBF_QuickGrab function. This is to ensure that the LineSync out
             pulse will be present when calling DBF_QuickGrab with the
             P_GRAB_NO_INIT option.
        B14) Fixed bug that caused the reset pulse to be twice the desired
             duration (ResetDuration) when generated from within a triggered
             grab sequence. The reset pulse still has a fixed 25 us overhead.
        B15) When using the features trigger, reset and exposure features of
             grab, the reset used to be generated before the activation of the
             exposure pulse. The exposure is now activated before the reset
             when using trigger. This provides more flexibility because as the
             start of exposure can be delayed with the ExposureStart in the
             CPF file allowing it to occur after reset if desired.
        B16) Fix bug in DBI_PackRGB which under certain circumstances caused
             the output to be incorrect and overwrote some buffer headers.
        B17) Fixed frame holdoff/skip problem when triggering on P_EXTERNAL_ONE.
        B18) Fixed assembly files to use .Data for local variables.  This was causing
             crashes when adding user code which moved some of these variable at
             addresses over offset 0x10000, which ended remapped to offset 0x0
             and overwrote the trap and vector tables.

    C) Interpreter:
        C1) Fixed error return sequence for the interface to the function
            DPC_GetDiskImageSize.
    D) CPF Files:
        D1) In rs170ana.cpf
                - Adjusted clamping to occur after the color burst for color
                  cameras.
                - Adjusted the variable oscillator frequency to 12.0
                  to match the value of the default fixed oscillator.
        D2) In tm6701.cpf
                - Removed the EndOfFrame parameter.
        D3) The CPF loader no longer has any mandatory JED file entries.
            The following JED files have been removed from all CPF files
            on the release:
                E11617.JED, E1161701.JED, E11619.JED
            If you are using an ISA based XPG board and you are upgrading from
            a release prior to V2.31 then you should include the replacement
            JED files (F11617.JED, F1161701.JED and G11619.JED) in your CPF
            file for one loading of the CPF file. During this load, your
            board's firmware will be upgraded to the latest release (this
            initial load of the CPF will take up to 30 seconds). After this
            has been done, you may remove these JED file entries from the CPF
            file.

            If you are using a new PCI based XPG board, the CPF loader will
            not allow you to load the above mentioned JED files and will
            produce the error (-1865) P_ERROR_JEDFILE_WRONG_BOARD. If you
            get this error, remove the above mentioned JED files from your
            CPF file and the CPF will load.

            The remaining JED files in the CPFs are for programming signal
            connection switches on the XPG and it's associated modules
            (ACM/DCM). These switches are identical on the ISA and PCI versions
            of the XPG.

    E) Samples:
        E1) Fixed all PC samples to correctly check for the error status after
            the call to DPV_GetVgaPalette.
        E2) Fixed DSP APP1 sample for a bug in selecting the buffer to be
            used and fixed the camera offset parameter in the CPF file.

==============================================================================
Revision 2.31-01   (15-Nov-1995)

1. A) To fix problem in S/W release 2.30 on board assembly revisions
      (X10 Issue 6 through X13 Issue 15) where the error code
      P_ERROR_CIM_NOT_FOUND (-1822) occured when trying to grab.

      Summary of Changes:
      - The following JED files:
            - D11617.JED
            - D1161701.JED
            - B11620.JED
        have been replaced by:
            - E11617.JED
            - E1161701.JED
            - C11620.JED.

      - All the CPF files have been modified to account for these changes.

==============================================================================
Revision 2.30-11 (07-Nov-1995)

1.  New
    A) Added functionality:
        A1) Added the ability to detach the DIPIX XCC command interpreter
            and use the XCC as an asynchronous data transfer mechanism.

            Related Functions:
                DDK_XCCDetach
                DDK_XCCAttach
                DDK_XCCPushOutFifo
                DDK_XCCPopInFifo
                DDK_XCCFIFOStatus

        A2) Increased the number of loadable CPFs, and QGSs from 5 to 16.

        A3) Changes to grab to allow concurrent grab and process.  Sample
            application in xpg\dsp\samples\app1.

    B) Interpreter:
        B1) Previously the function DPV_VesaGraphicsMode just set an internal
            variable with the selected mode, and then when calling the
            DPV_VesaDisplayImage function the intepreter would actually
            make the call to DPV_VesaGraphicsMode.  Now DPV_VesaGraphicsMode
            sets the graphics mode immediately.   To set up the graphics mode
            for the DPV_VesaDisplayImage function use
            DPV_VesaSelectGraphicsMode.   The EDB_GraphicsMode (interpreter
            only) function has been removed.
        B2) Replaced edbdcohu.scr with edbdrs17.scr.

    C) Sample code:
        C1) A sample function has been added to demonstrates how to convert
            a buffer of floating point data (in this case fft data) from
            TMS320 format to IEEE.   The sample then reads the data from
            the converted buffer, processes it on the PC and sends it back
            to the DSP.   It converts this processed data from IEEE floating
            point format to TMS320 format and does an inverse FFT and displays
            the results.

    D) New CPF files:
        D1) dalclg1g.cpf for Dalsa CL-G1-2098G cameras.
        D2) All CPF files have new jed file list.   See JED FILES note at the
            end of the release 2.30 section of this file.
        D3) tm6701.cpf for PULNIX TM-6701AN (option 7-2) cameras operating in
            progressive scanning double speed mode (normal mode, 60 Hz).

    E) Misc:
        E1) Performance improvement for the DBI_Filter function,
            P_FILTER_SOBEL option.   On a 512 x 512 the function now
            runs in 0.25 seconds, old time was 0.60 seconds.
        E2) Function DBF_MIOSetSyncGenValue does not work.

    F) Changes for GRAB
        F1) Added the ability to perform continuous grabbing to an image
            buffer.  In this continuous grabbing mode, also added the
            ability to perform double buffered grabbing to two seperate
            image buffers. External triggering, exposure and reset can not
            be used with continuous image grabbing. Continuous image
            grabbing does not work with linepair cameras.

            Related Functions:
                DBF_SetSecondImageID

        F2) Added the ability to attach user interrupts to the Mask RAM's
            UserMask bits.

            Related Functions:
                DDF_ISRSetIIOF0
                DDF_ISRDisableIIOF0
        F3) Added function DBF_QuickGrabHardwareInit to allow the user to
            initialize the XPG and camera module hardware without calling
            the DBF_QuickGrab function.
        F4) Added function DBF_MIOSetVideoSource to allow the selection of
            the video source and sync source inputs on the ACM.
        F5) Grab now checks the CBOB ID on DMCs and returns an error
            if the id is incorrect.

2.  Bug fixes.
    A) PC library:
        A1) The function DPV_VesaDisplayImage has been speeded up.
        A2) Fixed DPW_CopyWindowsToDisk, it was not correctly handling
            rectangles larger than 64k bytes.
        A3) In DPK_InitXPG, save the error status from DPK_CheckXPGRevision
            and return it if there is no other error in the initialization.
        A4) Fixed bug in DPF_LoadCPF that did not allow an ACM capturing from
            an interlace camera source to choose which field was acquired
            first, the code was always grabbing odd field first regardless
            of the selection in the CPF file.

    B) DSP code:
        B1) In DBI_WriteText, fixed check for fill flag.   Fill flag off was
            not being handled properly.
        B2) In DBI_Arith, fixed the ADD, SUBTRACT and MULTIPLY options when
            processing with scale and offset equal to 1.0 and 0.0 respectively.
        B3) DBI_SetImageBuffer was writing the input value to the mapped
            address of the image instead of the 32 bit address, hence losing
            part of the data value passed in for 8 or 16 images. ie passing
            in 0x11223344 to fill an 8 bit image buffer resulted in 0x44 in
            all the pixel values.
        B4) Fixed DBK_MmtGetImageInfo for computing the mapped address.  It
            was generating an incorrect value for memory sizes over 64 megs
            on a bus.
        B5) RESET:
            1) Fixed bug that did not allow reset to occur on the first
               frame of a frame grab sequence.
            2) The reset pulse is now specified in microseconds(us).
               There is an overhead on the reset pulse of 24 us, therefore
               the reset duration will be (24 + ResetDuration)us.
            3) If the frame valid from a camera occurs less than 22us after
               the end of the reset pulse, that frame will not be grabbed
               by the XPG.
            4) If using reset with an interlace camera, proper frame
               synchronization can not be achieved on DCM's lower than X1
               Issue 3 and on ACMs up to and including X5.
        B6) Fixed EDB dual screen mode problem where the last 4 pixels of a
            line were not visible in 640x480 and 1280x1024 modes.
        B7) During front end initialization (DBF_QuickGrabHardwareInit)
            the grab com ports are now flushed. This is to fix bug where
            the second and third grab com port would not power up empty
            on some boards.
        B8) Fixed PC interface to DBI_XYProfile and DBI_LineProfile.
        B9) In DBI_Statistics fixed the accuracy of the variance computation
            by modifying the algorithm from
                var = (ä(Pijý) / (i*j)) - meaný          to
                var = (ä(Pij-mean)ý) / (i*j).
        B10) Fixed the PatternMatch normalized correlation algorithm.  The
             line
                BREAK IF CrossCorrelation <= DecisionValue
             was modified to
                BREAK IF CrossCorrelation < DecisionValue

        B11) Fixed various EDB initializing problems.

    C) Interpreter:
        C1) Fixed error return for the DPV_VesaGraphicsMode function.
        C2) Fixed short form for DBI_RealTimeFrameAveraging to rtfavg
            from favg.

    D) CPF Files:
        D1) Changed the CPF parameters that contained the word CMask
            to UserMask in all cpf files.
        D2) Changed the FieldSize in DALCLCXA.cpf to 1001 from 1000 to
            accomodate VVideoActive of 1000 and a VVideoStart of 1.
        D3) In EG&G1911.cpf changed HVideoStart from 15 to 28 and
            LineSyncDuration from 50 to 0.
        D4) Changed Horizontal parameters in ccir.cpf.

    D) Manual:
        D1) Fixed interpreter section for DBI_Arith.
        D2) Fixed interpreter section for DBI_FilterSetConvolutionParameter.

JED FILES
=========

The contents of the JED directory in XPG software releases is occasionally
updated with JED files to enhance functionality of the XPG-1000 and camera
modules by reprogramming firmware.

This software release has five required JED file entries for the CPF file.
These JED files will be used to reprogram the XPG's and camera module's
firmware. The DPF_LoadCPF will take 20 to 30 seconds to return as it
reprograms firmware the first time it is called with the new JED files.
Subsequent calls to DPF_LoadCPF will not reprogram the firmware, however
verification of the firmware configuration will take approximately 5 seconds.

If any of the required JED files do not exist in the CPF, DPF_LoadCPF will
return the error P_ERROR_CPF_REQUIRE_JED (-2206). Refer to the examples below
to determine the base configuration and permissible variations for JED files.

The following is a list of  JED files included in this release of software.
Of the 5 required JED files 3 are related to the XPG and 2 are related to
the ACM or DCM module. The "x" in the filenames below denote the firmware
revision and may vary from one software release to the next, however only
one revision for each base number will be present on any one software
release. As new firmware files appear, the older revisions will be deleted
requiring the user to upgrade.

XPG (JED files related to XPG firmware)
1)  x11617.JED      required for XPG bare board revisions greater than X4
    x1161701.JED    XPG bare board revisions x1..X4

    The user should always specify x11617.JED, the software will
    automatically detect the bare board revision and substitute x1161701.JED
    for revs x1..x4
2)  x11619.JED      required in the CPF
3)  x11620.JED      required in the CPF

DCM (JED files related to DCM firmware)
    x11727.JED      GDS switch 1 (default)
    x11728.JED      GDS switch 2 (exposure/line sync - active high)
    x1172801.JED    GDS switch 2 (exposure/line sync - active low)

    The following pair of JED files can be used to access all 8 data
    outputs with the DBF_MIODataWrite function. Features such as exposure,
    linesync out and reset are not available when using all 8 data outputs.
    WARNING:These JED files must only be used as a pair, using either one
    on its own or in combination with other DCM JED files could cause damage
    to the DCM module.

    x1172701.JED    GDS switch 1
    x1172802.JED    GDS switch 2


ACM (JED files related to ACM firmware)
    x11806.JED      GDS switch 1(default)
    x11807.JED      GDS switch 2 (exposure/line sync - active high)
    x1180701.JED    GDS switch 2 (exposure/line sync - active low)

    The following pair of JED files can be used to access all 8 data outputs
    with the DBF_MIODataWrite function.  Features such as exposure, linesync
    out and reset are not available when using all 8 data outputs.
    WARNING:These JED files must only be used as a pair, using either on its
    own or in combination with other ACM JED files could cause damage to the
    ACM module.

    x1180601.JED    GDS switch 1
    x1180702.JED    GDS switch 2



EXAMPLES:
    These examples detail the possible JED file combinations for in this
    release of software. These lines are placed in the [XPG] section of
    the CPF file.

EX1) DCM with active high exposure.

    [XPG]
     ...
    ICPLFIle1 =D11617.JED
    ICPLFIle2 =E11619.JED
    ICPLFile3 =B11620.JED
    ICPLFile4 =C11727.JED
    ICPLFile5 =D11728.JED

    For active low exposure replace the following line

    ICPLFIle5= D1172801.JED

    To attach  8 outputs to the DCM's module output register replace the
    following lines.

    ICPLFile4 =C1172701.JED
    ICPLFile5 =D1172802.JED

EX2) ACM with active high exposure.

    [XPG]
     ...
    ICPLFIle1 =D11617.JED
    ICPLFIle2 =E11619.JED
    ICPLFile3 =B11620.JED
    ICPLFile4 =C11806.JED
    ICPLFile5 =C11807.JED

    For active low exposure replace the following line

    ICPLFIle5= C1180701.JED

    To attach 8 outputs to the ACM's module output register replace the
    following lines.

    ICPLFile4 =C1180601.JED
    ICPLFile5 =C1180702.JED

==============================================================================
Revision 2.20   (07-Sep-1995)

1.  New
    A) Linepair camera support to the EDB.

2.  Bugs fixes.
    A) PC library:
        A1) The DPU_Delay function now uses a bios function call to get the
            time elapsed.   This seemed to have fixed -1705 errors when
            running programs from dos shell in Windows.
        A2) Fixed order of return parameters in DBI_Moment.

    B) DSP code:
        B1) Fixed bug in DBD_DispInit.   Image and Overlay DAC were not enabled
            and set to 8 bits before writing the default LUT, hence only 6 bits
            LUT were being generated.
        B2) The buffer allocation in the DBI_Moment function was corrected.
            The buffer was being created too small and the function wrote pass
            the end of it, eventually causing problems.
        B3) In the function dispatch table added the floating point bit flag
            for the second parameter of the DBI_FilterSetConvolutionParameter
            function.   It's absence was causing the floating point value
            of Boost or Scale to be read as an integer which made the function
            output incorrect.
        B4) Set the frame count to 1 and the multigrab to SINGLE image
            before doing the QuickGrab setup for both the DBI_FrameAveraging
            and the DBI_RealTimeFrameAveraging functions.

    C) Interpreter:
        C1) Fixed displaying of output information for the DBI_Moment function.

==============================================================================
Revision 2.10   (13-Jun-1995)

1.  New
    A) Added functionality:
        A1) The TIFF functions are available.
        A2) New functions, DBF_StartExposurePeriodic and
            DBF_StopExposurePeriodic.
        A3) The EDB now supports DUAL SCREEN MODE.

    B) Interpreter:
        B1) Script file edbdncam.scr to put up a test image with an EDB in
            dual screen mode.
        B2) Script file edbdcohu.scr to grab images with a cohu4110 camera
            using an EDB in dual screen mode.

    C) Sample code:
        C1) A sample function has been added to demonstrate how to send
            a buffer of information back from the DSP to the PC using the
            XDC.  The DSP function also shows how to write an PC interface
            function so that the PC and the DSP can call the processing
            function with the same calling sequence.

            DSP: buser3.c, user3fdt.asm, userprg3.mak and userprg3.lnk
            PC : usr3samp.c and usr3.bat
        C2) Visual basic sample files in DIPXPG\pc\samples\visbasic.

    D) New CPF files:
        D1) The DAL1024.CPF and DALCL1K.CPF have been deleted, use the
            DALCADXG.CPF and DALCLCXA.CPF respectively instead.
        D2) eg&g1911.cpf for EG&G LC1911 camera (1k array) using programmable
            oscillator operating at 10 MHz.
        D3) eg&g4013.cpf for EG & G MD4013NRS-012 cameras.

    E) Misc:
        E1) The BUFHEADER structure was modified.   A new element has been
            added.   BUF_MappedDataPtr, which will be the 32 bit cached address
            of the data if cache is on, otherwise it will be the same as
            BUF_DataPtr.
        E2) A new parameter, lExposureStart, has been added to the functions
            DBF_SetExposure and DBF_GetExposure.
        E3) Renamed DBI_ClearDisplayMemory to DBD_ClearDisplayMemory.
        E4) Renamed DBD_DispImageRoam to DBD_DispRoam.
        E5) The object code for pckio.asm has been included:
                pckio.bor       for borland
                pckio.msc       for microsoft
                pckio.win       for microsoft windows
        E6) New palette file for colour cameras, palette.rgd.

    F) CHANGES FOR GRAB
        F1) All users with XPG board revs less than X10 will be required
            to add JED file names to their CPF. An XPG LSI device and a
            GDS switch will be reprogrammed the first time the CPF is
            loaded. As well the two GDS switches on the ACM and DCM modules
            must be reprogrammed for this release.

            D11619.JED      XPG LSI device
            B11620.JED      XPG GDS switch
            C11727.JED      DCM GDS switch 1
            D11728.JED      DCM GDS switch 2 (exp/line sync - active high)
            D1172801.JED    DCM GDS switch 2 (exp/line sync - active low)
            C11806.JED      ACM GDS switch 1
            C11807.JED      ACM GDS switch 2 (exp/line sync - active high)
            C1180701.JED    ACM GDS switch 2 (exp/line sync - active low)

            example: Addition to a CPF file for a DCM with active low
                     exposure required.

            [XPG]
             ...
             ...
             .......
             ICPLFIle1 =D11619.JED   "This is required"
             ICPLFile2 =B11620.JED   "This is required"
             ICPLFile3 =C11727.JED   "Required for DCM, use C11806.JED for ACM"
             ICPLFile4 =D1172801.JED "This file or D11728.JED required"
                                     "For ACM use C11807.JED or C1180701.JED"

        F2) Exposure used to be generated immediately following a frame sync.
            The exposure can now be generated asynchronous to the camera's
            frame sync pulse for those cameras that require an exposure
            (or frame start) pulse in order to start frame readout.

            The exposure can also be delayed relative to frame sync. Generation
            of a continuous exposure asynchronous to the grab routine is now
            possible.

        F3) Line Sync out can now be generated on a C40 timer. This feature
            allows for constant line sync timing with no variance due to ISR
            software. In this mode, the Line Sync is limited to a 50% duty
            cycle square wave. When calling grab, line sync out will be started
            and stopped by the grab function.   When the DBF_StartLineScanOut
            function is called prior to frame grab, it generates the line sync
            out pulse and then the grab function does not generate or modify
            the pulse.

        F4) Calls to functions DBF_SetExposure and DBF_GetExposure require an
            additional parameter, ExposureStart.

        F5) Added function DBF_StartExposurePeriodic and DBF_StopExposurePeriodic
            which are used to start and stop a periodic exposure which runs
            asynchronous to the grab routine.

            NOTE: The exposure will not be generated by the camera module until
                  an initial call to DBF_Grab or DBF_QuickGrab is performed, which
                  initializes the module control registers.

        F6) The grab routine now sets the valid bits field of the grabbed
            image equal to the valid bits of the camera. The grab also ensures
            that the image depth will accomodate the camera image.

        F7) Module inputs are left enabled after grab so that linesync or
            exposure pulses running asynchronous to the grab will continue to
            pass through the module to the camera. These signals do not pass
            through the camera module prior to an initial call to DBF_Grab or
            DBF_QuickGrab.

            Notes: ISP programming does not program the slave module when
                   operating in dual module grab mode. This will not cause
                   problems as all camera control is performed by the master
                   in this mode of acquisition.

                   ISP programming does not check if the module is of the
                   same type as that specified in the CPF for ISP module
                   programming. This is NOT critical as the ACM and DCM
                   programming files are very similar and proper programming
                   will occur when the proper CPF file is loaded.

                   ISP programming does not return an error if the specified
                   module is not present.

2.  Bug fixes.
    A) PC library:
        A1) Fixes to DPK_LoadCOFFFile to allow proper load on a PENTIUM
            system.   Tested with a PENTIUM 90 and Windows 95.
        A2) Fixed bug that did not allow the HClampStart value to be set to 0.
        A3) Fixed DBI_FilterModifyKernel PC interface.
        A4) In HAMC4742.CPF, changed BitsPerPixel from 16 to 10.
        A5) DPK_InitXPG now verifies that coff file writes to the DSP were
            all successfull.  This uses a new bit in the PCDSPSTAT register,
            which will stay set if any XDC transfer fails.
        A6) Fixed bug in DBG_WriteText which caused it to send an extra
            character depending on the string length.   Also the PC will
            send one character per longword to match calling it from the
            DSP.

    B) DSP code:
        B1) Turning the local bus cache on was dirtying the global cache memory
            instead of the local cache memory.
        B2) Fixed P_CREATE_MAX_IMAGES_POSSIBLE use in DBK_MmtCreateImage.
        B3) Fixed problem creating an image when create location is DONT_CARE
            and there is not enough memory on either the local of global bus
            for the image but sum of the total free memory for the two buses
            is enough.
        B4) Make sure the EDB memory and buffers are initialized before trying
            to create EDB images.   Note that a call to DBK_MmtInitialize
            also clears all the EDB memory management information, hence
            if using an EDB it must be initialized after a call to
            DBK_MmtInitialize.
        B5) Fixed bug that did not allow proper operation of the ACM when
            using a clock source that is not genlocked to the line valid.
        B6) DBD_ClearDisplayMemory now works if the TLUTs are enabled.
        B7) Fixed DBF_QuickGrabStatus which reported ready when it was not.

    C) Interpreter:
        C1) Fixed error reporting in DPV_VesaDisplayImage.   If there was
            an error the screen was not being put into text mode until a
            keypressed from the user, then the error was reported.   The
            fix returns the screen to text mode immediately.
        C2) Fixed problem with EDB image number parameter in the call to the
            DBK_MmtGetImageInfo function.   It was being handled as an INT
            instead a LONG hence losing the EDB image flag in the upper
            word.
        C3) The interpreter used to start up and change the graphics mode.
            Now it only changes the mode when doing the functions "dmem",
            "dvga", "gb" and "hg".

    D) Manual:
        D1) In the function DBK_MmtCreateImage the flag P_CREATE_NOERR_NUMIMG
            has been corrected to P_CREATE_MAX_IMAGES_POSSIBLE.

Note: Version 2.00 of the software will not work with assembly revs X9 XPG
      and later (PCB revs A and later).  To make it work if this is a problem
      modify dpdefs.h, change #define P_XPGREV 0x0c to #define P_XPGREV 0x0e.

      To compile and put into the library:

      For Borland:

        bcc -c -w -ml -I..\include initxpg.c
        tlib ..\lib\xpgblib.lib -+ initxpg.obj

      For Microsoft:

        cl /W4 /AL /batch /c /Od /I..\include initxpg.c
        lib ..\lib\xpgmlib.lib -+ initxpg;

      For Microsoft Windows use the make file wxpgmlib.mak, as the DLL
      requires all objects for linking.


==============================================================================
Revision 2.00   (12-May-1995)

1.  New
    A) Added functionality:
        A1) The XPG now supports the enhanced display board (EDB).   The
            functions available for the EDB are:
                - DBD_DispEnableImage         - DBD_DispLoadImgLUT
                - DBD_DispEnableOverlay       - DBD_DispLoadOvlLUT
                - DBD_DispEnablePassthru      - DBD_TLUTEnable
                - DBD_DispImageRoam           - DBD_TLUTGetDepth
                - DBD_DispInit                - DBD_TLUTGetMap
                - DBD_DispSetImgFOV           - DBD_TLUTLoad
                - DBD_DispSetOvlKeyIndex      - DBD_TLUTRead
                - DBD_DispZoom                - DBD_TLUTSetDepth
                - DPD_DispGetInit             - DBD_TLUTSetMap
                - DBD_DispImage
             In addition the following existing functions also support
             the EDB:
                - DBI_CopySubImage            - DBI_CopyImage
                - DBI_SetImageBuffer          - DBI_ClearDisplayMemory.
        A2) A function to do real time frame averaging has been written.
            DBI_RealTimeFrameAveraging.   A sample program rtfasamp.c
            is provided in the pc\samples directory.
        A3) Added support for LINEPAIR cameras, XPG memory only.
        A4) SRAM can now be used as cache.  See the DBK_MmtSetCacheFlag
            function in the "Function Library" manual.
        A5) Support for a single ACM that has the jumpers configured for
            dual ACM mode.
        A6) New function to return camera data size and the number of valid
            bits per pixel,  DBF_GetCameraDataSize.

    B) Interpreter:
        B1) Added GrabNDisplayContinuous in the interpreter (short form
            is gc).   This function will allow a user to grab and display
            until the <ESC> key is pressed.   The usage and set up of this
            function is demonstrated in the script file cgrab.scr.
        B2) Added an interpreter script to show how to call a DSP user
            function from the interpreter.   user.scr.
        B3) Added EDB functions.
        B4) Interpreter scripts edbors17.scr to demonstrate the EDB in 800x600
            one screen mode with an rs170 analog camera, and edboncam.scr to
            demonstrate the EDB in 800x600 one screen mode with no camera.

    C) Sample code:
        C1) The sample program usersamp.c was renamed usr1samp.c and now
            is compiled with usr1.bat instead of user.bat.   It also loads
            usr1.out instead of a.out.   The board component now generate
            usr1.out.
        C2) A new sample program usr2samp.c has been added to show how to
            return parameters from the board to the PC.
        C3) A new sample program that grabs and histograms an image, putting
            them up on the screen.  It also allows a user to modify the gain
            and offset values of the camera while grabbing.  tcamsamp.c.
        C4) Sample to show how to use the real time frame averaging function.
            rtfasamp.c.

    D) New CPF files:
        - ae4128.cpf for Amber 128x128 cameras.
        - ae4256.cpf for Amber 256x256 cameras.
        - radiance.cpf for Amber radiance.
        - tm1000.cpf for Pulnix TM 1000 cameras.
        - hamc4742.cpf for Hamamatsu C4742 cameras.
        - dalcadxd.cpf for Dalsa CA-D1-0256D cameras.
        - dalcadxg.cpf for Dalsa CA-D2-1024G cameras.
        - dalclcxa.cpf for Dalsa CL-C4-2048A cameras.
        - kodak14.cpf replaces untested kodak.cpf for kodak megaplus 1.4
          cameras.

2.  Bug fixes.
    A) PC library:
        A1) Fixed bug in CPF reader which required the oscillator type to
            be set to VARIABLE and an oscillator frequency to be provided.
            Other oscillator type are now properly handled.
        A2) The function DPF_LoadCPF now uses the environment variable
            DIPXPG.   Calls to this function no longer require the cpf file
            path.
        A3) DPK_InitPCK initializes the XPGSTATUS structure for each XPG
            from the global default setup instead of it's own set of defaults.

    B) DSP code:
        B1) In DBI_CopySubImage fixed the ouput image line offset calculations.
        B2) In the DBI_Arith function.
            - Fixed pixel counter problem for the MIN, MAX, AND_COMPLEMENT
              and DIVIDE operations.
            - Fix scale and offset versus no scale and no offset table
              selection.  Once no scale and no offset tables were in use the
              scale and offset tables were no longer accessible.
            - In the divide function added a round up factor.  Also correct
              register usage for converting float back to integer.
        B3) Fixed problem in DBF_QuickGrabStatus that caused the function to
            wait even when the wait flag was set to P_GRAB_NO_WAIT.
        B4) Fixed problem with creating buffers in Local Bus SRAM.

    C) Interpreter:
        C1) Fixed the short form of DPK_XDCPutImage and DPK_XDCPutData in
            the interpreter from xgi and xgd to xpi and xpd respectively.
        C2) Fixed the parameter count for DBI_Moment.

==============================================================================
Revision 1.01   (14-Mar-1995)

1.  New
        A) ACM support.
        B) Programmable ocillator now works.
        C) Addition of default module output register for CPF.
        D) rs170ana.cpf, ccir.cpf.
        E) Gain and offset functions for the ACM have been added.
            - DBF_MIOGetGain        - DBF_MIOGetOffset
            - DBF_MIOSetGain        - DBF_MIOSetOffset
            - DBF_MIOSetOscFreq

2.  Bug fixes.
        A) Fixed DPI_Arith NOT-XOR1 option.
        B) Fixed DBK_MmtCreateImage and DBK_CreateBuffer to check for
           images dimensions (pixels or lines) <= 0, and buffer size <= 0.

==============================================================================
Revision 1.00   (24-Feb-1995)

1.  New
        A) The XPG-1000 interpreter.   Refer to software reference for
           purpose and usage.   Interpreter status is in inter.doc and
           is in the top level directory of the release along with the
           interpreter.

           With the addition of the interpreter to this release the program
           testcomm.exe is no longer needed and has been deleted from this
           release well as it's source code in pc\samples.
           For the same reason lcoff.exe is no longer provided.

           Three interpreter script files have been provided.

            init.scr    To initialize 1 XPG and get a vga palette file into
                        the interpreter.

            grab.scr    Initializes an XPG, loads a .cpf file, creates an
                        image, grabs the image and displays it on the vga
                        screen.

            qgrab.scr   The script is essentially the same a grab.scr except
                        that the quick grab functions are used to grab.

2.  Bug fixes.
        A) DBI_XYProfile was returning incorrect sums for X profiles.
        B) DBK_MmtReadBufferHeader's pc interface had line and pixel
           references inverted.

==============================================================================
Revision 0.64   (21-Feb-1995) Special

1.  New.
        A) Support of dual DCM.
        B) Support of look up tables on DCM.

2.  Bug fixes.
        A) Fixed bug in DPV_GetVgaPalette which loaded an extra entry.
        B) Fixed bug in linescan code introduced in revision 0.63.

==============================================================================
Revision 0.63   (07-Feb-1995)

Notes:

1.  New
        A) Windows demonstration program, in DIPXPG\wdemo.
        B) Frame averaging sample in DIPXPG\pc\samples.

2.  Bug fixes.
        A) Fixed a register usage problem in DBI_Arith.
        B) Fixed quick grab.
        C) Fixed DBK_XDCGetImage and DBK_XDCPutImage under Windows.

3.  Misc
        A) The following functions are still untested.
           DPS_Tiff* and DPS_Jpeg*.
        B) img.006 renamed to headmres.img (Magnetic Resonance image of a
           human head).

==============================================================================
Revision 0.62   (17-Jan-1995)

Notes:

1.  New

    A) Heap size is to be changed from 0x1000 to 0x5000 in board link file.

    B) The following CPF related functions are tested

            DPF_LoadCPF
            DBF_SelectCPS
            DBF_FreeCPS

       This release now supports Quick Grab Setup(QGS) functions.

            DBF_QuickGrabAllocSetup
            DBF_QuickGrabSetup
            DBF_QuickGrab
            DBF_QuickGrabResetSetup
            DBF_QuickGrabDeleteSetup

       The following Grab Setup modification functions have been tested in
       this release.

            DBF_GetExposure             DBF_SetExposure
            DBF_GetFrameHoldOff         DBF_SetFrameHoldOff
            DBF_GetFrameSkip            DBF_SetFrameSkip
            DBF_GetFrameCount           DBF_SetFrameCount
            DBF_GetGrabWindow           DBF_SetGrabWindow
            DBF_GetLineScanOut          DBF_SetLineScanOut

    C) Changed the _ulG_* variables in dsp\samples\userprg1.lnk to
       _G_ul*, to reflect the name changes in xpg.lib made in version 0.60.

2.  Bug fixes

    A) Fixed memory test in initialization of board software.   It was
       detecting SRAM when there was none.
    B) Fixed DPW_CopyDspToWindows which called DPK_XDCGetData with NumPixels
       instead of the number of longwords.   Fix is NumPixels / 4.

==============================================================================
Revision 0.61   (06-Jan-1995)

Notes:

1.  New

    A) Microsoft dll in pc\lib.   Make file, link file and .def files in
       pc\source.  wxpgmlib.*.  This dll is not tested.

2.  Bug fixes.
    A) Fixed opcode value in the DPK_XCCPopOpcode statement in the
       DBF_SetExposure function.

==============================================================================
Revision 0.60   (19-Dec-1994)

Notes:
    A) Function name changes:

        DBI_CreateFaverageBuffer  to DBI_CreateFrameAveragingBuffer
        DBI_Faverage              to DBI_FrameAveraging
        DPI_GetLut                to DPV_GetVgaPalette

    B) Microsoft support.  A microsoft large model host library has been
       added to the DIPXPG\pc\lib directory.  It's called xpgmlib.lib.
       The make file, xpgmlib.mak, is in DIPXPG\pc\source.

    C) All images processing functions tested with 8 bit data.

    D) GRAB

        Tested Features - The values for these feature have been tested
                          through the Camera Parameter File(CPF).

            Linescan grab
            Areascan grab
            8 and 16 bit acquisition
            Multi Image grab
            Exposure (Areascan)
            Timed Trigger (Only tested with area scan)
            Frame Holdoff (Areascan)
            Frame Skip (Areascan)
            Linescan Output Pulse - NOTE: This feature does not support short
                                pulses under 100us. A line sync period
                                larger than (32K * the camera's pixel clock
                                period) is not possible.

        NOTE: For all 40MHz boards.
        The software assumes a 50 MHz clock. All function calls or Camera
        Parameter Files that take timing values in us, will produce timing
        of 1.25 x the spcified value on 40 MHz boards.

        Tested Functions

            DBF_Grab
            DPF_LoadCPF
            DBF_SelectCPS
            DBF_SetFrameCount
            DBF_GetGrabWindow
            DBF_SetGrabWindow
            DBF_SetExposure

    New dal*.cpf file.   Description of the cameras supported with the files.

==============================================================================
Revision 0.13   (28-Nov-1994)

Notes:
    A) Additional functions tested (8 bit data only).
        - DBI_Filter
        - DBI_FilterSlice
        - DBI_FilterMorphology - erode grey scale only.
        - DBI_Histogram
        - DBI_Statistics
        - DBI_Warp
        - DBI_GenerateWarpTable
        - DBI_WarpWithTable
        - DBI_LoadLut
        - DBI_RemapImage
    B) The coff file has been renamed from a.out to xpg.out.
    C) Added user code sample.   This shows a user how to write a host
       interface to a user board function.
       In the pc\samples directory: usersamp.c
       In the dsp\samples directory: everything.

==============================================================================
Revision 0.12   (11-Nov-1994)

Notes:
    A) Multigrab tested.
    B) DBI_Arith and DBI_ConvertData tested.   The Arith Divide option
       works on 16 bit data.
    C) 16 bit image to disk function tested.
    D) New version of lcoff.exe.  It will load a.out at ioport 0x300 if
       there is no parameters on the command line.
       lcoff -fname.out will load user specified coff file.
             -iiobase (in hex, ie: 0x310) for using a different iobase.

==============================================================================
Revision 0.11   (02-Nov-1994)

Notes:
    A) - The load coff file option of the testcomm program will now load
       any .out rather than just a.out.
       - Set up environment path.
    B) New a.out to run in global dram only.
    C) Fix to install file.

==============================================================================
Revision 0.10   (28-Sep-1994)

Notes:
    This is a very alpha revision of the XPG-1000 software.   Only the
    following functions have been tested.

    DPC_CopyMemToDsp                DBI_ConvertData
    DPC_CopyDspToMem
    DPC_CopyDspToDisk
    DPC_CopyDiskToDsp
    DPC_VesaDisplayImage

    DPK_MmtInitialize
    DPK_MmtCreateBuffer
    DPK_MmtCreateImage
    DPK_MmtDeleteBuffer
    DPK_MmtDeleteImage
    DPK_MmtGetImageInfo
    DPK_MmtReadBufferHeader
    DPK_MmtSetCalculationWindow
    DPK_MmtSetValidBits


    Test software sent with this release.

    lcoff.exe to load a coff file to the board.
        Syntax: lcoff a.out

    testcomm.exe to use memory management functions and perform a grab.
                 Also functions to save image to disk or to display them on
                 the vga screen.

==============================================================================
Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web5, load: 1.31