Hi Steve-
The DAC_Direct_Data register information for M Series is contained within an array of tDAC_Direct_Data instances (tDAC_Direct_Data is declared within the tMSeries.h chipobject).
The register offsets (kOffset, as contained in each instance of tDAQ_Direct_Data) are initialized using tDAC_Direct_Data::initialize() from tMSeries.ipp in tMSeries::_initialize of tMSeries.cpp.
From that function, you can see that the DAC0 Direct Data register is at 0xC0 in bar1, and that each subsequent DAC direct data register is duplicated at i*0x4 (where i is the DAC number (0, 1, ...) you plan to update).
Please let me know if you need more clarification. Thanks-
Tom W
National Instruments