#AS113 - Troubleshooting AcqKnowledge for Windows

42 Aero Camino Santa Barbara, Ca 93117 Ph (805)685-0066 Fax (805)685-0067 www.biopac.com BIOPAC Systems, Inc. [email protected]

#AS113 - Troubleshooting AcqKnowledge for Windows

This document is intended as a general guide to hardware and software requirements for AcqKnowledge/MP100WSW for Windows, as well as a summary of the common problems encountered while installing AcqKnowledge. As a rule, AcqKnowledge for Windows will work on any PC which runs Windows 3.1 or higher. There are, however, some very basic additional requirements.

Hardware requirements

Bus. AcqKnowledge requires that a proprietary serial card be installed inside the PC. Presently, the serial card is compatible only with the ISA or EISA bus standards. If a desktop computer does not use either of these bus types, it is probably an IBM PS/2, which uses an MCA (or MicroChannel) bus. The MCA bus is not compatible with either the ISA or EISA bus. It is important to note that some (newer) IBM computers have at least one ISA bus, so users of newer IBM computers are likely to be able to use AcqKnowledge.

Many newer computers are also equipped with a PCI bus, which allows for faster throughput than traditional ISA bus designs. These computers usually allow for about three "true" PCI cards to be installed, and some number of (usually four) ISA cards to be installed. Additionally, most machines have a "shared" PCI/ISA slot, which is physically compatible with ISA cards, including the ISA100A. The ISA100A will not physically fit into a "true" PCI slot, although it will work in the shared PCI/ISA slot, if available.

Laptop, notebook, and sub notebook computers use a different type of bus interface, known as a PCMCIA slot. AcqKnowledge will run on these computers, although data cannot be acquired directly to these PCís without the PCMCIA card.

CPU. Although AcqKnowledge has run on an 80286, we do not recommend using anything less than an 80386SX running at 16 MHz. For most acquisition and analysis, an 80486 or Pentium CPU is recommended. There have been no reported problems with non-Intel (80x86 compatible) CPUs.

AcqKnowledge should run on PowerPC systems which use Windows as an operating file:////Ntserver4/DOC%20PDF/AppNotes/app113WIN/wintrbl.htm (1 of 14)3/21/2006 4:53:34 PM #AS113 - Troubleshooting AcqKnowledge for Windows

system, provided an ISA bus is present and a Windows 3.1 compatible is being used.

Memory. As far as memory goes, AcqKnowledge itself does not require significant memory above and beyond the recommended amount of RAM for Windows itself. Typically, 4 MB of RAM is a minimal configuration, with 8 MB and 16 MB configurations being common.

Software requirements

The only software requirements are Windows 3.1 or higher and AcqKnowledge for Windows. AcqKnowledge will run under Windows 3.11 and Windows for Workgroups 3.11, and should run with OS/2 Warp. There are no known conflicts between AcqKnowledge and other applications or device drivers per se. AcqKnowledge will run in 16-bit mode under Windows NT 3.5 ("Daytona"), although at present it is not possible to acquire data under WindowsNT. AcqKnowledge will run and collect data in Windows '95 ("Chicago").

Common problems

The single most common problem encountered with Windows systems is related to the high speed serial card (ISA100A). Where problems arise, they typically involve communication errors between the PC and the MP100, and/or the computer "locking up" soon after an acquisition is initiated. These errors are caused by memory conflicts between the serial card and other cards/devices in the PC. Device contention can occur between the serial card and a modem, video card, sound card, drive controller card, multifunction card, network card or similar device.

When a conflict occurs, the serial card and the other device are competing for the same memory address and/or DMA channel. To remedy this, the DMA channel and/or the memory addresses of the devices should be changed so that each device is set to a unique memory address and a unique DMA channel.

There are two versions of the serial card, one a 3/4 size and one a 1/2 size card. The larger card was shipped only with early releases and has been replaced by the smaller card. The larger card (manufactured for BIOPAC by Linear Systems, Inc.) caused problems on some EISA-bus machines and HP Vectra PCs. Using the smaller (newer) card with these machines seems to remedy this problem. The following section addresses how to resolve conflicts with the newer 1/2 size ISA100A only.

There are two parameters that can be changed with respect to the ISA card. The first is the DMA channel and the second is the I/O address. These two options are set file:////Ntserver4/DOC%20PDF/AppNotes/app113WIN/wintrbl.htm (2 of 14)3/21/2006 4:53:34 PM #AS113 - Troubleshooting AcqKnowledge for Windows independent of each other, and both are set in AcqKnowledge in the Hardware Configuration window, as shown below. You can access this window by choosing Configuration under the MP100 menu.

