For all 6d owners who want to mess around with registers on the 6d,
without any need to know how to program or compile.
Check out ADTG_GUI module on the module downloads page, long time available and made by A1ex.
It's a Wonderfull tool that detects register settings and changes(so we can see what register values Canon is using) and even override the registers with new values(settings).
It's all temporally , when the camera is switched off or function is sett off, everything is back to normal again.
I have seen much weird shit happen to liveview while messing aroundd with registers, and maybe sometimes a camera lock up.
But pulling out the battery(by a lock up) or switching camera off and on again set everything back to normal.
Quick tutorial:
Be sure you're using the "experimental crop_rec_4k build." (
https://builds.magiclantern.fm/jenkins/job/crop_rec_4k/80/artifact/platform/6D.116/magiclantern-crop_rec_4k.2018Jul22.6D116.zip from the experimental download page. I think the adtg_module doesn't work with standard nightly build.
https://builds.magiclantern.fm/experiments.htmlDownload the adtg_gui module on the module downloads page, at the bottom of the page, ISO research tools section:
https://builds.magiclantern.fm/modules.htmlPut the "adtg_gui.mo" module file in the modules folder on your SD card (/ML/Modules/)
Start up the camera and enable adtg_gui module in the modules tab:
This module uses some techniques which conflicts with Crop_rec module and SD_UHS module, so to be sure to avoid weird behaviour or conflicts, disable crop_rec module and SD_UHS module.

After that restart camera and you will see a new option under the debug tab, go ahead enable it:

Press "Q" button to go inside ADTG Registers menu and you will see an option for which registers it must show, probably best to restrict it to show only known registers, or at least not all, because that are many, many registers


Now if you aren't already in video mode, go ahead, switch to video mode and dive into ADTG registers menu again with the "Q" button.
You will now see many registers and if you use scroll wheel to scroll down, you'll also find the CMOS registers:

On 6d, CMOS 3 register is know to control ISO setting, in the picture above you see the value for this register is 0x33.
33 is the value Canon uses for ISO 800.
Now go ahead, press "set" button to be able to change the value, for example to "0" or "11".
Use "set" button to enter new value, D-pad for selecting which number to change and top scrollwheel for selecting new value.
If you are in liveview or video mode, you can see the effect immediately.
You are changing iso value, without using the iso button

If you highlight the override value and press "q" button, it stops overriding the register and changes it back to default value again.
If you now use the "iso" button to change iso value on your 6d, and go back into ADTG Registers menu again, you can see the value of CMOS 3 is changing.
Canon uses the following values for CMOS 3 on 6d:
ISO 100 = 0x0
ISO 200 = 0x11
ISO 400 = 0x22
ISO 800 = 0x33
ISO 1600 = 0x44
ISO 3200 = 0x55
ISO 6400 = 0x77
ISO 12800 = 0x77
ISO 25600 = 0x77
See a pattern here, try overriding it to some weird combination, 0x17...and check liveview, see the bright and dark lines, you have now set dual iso mode (iso 200/6400)

But what is going on after iso 3200...why is it skipping value 0x66 between iso 3200 and 6400 ?
Let's find out and override the register to 0x66...it works there is liveview...looks like an iso setting between iso 400 and 800.
Probably a real iso 640 setting for the sensor. Not sure why it is there, for Canon testing, or is it a magic iso and is there no noise

And what's happening above ISO 6400...12800 and 25600 are using the same setting as 6400, 0x77.
So there is something fishy here...
Go to video mode, set iso (with canon iso button) to iso 6400.
Go back to adtg_gui menu and choose option, show "modified from now on" option.

Exit menu and change iso to 12800 with iso button and check adtg_gui menu again.
If you did it right you'll see four registers showing up:
ADTG2[8882]
ADTG2[8884]
ADTG2[8886]
ADTG2[8888]
Behind it, you'll see the current values and the before values.
These are the analog preamp registers.
CMOS 3 is amplification within/on sensor level and ADTG2[8882-8888] registers are believed to be analogue amplifiers between sensor capture and before digital conversion.
Normally these registers are around value 0x400, with iso 12800 they become around 0x900 and with iso 25600 around 0x1200.
0x400 hexadecimal -> decimal conversion = 1024
0x900 hexadecimal -> decimal conversion = 2304
0x1200 hexadecimal -> decimal conversion = 4608
So decimal value doubles, is one stop extra iso.
By trial and error max value for overriding seems to be 1FFF, higher value gives darker image, so it's starts at zero again.
0x1FFF is about twice as high in decimal value (8191) as is 0x1200, so overriding these four registers to 0x1FFF
Gives you iso 51200 on your 6d

, although a very noisy one

The above gives a idea how to explore registers and play with them and see what happens.
@baladev
CMOS 6 and 7 do horizontal and vertical position.
If you go into 5x zoom mode and move the focus box around, you can see values of CMOS 6 and 7 changing.