EM.OCX produces 2 standard NMEA (GPS) sentences! To decode in Visual Basic I use instr$ to search for each occurrence of a comma and save its position, then use mid$ to extract fields. The format is: $GPRMC,HHMMSS hh=utc hour, mm=utc minutes, and ss=utc seconds ,(A or V) V=solution invalid A=solution valid ,DDMM.MMMM Latitude DD=Degrees MM.MMMM=minutes ,(N or S) North or South Hemisphere ,DDDMM.MMMM Longitude (same as latitude but 3 digits for Degrees) ,(E or W) East or West Hemisphere (ie which side of GMT) ,XX.XX Ground speed in Km/hour ,XXX.X Direction of travel (0.0-359.99) ,DDMMYY UTC date DD=Day MM=Month YY=Year ,XX.X degrees offset from True N to Magnetic N ,(E or W) which side of True north is magnetic north *XX standard NMEA checksums PS extract lat as 2 strings...1) first 2 characters and then (degrees) 2) position+2 for remainder-2 (minutes) 3) then recombine to form one of...DD MM SS or DD.DDDD PS degrees and direction offset of magnetic north is from your viewpoint $GPGSA,A (currently hard coded) ,3 (currently hard coded) ,x,x,x,x,x,x,x,x,x,x,x,x (which sats (max 12) are in solution) ,X.XX PDOP ,X.XX HDOP ,X.XX VDOP *XX standard NMEA checksums PS position of sats listed in message is not correlated to zodiac receiver channels, and their will always be 12 commas in the sat fields. (ex. $GPGSA,A,3,14,9,22,28,,,,,,,,,2.23,3.32,3.41*0F ) Only in the special version of this control (ie al-em.ocx) $GPMJG, (currently hard coded) ,XXX.XX Height above WGS-84 in Meters ,M stands for Meters (ie not Feet) *XX standard NMEA checksums PS This message is output at the same time as the RMC sentence.