Radioddity GD-77
Tuning & alignment project
Alignment, tweaks, and flash memory corruption recovery for your Radioddity GD-77
version 2.2 --- 18th January 2022
This information is primarily intended for amateur ’ham’ radio operators who wish to maintain and adjust their GD-77. Any regulatory authority approval (e.g. FCC certification) may become invalid by the use of this information. Users should ensure their radios are operating in accordance with their licence conditions. In any case, the user alone accepts all responsibility and risk from the use of this information and tools provided here. The Radioddity GD-77 is becoming quite a popular entry level dual band DMR handheld for amateur ’ham’ radio use. The GD-77 family takes it’s design cues from DMR radios designed for purely commercial or business two way radio usage. In that arena, should a problem develop with the equipment, the user would return the radio to their supplier for repair. The very low cost of the GD-77 means repair isn’t generally feasible, and so replacement rather than repair is the most cost effective strategy. CAUTION: The GD-77 Flash Manager software is a very low level tool and can cause serious and unrecoverable damage to your radio. Indiscriminate use can ruin both the software and hardware of your radio. Make sure you understand exactly what it is you are doing, and use with care. If you need a good hex editor, download HxD in your preferred language here (about 860kb) Begin reading at address 80000 (hex) and read for 10000 (hex) bytes. Save this block of data to a file if you like. Scroll down to address 8F000 and you should see data beginning with bytes A0 0F C0 12 A0 0F C0 12. Change the parameter you want, then write the data, again using 80000 as the start address and 10000 as the length. Each read or write for this 64kbyte block will take around 25 seconds to complete. SERIOUS WARNING: carelessly altering certain parameters can be hazardous to your radio. For example, setting RF output power to a level significantly higher than what is already calibrated for your individual radio might well give increased RF output, but it will also dramatically increase the risk of RF PA burnout. Altering DMR I&Q parameters will definitely cause your DMR transmitted signal to become corrupted. If you manage to work out what some of the unknown use parameters do, please let me know via e-mail: vk7zja at gmail dot com RECOVERY FROM DATA CORRUPTION AFTER MEMORY / FACTORY RESETTING As always, use these tools and information with caution, as serious damage can result from careless use. Other useful links for the GD-77: © Copyright Jason Reilly (SK), 2018-2022
Ham radio operators don’t have this time/cost constraint. We often prefer to repair our own radio equipment, and have the time to experiment, tinker, and adjust the equipment until it is ’just so’ for our needs. The GD-77 tuning project was born of this philosophy. The only problem was that there were no tools, information or references to enable us to maintain the GD-77. Seeing the need for this information inspired Roger VK3KYY, Colin G4EML and Jason VK7ZJA to put the GD-77 under the microscope in order to derive the tools necessary for hams to maintain the GD-77
This information and tools have come about by deep investigation and experimentation. Radioddity have their own tuning process for the GD-77, something that is mentioned in the FCC certification documents, but is hidden from the general public in order not to reveal anything commercially sensitive. Since Radioddity don’t have a repair facility, presenting this information isn’t going to deprive Radioddity of any revenue. Indeed, the very availability of this information could improve the appeal of the GD-77 to the amateur radio community and might even result in increased sales for Radioddity, in a similar way to how MD380 Toolz must have caused an explosion of sales for TYT. I know of some ham radio operators who refuse to own any equipment for which they can’t obtain service manuals or other information necessary to maintain that equipment.
In order for you to read, change and write tuning data to the GD-77, a tool called Flash Manager has been produced.
Download links:
Download GD-77 Flash Manager here (61kb)
There are four types of memory in the GD-77:
1) EEPROM 64kbyte: half of the codeplug is stored here.
2) External flash memory 1Mbyte: the other half of the codeplug, DMR IDs written by ActiveClient.exe, RF alignment data and even display character font data is stored here.
3) Internal MCU flash memory 512kbyte: this is where the radio firmware lives.
4) Internal MCU RAM 128kbyte: used by the MCU for it’s own internal operational use.
The GD-77 Flash Manager operates with the external flash memory. All 1Mbyte (8Mbits) of this flash memory are readable and almost all of the flash memory is writeable with this tool. Flash Manager can't correctly read or write any data to flash addresses 0x0000 to 0xFFFF but there is no active data stored there anyway, so this will not matter. You could edit half of the codeplug or the DMR IDs, though it would be easier to use the CPS software and ActiveClient.exe respectively to edit those.
The data of particular interest to us here is the RF alignment data. This lives in flash memory at addresses 0x08F000 to 0x08F0DF. If you are browsing other parts of flash memory, you might also find other copies of the RF alignment data at other locations, but the ’active’ data is always located at 0x08F000-0x08F0DF. Having other copies of this RF alignment data is quite handy, especially if the active data becomes corrupt. More on this later.
Your first step should be to take a backup of the entire flash memory and save it to file, so you have a copy to fall back on should something go wrong at some point. Begin by turning the GD-77 off, plug in the programming cable, and turn on the GD-77 while holding down the following key combination: side blue key, green menu button and the * (lock symbol) key. The radio will power up normally with no other unusual visible indication. This can be a tricky key sequence to get right and you might need a few attempts to successfully get this mode started up correctly.
Start up Flash Manager and carefully note the warning message, and click ’yes’ to proceed. Enter the Start address (hex) as 0, and enter the Length (hex) as 100000- that is a one and five zeroes. Click Read. You should now see the display of the GD-77 respond with ’Memory Prog’ and the top panel LED flash red, and a percentage progress bar on your PC increase. To read the entire flash will take around five and a half minutes. Then Save File and give it a .bin extension, and keep the file somewhere safe. If the file is filled with all 00s then it means the radio didn’t start up in the flash reading mode properly, and you should try the side blue key, green menu button and the * (lock symbol) power up key sequence again.
In order to begin changing parameters, refer to the table below that displays what byte (or bits) at each address in flash is used for. When altering these values, you need to keep in mind that flash memory is not like EEPROM, you can’t just overwrite data. The data you are changing first needs to be erased. Flash memory can be erased in 4, 32 or 64kbyte blocks. The GD-77 firmware performs a 64kbyte block erase for this area of flash, which means if you want to change just one byte, the flash memory will erase that 64kbyte block and you’ll need to re-write that 64kbyte entirely. With that in mind, your first step is to read the 64kbyte block of data that contains the RF alignment data. As above, put the GD-77 into the special flash read/write mode with the following power up sequence:
Blue side button + green menu button + * (lock) button held down while powering up the radio.
There are a few handy features in the Flash Manager to assist you manipulate the data:
Ctrl-F is a find feature, where you can search for data from the cursors present position onwards. Hex or ASCII strings can be searched for. F3 will find the next occurrence.
Ctrl-G will go to an address that you specify in hex, which can save a lot of scrolling in large fields of memory displays.
Alt-F12 will make visible three new buttons to read, adjust and write calibration data. The adjust calibration button will give an easy interface to adjust RF tuning parameters without having to edit raw hex data. Be aware this feature is still under development and may not work completely as intended.
YOUR USE OF THIS INFORMATION AND TOOLS PROVIDED IS ENTIRELY AT YOUR OWN RISK.
Address in flash memory
Typical value
Usage
Notes
UHF SECTION
8F000
A0
Not known, must be set to this value for UHF transmitter to work
CRITICAL VALUE
8F001
0F
Not known, must be set to this value for UHF transmitter to work
CRITICAL VALUE
8F002
C0
Not known, must be set to this value for UHF transmitter to work
CRITICAL VALUE
8F003
12
Not known, must be set to this value for UHF transmitter to work
CRITICAL VALUE
8F004
A0
Not known, must be set to this value for UHF transmitter to work
CRITICAL VALUE
8F005
0F
Not known, must be set to this value for UHF transmitter to work
CRITICAL VALUE
8F006
C0
Not known, must be set to this value for UHF transmitter to work
CRITICAL VALUE
8F007
12
Not known, must be set to this value for UHF transmitter to work
CRITICAL VALUE
8F008
E8
DAC word for frequency reference oscillator at UHF, fine tune.
CRITICAL VALUE, typical range DC-E9
8F009
03
DAC word for frequency reference oscillator at UHF, coarse tuning. Should be no need to adjust this away from value 03.
CRITICAL VALUE
8F00A
E9
Frequency fine tune for DMR mode only, UHF
CRITICAL VALUE, typically same as 8F008 or +1 of that value
8F00B
83
Low RF power output setting, UHF freq 400 MHz
00=lower power, FF=higher power, typical low power value ranges 65-80
8F00C
C6
High RF power output setting, UHF freq 400 MHz
Typical high power value ranges AA-DB CAUTION: Excessively high settings will burn out electronics
8F00D
82
Low RF power output setting, UHF freq 405 MHz
Suggestion: lower value to 40 hex gives about 30mW output, value of 20 gives no detectable output.
8F00E
C5
High RF power output setting, UHF freq 405 MHz
CAUTION: Excessively high settings will burn out electronics
8F00F
81
Low RF power output setting, UHF freq 410 MHz
8F010
C6
High RF power output setting, UHF freq 410 MHz
CAUTION: Excessively high settings will burn out electronics
8F011
81
Low RF power output setting, UHF freq 415 MHz
8F012
C7
High RF power output setting, UHF freq 415 MHz
CAUTION: Excessively high settings will burn out electronics
8F013
80
Low RF power output setting, UHF freq 420 MHz
8F014
C9
High RF power output setting, UHF freq 420 MHz
CAUTION: Excessively high settings will burn out electronics
8F015
80
Low RF power output setting, UHF freq 425 MHz
8F016
CA
High RF power output setting, UHF freq 425 MHz
CAUTION: Excessively high settings will burn out electronics
8F017
81
Low RF power output setting, UHF freq 430 MHz
8F018
CB
High RF power output setting, UHF freq 430 MHz
CAUTION: Excessively high settings will burn out electronics
8F019
81
Low RF power output setting, UHF freq 435 MHz
8F01A
CB
High RF power output setting, UHF freq 435 MHz
CAUTION: Excessively high settings will burn out electronics
8F01B
81
Low RF power output setting, UHF freq 440 MHz
8F01C
C8
High RF power output setting, UHF freq 440 MHz
CAUTION: Excessively high settings will burn out electronics
8F01D
81
Low RF power output setting, UHF freq 445 MHz
8F01E
C6
High RF power output setting, UHF freq 445 MHz
CAUTION: Excessively high settings will burn out electronics
8F01F
81
Low RF power output setting, UHF freq 450 MHz
8F020
C5
High RF power output setting, UHF freq 450 MHz
CAUTION: Excessively high settings will burn out electronics
8F021
81
Low RF power output setting, UHF freq 455 MHz
8F022
C5
High RF power output setting, UHF freq 455 MHz
CAUTION: Excessively high settings will burn out electronics
8F023
7F
Low RF power output setting, UHF freq 460 MHz
8F024
C4
High RF power output setting, UHF freq 460 MHz
CAUTION: Excessively high settings will burn out electronics
8F025
7E
Low RF power output setting, UHF freq 465 MHz
8F026
C6
High RF power output setting, UHF freq 465 MHz
CAUTION: Excessively high settings will burn out electronics
8F027
7D
Low RF power output setting, UHF freq 470 MHz
8F028
C6
High RF power output setting, UHF freq 470 MHz
CAUTION: Excessively high settings will burn out electronics
8F029
7D
Low RF power output setting, UHF freq 475 MHz
8F02A
C6
High RF power output setting, UHF freq 475 MHz
CAUTION: Excessively high settings will burn out electronics
8F02B
3D
Unknown
8F02C
3B
Unknown
8F02D
3A
Unknown
8F02E
38
Unknown
8F02F
37
Unknown
8F030
36
Unknown
8F031
35
Unknown
8F032
A9
Unknown
8F033
1D
Unknown
8F034
0D
Unknown
8F035
0D
Unknown
8F036
11
Unknown
8F037
11
Unknown
8F038
0B
Unknown
8F039
0B
Unknown
8F03A
0F
Unknown
8F03B
00
Unknown
8F03C
00
Unknown
8F03D
00
Unknown
8F03E
00
Unknown
8F03F
18
Unknown
CRITICAL VALUE range typically 17-1E
8F040
16
Unknown
CRITICAL VALUE range typically 15-1C
8F041
14
Unknown
CRITICAL VALUE range typically 14-1C
8F042
13
Unknown
CRITICAL VALUE range typically 13-1C
8F043
16
Unknown
CRITICAL VALUE range typically 16-1C
8F044
14
Unknown
CRITICAL VALUE range typically 14-1D
8F045
15
Unknown
CRITICAL VALUE range typically 14-1D
8F046
12
Squelch sensitivity gain. Lower value=more sensitive squelch. Do not go below value 08.
8F047
3E
UHF Mute strict, wideband, close
Higher value=lower RF level / more sensitive. NB: Strict and normal values interact somewhat
8F048
3C
UHF Mute strict, wideband, open
8F049
3E
Unknown
8F04A
3A
Unknown
8F04B
53
UHF Mute normal, wideband, close
8F04C
51
UHF Mute normal, wideband, open
8F04D
34
UHF Mute strict, narrowband, close
Higher value=lower RF level / more sensitive. NB: Strict and normal values interact somewhat
8F04E
32
UHF Mute strict, narrowband, open
8F04F
34
Unknown
8F050
32
Unknown
8F051
53
UHF Mute normal, narrowband, close
8F052
51
UHF Mute normal, narrowband, open
8F053
1C
UHF Received signal meter, low end
Suggestion: leave as is
8F054
20
UHF Received signal meter, high end
Suggestion: set to 60 for more realistic RSSI indication. 1 bar= -113dBm, 2 bars= -95dBm, 3 bars= -80dBm
8F055
3C
UHF 405 MHz DMR TX 4FSK
CRITICAL VALUE Don’t adjust, typical range 3C-41
8F056
3A
UHF 415 MHz DMR TX 4FSK
CRITICAL VALUE Don’t adjust, typical range 3A-40
8F057
39
UHF 425 MHz DMR TX 4FSK
CRITICAL VALUE Don’t adjust, typical range 39-3E
8F058
38
UHF 435 MHz DMR TX 4FSK
CRITICAL VALUE Don’t adjust, typical range 37-3D
8F059
36
UHF 445 MHz DMR TX 4FSK
CRITICAL VALUE Don’t adjust, typical range 36-3C
8F05A
35
UHF 455 MHz DMR TX 4FSK
CRITICAL VALUE Don’t adjust, typical range 35-3A
8F05B
34
UHF 465 MHz DMR TX 4FSK/td>
CRITICAL VALUE Don’t adjust, typical range 34-39
8F05C
33
UHF 475 MHz DMR TX 4FSK
CRITICAL VALUE Don’t adjust, typical range 33-38
8F05D
1D
UHF DMR receive audio gain & beep volumes (not independantly adjustable)
Higher value=more gain
8F05E
0F
UHF TX DTMF deviation
Higher value=more deviation
8F05F
0D
UHF TX 1750Hz tone burst deviation
Higher value=more deviation
8F060
11
UHF TX CTCSS deviation, wideband
Higher value=more deviation
8F061
11
UHF TX CTCSS deviation, narrowband
Higher value=more deviation
8F062
0B
UHF TX DCS deviation, wideband
Higher value=more deviation
8F063
0B
UHF TX DCS deviation, narrowband
Higher value=more deviation
8F064
0F
Unknown, but do not adjust - affects both RF power out and modulation in all modes
CRITICAL VALUE Do not adjust
8F065
0E
Unknown, but do not adjust - affects both RF power out and modulation in all modes
CRITICAL VALUE Do not adjust
8F066
31
UHF analogue only mic gain (both wide & narrow band) do not exceed value 7F
Higher value=more gain
8F067
05
Unknown
8F068
27
UHF analog overall (CTCSS, DCS, DTMF & voice) deviation, wideband, fine setting
Higher value=more deviation
8F069
00
UHF analog overall (CTCSS, DCS, DTMF & voice) deviation, wideband coarse setting. Should be no need to set above 00
Higher value=more deviation
8F06A
27
UHF analog overall (CTCSS, DCS, DTMF & voice) deviation, narrowband, fine setting
Higher value=more deviation
8F06B
00
UHF analog overall (CTCSS, DCS, DTMF & voice) deviation, narrowband coarse setting. Should be no need to set above 00
Higher value=more deviation
8F06C
0F
UHF analog only receive audio gain. Valid range 00 to 0F.
8F06C & 8F06D are added to give total gain value
8F06D
0E
UHF analog only receive audio gain. Valid range 00 to 0F.
Higher value=more gain
8F06E
00
Unknown
8F06F
00
Unknown
VHF SECTION
8F070
50
Not known, must be set to this value for VHF transmitter to work
CRITICAL VALUE
8F071
05
Not known, must be set to this value for VHF transmitter to work
CRITICAL VALUE
8F072
CC
Not known, must be set to this value for VHF transmitter to work
CRITICAL VALUE
8F073
06
Not known, must be set to this value for VHF transmitter to work
CRITICAL VALUE
8F074
50
Not known, must be set to this value for VHF transmitter to work
CRITICAL VALUE
8F075
05
Not known, must be set to this value for VHF transmitter to work
CRITICAL VALUE
8F076
CC
Not known, must be set to this value for VHF transmitter to work
CRITICAL VALUE
8F077
06
Not known, must be set to this value for VHF transmitter to work
CRITICAL VALUE
8F078
EB
DAC word for frequency reference oscillator at VHF, fine tune.
CRITICAL VALUE, typical range E0-EB
8F079
03
DAC word for frequency reference oscillator at VHF, coarse tuning. Should be no need to adjust this away from value 03.
CRITICAL VALUE
8F07A
EE
Frequency fine tune for DMR mode only, VHF
CRITICAL VALUE, typical range E4-EC
8F07B
40
Low RF power output setting, VHF freq 136 MHz
00=lower power, FF=higher power, typical low power value ranges 33-64
8F07C
AA
High RF power output setting, VHF freq 136 MHz
Typical high power value ranges 8B-F0 CAUTION: Excessively high settings will burn out electronics
8F07D
41
Low RF power output setting, VHF freq 140 MHz
Suggestion: lower value to 40 hex gives about 125mW output, value of 20 gives no detectable output.
8F07E
BD
High RF power output setting, VHF freq 140 MHz
CAUTION: Excessively high settings will burn out electronics
8F07F
4E
Low RF power output setting, VHF freq 145 MHz
8F080
BE
High RF power output setting, VHF freq 145 MHz
CAUTION: Excessively high settings will burn out electronics
8F081
55
Low RF power output setting, VHF freq 150 MHz
8F082
B6
High RF power output setting, VHF freq 150 MHz
CAUTION: Excessively high settings will burn out electronics
8F083
56
Low RF power output setting, VHF freq 155 MHz
8F084
B1
High RF power output setting, VHF freq 155 MHz
CAUTION: Excessively high settings will burn out electronics
8F085
56
Low RF power output setting, VHF freq 160 MHz
8F086
B5
High RF power output setting, VHF freq 160 MHz
CAUTION: Excessively high settings will burn out electronics
8F087
59
Low RF power output setting, VHF freq 165 MHz
8F088
B8
High RF power output setting, VHF freq 165 MHz
CAUTION: Excessively high settings will burn out electronics
8F089
5C
Low RF power output setting, VHF freq 172 MHz
8F08A
B8
High RF power output setting, VHF freq 172 MHz
CAUTION: Excessively high settings will burn out electronics
8F08B
FF
Not applicable
8F08C
FF
Not applicable
8F08D
FF
Not applicable
8F08E
FF
Not applicable
8F08F
FF
Not applicable
8F090
FF
Not applicable
8F091
FF
Not applicable
8F092
FF
Not applicable
8F093
FF
Not applicable
8F094
FF
Not applicable
8F095
FF
Not applicable
8F096
FF
Not applicable
8F097
FF
Not applicable
8F098
FF
Not applicable
8F099
FF
Not applicable
8F09A
FF
Not applicable
8F09B
40
Unknown
8F09C
F0
Unknown
8F09D
40
Unknown
8F09E
F0
Unknown
8F09F
40
Unknown
8F090
F0
Unknown
8F0A1
FF
Not applicable
8F0A2
FF
Not applicable
8F0A3
0F
Unknown
.
8F0A4
0F
Unknown
8F0A5
0F
Unknown
8F0A6
1B
Unknown
8F0A7
1B
Unknown
8F0A8
1B
Unknown
8F0A9
FF
Not applicable
8F0AA
FF
Not applicable
8F0AB
00
Unknown
8F0AC
00
Unknown
8F0AD
00
Unknown
8F0AE
00
Unknown
8F0AF
1D
Unknown
CRITICAL VALUE range typically 1D-20
8F0B0
1D
Unknown
CRITICAL VALUE range typically 1D-1F
8F0B1
1D
Unknown
CRITICAL VALUE range typically 1D-1F
8F0B2
1C
Unknown
CRITICAL VALUE range typically 1C-1F
8F0B3
1C
Unknown
CRITICAL VALUE range typically 1C-1E
8F0B4
1C
Unknown
CRITICAL VALUE range typically 1C-1D
8F0B5
1B
Unknown
CRITICAL VALUE range typically 1B-1E
8F0B6
1B
Squelch sensitivity gain. Lower value=more sensitive squelch. Do not go below value 08.
8F0B7
3E
VHF Mute strict, wideband, close
Higher value=lower RF level / more sensitive. NB: Strict and normal values interact somewhat
8F0B8
3C
VHF Mute strict, wideband, open
8F0B9
3D
Unknown
8F0BA
3A
Unknown
8F0BB
53
VHF Mute normal, wideband, close
8F0BC
51
VHF Mute normal, wideband, open
8F0BD
34
VHF Mute strict, narrowband, close
Higher value=lower RF level / more sensitive. NB: Strict and normal values interact somewhat
8F0BE
32
VHF Mute strict, narrowband, open
8F0BF
34
Unknown
8F0C0
32
Unknown
8F0C1
53
VHF Mute normal, narrowband, close
8F0C2
51
VHF Mute normal, narrowband, open
8F0C3
20
VHF Received signal meter, low end
Suggestion: leave as is
8F0C4
27
VHF Received signal meter, high end
Suggestion: set to 5D for more realistic RSSI indication. 1 bar= -113dBm, 2 bars= -95dBm, 3 bars= -80dBm
8F0C5
B1
VHF 136 MHz DMR TX 4FSK
CRITICAL VALUE Don’t adjust, typical range B0-C3
8F0C6
AB
VHF 140 MHz DMR TX 4FSK
CRITICAL VALUE Don’t adjust, typical range AA-BD
8F0C7
A5
VHF 145 MHz DMR TX 4FSK
CRITICAL VALUE Don’t adjust, typical range A4-B7
8F0C8
A0
VHF 150 MHz DMR TX 4FSK
CRITICAL VALUE Don’t adjust, typical range 9E-B1
8F0C9
9B
VHF 155 MHz DMR TX 4FSK
CRITICAL VALUE Don’t adjust, typical range 98-AB
8F0CA
95
VHF 160 MHz DMR TX 4FSK
CRITICAL VALUE Don’t adjust, typical range 93-A5
8F0CB
90
VHF 165 MHz DMR TX 4FSK
CRITICAL VALUE Don’t adjust, typical range 8F-9F
8F0CC
8E
VHF 172 MHz DMR TX 4FSK
CRITICAL VALUE Don’t adjust, typical range 8A-9B
8F0CD
1D
VHF DMR receive audio gain & suspected beep volumes (not independantly adjustable)
Higher value=more gain
8F0CE
10
VHF TX DTMF deviation
Higher value=more deviation
8F0CF
0D
VHF TX 1750 Hz tone burst deviation
Higher value=more deviation
8F0D0
11
VHF TX CTCSS deviation, wideband
Higher value=more deviation
8F0D1
11
VHF TX CTCSS deviation, narrowband
Higher value=more deviation
8F0D2
0B
VHF TX DCS deviation, wideband
Higher value=more deviation
8F0D3
0B
VHF TX DCS deviation, narrowband
8F0D4
08
Unknown, but do not adjust - affects both RF power out and modulation in all modes
CRITICAL VALUE Do not adjust
8F0D5
0E
Unknown, but do not adjust - affects both RF power out and modulation in all modes
CRITICAL VALUE Do not adjust
8F0D6
31
VHF analog only mic gain (both wide & narrow band) do not exceed value of 7F
Higher value=more gain
8F0D7
05
Unknown
8F0D8
27
VHF analog overall (CTCSS, DCS, DTMF & voice) deviation, wideband, fine setting
Higher value=more deviation
8F0D9
00
VHF analog overall (CTCSS, DCS, DTMF & voice) deviation, wideband coarse setting. Should be no need to set above 00
Higher value=more deviation
8F0DA
27
VHF analog overall (CTCSS, DCS, DTMF & voice) deviation, narrowband, fine setting
Higher value=more deviation
8F0DB
00
VHF analog overall (CTCSS, DCS, DTMF & voice) deviation, narrowband coarse setting. Should be no need to set above 00
Higher value=more deviation
8F0DC
0F
VHF analog only receive audio gain. Valid range 00 to 0F.
8F0DC & 8F0DD are added to give total gain value
8F0DD
0F
VHF analog only receive audio gain. Valid range 00 to 0F.
Higher value=more gain
8F0DE
00
Unknown
8F0DF
00
Unknown
Remember, you need to work with a minimum size of 64kbyte block of data, you can’t just change a few bytes on their own. Read memory from (hex) 80000 for length (hex) 10000, then edit the parameters you want and write that entire block back to the radio.
There are three pairs of bytes that also need discussing. These three lots of vital flash memory values are located at D0000-D0001, D0B30-D0B31 and E93D0-E93D1. Do NOT change them, otherwise access to flash memory via the blue button & green menu button & * (lock) button power up sequence will be lost and the only way to recover from this is to desolder the flash memory IC and program it externally.
Previously some users have been able to recover from this corruption by downgrading to earlier firmware versions and then performing a memory reset and re-upgrading again. This may or may not work for more recent firmware versions, reports of success vary from user to user, and I suspect it may have something to do with pre-existing conditions within the flash memory.
Described here is a method of restoring the corruption, which is both more reliable and quicker than the previous downgrade-reset-upgrade method of recovery.
Step 1: Download Flash Manager, and if you don’t already have a hex editor, download and install HxD. Download links are given above.
Step 2: Turn off the corrupted GD-77, connect programming cable to the radio and to the PC. Do not turn on the GD-77 yet.
Step 3: Hold down the side blue key, green menu key (above left arrow button) and the * / lock key (just below the right arrow button) while turning on the GD-77. The radio will appear to power up normally.
Step 4: Launch Flash Manager.
Step 5: Read the entire flash. Set Start address (hex) to 0, and set Length (hex) to 100000 - that’s one followed by five zeroes. Click the Read button, and wait about 5-6 minutes for the read to complete.
Step 6: Export the read data to a file using the Save File button. Call the file something like corruptGD77.bin In Windows the file should show as being 1.0 Mbyte in size.
Step 7: Launch HxD or your favourite hex editor. Open the file you just saved from Flash Manager.
Step 8: Now search for other copies of RF alignment data that should be hiding in other locations of the dump of flash memory. We are relying on the fact that some RF alignment data never changes from radio to radio. One such item of data shows up as an ASCII string of SQ4242 (note upper case / capital letters SQ). So perform a search from the beginning, looking for the ASCII string SQ4242
Step 9: Once you’ve found this occurrence, look at the data around it. About 75 (decimal) bytes prior to this SQ4242 sequence, there should be a set of repeating bytes A0 0F C0 12 A0 0F C0 12. If you do find this, then you have very likely found a valid and uncorrupted copy of your radios RF alignment data. If you don’t find this, continue searching until you do find valid RF alignment data. A common address to find such data is typically 50100 to 501DF (hex)
Step 10: From the start of the sequence of bytes A0 0F C0 12 A0 0F C0 12, copy a block of 224 bytes. So if you do find valid alignment data starting at address 50100, copy the data from address 50100 to 501DF, and paste that data into address beginning at 8F000. You can highlight, copy and paste in HxD which is very handy.
Step 11: Once you’re satisfied that you have valid RF alignment data copied over to address 8F000 to 8F0DF, save the file to disk, calling it something like repairedGD77.bin Again, the file should show as being 1.0 Mbyte in size under Windows.
Step 12: Back in Flash Manager, use the Open File button to load your repairedGD77.bin file. Scroll down to, or use the Ctrl-G feature to jump directly to address 8F000 and confirm that valid RF alignment data is present. As above, it will begin with bytes A0 0F C0 12 A0 0F C0 12. If it does not appear there, something has not gone quite right and you should go back to step 7 above and try again.
Step 13: Turn off your GD-77 and power it back on with the special power up sequence again, same as step 3.
Step 14: Now it is time to write the valid RF alignment data back to the radio. We don’t need to write the entire flash contents, but do need to write at least a 64kbyte block for this to work. Enter Start address (hex) of 80000 - that’s eight followed by four zeroes, and enter Length (hex) as 10000 - that’s one followed by four zeroes. Click Write and wait about 25 seconds for the write to complete.
Step 15: Turn off your GD-77, remove the programming cable, and power on normally, and test. Your GD-77 should be working nominally now.
It is not recommended to use the typical values in the table above to reconstruct a new RF alignment data block from scratch unless used as a last resort. The reason for this is that some parameters can be quite critical, especially the frequency tuning and DMR 4FSK values. It is always best to find copies of the RF alignment data that is specific and unique to your radio. The typical values are given as a guide only and give some context to potential adjustments you may wish to make.
GD-77 Frequently Asked Questions FAQ & answers
Absolute beginners guide to DMR
GD-77 Review
nq4t.com does not claim ownership or intend to infringe any copyrights. This is mirrored here in effort to preserve the information due to the author's death.