Skip to content

Hacking the memory

Damien Gaignon edited this page Jun 1, 2022 · 2 revisions

These memory addresses are for 1.10.9 firmware.

MUST READ
It is important to note that the autoexec.ash file needs to have linux line endings (EOL) meaning that you need to have an editor like Notepad++ if you are on windows.
Using something like the default windows notepad will add windows line endings which will break the file.
It is also important that the file have an empty line at the end.

Memory hacks

Description

To be able to change values hardcoded in the firmware it is needed to alter the memory of the device before this value could be used.
In the Yi4k, a file called autoexec.ash is read at boot thus adding the possibility to write values to memory addresses before they are used.
We need to know the memory address which is given by reverse engineering the firmware.

General instructions

To alter a memory address in RAM the command writel <address> <value> as to be written in the autoexec.ash file.
As it is in RAM, this means that this modification is not permanent and if you want it gone you can just remove the autoexec.ash file from your sd card or delete the line in the file and restart your camera.

For example this command: writel 0xA06D48BC 0x42F00000 writes 0x42F00000 which corresponds to 120 (Floating point conversion) to the address 0xA06D48BC.
This would set the bitrate for the 3840x2160 30P 16:9 resolution to 120 (120 Mbps).
If you look in the video table below you will see that 0x42F00000 corresponds to 120. You can replace 0x42F00000 with any other value to set any other bitrate.

How-to

Manual instructions

Automatic configuration

The audio bitrate mod is not part of the script. It will be added later if I have time.
Yi4k modification page

Thanks

irungentoo for all his works on the firmware

Clone this wiki locally