Hi AI7FL!
So... You probably know what are you asking about, according to your post, but in a very short form:
To make an "alteration" to the firmware (i.e. not to develop a brand new firmware, as is (with exception of binary part with the AMBE codec) the OpenGD-77,
you should decompile the original firmware first, which means you should download a copy for flashing the radio and decrypt it. It means to know the algorithm and to have the keys. For GD-77, there was some weak point in the encryption alogirtm, so it was cracked. But it's a question about other producers, if they use stronger algorithms or avoid these weak points, even this first step may be undoable.
The second step is the decompilation itself. You have to translate the machine code to the assembly source, find data blobs and avoid their decompilation, understand the program flow and finally find the part in the code which you want to change.
The third step would be to write the patch, i.e. to write an extension of the program with your new functionality, place it in into a free space in the Flash ROM (first you must discover such a place) and jump into it from the proper place in the original code and jump back to the original code from your patch.
To debug this, you will probably need a hardware debugger connected to debug pins of the CPU. But, say, that you are really good and even the first attempt will be successful, so you won't need the debugger..
Finaly, you should pack your modified image to the format acceptable by the radio bootloader i.e. reencrypt it, and it may be impossible if the images are digitally signed, as you don't have the signing key, load it to the radio, and use it
.
To write a brand new firmware (like OpenGD-77) you need a complete HW documentation - schematics, chip specs etc., then you need the SDK for the platform used in the radio, and then you can write it in some higher-level language (C, C++...)
I don't see anything from the list written above to be reasonalby easy to start with such a project
.
With regards, Pavel
P.S. I have a bit of experience in this field, as I wrote a new firmware to the the old NMT phone (Nokia Talkman MD59CS), converting it to the 70cm HAM radio, but I started on an already existing open project, I just modified it and added some bells and whistles
. But it was 30 lets ago and things were much, much simpler than today...