Well, now that there is an interesting discussion regarding and changing live scaler registers I've decided to do what no one did before, reading the available source code

So, there are two ways of messing up with the registers:
- Over UART (yes, we do have an UART) and over the I2C interface via the DDCCI commands.
I have to say the the available source code trees seem to have been HEAVILY edited to remove or strongly restrict the debugging functionality, the UART communication is restricted to the bare minimum and DDCCI commands, where available can be deduced only via header comments, the .C files have been removed and replaced with .OBJ files (with some effort the C code can be reconstructed). Also on the DDCCI path, there are two compile time selectable options: DDC and DDICDBG, and even there the cool debug commands are commented in the header

, but they can be uncommented

.
So let's start with the simple one: sending commands over the UART:
- A firmware has to have enabled _RS232_EN , that is
#define _RS232_EN _on, so far NONE of the firmware that I have access to it have this option enabled, so keep this in mind.
BTW, your firmware has all the relevant compile time options defined in: Core/header/MainDef.h In case you decide to recompile your firmware (or ask me to do it

) with this option enabled, a couple of functions are available, most interesting are (all defined in Uart.h and Uart.c):
UartCMDScalerRead() and UartCMDScalerWrite() that do what one would expect to do, albeit in a clumsy mode.
Funny stuff is that even they have I2C read and write functions and command codes defined in the header, they have been mercilessly cut off from the command interpreter !!!, along with other debug stuff.
-The next bit thing is the DDCCI interface, as this is the post boot way to send commands over I2C
As said before, you have to have _SUPPORTDDCCI turned _on to have any I2C activity at all and then define _DDCCI_ for "normal" stuff and _DDCCIDBG_ for extra goodies.
Please examine ddcci.h and ddccidbg.h for nice functions and structures definitions, what is implemented or not in those .obj files remind to be seen

.
That's about it as ALL the firmware that I have access in the source doesn't have either __DDCCI__ or __DDCCIDBG__ enabled, but maybe some of the installed binary firmware do has at least one of this enabled and studying these files my offer a gimple of how the commands are formatted and what are the I2C slave addresses in which one must send commands.
Cheers,
DC1MC