I'm using my PC running some visual basic code to pump out some fake GPS NMEA strings to my Nokia 5800.

The phone reads my bluetooth GPS strings and in turn passes the location data to a third party mapping application.

It works pretty well, but it's not as smooth as it should be, and I get GPS info errors.

So, I need to understand how the 5800's positioning module parses the NMEA strings: what bits does it need, and what does it discard? This will help me to optimise the NMEA strings that I'm forging.

At the moment I'm sending changing lat and long figures, along with correct checksums. My feeling is that the 5800 is doing some other calculations on my NMEA data, and finding that it's not receiving what it should expect from a bona fide bluetooth GPS receiver. The question is, what does the 5800 expect? What NMEA fields does it look at and calculate, and which strings do I really need to pass it to get smooth operation?