DSP21k-32 Toolkit for Windows 95 and Windows NT
===============================================
Release 5.00, 6/3/98
=====================

-----------------------------------------
New Features in this release (Since 4.10)
-----------------------------------------

Support for the Snaggletooth-PCI (board type 26) and Blacktip-CompactPCI
  (board type 28) have been added.

There are utilities to display and change the size of the Snaggletooth-PCI
  memory space to support the CHUM. See the "Using Snag-PCI and Chum" below.

There is now a method to speed up host transfers to remotely accessed
  external memory (48-bit external memory on all boards and 32-bit
  external memory on ISA boards). See the desciprtion of
  "dsp21k_fast_extmem_xfers" below.

DspHost may now use single precision floats.  To do so, compile WITHOUT
  "-fno-short-double" and then link with "lib\dh21k\libdhsp.a"

The IMDWx bits in the SYSCON are now clear by default and only set when a
  file is loaded with 40-bit in the memory block, allowing either 32 or 
  40-bit data in both memory blocks.

SHARCPAC board types now work when hosted on PCI and ISA boards.

All error and message functions updated to operate on global error/msg.

New HIL functions:
    dsp21k_bank_size
    dsp21k_get_device_info
    dsp21k_mpid
    dsp21k_set_error_number
    dsp21k_wait_on_interrupt
    dsp21k_wake_up_interrupt
    dsp21k_get_physical_memory
    dsp21k_init_interrupt
    dsp21k_map_memory
    dsp21k_unmap_memory
    dsp21k_get_dsp_name
    dsp21k_get_board_name

Under Windows-NT, the toolkit now uses the BittWare NT device driver.
  (Under Windows-95 the toolkit continues to use BlueWater System's WINRT
  device driver).

The DSP may now function as a bus-master. Under NT, contiguous physical
  memory can be allocated, which the DSP may directly access as a bus-master,
  and which the host program may also access.

The file 'inc\bitsi\bitsi.h' has been added. This directory will include
  files to simplify the usage of BITSI modules.
 


-----------------------------
Changes/Fixes in this release
-----------------------------

SHARC executable files have been moved from \bin to \etc.

In diag21k, the memory bank (mb) command was eliminated, and the board
  information display re-arranged.

The DspHost fflush has been fixed when the parameter is NULL.

Changed dsp21k_flags so that bits 0-3 indicate the status of flags 0-3,
  and bits 8-11 indicate whether flags 0-3 are available.

The SHARC's Host Packing Mode is always "none" for PLX boards, so that 48 bit
  accesses are performed as read/write to short word access space.

D21kreg was changed so that board entries must be ID numbers, names are no
  longer accepted. Also, the ID numbers list has been updated and corrected.

For the PLX PCI board types the dsp21k_rd/wr_bdreg function has been 
  changed. If offset is < 256, access is to the mem-mapped runtime
  registers on PLX, otherwise offset is treated as an absolute I/O port.
  (The PLX PCI boards are: Blacktip-PCI Rev.3, Snag-PCI, Whitetip-PMC,
  and Snag-CompactPCI).

Changes so that only dsp21k.h and ctrlregs.h are needed for HIL applications.
  The DSP21K structure is not visible to users. (New functions have been added
  to access necessary data from the DSP21K structure.)

The following changes apply to the dspbad and diag21k memory tests:
    Self-address tests use 32-bits, not 16.
    Checkerboard changed to all 'A's and '5's.
    Tests for all bits set and clear added.

Interrupts have been redesigned, and now work reliably.

Dspbad has been extensively updated.

Added support to load DSP ELF files (*.dxe). A new utility (coff2elf) has
  been added to convert COFF files to ELF files. The ELF file support is
  limited to 40-bit data in Internal Memory Block 0 and 32-bit in Block 1
  (IMDW0=1, IMDW1=0).

Updated the diag21k disassembler to recognize CJUMP, RFRAME, and IDLE16.

EZ-Lab examples deleted.

Added Watcom support.

The interrupt example code has been reworked so that a single executable
  file exists for the PC and DSP, and to demonstrate continuous interrupts.

Faster PCI-PLX transfer speeds (Blacktip-PCI Rev.3, Snag-PCI, Whitetip-PMC,
  and Snag-CompactPCI are affected).

Added User Software Interrupt (userswi) and Vectored Interrupt (virpt)
    examples.

A potential problem when accessing 48-bit external memory on PCI boards
  has been corrected.



-----------------------
Precedence of Documents
-----------------------

We at BittWare recognize that some of our documentation may contain
conflicting information (e.g.: environment variables). Please understand
that this occurs as we learn more over time, and that it is not feasible
to revise a document every time a minor item in it changes.

As a guideline, always assume that the information contained in the latest
document is correct. We have not encountered any case to the contrary, yet.
All documents we print should have a publication date at the bottom of
the copyright page (opposite the table of contents). All documentation 
files we supply should have a date near the title, and if not use the
file date. 



-------------------
Contacting BittWare
-------------------

Prior to contacting BittWare for assistance, please perform the following
checks and record significant results.  This will allow us to better
serve you.

-Review your Environment Variables and the file 'env_var.txt' to insure that
 they are correct.

-Please run DSPBAD on the board and note the results.

-Please run DIAG21k on the board, enter 'br' at the first prompt, 'pc' at
 the next, and then initiate memory tests by entering 'mt aa'.

-Try re-installing the tools and check your path if you are getting file
 not found or similar errors.

-Try changing the hardware:
     -If you have access to a different board, please try it.
     -Try the board in a different PC.
     -Try a different operating system.
 See if the problem tracks with the board or PC.

-Finally, when contacting BittWare please have at least  the results of
 these tests and the following information ready:
     -Your ADSPx and DSP21K environment variables. (Type 'set' at the DOS
      prompt to view them).
     -Information identifying the hardware and software you purchased.
      (See the original BittWare packing list or a copy).
     -Which operating system you are using (DOS, Win-3.1, Win95, Win95N,
      Win-NT-3.51, or Win-NT-4.0).
     -The release number of your DSP21K Toolkit. (Enter 'diag21k -v' at a
      Dos prompt).
     -The release number of the Analog Devices tools you are using (Enter
      'g21k -v' at a DOS prompt).
 If you could be at the PC with problems when making the call, we would
 better be able to start investigating the problem.



-----------------------
Using Snag-PCI and Chum
-----------------------
There have been two new utilities added, mainly to support the installation
of a Chum board onto a Snaggletooth-PCI. The combination of Snag-PCI and
Chum will only work with the recently revised FPGA versions, which are
indicated on both by a label on a socketed 8-pin PROM. On the Snag-PCI
this label will read "1.1" (or higher) and on the Chum it will read "1.2" 
(or higher). If there is a lower number on the label, or no label, contact
BittWare to obtain an upgrade if you will be using the Snag-PCI with a
Chum SHARCPAC.

The first new utility provided, "brsprom.exe", will read the PLX-EEPROM
and display pertinent information in it. Such information includes the 
factory test date, recommended memory and wait configurations, and
identification information. If the information has not been programmed,
it will set the normal default values.

The second utility, "snagsize.exe" lets the user set the memory size for
Local Address Space 0. The default value is 32 MB, which allows all
functionality, except PC access to the memory on a Chum SHARCPAC. If a
Chum SHARCPAC is placed on a Snag-PCI, the user will need to run
"snagsize -m64" once, and then reboot. This utility will change the
PLX Local Address Space 0 defaults such that after the next reboot
the PC may access the Chum memory directly. Note: the snagsize utility
should only be run when necessary and should NOT be part of the normal
bootup process.




