GPS Road Trip

Insert a floppy drive into your computer, connect up another computer and run DeLorme GPS software to simulate a trip across America.  If the destination town matches your name (or close enough), the gift is yours!

At the Mad Wrapper’s house, packages scattered about the tree are labeled with green, unlabeled floppy disks. One more package contains a compact disk for the computer to display maps of America. When the cryptic directions were correctly followed, green dots began appearing on the map. The dots all start where the Christmas party isFloppyTag being held and end at a town or place bearing the same name as one of the people in the room.

Here are the directions read out loud at the Christmas party:

 

 

The Journey

Humming gently from within an athenaeum entered through passage ascending are two gentle beasts. One is one. Another is another. These two are linked in a way that few can comprehend. So, through this relationship a certain symbiosis has come to be. An extra sensory perception of continental proportions allows the two to together answer the question which has, at this moment, in this room, been raised to the highest level of super-consciousness as a direct result of multitudes of personalities bearing parallel thought. Do not sever the link. Do not separate one from another!

Give one the mirror of reflection.

Give another an emerald for digestion.

Poke and prod one then another. Then wait. Wait for the unfolding. Wait. Wait for the path to reveal. Wait limitless moments while silent global discussion gathers momentum. Then watch. Watch discord resolve. Watch for the slow acceleration united asphyxed in a gaze revealing. The miracle.

In midst of miracle gathering, exploration is endorsed far in the heavens on the wings of an angel. But be weary, the answer at journey’s end beacons from an earthly plane. Swoop down upon the earth as soon as certainty has told the time has come. Let down your wings and plant solidly upon the soil. Then claim it as your own.

TMW

Intentionally, these directions took quite some effort to interpret but the Mad Wrapper was available to give subtle hints along the way. Here is a translation:

The Road Map

There are two computers already turned on in the computer room up stairs. There is a computer labeled “one”. There is a computer labeled “another”. These two are connected with a serial cable. Each is running mapping software which will tell everyone which present belongs to whom. Do not disconnect the serial cable!

Put a CD (which is shiny) in the computer labeled “one”.

Put a green floppy in the computer labeled “another”.

With the mouse, click appropriately on dialog boxes for each computer. Then wait a long time. Then watch the dots travel across the map.

While watching the traveling dot, you can zoom the map out if desired. But zoom back in to a detailed view when the dots stop moving. Then open your present.

The Mad Wrapper

Mapping Software

There are many mapping programs on the market which will draw highway maps on a computer screen. Many of these programs will allow users to connect a GPS receiver the computer and put a little moving “X” or a “dot” on the screen to track the user’s position as he travels in his car or in an airplane. I use the popular Delorme Street Atlas USA. They all work the same way. There are usually various s of GPS types which can be selected. Every mapping program should accept the standard NEMA type GPS.

For this project I chose to use the NEMA standard. It is very straightforward to program and, for my limited implementation, no special equipment aside from two computers that I already owned. One computer must be relatively up to date order to run the NEMA mapping program. The other computer may be any computer, old or new, as long as it has a serial port. An old IBM AT is good enough! I used a computer that is only a few years old. This was fine. Of course, if you are lucky enough to own two current generation computers, that’s great. Bear in mind that you will need to find reasonable terminal emulation program for your computer. I found a version of Kermit on the web that works on my computer. Kermit has been around for years and years. You should be able to find one for your old computer as well.

Every second, the old slow computer generates one of two simple alternating NEMA codes over the serial port using a simple text file and the Kermit program. Each line in the text file contains a set of data separated by semicolons. Technically a diligent typist could type in all the lines of code if he knows all the latitude and longitudinal way-points he wants to show on the map, but this is a lot of work. There is a simpler method which takes advantage of features likely found in most off-the-shelf mapping programs.

Massaging the Data

Ahead of time, in November, using Delorme’s street Atlas program, I selected a starting point (my house which is where the Christmas party was to be held), and an ending point (different for every person is a unique town or scenic feature bearing the recipient’s name). Given a starting point and an ending point, the mapping program will plot for you a series of way-points along roads. It can plot a route using the fastest path, the shortest path, or the most scenic path. I chose to have it plot the fastest route. After the route was plotted, I saved the way-points as a text file.  The Delorme program produced for me a long list or paired numbers representing latitudes and longitudes. These numbers will need to be reformatted into NEMA standard lines.  You can do this with any text editor that allows macros.  I use emacs but there are many other text editors that will work just as fine. Or you could write a java script or create a simple little “C” program to massage the file into NEMA codes.  Or if you are not computer savvy and have a lot of patience and can type, it is very simple to modify the file by hand using the simplest of editors.