It is important to note that the PC does not need to be communicating with the MP100 for this setting to be changed. If AcqKnowledge can be started, then the setting may be changed.

As you can tell, the DMA channel can be set to either 1 or 3, and the I/O address may be set to any value. Neither the hardware nor the software check to make sure the selected address is free, so it is possible that changing the settings from the defaults will continue to result in a conflict.

Resolving Memory Conflicts in Windows95

Windows95 is usually very good at detecting the I/O address and DMA channel of the ISA100A. On occasion, the system may not reset the serial card settings after you have changed them, leading you to believe there is still a memory conflict. When this occurs it is best to reserve the I/O address and DMA channel yourself. To do this you must first remove the ISA100A card. (Be sure to power down your computer before attempting to open the cover of your computer!!)

With the ISA100A card removed start up Windows95 and open the from Settings on the Start button. Open the System folder and click on the tab. Click on the Properties button and choose Input/Output (I/O). Scroll down to your chosen address in our case 380 to make sure there are no conflicts with the 8 bytes contiguous to it. The following window shows that there are no devices present at 380- 387, therefore this address is available.

file:////Ntserver4/DOC%20PDF/AppNotes/app113WIN/wintrbl.htm (3 of 14)3/21/2006 4:53:34 PM #AS113 - Troubleshooting AcqKnowledge for Windows

To reserve an address for the ISA100A card click on the Reserve Resources tab and chose Input/output (I/O). Click on the Add button to get the following dialog box. Enter the available I/O location Start and End values.

For our purposes we have reserved the eight bytes from 380 to 387. Click the OK button. To save this change click the OK button again.

file:////Ntserver4/DOC%20PDF/AppNotes/app113WIN/wintrbl.htm (4 of 14)3/21/2006 4:53:34 PM #AS113 - Troubleshooting AcqKnowledge for Windows To check the DMA channel, click on the Properties button from the System Properties window. Choose Direct memory access (DMA). As you can see in the following window only channel 3 is available.

To reserve this location click on the Reserve Resources tab and choose Direct memory access (DMA). Click the Add button to get the following window. Enter your available channel for our example, 3.

file:////Ntserver4/DOC%20PDF/AppNotes/app113WIN/wintrbl.htm (5 of 14)3/21/2006 4:53:34 PM #AS113 - Troubleshooting AcqKnowledge for Windows

Click the OK button, and then to save the settings click OK again. You can view your reservations to make sure they are correctly entered by clicking on the Properties button and choosing either Input/output (I/O) or Direct memory access (DMA). Your windows will look like the following:

file:////Ntserver4/DOC%20PDF/AppNotes/app113WIN/wintrbl.htm (6 of 14)3/21/2006 4:53:34 PM #AS113 - Troubleshooting AcqKnowledge for Windows

Resolving Memory Conflicts in Windows 3.1 and 3.11

Windows and DOS 6.0 includes a DOS-based application called Microsoft diagnostics (MSD) that allows you to check for free memory. There are also a number of commercially available programs with various diagnostic capabilities (e.g., Norton Utilities from Symantec, Check It Pro from Touchstone software to name a few). Although these cannot check for free DMA channels, programs such as these are typically useful in resolving memory and other conflicts.

After installation of the ISA100A card, check to make sure the I/O address and DMA settings in the Hardware Configuration window match those set on the card. If AcqKnowledge is still having trouble communicating with the MP100 a good first step is to edit the AUTOEXEC.BAT and CONFIG.SYS files to match those below (assuming Windows is located in the C:\WINDOWS directory and so forth). If you do not wish to delete lines from your file, type REM and a space before the statement and DOS will ignore it when you restart the PC. Each time you make a modification to these files, you must restart the computer for the settings to take effect. Edit these files by typing EDIT before each filename at the MS-DOS prompt.

MINIMAL AUTOEXEC.BAT FILE PROMPT $p$g file:////Ntserver4/DOC%20PDF/AppNotes/app113WIN/wintrbl.htm (7 of 14)3/21/2006 4:53:34 PM #AS113 - Troubleshooting AcqKnowledge for Windows PATH C:\WINDOWS;C:\DOS; SET TEMP=C:\DOS

MINIMAL CONFIG.SYS FILE DEVICE=C:\DOS\HIMEM.SYS

This will allow the PC to function at a relatively basic level, although special drivers (for sound cards, some video cards, network adapters and the like) will not be loaded. If AcqKnowledge works with this configuration then begin adding lines to the AUTOEXEC.BAT and CONFIG.SYS files by removing the REM command before each line until the problem re-occurs. Once that happens, check the documentation for the device or program that caused the error and see if it uses either a DMA channel or a specific memory address. If so, you can change the settings on the ISA100A so that it does not conflict with the device driver or program.

