Private MWdata(3) As Integer 'Array of words to read, only word (0) and (1) used Private MBdata(3, 16) As Boolean 'Array of Bits converted from the 2 MWdata words, only (0,0) to (1,15) used numreg = 2 'number of registers to read is two Dim i As Integer 'index1 for converting loop Dim i2 As Integer 'index2 for converting loop Dim tempword As Integer 'temporary word for converting loop 'Convert Word in Bits For i = 0 To numreg - 1 tempword = MWdata(i) If tempword < 0 Then 'because VB has no unsigned Integer: if bit 15 is 1, negative values are used MBdata(i, 15) = True tempword = tempword + 32000 tempword = tempword + 768 Else MBdata(i, 15) = False End If For i2 = 0 To 14 MBdata(i, i2) = CBool(tempword Mod 2) tempword = tempword / 2 Next Next