Modify every line in the file so it looks like these lines

$GPGGA,090000,4237.227,N,07121.233,W,1,08,0.9,0.0,M,0.0,M,,

$GPRMC,090000,A,4236.36,N,07120.59,W,0.0,0.0,241299,0.0,W,

$GPGGA,090000,4236.361,N,07120.585,W,1,08,0.9,0.0,M,0.0,M,,

$GPRMC,090000,A,4235.82,N,07119.14,W,0.0,0.0,241299,0.0,W,

$GPGGA,090000,4235.816,N,07119.145,W,1,08,0.9,0.0,M,0.0,M,,

$GPRMC,090000,A,4232.56,N,07117.02,W,0.0,0.0,241299,0.0,W,

$GPGGA,090000,4232.560,N,07117.023,W,1,08,0.9,0.0,M,0.0,M,,

$GPRMC,090000,A,4228.57,N,07113.18,W,0.0,0.0,241299,0.0,W,

$GPGGA,090000,4228.567,N,07113.181,W,1,08,0.9,0.0,M,0.0,M,,

$GPRMC,090000,A,4229.72,N,07110.69,W,0.0,0.0,241299,0.0,W,

$GPGGA,090000,4229.721,N,07110.694,W,1,08,0.9,0.0,M,0.0,M,,

$GPRMC,090000,A,4230.21,N,07106.15,W,0.0,0.0,241299,0.0,W,

$GPGGA,090000,4230.210,N,07106.153,W,1,08,0.9,0.0,M,0.0,M,,

$GPRMC,090000,A,4231.54,N,07104.77,W,0.0,0.0,241299,0.0,W,

$GPGGA,090000,4231.536,N,07104.769,W,1,08,0.9,0.0,M,0.0,M,,

$GPRMC,090000,A,4230.78,N,07102.49,W,0.0,0.0,241299,0.0,W,

$GPGGA,090000,4230.784,N,07102.491,W,1,08,0.9,0.0,M,0.0,M,,

$GPRMC,090000,A,4230.04,N,07101.35,W,0.0,0.0,241299,0.0,W,

$GPGGA,090000,4230.043,N,07101.347,W,1,08,0.9,0.0,M,0.0,M,,

$GPRMC,090000,A,4228.62,N,07100.13,W,0.0,0.0,241299,0.0,W,

$GPGGA,090000,4228.624,N,07100.127,W,1,08,0.9,0.0,M,0.0,M,,

$GPRMC,090000,A,4228.40,N,07059.85,W,0.0,0.0,241299,0.0,W,

$GPGGA,090000,4228.403,N,07059.854,W,1,08,0.9,0.0,M,0.0,M,,

$GPRMC,090000,A,4228.27,N,07059.73,W,0.0,0.0,241299,0.0,W,

Hook up two computers

By following the directions which came with the Kermit program I used, I created an auto startup file for each person which simply initialize Kermit to 300 baud, and sent the massaged text file over the serial connection slowly at a rate of one line per second.

With the two computers connected via a null-modem serial cable on Christmas morning, the unwary gift recipient plugs in the floppy he finds on his gift, double-clicks on the Kermit Icon (labeled “Mad Wrapper”), refocuses attention to the map on the other computer and watches green dots plod their way across America and stop at a town with the same name as me one in the room!

Endless Other Possibilities

Although, it actually turned out quite well as implemented, I really wanted to get rid of one of the computers and replace it with a box of electronics like the original Morse code project.

Most of the Mad Wrapper projects are conceived in September, started in October, and finalized on Christmas Eve. During the fall of 1999 I found myself extremely busy working two jobs. In addition to my programming day job, I also found myself contracting to a company on weekends helping them rewrite some software in a product I’d worked on years before. Because of this, I started the Mad Wrapper project late and was unable to put as much effort into it as I would have liked.

With some effort, clever programmers might want to go the extra step and substitute the slow computer running Kermit with a simple microprocessor such as a MicroChip PIC with UART capability. Actually, all that is really needed is ROM sequencing circuit similar to the Morse code circuit. The Maxim RS232 chips are easy to work with to provide serial port capability. Also consider how much memory is consumed. With the small ROMs used on that project you will only be able to present the final destination data point. Not bad. A 1 megabit ROM should be more than enough to hold a complete road trip across America.

Everyone gets a ROM to label their present. The effect should be well worth the effort!

For a quicker project consider finding the coordinates of a single destination place. Enter these coordinates into a file. Then copy/paste many times. The result of repeating the destination many times is to cause the mapping program to show only the final destination. It’s not as fun as it is to watch a trip across America, but it is quicker to build. Also, this might be a good solution if you are building an electronic project when you are limited by memory.