If the problem still persists with the minimal configurations described above, Windows may be loading a driver that is causing a conflict with AcqKnowledge. To try and isolate this, start Windows by typing WIN /B. This will create a file called BOOTLOG.TXT, a sample file is shown in Appendix A. The BOOTLOG.TXT file lists the drivers and other files that were loaded when Windows was started, and if the file generated by your PC differs from the one shown in the appendix it is possible that a conflict is being caused by whatever discrepancies exist between the two BOOTLOG.TXT files. If the two files differ, check your SYSTEM.INI file against the one shown in Appendix B. You may want to backup your SYSTEM.INI file and edit your existing file to match (as closely as possible) the one shown in Appendix B.

If all of the above changes are made and the AcqKnowledge program still crashes and/or does not communicate with the MP100, contact BIOPAC Systems, Inc.

Changing the Settings on the ISA100A Serial Card

When ever the address is changed in the software, the hardware (specifically, the ISA card) must also be set to match the software settings. The hardware settings are made via two sets of DIP switches on the ISA card. The DIP switches are organized into two banks (Switch A and Switch B), and are the red blocks located just below the chip that reads "ZILOG." The individual switch settings are either ON ("up") or OFF ("down").

The smaller bank of switches, Switch A, has 4 switches and controls the DMA settings. In the diagram, these are set to the default, which is DMA=1. The table on the following table illustrates the switch settings for the two possible DMA channels.

Switch settings for switches 1 through 4 for Switch A

file:////Ntserver4/DOC%20PDF/AppNotes/app113WIN/wintrbl.htm (8 of 14)3/21/2006 4:53:34 PM #AS113 - Troubleshooting AcqKnowledge for Windows

ISA100A

Partial diagram of ISA100 serial card showing DIP switch locations.

Setting the I/O (or hex) address is somewhat more difficult. These settings are made with switch bank B, which is composed of eight switches. The first switch in this bank (1), should always be set to the OFF position. The other switch settings interact to determine the hex address, which can be described by the following formula:

Hex address = [(S2*200) + (S3*100) +(S4*80) +(S5*40) +(S6*20) +(S7*10) +(S8*8)]. Formula used to determine hex address for switch B settings

The value for each switch setting is OFF=1 and ON=0. So, in the example above, only switches 2, 3, and 4 are OFF, and since switch 1 is not entered into the equation, the value for the other switches is zero. We can add the values for switches 2, 3, and 4 to get 200 + 100 + 80, or 380, which is the default.

If switch 4 were moved to the ON position, the hex value would decrease by 80, to produce a hex value of 380-80, or hex=300. Then, if switch 5 was set to OFF, the hex address would be 300h+40h, or hex=340h. And so on.

There are no hard and fast rules regarding DMA channel settings and I/O hex addresses. The default settings are designed to work on most computers, although the default settings are not guaranteed to work on every PC. If the default values of 380h and DMA 1 do not work, there are a number of options. The ISA100 can be set to any memory address between 0008h and 03F8h, in steps of 8, so there are many possible settings. Generally you will want to try addresses in the 0300h range (e.g., 340h, 388h) although the "best" address will vary from one computer to the next depending on what hardware

file:////Ntserver4/DOC%20PDF/AppNotes/app113WIN/wintrbl.htm (9 of 14)3/21/2006 4:53:34 PM #AS113 - Troubleshooting AcqKnowledge for Windows and software is installed and how it is configured.

Appendix A - Sample BOOTLOG.TXT file

[boot] LoadStart = system.drv LoadSuccess = system.drv LoadStart = keyboard.drv LoadStart = mouse.drv LoadSuccess = mouse.drv LoadStart = vga.drv LoadSuccess = vga.drv LoadStart = mmsound.drv LoadSuccess = mmsound.drv LoadStart = comm.drv LoadSuccess = comm.drv LoadStart = vgasys.fon LoadSuccess = vgasys.fon LoadStart = vgaoem.fon LoadSuccess = vgaoem.fon LoadStart = GDI.EXE LoadStart = FONTS.FON LoadSuccess = FONTS.FON LoadStart = vgafix.fon LoadSuccess = vgafix.fon LoadStart = OEMFONTS.FON LoadSuccess = OEMFONTS.FON LoadSuccess = GDI.EXE LoadStart = USER.EXE INIT=Keyboard INITDONE=Keyboard INIT=Mouse STATUS=Mouse driver installed INITDONE=Mouse INIT=Display LoadStart = DISPLAY.drv LoadSuccess = DISPLAY.drv INITDONE=Display INIT=Display Resources INITDONE=Display Resources INIT=Fonts INITDONE=Fonts INIT=Lang Driver

