Sensor Factory Calibration
(500D)
RAM (ISO100) 0x30A10C - 0x30EC8C
ROM (ISO100) 0xFFA0590C - 0xFFA0A48C
RAM
I found the adress in RAM using QEMU FRSP-log:
How to find in RAM?
What is this data?
The data is packed in 16 bits of 2 values for each column.
Left optical black [512, 0] (these are approximate values, different for each column):
After left optical black [512, 512] (these are approximate values, different for each column):
Changing the first value affects the black level column by -1.
Black level 1024
value -1 -> 1025
value +1 -> 1023
Dark frames (+5EV)
(Canon Default | Whole buffer filled [0,0] | Whole buffer filled [512,512] | Buffer after left optical black filled [512,512]) :
(500D)
RAM (ISO100) 0x30A10C - 0x30EC8C
ROM (ISO100) 0xFFA0590C - 0xFFA0A48C
RAM
Code Select
ISO 100 0x30A10C
ISO 200 0x30EC94
ISO 400 0x31381C
ISO 800 0x3183A4
ISO 1600 0x31CF2C
ISO 3200 0x321AB4
ISO 6400 0x32663C
ISO 12800 0x32B1C4
I found the adress in RAM using QEMU FRSP-log:
Code Select
[EDMAC#9] Starting transfer from 0x30A10C to <15>, 4832x4, flags=0x10000
[EDMAC#9] 19328 bytes read from 30A10C-30EC8C.
How to find in RAM?
Code Select
Find hex values :
4D 00 01 01 88 4B 00 00
4D -> ISO 100?
88 4B -> 0x4b88 = 4834 // 4834 - 2 = 4832 500D width
Now let's try to find in 5D3 rom
5936 + 2 = 5938
5938*4 = 0x5CC8
4D 00 01 01 C8 5C 00 00
The address is after these hex values
What is this data?
The data is packed in 16 bits of 2 values for each column.
Left optical black [512, 0] (these are approximate values, different for each column):
After left optical black [512, 512] (these are approximate values, different for each column):
Changing the first value affects the black level column by -1.
Black level 1024
value -1 -> 1025
value +1 -> 1023
Dark frames (+5EV)
(Canon Default | Whole buffer filled [0,0] | Whole buffer filled [512,512] | Buffer after left optical black filled [512,512]) :