Forum: Magellan GPS
Topic: MyMeridian For the Color Model
started by: itisbruno

Posted by itisbruno on Dec. 07 2003,7:25 pm
I have editied the ini file to reflect the text in the Lawyer screen for the color model (English=Respect warnings in user). MyMeridian picks up the correct Factory Text, but crashes when I hit the save button. Am I just a bonehead, or is the color model not supported by MyMeridian?

Thanks for all the great info on this site! This is my first GPS, and your insights are great. ???

Posted by rockyriver on Dec. 08 2003,5:54 pm
I too have a color Meridian and the only way I have found to personilize may color unit is to edit the Mapsend software
ini file to put my name on the unit (And be Safe). Trying to use MYMERIDIAN only results in the unit crashing. If you have a hexadecimal ASCII chart and A calculator that can add hexadecimal numbers and the knowhow (I do not know how to do it). You could edit the 5.12 software update yourself. Here are some instructions.

*** What you will need ***
1) The Magellan Meridian firmware (available from www.magellangps.com)
2) An hexadecimal ASCII chart
3) A calculator that can add hexadecimal numbers
4) Paitence
5) Familiarity with hexadecial numbers


*** Purpose ***
The Magellan Meridian has an annoying "lawyer" screen.  This screen states "All data is provided for reference only.  You assume full responsibility and risk when using this device."  Wouldn't it be nice to replace this with "This unit belongs to (name), (e-mail), (phone).  Reward for safe return."???  This document will allow you to perform the changes.


*** Background ***
This "lawyer" screen is stored in the Meridian's memory as plain old ASCII text.  All that is required to make the change is to modify the firmware (version 3.08 at the time of this writing).  This can be done by modifying the .hex file supplied by Magellan to update the firmware of the unit.  This will be done by hand using a text editor.


*** What is a .HEX file? ***
The file is nothing more than a plain Motorola S-record file.  The first line of the file will be an "S0" record, and the last line will be an "S7" record.  It is the stuff in the middle, the "S3" records that we are interested in.

Each line is a separate "record."  Note that ALL values in these records are in hexadecimal.  One sample record is shown below.

S3192D11C5CC5468697320756E69742062656C6F6E677320746F92

Lets tear this record apart....

S3 19 2D11C5CC 5468697320756E69742062656C6F6E677320746F 92

The first "S3" indicates that this is an "S3" record.  This indicats that this record holds data bound for a 32-bit address space.  Do not worry about what this means.  All records that we are interested in will be "S3."

The "19" is the number of bytes in this record.  Do not touch this.

The "2D11C5CC" is the address where the data is to be placed.  This tells exactly where in the meridian the data will be put.

The "5468697320756E69742062656C6F6E677320746F" is the actual data that will be programmed to the meridian.  This is the stuff that we will be changing.  If you check the data in this sample, it translates in ASCII to "All data is provided".  Does this look familiar.

The final "92" is a checksum.  This number just tells the meridian that it received all of the data correctly.  We will have to modify this.

*** What am I looking for? ***
The data that we want to change is a simple ASCII text string, followed by three null bytes (00).  For fimware version 3.08, this data is at Address 2D11C5CC, which is line 57252 of the "mrdn3_08.hex" file.  This address and line number will likely change for future versions of the firmware.

If this is NOT the version of the firmware that you are using, then you will need to search the .hex file for the specified pattern.  The current legal mumbo-jumbo begins with "All data".  In hex, this translates to "416C6C2064617461".  If you do a search on this string in the .hex file, you should go straight to the correct part.  Notice that there is no guarantee that the the string "All data" will be on one record.  Part could be on one record, and part on the next record.  If this is the case, then pick the next two words ("is provided" or "69732070726F7669646564") and search for their ASCII values.  These values will change if the evil lawyers require a change to the notice.

Once you have found the right lines, copy them to a separate file, and convert the hex back to ASCII, as shown below.

S3192D11C5CC416C6C20646174612069732070726F7669646564CB
            A l l _ d a t a _ i s _ p r o v i d e d
S3192D11C5E020666F72207265666572656E6365206F6E6C792EBD
            _ f o r _ r e f e r e n c e _ o n l y .