file:////Ntserver4/DOC%20PDF/AppNotes/app113WIN/wintrbl.htm (10 of 14)3/21/2006 4:53:34 PM #AS113 - Troubleshooting AcqKnowledge for Windows

INITDONE=Lang Driver LoadSuccess = USER.EXE LoadStart = setup.exe LoadStart = LZEXPAND.DLL LoadSuccess = LZEXPAND.DLL LoadStart = VER.DLL LoadSuccess = VER.DLL LoadSuccess = setup.exe INIT=Final USER INITDONE=Final USER INIT=Installable Drivers INITDONE=Installable Drivers

Appendix B - Sample SYSTEM.INI file

[boot] sound.drv=mmsound.drv comm.drv=comm.drv keyboard.drv=keyboard.drv system.drv=system.drv shell=progman.exe network.drv= mouse.drv=mouse.drv language.dll= 386grabber=vga.3gr oemfonts.fon=vgaoem.fon fixedfon.fon=vgafix.fon fonts.fon=vgasys.fon display.drv=vga.drv drivers=mmsystem.dll

[keyboard] subtype= type=4 keyboard.dll= oemansi.bin=

[boot.description] system.drv=MS-DOS System keyboard.typ=Enhanced 101 or 102 key US and Non US keyboards mouse.drv=Microsoft, or IBM PS/2 language.dll=English (American) codepage=437

file:////Ntserver4/DOC%20PDF/AppNotes/app113WIN/wintrbl.htm (11 of 14)3/21/2006 4:53:34 PM #AS113 - Troubleshooting AcqKnowledge for Windows woafont.fon=English (437) aspect=100,96,96 display.drv=VGA network.drv=No Network Installed secondnet.drv=No Additional Network Installed

[386Enh] ebios=*ebios device=*vpd 32BitDiskAccess=OFF ;device=*int13 ;device=*wdctrl mouse=*vmd woafont=dosapp.fon display=*vddvga EGA80WOA.FON=EGA80WOA.FON EGA40WOA.FON=EGA40WOA.FON CGA80WOA.FON=CGA80WOA.FON CGA40WOA.FON=CGA40WOA.FON keyboard=*vkd network=*dosnet,*vnetbios netheapsize=16 device=*vcd device=*vpicd device=*vtd device=*reboot device=*vdmad device=*vsd device=*v86mmgr device=*pageswap device=*dosmgr device=*vmpoll device=*wshell device=*PAGEFILE device=*BLOCKDEV device=*vfd device=*parity device=*biosxlat device=*vmcpd device=*combuff device=*cdpscsi device=vtdapi.386 device=vpmtd.386

file:////Ntserver4/DOC%20PDF/AppNotes/app113WIN/wintrbl.htm (12 of 14)3/21/2006 4:53:34 PM #AS113 - Troubleshooting AcqKnowledge for Windows device=vcomm.386 device=serial.386 device=lpt.386 device=ifsmgr.386 device=vcache.386 device=vshare.386 local=CON FileSysChange=off Paging=0 MinTimeslice=20 WinTimeslice=100,50 WinExclusive=0 Com1AutoAssign=2 Com2AutoAssign=2 LPT1AutoAssign=60 COM1Irq=4 COM1Base=03F8 COM2Irq=3 COM2Base=02F8 COM3Base=03E8 COM4Irq=12 COM4Base=02E8 COM3Irq=15

[NonWindowsApp] localtsrs=dosedit,ced CommandEnvSize=256

[vcache] minfilecache=512

[mci] WaveAudio=mciwave.drv Sequencer=mciseq.drv CDAudio=mcicda.drv [drivers] timer=timer.drv midimapper=midimap.drv [DDEShares] CHAT$=winchat,chat,,31,,0,,0,0,0 SCHAT$=winchat,chat,,31,,0,,0,0,0 CLPBK$=clipsrv,system,,31,,0,,0,0,0 HEARTS$=mshearts,hearts,,15,,0,,0,0,0

file:////Ntserver4/DOC%20PDF/AppNotes/app113WIN/wintrbl.htm (13 of 14)3/21/2006 4:53:34 PM #AS113 - Troubleshooting AcqKnowledge for Windows

[Network] winnet=nonet multinet=nonet FileSharing=No PrintSharing=No

[network drivers] devdir=C:\WINDOWS LoadRMDrivers=No

Return To Application Note Menu

file:////Ntserver4/DOC%20PDF/AppNotes/app113WIN/wintrbl.htm (14 of 14)3/21/2006 4:53:34 PM