Aaron,
First of all, thanks for the response.
I am able to peek and poke registers on the card using VISA. I created an "inf" file using NI's wizard so it shows up normally in MAX.
You are correct about the BIOS assigning space for the cards at boot time but Windows allows you to override these setting through the device manager. Window's 9x does at least. I haven't tried in on XP or 2K yet. To do it, go to the device manager, select the card, go to properties, select the "Resources" tab, un-ckeck "Use Automatic Settings", and click on "Change Settings".
The following is what I mean by swapping BAR's around:
I need to access BAR1. BAR3 is assigned space that I do not need. So I can swap the values of the BAR1 and BAR3 registers on the card like this
viOut32(vi, PXI_CFG_SPACE, 0x14, bar3_setting)
viOut32(vi, PXI_CFG_SPACE, 0x1C, bar1_setting)
Now when I tell VISA to access BAR3 like this
viIn32(vi, PXI_BAR3_SPACE, 0x00, &data)
the card will actually decode the address as a BAR1 address and return the BAR1 value at that offset. I'm basically tricking VISA into thinking its accessing BAR3 when its actually accessing BAR1. The problem with doing this is that if the BAR1 and BAR3 register settings aren't the same as the values that Windows has saved for them, VISA will lock up next time you try to search for resources like when you open VISAIC. Also a solution where I swap BARs, then access the necessary register, then re-swap BARs will not work because I need to access BAR1 to handle interrupts, so it has to be accessable at all times.
Bottom line is I need to change the setting at the Windows level. I know the user can do it manually in Win9x but I'd prefer it to be more automatic. I have not looked at it on XP or 2K yet. I have also briefly tried to do it in the inf file with a "LogConfigOverride" section but have not been successful.
I've jumped to something of higher priority so this issue remains idle for the time being. I'll fill you in via this thread if I find a solution when I do finally get back to it.
David Clark
Software Design Engineer
C&H Technologies, Inc.
www.chtech.com