S3192D11C5F42020596F7520617373756D652066756C6C207265FA
            _ _ Y o u _ a s s u m e _ f u l l _ r e
S3192D11C60873706F6E736962696C69747920616E6420726973F0
            s p o n s i b i l i t y _ a n d _ r i s
S3192D11C61C6B207768656E207573696E67207468697320646582
            k _ w h e n _ u s i n g _ t h i s _ d e
S3192D11C630766963652E000000446F6E6EE9657320666F7572B1
            v i c e . _ _ _ D o n n

Note that after the string is "000000."  I assume that this tells the unit when the string ends.  I use a "_" character to indicate a space or a null value.  After this begins the "Donn" string.  This is actually the beginning of the legal screen in another language (I did not finish translating the rest of the line).  You can either leave this alone, or change it too.  Note that the meridian supports several languages.

Now that we have found our target, we start changing the data itself.  First, compose the message and verify that it is the same length or shorter than the original (very important).  Next, write the message below the S records and delete the data as shown below (my phone number has been obscured for privacy reasons).  Keep the same number of characters per line as the original.

S3192D11C5CC
            T h i s _ u n i t _ b e l o n g s _ t o
S3192D11C5E0
            _ K e v i n _ H a r r e l s o n , _ k e
S3192D11C5F4
            v i n @ h a r r e l s o n . c o m , _ (
S3192D11C608
            9 9 9 ) - 9 9 9 - 9 9 9 9 . _ _ R e w a
S3192D11C61C
            r d _ f o r _ s a f e _ r e t u r n . _
S3192D11C630
            _ _ _ _ _ _ _ _ D o n n

Next, re-build the hex file using your favorite hex ASCII chart, as shown below (only the first and last two lines are shown for simplicity).  Any unused characters should be filled with "00" as shown.

S3192D11C5CC5468697320756E69742062656C6F6E677320746F??
            T h i s _ u n i t _ b e l o n g s _ t o
<snip>
S3192D11C61C726420666F7220736166652072657475726E2E00??
            r d _ f o r _ s a f e _ r e t u r n . _
S3192D11C6300000000000000000446F6E6EE9657320666F7572??
            _ _ _ _ _ _ _ _ D o n n

Note that in the above example, the checksum has been replaced with "??".  Calculating this is our next step.  Pull out your hexadecimal calculator.  If you do not have one, the calculator program that came with Windows will work, if you put it in "scientific" mode.  Starting right AFTER the "S3", you want to add EACH byte separately.  For example, "S3192D11C5CC5468697320756E69742062656C6F6E677320746F??" would be 19+2D+11+C5+CC+54+68+69+73+20+75+6E+69+74+20+62+65+6C+6F+6E+67+73+20+74+6F = 96D.  To get the checksum, take "FF" and subtract the last two digits of the total.  In our case, FF-6D=92.  Then, put 92 as the checksum.  Our example is now complete.

S3192D11C5CC5468697320756E69742062656C6F6E677320746F92
            T h i s _ u n i t _ b e l o n g s _ t o -- 96D
<snip>
S3192D11C61C726420666F7220736166652072657475726E2E00DC
            r d _ f o r _ s a f e _ r e t u r n . _ -- 823
S3192D11C6300000000000000000446F6E6EE9657320666F757286
            _ _ _ _ _ _ _ _ D o n n -- 679

Please be *VERY* careful when you calculate the checksum.  I do not know what would happen if the checksum was wrong, and I do NOT want to find out.  Your last step is to copy these lines back over the original lines in the .hex file.  Then download and enjoy.



Posted by PC Medic on Dec. 08 2003,8:11 pm
This must be for those VERY brave souls that can not wait for the next release of myMeridian   :grinnin
Posted by rockyriver on Dec. 09 2003,3:33 pm
Quote (PC Medic @ Dec. 08 2003,10:11 pm)
This must be for those VERY brave souls that can not wait for the next release of myMeridian   :grinnin

I killed my meridian color twice where as it would not come on, but brought it back to life through the hidden menu trick. While trying this method, but I finally got it right. This method is for the very board or impatient such as I. :p
Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.