WOW! That is some good thinking, thanks! I did not know I needed to convert to digits before XORing.

If I read this right, I only need to convert the #s into ASCII, which is why you marked them with X. The variable #s for a WPT sentence are:

dec_lat1
dec_lat2
dec_long1
dec_long2

the "N,S,E,W' are ascii anyway...

I am not sure I follow the structure of the routine tho:

Num_To_ASCII:
Dec_lat1 = 119
C[7] = Dec_lat1 DIG 2+"0" ' element c[7] = ASCII 1
C[8] = Dec_lat1 DIG 1+"0" ' element c[8] = ASCII 1
C[9] = Dec_lat1 DIG 0+"0" ' element c[9] = ASCII 9
Dec_lat2 = 98
C[11] = Dec_lat2 DIG 0+"0"
C[12] = Dec_lat2 DIG 1+"0"
RETURN

I see we are assinging specific digits to an array for computing the cksum from the variable Dec_Lat1.. but I don't know why there is a "+0" after the DIG X portion....

I also assume you are assigning Dec_lat2/Declat1 a specific number because in your example there is no value for these variables. In my case, I have values, so I will be calling them out of my array...

I think I will have to do this for Dec_lat and Dec_long too.

Thanks!

Tom