Skip to content
HN On Hacker News ↗

A software thing I built: GPS on a 25MHz 486-SX

▲ 75 points • 24 comments • by JPLeRouzic • 4w ago • HN discussion ↗

Pangram verdict · v3.3

We believe that this entire text is human-written.

0 %

AI likelihood · overall

Human
100% human-written 0% AI-generated
SEGMENTS · HUMAN 1 of 1
SEGMENTS · AI 0 of 1
WORD COUNT 518
PEAK AI % 0% · §1
Analyzed
Sep 16
backend: pangram/v3.3
Segments scanned
1 windows
avg 518 words each
Distribution
100 / 0%
human / AI fraction
Verdict
Human
Pangram v3.3

Article text · 518 words · 1 segments analyzed

Human AI-generated
§1 Human · 0%

I don't know if anybody cares about stuff like this, but I thought I'd share a quick story about a project I was hired to build back in the 90's as an embedded systems software developer. This is a project I wish I still had access to. It's something I worked on where I was asked to build a "real-time GPS-driven moving map display" -- what we simply call a "GPS" today. Only today it's built into virtually every cellphone and tablet computer in the world. I was asked to write this software so it ran on a hardware platform with a 25MHz 486-SX CPU, 32MB of RAM and the software would be in ROM. IIRC, the screen display was 1024x768. They gave me a laptop configured like that for testing. The 486-SX was the one without a math co-processor. At the time, all of the math stuff I could find for GIS applications was built around heavy use of floating-point numbers and lots of trig formulas. (My BS was in Math/Computer Science.) As it happened, a few months before that, an article was published in Dr. Dobb's Journal about a library that took a very different approach. It was called Hipparchus from a company named Geodesy. It used Voronoi Cells and reduced most math to 8- and 16-bit integer calculations with one or two single-precision floating-point calculations. It actually had higher resolution than Extended-precision floating point math! I built a prototype with the code from that article, and was surprised how well it worked. I had the client buy a copy of the Hipparchus library and built a fully-working model. The client ran into some financial issues and I had to turn over all of the stuff to them. I have no idea what happened to it after that. They could have become a billion-dollar business. Curiously, someone caught wind of what I had done and contacted me directly to see if I could do that for them. Unfortunately, I was just a contractor and didn't own the IP. It's worth mentioning that Phoenix Technologies took a "clean-room" approach to building their own BIOS for IBM PC clone vendors to use, and they never got sued for it. But it wasn't until 1989 that a lawsuit between Apple and Franklin computer resolved things in favor of the "clean-room" approach. Unfortunately, I wasn't aware of this stuff in 1993, or I would have known to simply start over with the specs. Anyway, this was 5 years BEFORE anybody had ever seen a consumer-grade GPS device from Garmin or Magellan. The big problem they had was ... it took that long for an inexpensive CPU with sufficient floating-point speed to run traditional trig algorithms. And, what I had built was twice as fast as those first-gen devices! It was literally 10 years before anybody had a consumer-grade GPS that had similar performance to what I had built in 1993 that did not require a math co-processor, and it updated a 1024x768 color display every 2 seconds. Those first little consumer GPS devices had tiny 360x240 monochrome screens on them.