Instructions for modifying a CDM1250 to 222MHz
Converting the Motorola 220 Mhz CDM 1550LS to 222 Mhz Amateur Radio Use You need three software packages: Professional Series CPS, Global Tuner, and the "unofficial" US Waris Lab Upgrade Kit. Two versions of the latter are known to exist in the wild: R02.06.01 and R02.08.00. Both seem to function identically but the more recent version comes with a wider range of default "code plugs" (they are actually s-records) to work with. Also, you don't need a HLN9742 flash adapter nor will you need to put the radio into bootstrap mode at any time.
Step 1: Read the radio with Global Tuner and save an archive. Don't even think about doing anything else before doing this.
Step 2: Go into the code plug files included with the Waris Lab Upgrade Kit and locate the code plug file which matches the TANAPA of your radio. For the 220 CDM1550LS, this is PMUD1765B.
Step 3: Copy the codeplug into a separate folder with srec2bin.exe and bin2srec.exe from http://www.s-record.com . MOT2BIN.exe from Batlabs won't work with these files.
Step 4: Run srec2bin on the code plugfile. Name the output file "220.bin" or "test.bin."
Step 5: Open the .bin file with Hex Workshop. Run a Checksum-8 on byte locations 642 through 727. You should get a checksum value of 90. Do not change ANYTHING without running a Checksum-8 first . This location range represents one line of s-record code.
Step 6: The Waris line uses a base frequency and high and low values (and some complex math) to calculate upper and lower frequency ranges. The baseband frequency (which you won't be changing) is located at offset 685, the lower frequency at 687, and the upper frequency at 689. Using the formula on bandedit-en, we get (hex) 1018 for the 103 MHz base frequency, 5910 for 217 MHz, and 5CF8 for 222 MHz. Note also that the serial number is displayed in plain text starting at offset 645 as "0123456789;" you can change it later.
Step 7: Overwrite 5CF8 with 5F50 to extend the upper range to 225 MHz. [(225-103)x1000]/5 = 24400 (5F50 hex) Use the numbers as shown; you don't need to use the full frequency in Hz like with Astro CPS and other software mods.
Step 8: Run a Checksum-8 on 642 through 727 again. It should increase in value, and if you fixed the serial number it will have increased a lot . Increase or decrease the value of byte 727 until the Checksum-8 value is 90 again.
Step 9: Save and close the .bin file with a different name than the original, like "220a.bin" or "test_mod.bin."
Step 10: Run bin2srec on your newly-modified .bin file. You can name the output file anything you want, but it has to end in ".0" or the codeplug tool won't recognize it.
Step 11: Open the original unmodified codeplug file with Hex Workshop. Take note of how the s-record is laid out; there is no header, the only footer is "S9030000FC," and there is only one byte value of 0A between s-record lines. Now open the new s-record file created from your modified .bin file. You'll notice that it looks a lot different than the original.. it has a header starting with S006, an extra footer beginning with S503, and an extra byte value of 0D between the s-record lines. This is what causes the codeplug tool to barf and crash when you try to load a modified codeplug; it expects a certain s-record layout and can't deal with this extra information. Go through it and delete the extra 0D byte between lines (ensuring that you're not deleting a value inside one of the s-record lines by accident), the new header line, and the extra footer line. Flip back and forth between the original codeplug and the new codeplug if necessary to ensure that the layout matches the layout of the original exactly. If there is one extra misplaced byte anywhere the program will bomb when you try to write to the radio. Save and close the new file when finished.
Step 12: Open and write the new codeplug with the codeplug tool. If you did everything correctly it will write to the radio just like normal CPS. Then use the "Change Regional ID" feature to set the region to North America or regular CPS won't read it.
Step 13: Write the tuning values back in with Global Tuner. If you didn't fix the serial number you'll have to read the radio and input them manually. Note: there is supposedly a modified version of Tuner.exe floating around out there with a serial number edit tool.
Step 14: Program away with normal un-modified CPS. Note that you won't be able to use any previous archives from the radio due to the new bandsplit range. And there you have it. This should also work for taking lowband radios up to 6 or down to 10, or for taking S-split UHF radios down to 440. And yes, as mentioned previously the 220 radios are hard-locked into 12.5 kHz channel spacing and 2.5 kHz TX deviation.
-Mark