HowTo/Topography Maps on Garmin GPS Receivers
This process will let you build custom topography maps based on freely available map tiles. These maps can be then uploaded to your Garmin GPS receiver, along with the maps you’ve already got (CitySelect or CityNavigator, for instance), providing a transparent layer with contour lines. The process has been know to work in a number Garmin GPS receivers, given they have enought memory to store the maps. A few examples of these are the GPSMAP 60CS, the Quest or the GPSMAP 60CSx

DISCLAIMER:
This tutorial in based on an original document by Paulo Henriques (in Portuguese) which can be obtained here. This is a mere translation with some comments about my experience.
This is an experimental process. If you brick your GPS by using this hack, it is not my fault, you have been warned. It’s been known to work on most of the devices and the worst thing that happened was a registry corruption which was fixed by re-installing Mapsource.
GPSMaps.de has some topographic maps available free-of-charge generated by publicly available databases (digital elevation model published by the United States Geological Survey) and converted to the Garmin img format which can be loaded to Garmin GPS receivers. These maps provide essential information on the topography for mountaineers and hikers. Contrary to the “topo” line of Garmin maps, these maps will only provide “visual” cues of altitude (contour lines).
There are alternative ways to accomplish this task. Sendmap (available on the cGpsMapper package) can be used to upload these maps to the GPS device, but if you use this approach, you’ll be able to treat these maps as any other Mapsource map (mainly identify which tiles you’ll want to upload) and manage available memory more eficiently, by combining sets of maps from different sources at the same time.
1. Register on http://gpsmaps.de (use the contact form) to obtain a user/password which will let you download the individual map tiles. The user and password will be shown on the browser as soon as you press the submit button. Altough you can use bogus data, it would be nice to fill up the form and thank the map provider for sharing his work with everyone else.
2. On the map selection page, choose the area you want map tiles from. Each european map tile covers a 0.5 degree x 0.5 degree area, so be ready to download a lot of files and to keep track of what you’ve got and what you want. As soon as you ask for the first tile, you’ll be asked the username and password you just got by registering. As an example, Portugal has 59 tiles (around 21Mb of .img files).
3. Once you have collected all the map tiles, you’ll have to prepare them to be used with Mapsource. This can be accomplished in two steps:
3.1. Hacking the registry creating a map entry for the maps you’re about to import:
Just copy/paste the text below into a new file called Topographic.reg
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Garmin\MapSource\Products\669] Bmap=C:\Maps\GarminCustom\TopographicCustom.img Loc=C:\Maps\GarminCustom\ Tdb=C:\Maps\GarminCustom\TopographicCustom.tdb
This file is a Windows registry file which will tell Mapsource to use the maps at that specific location. Pathnames and filenames are important. In this example, C:\Maps\GarminCustom is used as a base path for all operations we’ll be performing, and this is the path where Mapsource will, from now on, look for these maps.
3.2. Creating a preview file (.img) and a catalog file (.tdb) for use with Mapsource:
3.2.1. Copy/paste the text below into a new file called Topographic.txt:
[Map] FileName=TopographicCustom MapVersion=100 ProductCode=62 Color=32 Levels=2 Level0=14 Level1=13 Zoom0=5 Zoom1=6 MapsourceName=TopographicCustom MapSetName=TopographicCustom CDSetName=TopographicCustom Copy1=Garmin Copy2=Stan [End-Map] [DICTIONARY] Level0RGN10=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Level1RGN10=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Level0RGN20=111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Level1RGN20=111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Level0RGN40=111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Level1RGN40=111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Level0RGN80=111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Level1RGN80=111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 [END-DICTIONARY] [Files] img=C:\Maps\GarminCustom\20094669.img img=C:\Maps\GarminCustom\20094668.img img=C:\Maps\GarminCustom\20094667.img [END-Files]
This file will be the configuration file for CGpsMapper. Edit the [Files] section, adding one line matching the map filename for each map you’ve downloaded before. Save it on the same folder the maps are (C:\Maps\GarminCustom).
3.2.2 Download CGpsMapper here.
3.2.3 Open up a command prompt, change to the C:\Maps\GarminCustom directory and execute the following command:
cgpsmapper.exe pv C:\Maps\GarminCustom\Topographic.txt
CGpsMapper creates a lot of output. Look out for error messages such as missing files. If everything went right, you should be having by now two new files at the current directory: TopographicCustom.tdb and TopographicCustom.img (these files are the same referenced on the registry file you created before).
4. Make sure all the files are in the right places. For simplicity and consistency, I opted to put them all on the same place (C:\Maps\GarminCustom)
5. Backup your registry (just in case) and then double-click the registry file you created on step 3.1 and import the new setting into the Mapsource configuration. The next time you open Mapsource, you’ll have a new set of maps you can download to the GPS.
