History/Updates/Addendium to D0 Note 2589

Since (9/16/97) some new Win-95 dll's have been developed by one of the authors' (Angstadt) that are callable both by 32 bit versions of Excel ('95 and '97) and 32 bit C applications. (The 403/406 adapters still only support 16 bit VME bus cycles.) DLL performance is slightly improved via predefined compiler selectors to D0000. Getting data into and of 32 bit Excel Cells has been observed to be ~4 times faster than (16 bit) Excel V5.0. These improvements more than offset the slight penalty imposed by the Win-95 "flat-thunk".

Have finally (3/1/99) got DMA working with the 617 to one of the modules here: the SASEQ (Stand Alone Test Sequencer) with no detected DMA errors in 7,500,000. Setup time is ~50 microseconds with about ~100 microseconds on the end of short DMA's of 128 bytes.

As of 3/11/99 my driver will now recognize and work with the 618 which has the same capability and register map as the 617 but uses a light link instead of a cable. This removes the 25ft cable restriction: "The 618 supports system separation up to 500 meters. DMA Controller transfers data at rates up to 35M Bytes/sec"


As of 5/24/99 I have "ported"  my 617 windows 9x driver to work under NT.  It requires giveio.sys and mapmem.sys be installed and consists of  bntdv617.dll.   It's performance is ~2x of my Win 9x driver and around 8x of the existing NT driver dll by others. (~5 microseconds per access of which ~2.2 is hardware.)  It is on d0server4\users\angstadt\b6nt\b6ntdv.  See the readme.txt file for more details.  I presently do not have DMA working on the NT platform.


As of 6/2/99 I have "ported"  my 403/406 (hence 40x)  windows 9x driver dll to NT.  It requires giveio.sys and mapmem.sys be installed and consists of  bntdv40x.dll.   It's performance appears to be similar to the 617 driver under NT.  It is on d0server4\users\angstadt\b4nt\bntdv40x.  Be sure to read the readme.txt file for important details and caveats.


The 40x Bit3 under NT now (6/8/99)  returns more helpful errors if it can't hook up to mapmem.sys and/or giveio.sys.  Also I have some developed some ancillary but important utilities to determine if resources are available (memory and I/O address space) before installing the 40x boardset as it is not plug and play.


  ...

Status as of 1/26,2001:
    Since this was first done a suite of software drivers with the same entry points and operational behavior now exist. A variety of Bit3 models including 603,604,616,617,618 are now supported on both Windows 9x (Millenium not tried yet) and NT (including 2000). Also an NT (only) driver exists and is in use for an embedded V5B (Pentium @200Mhz VME embedded processor using the Tundra Universe chipset). There is at present no DMA support for the V5B (none is planned). However, there is DMA support for the 617 and 618.
    These relatively vanilla drivers share many common characteristics with simple entry points and calling sequences and only support one board (of each type). They are synchronous (none multi-threading ect.) non-interrupt generic drivers. Since they have common entry points and VBA (Visual Basic for Applications which shipped with Excel starting at version 5.0 (cerca '94)) supports modules, by replacing one module with another of the same entry points it is possible and we routinely switch (large) spreadsheet(s) between adapter models and/or operating systems in about 5 minutes provided the target spreadsheet is not using a feature not available with that adapter. (For example a 603 is A24 & D16; 604 is A32 & D16; 616,617,618 are all A32 D32 but the 617 and 618 are the only ones to support DMA. If the target is trying to do a A32 D32 VME cycle with a 403 or a 406 it won't work. Going to a higher model will always work but the converse will only work if none of the additional 61x routines are called.)
Converting spreadsheets to work with different Bit3 models and/or different Operating Systems (Win 9x or NT) in about 5 minutes. (related to D0 Note 2589)  html file