Welcome to Esato.com


Pages:
Previous  123 ... 167168169 ... 198199200  Next


Super camera driver for k750/w800/w810


Click to view updated thread with images




Posted by Sombra

On 2008-02-04 01:08:44, lpachuong wrote:
... Set EV 0.0 => Zoom 1.2 => Press Halfshutter => Increase the zoom to clear-up the target * => press full shutter again to take picture (please don't press halfshutter after step * )

If i follow this step, shot taked is zoomed (how preview image), only after press halfshutter for back to normal the shot is correct.

Camdriver works fine with default sharpness (06), because this, images are more detailed in EM On, see below:


BUG: When turn off preview zoom, filtering is still disabled (since A4A 12.0)

Sorry for my poor english.

_________________
K750i CID49 (R1BC002) - lpachuong A4A 12.0 camdriver

[ This Message was edited by: Sombra on 2008-02-04 16:57 ]


Posted by Kriomag
On 2008-02-04 16:19:08, Milu wrote:
copression on 90 in hex is 5A and 91 is 5b ... and 100 is 64 am i right??

yes, You are right

Posted by Kriomag
On 2008-02-04 15:36:07, recl wrote:


your new driver is better than previous version..less noise
is it based on lpachuong"s "pixel correction" code?

Less noise with EM/ENM is done by lowering sharpness value - i've lowered sharpness only for EM/ENM - for normal mode its set to maximum = 6 for cid36 and 5 for cid49/w810i

when i take pictures with night mode on, the pics get darken or i get a black screen

could You explain? what settings, what driver version (cid36/49/w810)?
driver works without problems with my k750i cid39 cammodule :/

[ This Message was edited by: Kriomag on 2008-02-04 16:55 ]

Posted by Kriomag
On 2008-02-04 15:22:10, (zalman) wrote:
new beta, new beta, new beta
i wait to final version

sorry mate - always when i want to release final i get new idea (optimization, new stuff from other modders etc.) or replays from beta-testers that something is wrong (but it works fine with my phone...)


Posted by Milu
@krio. so can u tell me why i didn't have crash when making photo when jpeg compression is set to 64??

Posted by ptkstep

On 2008-02-04 09:30:58, Rokstar wrote:
Thanks for yr reply PTKSTEP, but the praise belongs to Raider,SPU,Kriomag and all the other modders as all I did was borrow parts of lots of drivers and add them to Raider 6.7.2. The quality is exactly 6.7.2, it just has the stuff I added. So many thanks to all the modders that I borrowed from! Also I don`t know why there is a red smiley in my last post which has deleted some of the code, so heres what it should say
// flash exif
#READ(2B,$r2 8 ;
Anyway thnks again to all the modders who contributed and I apologise if I`ve upset anyone by using their code!Stay safe evryone, till next time.

About red smiley.
You must check Disable Smilies on this Post in options before posting.
I know that you borrow parts of lots of driver from several modder but it come from your idea to join them together. I love it. Good work!!!
sorry for my poor english.

Posted by wickedsick
@Milu: it is bcz of the code: RETRY. If the size of the picture is too big, the camera will save the picture at a lower compression. I remember this issue was discussed a long time ago by lpachuong and SPU

Posted by eXitman
Hmm is it something screwed on my pc, or config tool from 6.7 doesn't work with 6.7.2 driver ? It opens the dat file but the save and drag options are shadowed o.O

[ This Message was edited by: eXitman on 2008-02-04 20:56 ]

Posted by tranced
as if it were cought?

Posted by Raiderski
eXitman
6.7 was released with tool 0.5.2 every next camdriver was with tool 0.5.3. why you're not using latest?

Milu
64 (100%) to jakość początkowa proponowana do tworzenia jpeg. wartosc nieosiagalna nawet dla W810. telefon posiada algorytm zmiennej kompresji, stosowanej rowniez w wielu aparatach. w tym wszystkim chodzi o to aby przede wszystkim miescic sie w wyznaczonym zakresie rozmiaru pliku. majac ten warunek na uwadze telefon tworzy jpeg o szerokiej rozpietosci finalnych jakosci (wszystko zalezy od sceny), bo to wlasnie jakosc zdjecia jest sprawa drugorzedna. dlatego nawet jesli ustawisz 100% jakosci to telefon i tak bierze pod uwage przede wszystkim rozmiar pliku i to zapewnia mu wzgledna stabilnosc

Posted by recl
@Kriomag

i have a k750i cid 49..i don't know what's going on..this morning i've downloaded ipachoung last driver (v13 beta)..and my camera started acting very weird..when i changed the WB from auto to let's say for example, cloudy(or any other)..the camera blocks and exits to main menu..without taking the picture..also when night mode is ON after taking the picture, it gets very dark or i get a black screen...
so i said.."ok it's beta..i'll just change to my old driver A4A 12.."..i changed the cam driver..but the bugs from the v13 were passed (donno how) to v12 :|..then i downloaded your driver..changed my previous one and still the same bugs..
if u understood anything out of what i've said please help


Posted by Kriomag

On 2008-02-04 23:00:21, recl wrote:
@Kriomag

i have a k750i cid 49..i don't know what's going on..this morning i've downloaded ipachoung last driver (v13 beta)..and my camera started acting very weird..when i changed the WB from auto to let's say for example, cloudy(or any other)..the camera blocks and exits to main menu..without taking the picture..also when night mode is ON after taking the picture, it gets very dark or i get a black screen...
so i said.."ok it's beta..i'll just change to my old driver A4A 12.."..i changed the cam driver..but the bugs from the v13 were passed (donno how) to v12 :|..then i downloaded your driver..changed my previous one and still the same bugs..
if u understood anything out of what i've said please help

have You tried original driver? maybe You uploaded other drivers but they were not uploaded (far?).

Posted by lpachuong
About the bug you said, I feel it is weird as well. Some people dont but other do encounter the bugs you mentioned. I dont really understand why but could you please tell me what it your firmware and I think I can point out the problem. By the way, does anyone few somethings wrong about the recent updates from Microsoft XP SP3 and Vista SP1? Looks like all electronic software have some problems at the moment

Posted by MarkJason
@Kriomag - You said that less noise was done by decreasing the SHARPNESS value in EN/ENM... Just wanna ask because in your code when EM/ENM is chosen, you first do the FILTER command with change SHARPNESS value after that use the EM/ENM code... Does this alter the original SHARPNESS value in the SEQ_INIT which is 05 or 06? After let's say after i've used EM/ENM i switch to normal mode...

Posted by Rokstar
@ ptkstep, Thankyou again, I`m glad you like it. Raiders driver is the best but I just wanted a few extra functions! I`ve got heaps of mods but I don`t know where to post them? I can`t put full drivers up all the time! I`ll try to sort out a 4shared or something and post the details when it happens! I do choose disable smilies in options, but it keeps appearing? I`ll try putting the same thing back up. Here`s the missing bit
// flash exif
#READ[2B,$r2 8 8];
That should fix it!
Till next time.

Posted by Rokstar
@ Randolph
0.53 works fine. Make sure the exif bit with the smiley in the original post is fixed or it won`t work.Here I`ll put the whole thing up again so there`s no problems. Sorry guys my bad!

// K750/W800 CID49
// ----------------------------------------------------
// Sony Ericsson K750/W800/W810 camera driver by Raider
// version 6.7.2
// ----------------------------------------------------

// ------------------------- CUSTOMIZE INITIALS
WORK_AS_STANDARD= $s0 00;
EM_IN_QUALITY= $-1 02;
SHARPNESS= 05;
BRIGHTNESS= 00;
CONTRAST= 01;
SATURATION= 00;
SATURATION_SS= 00;
EXPOSURE= $-0 09;
FILTERING= $s0 01;
AF_MACRO_SCAN_MODE= $s0 01;
FOCUS_PREVIEW_ZOOM= 10;
JQ_NORMAL= $s2 55;
JQ_FINE= $s2 5a;
// ---------------------------------------- END

info_name=KNC 201 15;
info_vendor=Raider;
info_major_ver=06;
info_minor_ver=07;

cam_power_on_0=5,0,0,1,5;
cam_power_on_1=5,1,35,1,0;
cam_power_on_2=5,2,35,1,5;
cam_power_on_3=5,5,6,1,10;
cam_power_on_4=5,1,46,1,0;
cam_power_on_5=5,2,46,1,5;
cam_power_on_6=5,3,1,32C8,5;
cam_power_on_7=5,0,0,0,1F4;

cam_power_off_0=5,0,0,1,0;
cam_power_off_1=5,3,1,1,0;
cam_power_off_2=5,1,46,1,0;
cam_power_off_3=5,2,46,0,0;
cam_power_off_4=5,5,6,0,0;
cam_power_off_5=5,1,35,1,0;
cam_power_off_6=5,2,35,0,0;

cam_i2c_address=1F;
cam_vf_clock_freq=1,32C8;
cam_ss_clock_freq=1,32C8;
cam_vf_format=B100;
cam_ss_format=0001;

cam_ss_format_9=B100;
cam_ss_format_30=B100;
cam_data_offset_9=0;
cam_data_offset_30=0;
cam_ss_sync_30=3;

cam_data_offset=2;
cam_vf_sync=7;
cam_ss_sync=f;
cam_ss_sync_9=7;
cam_ss_retries=d;

cam_ss_jpeg_buf_size_1=3A98;
cam_ss_jpeg_buf_size_2=88B8;
cam_ss_jpeg_buf_size_3=186A0;
cam_ss_jpeg_buf_size_4=249f0;
cam_ss_jpeg_buf_size_5=61A80;
cam_ss_jpeg_buf_size_6=927C0;
cam_ss_jpeg_buf_size_7=927C0;
cam_ss_jpeg_buf_size_8=927C0;

sup_sizes=1[64,3C,0],2[A0,78,0],3[140,F0,0],
4[280,1E0,0],5[500,3C0,0],6[640,4B0,0],
7[660,440,0],8[660,4C8,0],9[280,1E0,0],
11[64,3C,5DC],12[A0,78,5DC],13[DC,92,5DC],
14[DC,A5,5DC],15[EC,B1,5DC],
21[80,60,3E8],22[80,60,2EE],
23[B0,90,3E8],24[B0,90,2EE], 30[4E,90,0];

sup_properties=0[0,15,9],1[0,6,0],2[0,3,1],3[0,1,0],
4[0,1,0],5[0,1,0],6[a,28,a],7[0,1,0],
8[0,4,0],9[0,4,0],a[0,2,0],b[0,4,0],
c[0,ff,0],d[0,1,0],e[0,2,0],f[0,1,0],
10[0,7,0],11[0,d,0],12[0,ff,0],13[0,15,7],
14[0,16,8],15[0,16,8],18[0,7,0],19[0,1,0];

// waiting room
EVENT=05 01 00 03 03 $f $r4 4 4 4 5;

WAIT_FOR_MODE=#EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl
$d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl
$d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl
$d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl
$d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl
$d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl
$d0010 #EVENT $c5 EA $cl $d0010 #EVENT $c5 EA $cl $d0010 #EVENT $c5 EA $cl $d0020 #EVENT $c5 EA $cl
$d0020 #EVENT $c5 EA $cl $d0040 #EVENT $c5 EA $cl $d0040 #EVENT $c5 EA $cl $d0100
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

WAIT_FOR_CAPT_START=#EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl
$d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl
$d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl
$d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl
$d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl
$d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl
$d0010 #EVENT $c5 E4 $cl $d0010 #EVENT $c5 E4 $cl $d0010 #EVENT $c5 E4 $cl $d0020 #EVENT $c5 E4 $cl
$d0020 #EVENT $c5 E4 $cl $d0040 #EVENT $c5 E4 $cl $d0040 #EVENT $c5 E4 $cl $d0100
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

WAIT_FOR_POWER_SAVE_ENTER=#EVENT $c5 ED $cl $d0010 #EVENT $c5 ED $cl $d0010 #EVENT $c5 ED $cl
$d0010 #EVENT $c5 ED $cl $d0010 #EVENT $c5 ED $cl $d0010 #EVENT $c5 ED $cl $d0020 #EVENT $c5 ED $cl
$d0020 #EVENT $c5 ED $cl $d0020 #EVENT $c5 ED $cl $d0020 #EVENT $c5 ED $cl $d0020 #EVENT $c5 ED $cl
$d0020 #EVENT $c5 ED $cl $d0020 #EVENT $c5 ED $cl $d0020 #EVENT $c5 ED $cl $d0020 #EVENT $c5 ED $cl
$d0040 #EVENT $c5 ED $cl $d0040 #EVENT $c5 ED $cl $d0040 #EVENT $c5 ED $cl $d0040 #EVENT $c5 ED $cl
$d0040 #EVENT $c5 ED $cl $d0100
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

WAIT_FOR_POWER_SAVE_LEAVE=#EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl
$d0020 #EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl
$d0020 #EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl
$d0040 #EVENT $c5 EC $cl $d0040 #EVENT $c5 EC $cl $d0040 #EVENT $c5 EC $cl $d0040 #EVENT $c5 EC $cl
$d0040 #EVENT $c5 EC $cl $d0040 #EVENT $c5 EC $cl $d0100 #EVENT $c5 EC $cl $d0200 #EVENT $c5 EC $cl
$d0400 #EVENT $c5 EC $cl $d0800
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

WAIT_FOR_JPEG_END=#EVENT $c5 E3 $cl $d0005 #EVENT $c5 E3 $cl $d0005 #EVENT $c5 E3 $cl
$d0005 #EVENT $c5 E3 $cl $d0005 #EVENT $c5 E3 $cl $d0005 #EVENT $c5 E3 $cl $d0005 #EVENT $c5 E3 $cl
$s4 01
$cx $cx $cx $cx $cx $cx $cx;

EMPTY_EVENT_FIFO=#EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl
$d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl
$d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl
$d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl $d0005 #EVENT
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

// wait for event number (r4), max time = ~4,5s
EVNTN=05 01 00 03 03 $f $r4 5 5 5 5 $-5 r4;
WAIT_FOR_EVENT=#EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl
$d0020 #EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl
$d0020 #EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl
$d0040 #EVNTN $c5 00 $cl $d0040 #EVNTN $c5 00 $cl $d0040 #EVNTN $c5 00 $cl $d0040 #EVNTN $c5 00 $cl
$d0040 #EVNTN $c5 00 $cl $d0040 #EVNTN $c5 00 $cl $d0100 #EVNTN $c5 00 $cl $d0200 #EVNTN $c5 00 $cl
$d0200 #EVNTN $c5 00 $cl $d0200 #EVNTN $c5 00 $cl $d0200 #EVNTN $c5 00 $cl $d0200 #EVNTN $c5 00 $cl
$d0200 #EVNTN $c5 00 $cl $d0200
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

// code operations
CMD=06 02 00 01 !1 !0 $f $d0005;
SET=05 02 00 !0 !1 $f $d0005;
READ=05 01 00 !0 01 $f !1;
END=$f $d0005;

// send command and wait for event
CMD_EVENT=06 02 00 01 !1 !0 $f $d0005
!2
#WAIT_FOR_EVENT;

// sensor version
GET_SENSOR_VERSION=05 01 00 36 01 $f $r2 0 0 $c0 00 05 01 00 36 01 $f $r2 0 0
$c0 00 05 01 00 36 01 $f $r2 0 0 $>0 7 $c0 01 $sf 01 $cl $sf 00 $cx $cl
$>0 7 $c0 01 $sf 01 $cl $sf 00 $cx $cx $cl $>0 7 $c0 01 $sf 01 $cl $sf 00 $cx $cx;

// autofocus result
READ_AF_STATUS=#EVENT $c5 E6 $cl $s4 03 $cx;

// if cid49 r1 = 01
GET_CID=$m1 f $b1 00 1 7;

// if camera is in video mode r0 = 01
IS_VIDEO_MODE=$z0 $c0 21 $s0 01 $cl $c0 22 $s0 01 $cl $c0 23 $s0 01 $cl $c0 24 $s0 01 $cl $s0 00 $cx $cx $cx $cx;

// flags and code execution blockers
FLAG7_SET=$bb 01 7 1;
FLAG7_UNSET=$bb 00 7 1;
FLAG7_STATE=$m0 b $b0 00 0 7;

FLAG6_SET=$bb 01 6 1;
FLAG6_UNSET=$bb 00 6 1;
FLAG6_STATE=$m0 b $b0 00 0 6 $b0 00 7 1;

// if EM is enabled r1 = 00
EM_STATUS=$p1 05
#EM_IN_QUALITY
$c7 7F
$s1 00
$cx;

// if EM, ENM, night mode is enabled r0 = 01
EM_NM_STATUS=$p0 07
#EM_STATUS
$c1 00
$s0 01
$cx;

// image filtering (pixel interpolation)
FILTERING_SET=#CMD(5B,00);

FILTERING_UNSET=#FILTERING
$c0 01
$s2 00
$z0
$c0 08
#EM_NM_STATUS
$c0 00
// only if zoom is higher than x1.0
#READ(3C,$r2 2 2)
$/2 3D
$cx
$cx
#CMD(5B,$w2)
$cx;

// if led/flash is active r0 != 00
LED_FLASH_STATE=$p0 0d $c0 00 $p0 0e $cx;

// autoexposure lock/unlock
AE_LOCK=#LED_FLASH_STATE
$c0 00
#CMD(01,01)
$cx;

AE_UNLOCK=#CMD(01,00);

// initialization
INIT_EXPOSURE=$s0 09
#EXPOSURE
#CMD(06,$w0);

INIT_SATURATION=$m0 6 $b0 00 0 5 $b0 00 6 2
$c0 20
#EM_NM_STATUS
$c0 00
#CMD(58,#SATURATION)
$cl
#CMD(58,#SATURATION_SS)
$cx
$cx;

seq_init=#SET(0B,88) #SET(0C,13)
#SET(18,00)
#CMD(51,00)
#CMD(52,00)
#CMD(54,#BRIGHTNESS)
#CMD(55,#CONTRAST)
$s6 e9 $s7 00 $sb 00
#CMD(56,#SHARPNESS)
#INIT_SATURATION
#INIT_EXPOSURE
#GET_SENSOR_VERSION;

// ?
seq_ping=;

// ev compensation
seq_set_prop_0=#WORK_AS_STANDARD
$c0 00
$cl
$s0 %0
#EXPOSURE
#CMD(06,$w0)
$cx;

// software version for EXIF
seq_get_prop_0=$s1 06 $s0 07;

// white balance and color correction
// cc apply
CC_APPLY=$m0 6 $b0 00 0 6
$c0 c0
// full auto
#SET(20,$w1)
#SET(21,$w2)
$cl
$c0 80
// red-cyan auto
#SET(20,$w1)
$cl
$c0 40
// blue-yellow auto
#SET(21,$w2)
$cx
$cx
$cx
#CMD(13,01);

// wb apply
WB_APPLY=$m4 b $b4 00 3 5
$s1 00 $s2 00
// ---------------------------- CUSTOMIZE WB CC
$c4 00 #CMD(11,00) $+1 00 $+2 00 $cl
$c4 01 #CMD(11,05) $+1 00 $+2 00 $cl
$c4 02 #CMD(11,06) $+1 00 $+2 00 $cl
$c4 03 #CMD(11,04) $+1 00 $+2 00 $cl
$c4 04 #CMD(11,03) $+1 00 $+2 00 $cl
// ---------------------------------------- END
$+1 00 $+2 00
$c4 05 #CMD(11,07) $cl
$c4 06 #CMD(11,01)
$cx $cx
$cx $cx $cx $cx $cx;

seq_set_prop_1=$m0 b $b0 00 0 3 $b0 00 4 4
// execute only if default (no profile) WB is in usage
$c0 00
$s0 %0
$c0 00 $sb 00 $cl
$c0 01 $sb 04 $cl
$c0 02 $sb 03 $cl
$c0 03 $sb 01 $cl
$c0 04 $sb 02 $cl
$mb 0
$cx $cx $cx $cx $cx
#WB_APPLY
#CC_APPLY
$cx
#FLAG7_UNSET
#FLAG6_SET;

// only for profiles!
SET_WB=$-0 0b
$mb 0
$bb 01 3 1
#WB_APPLY
#CC_APPLY;

// reset wb (use wb selected in menu)
RESET_WB=$b6 03 6 2
$bb 00 3 1
$d0032
$u01
#FLAG6_UNSET;

// led
WB_LED_SET=$p0 0d
$c0 01
// check bits 00000Xxx (if xx = 1,2 or 3 then wb is not auto/incandescent)
$m0 b $b0 00 2 6
$c0 00
// copy cc values
#READ(20,$r2 3 3)
#READ(21,$r2 4 4)
// apply new cc values (both/one/none - depends on manual CC state)
$s1 EA
$s2 18
#CC_APPLY
// paste cc values
$d0020
#SET(20,$w3)
#SET(21,$w4)
$cx
$cx;

WB_LED_UNSET=#CMD(13,01);

// flicker (synchronization with lightsource frequency)
seq_set_prop_2_0=#CMD(21,01);
seq_set_prop_2_1=#CMD(21,02);
seq_set_prop_2_2=#CMD(21,03);
seq_set_prop_2_3=#CMD(21,00);

// viewfinder mirror
seq_set_prop_3=$s0 00 $b0 %0 1 1 $b0 %0 3 1 $p1 04
$c1 00 $b0 00 0 1 $b0 00 2 1 $cl
$b0 01 0 1 $b0 01 2 1 $cx
#CMD(52,$w0);

seq_set_prop_4=$s0 00 $b0 %0 0 1 $b0 %0 2 1 $p1 03
$c1 00 $b0 00 1 1 $b0 00 3 1 $cl
$b0 01 1 1 $b0 01 3 1 $cx
#CMD(52,$w0);

// jpeg compression
JMIN=06 02 00 0F !1 !0 #END;
JMAX=06 02 00 0D !1 !0 #END;
JAVG=06 02 00 11 !1 !0 #END;

JQUALITY_SET=$p1 0e
$c1 01
$s2 50
#JMIN(00,01)
$cl
$p1 07
$c1 01
#EM_STATUS
$c1 00
#JMIN(00,01)
$cx
$cx
$cx
$m1 2 $-1 02
07 02 00 13 $w2 $w1 4B #END;

seq_set_prop_5=$z0
$p1 05
// -------------------------- CUSTOMIZE JPEG FS
$c1 00
$c0 02 #JMIN(00,00) #JMAX(00,19) #JAVG(00,08) $cl
$c0 04 #JMIN(00,00) #JMAX(00,96) #JAVG(00,37) $cl
$c0 08 #JMIN(00,00) #JMAX(02,58) #JAVG(01,f4)
$cx $cx $cx
#JQ_NORMAL
$cl
$c1 01
$c0 02 #JMIN(00,00) #JMAX(00,19) #JAVG(00,0f) $cl
$c0 04 #JMIN(00,00) #JMAX(00,96) #JAVG(00,50) $cl
$c0 08 #JMIN(00,00) #JMAX(02,58) #JAVG(01,f4)
$cx $cx $cx
#JQ_FINE
$cx $cx
// ---------------------------------------- END
#JQUALITY_SET;

//ae lock
SET_AE_LOCK=$m 1 d $b1 00 0 6 $b1 00 7 1 $c1 00 $bd 01 6 1 06 02 00 01 01 01 #CMD_END $cl $bd 00 6 1 06 02 00 01 00 01 #CMD_END $cx #DF_TRANS_DELAY;

// if manual shutter speed is enabled r1 = 01
MSS_STATUS=$s1 00
$c7 00
$cl
$c7 7F
$cl
$s1 01
$cx
$cx;

// shutter speed preview status
SSP_STATUS=$m1 6 $b1 00 0 4 $b1 00 5 3;

// actual scene (auto = 00, ISO100 != 00)
SCENE_STATUS=$m1 6 $b1 00 0 2 $b1 00 3 5;

// verify manual shutter speed range
MSS_VERIFY=$p0 07
$c0 00
$m0 7 $/0 1D $c0 01 $s7 1D $cx
$cl
$m0 7 $/0 17 $c0 00 $s7 16 $cx
$cx;

MSS_APPLY=#SCENE_STATUS
// don't apply scene+cc+wb+ss if no scene change
$c1 00
$b6 01 2 1
#CMD_EVENT(51,04,$s4 EB) // scene ISO100 (ISO control under EV compensation)
#CMD(13,01)
#WB_APPLY
#CMD(04,$w7)
$cx;

SS_UNSET=#CMD(04,00)
#WORK_AS_STANDARD
$c0 00
$b6 00 4 1
#SCENE_STATUS
$c1 04
$b6 00 2 1
#CMD_EVENT(51,00,$s4 EB) // scene auto
#CMD(13,01)
#WB_APPLY
$cx
$cx;

// enchanced mode
EM_RATIO= $s0 40;
EM_RATIO_LED= $s0 3d;

EM_MSS_APPLY=#EM_STATUS
$c1 00
#READ(23,$r2 1 1)
$m0 1 $/0 28
$c0 00
$m0 1 $/0 03
$c0 00
$cl
$p0 0d
$c0 00 #EM_RATIO
$cl #EM_RATIO_LED
$cx
$-0 r1
#CMD(04,$w0)
$cx
$cx
$cl
$c7 00
$cl
#MSS_APPLY
$cx
$cx;

// manual shutter speed
RESET_SHUTTER_SPEED=$s7 00;

SET_SHUTTER_SPEED=$p1 05
#EM_IN_QUALITY
$c1 00
$cl
$c0 0a
$s7 00
#SS_UNSET
$cl
$c0 0b
$s7 7F
#SS_UNSET
$cl
$p1 07
$c1 01 $+0 0a
$cl $-0 0b
$cx
$m7 0
// update shutter speed if SSP is enabled
#SSP_STATUS
$c1 10
#MSS_VERIFY
#CMD(04,$w7)
$cx
$cx
$cx
#INIT_SATURATION
$cx;

// digital zoom
ZOOM_X2=$s0 46 $s1 %0 $-0 r1 $<0 5 $/0 1e;
ZOOM_X4=$s0 0a $<0 6 $s1 %0 $>1 1 $+0 r1 $/0 %0;

SET_ZOOM=#IS_VIDEO_MODE
$c0 00
#ZOOM_X4
$cl
#ZOOM_X4
$cx
#CMD(61,$w0);

// manual/infinity focus status
MF_STATUS=$m0 6 $b0 00 0 3 $b0 00 4 4;

// manual focus preview status
MFP_BIT_STATUS=$m1 6 $b1 00 0 1 $b1 00 2 6;

MFP_STATUS=#MFP_BIT_STATUS
#WORK_AS_STANDARD
$c0 02
// block preview when it is not in macro mode
$p0 09
$c0 00
$s1 ff
$cx
$cx;

// manual focus preview unset
MFP_UNSET=#FILTERING_SET
$b6 00 1 1
#CMD(61,00);

RESET_FOCUS=#MFP_STATUS
$c1 02
#MFP_UNSET
$cx
#CMD(43,00)
$b6 09 0 4;

SET_FOCUS=$c0 0a
#RESET_FOCUS
$cl
$c0 0b
#MFP_STATUS
$c1 02
#MFP_UNSET
$cx
#CMD(43,00)
$b6 01 0 2
$cl
// SSP is not allowed during manual focus because of collision
#SSP_STATUS
$c1 10
#SS_UNSET
$cx

$-0 08
#CMD(43,$w0)
$b6 00 0 1
$cx
$b6 00 3 1
$cx;

//SlowShutter (1.0 -4.0) 1/20' to 2' (can be changed with ISO together)
SET_SLOWSHUTTER= $s0 %0 $p2 07
$c2 00
$c0 0a
#CMD(03,1e)
$cl
$-0 0b $s1 3d $-1 r0
#CMD(03,$w1)
$cx
$cl
$c0 0a
#CMD(03,0f)
$cl
$-0 0b $s1 1e $-1 r0
#CMD(03,$w1)
$cx
$cx;

// exposure
SET_EXPOSURE=$c0 0a
#INIT_EXPOSURE
$cl
$-0 14
#CMD(06,$w0)
$cx;

// light metering
SET_LIGHT_METERING=$c0 0b
#CMD(08,01)
$cl
#CMD(08,00)
$cx;

// brightness and contrast
SET_BRIGHTNESS=$c0 0a
#CMD(54,#BRIGHTNESS)
$cl
$-0 0b
#CMD(54,$w0)
$cx;

SET_CONTRAST=$c0 0a
#CMD(55,#CONTRAST)
$cl
$-0 0b
#CMD(55,$w0)
$cx;

// colors modifications
SET_HUE=$-0 0a
// issue: signed 8-bit register can't hold whole 360 degree slide
$*0 08
#CMD(57,$w0);

RESET_SATURATION=$b6 01 5 1 #INIT_SATURATION;

SET_SATURATION=$c0 0a
#RESET_SATURATION
$cl
$b6 00 5 1
$c0 0b
$s0 00
$cl
// by SPU
#GET_CID
$c1 00
$-0 0c $<0 6 $/0 1d $-0 20
$cl
$s0 08 $-0 %0
$cx
$cx
#CMD(58,$w0)
$cx;

// color correction
CC_LOW=$-0 0a $s1 7f $*1 r0 $/1 1e #SET(!0,$w1);
CC_HIGH=$-0 0a $s1 7f $*1 r0 $/1 1e $s0 00 $-0 r1 #SET(!0,$w0);

SET_CC_CR=$c0 0a
$b6 01 7 1
#WB_APPLY
#CC_APPLY
$cl
$b6 00 7 1
!0
#CMD(13,01)
$cx;

SET_CC_YB=$c0 0a
$b6 01 6 1
#WB_APPLY
#CC_APPLY
$cl
$b6 00 6 1
!0
#CMD(13,01)
$cx;

SET_CC_CAST=$c0 0a
$b6 03 6 2
#WB_APPLY
#CC_APPLY
$cl
$b6 00 6 2
!0
$s0 %0
!1
#CMD(13,01)
$cx;

// ------------------------ CUSTOMIZE FUNC NAME
// SET_WB WB Quick Change
// SET_AE_LOCK AE Lock
// SET_HUE Hue
// SET_SLOWSHUTTER SlowShutter
// SET_ZOOM Zoom
// SET_BRIGHTNESS Brightness
// SET_CONTRAST Contrast
// SET_SATURATION Colors saturation
// SET_EXPOSURE Exposure compensation
// SET_FOCUS Focus
// SET_SHUTTER_SPEED Shutter speed
// SET_LIGHT_METERING Light metering method
// SET_PROFILE Profile
// SET_SCENE Scene
// SET_MIRROR Mirror
// SET_ISO ISO
// SET_CC_CR(#CC_LOW(20)) Color correction cyan
// SET_CC_CR(#CC_HIGH(20)) Color correction red
// SET_CC_YB(#CC_LOW(21)) Color correction yellow
// SET_CC_YB(#CC_HIGH(21)) Color correction blue
// SET_CC_CAST(#CC_LOW(20),#CC_LOW(21)) Green color cast
// SET_CC_CAST(#CC_HIGH(20),#CC_HIGH(21)) Magenta color cast
// SET_CC_CAST(#CC_HIGH(20),#CC_LOW(21)) Orange color cast
// ---------------------------------------- END

// profiles
SET_PROFILE=#SS_UNSET
#RESET_SATURATION
#RESET_SHUTTER_SPEED
#RESET_WB
$s0 0a #SET_CONTRAST
$s0 0a #SET_BRIGHTNESS
#RESET_FOCUS
$s0 0a #SET_EXPOSURE
// ------------------------- CUSTOMIZE PROFILES
$s0 %0
$c0 0b
// cloudy landscape
$s0 0b #SET_CC_CR(#CC_HIGH(20))
$s0 0c #SET_CC_YB(#CC_LOW(21))
$s0 0d #SET_CONTRAST
$s0 0b #SET_FOCUS
$s0 15 #SET_EXPOSURE
$cl
$c0 0c
// document
$s0 0d #SET_CONTRAST
$s0 15 #SET_EXPOSURE
$cl
$c0 0d
// low light
$s0 0c #SET_CC_CR(#CC_HIGH(20))
$s0 0d #SET_CC_YB(#CC_LOW(21))
$s0 0d #SET_CONTRAST
$s0 15 #SET_EXPOSURE
$cl
$c0 0e
// enhanced mode
$s0 0b #SET_SHUTTER_SPEED
$cx $cx $cx $cx;
// ---------------------------------------- END

SET_SCENE=$s0 %0 $-0 0a
$c0 00
#CMD(51,00) $cl
$c0 01
#CMD(51,06) $cl
$c0 02
#CMD(51,03) $cl
$c0 03
#CMD(51,01) $cl
$c0 04
#CMD(51,04) $cl
$c0 05
#CMD(51,05) $cl
$c0 06
#CMD(51,02) $cl #CMD(51,00)
$cx $cx $cx $cx $cx $cx $cx
$c0 02 #CMD(43,00) $b6 01 0 2 $b6 00 3 1
$cl $c0 04 #CMD(43,00) $b6 01 0 2 $b6 00 3 1
$cl #RESET_FOCUS $cx $cx;

SET_MIRROR=$s0 %0 $-0 0a #CMD(52,$w0);
SET_ISO=$s0 %0 $-0 0a #CMD(05,$w0);
SET_WB=$s0 %0 $-0 0a #CMD(11,$w0);

// ------------------------ CUSTOMIZE FUNCTIONS
EV_M_20= #SET_CC_CR(#CC_LOW(20));
EV_M_17= #SET_CC_CR(#CC_HIGH(20));
EV_M_13= #SET_CC_YB(#CC_LOW(21));
EV_M_10= #SET_CC_YB(#CC_HIGH(21));
EV_M_07= #SET_WB;
EV_M_03= #SET_CONTRAST;
EV_0_00= #SET_FOCUS;
EV_P_03= #SET_ZOOM;
EV_P_07= #SET_EXPOSURE;
EV_P_10= #SET_SHUTTER_SPEED;
EV_P_13= #SET_AE_LOCK;
EV_P_17= #SET_SCENE;
EV_P_20= #SET_PROFILE;
// ---------------------------------------- END

SELECT_FUNCTION=$s0 %0 $p1 00
$c1 03 #EV_M_20 $cl $c1 04 #EV_M_17 $cl $c1 05 #EV_M_13 $cl
$c1 06 #EV_M_10 $cl $c1 07 #EV_M_07 $cl $c1 08 #EV_M_03 $cl
$c1 09 #EV_0_00 $cl
$c1 0a #EV_P_03 $cl $c1 0b #EV_P_07 $cl $c1 0c #EV_P_10 $cl
$c1 0d #EV_P_13 $cl $c1 0e #EV_P_17 $cl $c1 0f #EV_P_20
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

// digital zoom value change
seq_set_prop_6=#FLAG6_STATE
$c0 00
#WORK_AS_STANDARD
$c0 01
$s0 %0
#SET_ZOOM
$cl
$c0 00
#SELECT_FUNCTION
$cl
#IS_VIDEO_MODE
$p1 09
$-1 r0
$s0 %0
$c1 01
#SET_FOCUS
$cl
#SET_ZOOM
$cx
$cx
$cx
$cx
#FLAG6_UNSET;

// night mode
SET_FPS=#CMD(03,!0)
#SET(08,!1)
#CMD(34,!2)
#WAIT_FOR_MODE;

seq_set_prop_7=#FLAG6_SET
#SS_UNSET
#INIT_SATURATION
$s0 %0
$c0 00
#SET_FPS(28,3C,81)
$cl
#SET_FPS(0A,1E,01)
$cx;

// effects
seq_set_prop_8=#FLAG6_SET
$s0 %0
$c0 00 #CMD(08,00)
#CMD(53,00) $cl
$c0 04 #CMD(08,01) $cl
#CMD(53,$w0)
$cx $cx;

// macro mode (AF scan range)
seq_set_prop_9=#FLAG6_SET
// turn off MFP if enabled
#MFP_BIT_STATUS
$c1 02
#MFP_UNSET
$cx

$s0 %0
$c0 00
#CMD(41,00)
$cl
#AF_MACRO_SCAN_MODE
$c0 01
#CMD(41,04)
$cl
#CMD(41,01)
$cx
$cx;

// autofocus
// 0 = stop AF scan and hold position (button pressed and AF success)
// 1 = start AF scan (button pressed)
// 2 = stop AF and go to INF (button released or AF failed)
seq_set_prop_a=#MF_STATUS
$c0 08
$s0 02 $-0 %0 #CMD(42,$w0)
$cx
// hold code execution if video mode or after snapshot (MFP/SSP state will be untouched)
#IS_VIDEO_MODE
$m1 0
#FLAG7_STATE
$+0 r1

$c0 00
$m1 6 $b1 00 1 7
$s0 %0
$c0 01
#FLAG6_UNSET
$c1 00
// switch MFP state
#MFP_STATUS
$c1 00
$b6 01 1 1
$cl
$c1 02
#MFP_UNSET
$cx
$cx
$cl
// switch SSP state
#MSS_STATUS
$c1 01
#SSP_STATUS
$c1 00
$b6 01 4 1
$cl
$b6 00 4 1
$cx
$cx
$cx

#AE_LOCK
$cl
$c0 02
#FLAG6_STATE
$c0 00
#AE_UNLOCK

$c1 00
#MFP_STATUS
$c1 02
#CMD(5B,01)
#CMD(61,#FOCUS_PREVIEW_ZOOM)
$cx
$cl
#MSS_STATUS
$c1 01
#SSP_STATUS
$c1 00
#SS_UNSET
$cl
#MSS_APPLY
$cx
$cx
$cx
$cx
#FLAG6_UNSET
$cx
$cx
$cx;

// autofocus result
seq_get_prop_a=#READ_AF_STATUS
#MF_STATUS
$c0 08
$m0 4 $c0 03 $cl $+0 04 $cx
$cl
$s0 04
$cx
// failed
$c0 05
#FLAG6_SET
$cx;

// EXIF info
seq_get_prop_b=05 01 00 25 04 $f $r5 0 0 1 2 3
$c3 ff 05 01 00 25 04 $f $r5 0 0 1 2 3
$c3 ff 05 01 00 25 04 $f $r5 0 0 1 2 3
$c3 ff 05 01 00 25 04 $f $r5 0 0 1 2 3
$c3 ff 05 01 00 25 04 $f $r5 0 0 1 2 3
$cx $cx $cx $cx;

seq_get_prop_c=05 01 00 29 03 $f $r4 0 0 1 2
$c2 ff 05 01 00 29 03 $f $r4 0 0 1 2
$c2 ff 05 01 00 29 03 $f $r4 0 0 1 2
$c2 ff 05 01 00 29 03 $f $r4 0 0 1 2
$c2 ff 05 01 00 29 03 $f $r4 0 0 1 2
$cx $cx $cx $cx
// q value and flash info
$m3 9
$m2 8;

// led
seq_set_prop_d=;

// flash
seq_set_prop_e_0=#CMD(5A,00);
seq_set_prop_e_1=#CMD(5A,04);
seq_set_prop_e_2=#CMD(5A,03);

// power save
seq_set_prop_f_0=#CMD(5C,00)
#WAIT_FOR_POWER_SAVE_LEAVE
$cf 00
03 55 AA #END
07 04 20 80 00 05 0E #END
07 04 98 12 04 00 00 #END
$cx;

seq_set_prop_f_1=#CMD(34,81)
#WAIT_FOR_MODE
#CMD(53,00)
#CMD(5C,01)
#WAIT_FOR_POWER_SAVE_ENTER;

// scenes
seq_set_prop_10=#CMD(51,%0);

// iso
seq_set_prop_11_0=#CMD(05,00);
seq_set_prop_11_1=#CMD(05,01);
seq_set_prop_11_2=#CMD(05,04);
seq_set_prop_11_3=#CMD(05,07);
seq_set_prop_11_4=#CMD(05,0a);
seq_set_prop_11_5=#CMD(05,0d);
seq_set_prop_11_6=#CMD(05,02);
seq_set_prop_11_7=#CMD(05,03);
seq_set_prop_11_8=#CMD(05,05);
seq_set_prop_11_9=#CMD(05,06);
seq_set_prop_11_a=#CMD(05,08);
seq_set_prop_11_b=#CMD(05,09);
seq_set_prop_11_c=#CMD(05,0b);
seq_set_prop_11_d=#CMD(05,0c);

// autoexposure level
seq_get_prop_12=05 01 00 22 02 $f $r3 0 0 1;

// brightness, contrast, sharpness (digital postprocessing)
seq_set_prop_13=#CMD(54,%0);
seq_set_prop_14=$s0 %0 $-0 08 #CMD(55,$w0);
seq_set_prop_15=$s0 %0 $-0 08 #CMD(56,$w0);

// focus test pattern
seq_get_prop_16=#READ(2E,$r2 0 0)
06 02 00 01 01 42 $f $d0080
#READ(2E,$r2 1 1) $d0080
#READ(2E,$r2 2 2) $d0710
#READ(2E,$r2 3 3);

seq_get_prop_17=#READ(2E,$r2 0 0);

// spot photometry
seq_set_prop_18=;

// something for zoom (linear?)
seq_get_prop_19=$s0 00;

// snapshot, video record resolutions
seq_ss_config_1=#SET(19,0D) $u05;
seq_ss_config_2=#SET(19,0B) $u05;
seq_ss_config_3=#SET(19,06) $u05;
seq_ss_config_4=#SET(19,04) $u05;
seq_ss_config_5=#SET(19,03) $u05;
seq_ss_config_6=#SET(19,02) $u05;
seq_ss_config_7=#SET(19,01) $u05;
seq_ss_config_8=#SET(19,00) $u05;
seq_ss_config_9=#SET(19,04);

VF_TD=$d00c8;
seq_vf_config_11=#VF_TD #SET(07,09) $u07;
seq_vf_config_12=#VF_TD #SET(07,07) $u07;
seq_vf_config_13=#VF_TD #SET(07,05) $u07;
seq_vf_config_14=#VF_TD #SET(07,04) $u07;
seq_vf_config_15=#VF_TD #SET(07,03) $u07;
seq_vf_config_21=#VF_TD #SET(07,08) #SET_FPS(3C,3C,81);
seq_vf_config_22=#VF_TD #SET(07,08) #SET_FPS(1E,1E,81);
seq_vf_config_23=#VF_TD #SET(07,06) #SET_FPS(3C,3C,81);
seq_vf_config_24=#VF_TD #SET(07,06) #SET_FPS(1E,1E,81);

seq_ss_config_30=06 02 00 01 3C 03 $f
05 02 00 07 06 $f
06 02 00 01 01 34 $f $d0200
03 55 AA $f
07 04 2E 11 04 00 FF $f
08 04 04 58 00 05 98 07 $f
08 04 00 80 00 05 30 00 $f
08 04 12 80 00 05 AA 55 $f
08 04 14 80 00 05 9C 00 $f
08 04 16 80 00 05 9C 00 $f
$se 30 $d0100;

//
seq_vf_start=$ze;

seq_vf_stop=;

// get ready
seq_ss_start=#FLAG7_UNSET
#FILTERING_UNSET;

// prepare and take
seq_ss_take=#FLAG7_STATE
$c0 00
#FLAG7_SET
#EMPTY_EVENT_FIFO
$z0 $-0 re
$c0 00
$cl
#EM_MSS_APPLY
#WB_LED_SET
06 02 00 01 01 $ze $ce 09 33 $cl 32 $cx $f
#WAIT_FOR_MODE
#WAIT_FOR_CAPT_START
$cx
$t0020
$cx;

READ_Q_VALUE=#READ(1B,$r2 4 9) $c4 02 $cl
#READ(1B,$r2 4 9) $c4 02 $cl
#READ(1B,$r2 4 9) $c4 02 $cl
#READ(1B,$r2 4 9) $c4 02 $cl
#READ(1B,$r2 4 9)
$cx $cx $cx $cx;

// result verification
seq_ss_verify=$ce 09
$s0 01
$cl
$ce 30
$s0 01
$cl
#WAIT_FOR_JPEG_END
$c4 00
$s0 01
#READ_Q_VALUE
$cl
$s0 00
$cx
$cx
$cx
// flash exif
#READ[2B,$r2 8 8];

// finalization
// registers update (seq_set_prop: 1, 7, a_2, other)
// don't use regs here because of EXIF data
seq_ss_stop=#CMD(72,00)
#WB_LED_UNSET
#FILTERING_SET
#AE_UNLOCK
#CMD(04,00);

// jpeg creation
jpeg_qtable_selector_0=$s2 00 #READ(1B,$r2 1 0);
jpeg_qtable_selector_1=$s2 01 #READ(1B,$r2 1 0);

jpeg_qtable_0=10 0B 0C 0E 0C 0A 10 0E
0D 0E 12 11 10 13 18 28
1A 18 16 16 18 31 23 25
1D 28 3A 33 3D 3C 39 33
38 37 40 48 5C 4E 40 44
57 45 37 38 50 6D 51 57
5F 62 67 68 67 3E 4D 71
79 70 64 78 5C 65 67 63;

jpeg_qtable_1=11 12 12 18 15 18 2F 1A
1A 2F 63 42 38 42 63 63
63 63 63 63 63 63 63 63
63 63 63 63 63 63 63 63
63 63 63 63 63 63 63 63
63 63 63 63 63 63 63 63
63 63 63 63 63 63 63 63
63 63 63 63 63 63 63 63;

jpeg_qtable_factors=0,320000,190000,10AA00,C8000,A0000,85500,72400,64000,58E00,50000
,48B00,42A00,3D800,39200,35500,32000,2F000,2C700,2A100,28000
,26100,24500,22C00,21500,20000,1EC00,1DA00,1C900,1B900,1AA00
,19C00,19000,18300,17800,16D00,16300,15900,15000,14800,14000
,13800,13000,12900,12200,11C00,11600,11000,10A00,10500,10000
,FA00,F500,F000,EB00,E600,E100,DC00,D700,D100,CC00
,C700,C200,BD00,B800,B300,AE00,A800,A300,9E00,9900
,9400,8F00,8A00,8500,8000,7A00,7500,7000,6B00,6600
,6100,5C00,5700,5100,4C00,4700,4200,3D00,3800,3300
,2E00,2800,2300,1E00,1900,1400,F00,A00,500,0;

jpeg_header=FF D8
FF E0 00 10 4A 46 49 46 00 01 01 00 00 01 00 01 00 00
FF DB 00 84 00 $qt0 01 $qt1
FF C4 01 A2 00 00 01 05 01 01 01 01 01 01 00 00 00 00 00 00 00
00 01 02 03 04 05 06 07 08 09 0A 0B
01 00 03 01 01 01 01 01 01 01 01 01 00 00 00 00 00
00 01 02 03 04 05 06 07 08 09 0A 0B
10 00 02 01 03 03 02 04 03 05 05 04 04 00 00 01 7D
01 02 03 00 04 11 05 12 21 31 41 06 13 51 61 07
22 71 14 32 81 91 a1 08 23 42 b1 c1 15 52 d1 f0
24 33 62 72 82 09 0a 16 17 18 19 1a 25 26 27 28
29 2a 34 35 36 37 38 39 3a 43 44 45 46 47 48 49
4a 53 54 55 56 57 58 59 5a 63 64 65 66 67 68 69
6a 73 74 75 76 77 78 79 7a 83 84 85 86 87 88 89
8a 92 93 94 95 96 97 98 99 9a a2 a3 a4 a5 a6 a7
a8 a9 aa b2 b3 b4 b5 b6 b7 b8 b9 ba c2 c3 c4 c5
c6 c7 c8 c9 ca d2 d3 d4 d5 d6 d7 d8 d9 da e1 e2
e3 e4 e5 e6 e7 e8 e9 ea f1 f2 f3 f4 f5 f6 f7 f8
f9 fa
11 00 02 01 02 04 04 03 04 07 05 04 04 00 01 02 77
00 01 02 03 11 04 05 21 31 06 12 41 51 07 61 71
13 22 32 81 08 14 42 91 a1 b1 c1 09 23 33 52 f0
15 62 72 d1 0a 16 24 34 e1 25 f1 17 18 19 1a 26
27 28 29 2a 35 36 37 38 39 3a 43 44 45 46 47 48
49 4a 53 54 55 56 57 58 59 5a 63 64 65 66 67 68
69 6a 73 74 75 76 77 78 79 7a 82 83 84 85 86 87
88 89 8a 92 93 94 95 96 97 98 99 9a a2 a3 a4 a5
a6 a7 a8 a9 aa b2 b3 b4 b5 b6 b7 b8 b9 ba c2 c3
c4 c5 c6 c7 c8 c9 ca d2 d3 d4 d5 d6 d7 d8 d9 da
e2 e3 e4 e5 e6 e7 e8 e9 ea f2 f3 f4 f5 f6 f7 f8
f9 fa
FF C0 00 11 08 $h $w 03 01 21 00 02 11 01 03 11 01
FF DA 00 0C 03 01 00 02 11 03 11 00 3F 00;

// r0-3 macros (used to store EXIF data after snapshot)
// r4-5 reserved (used in events and to store EXIF data after snapshot)
// r6 b0 AF: 0 = manual, 1 = auto/infinity
// b1 MFP: 0 = disabled, 1 = enabled
// b2 SCENE: 0 = auto, 1 = ISO100
// b3 AF: 0 = manual/infinity, 1 = auto
// b4 SSP: 0 = disabled, 1 = enabled
// b5 SATUR: 0 = manual, 1 = auto
// b6 CC_CR: 0 = manual, 1 = auto
// b7 CC_YB: 0 = manual, 1 = auto
// r7 SS: 0 = auto, manual, 7F = EM
// r8-9 reserved (used to store flash info and q-value)
// rA reserved (used to select EXIF parameter to read)
// rB b0-2 WB value selected in camera menu or in profile
// b3 WB type: 0 = default WB, 1 = profile WB
// b6 can block code execution in seq_set_prop_a_2
// can block code execution in seq_set_prop_6
// b7 flag enabled in cam_ss_start (used in cam_ss_take)
// can block code execution in various seq_set_prop after snapshot
// rC-D ?
// rE reserved (used to remember last size id for snapshot burst mode)
// rF reserved (used to store sensor version)

END OF DRIVER!!!
################################################

I hope this helps cos it works fine on my 0.53. Enjoy !


Posted by Rokstar
@ Ipachuong
Hello, great driver mate, but when you first turn on camera the first shot is always in EM when I`m in normal mode and when you change from fine picture mode to normal the first shot is always in EM! Could you please fix it? The noise reduction is excellent! Keep up the great work!

Posted by Rokstar
@ Ipachuong
I`m back already cos I forgot to tell you that the WB in settings doesn`t work and K Profile doesn`t either! I`ve got k750 cid 49 red r1ca. Sharpness is good in 12 & 13 @ 6. I Haven`t tried 5 yet cos it`s fine where it is. Love your work man!! The focus in 13 is cool.
Bye 4 now.

Posted by Raiderski
// flash exif
#READ(2B,$r2 8 8);

with [] whole line will be kicked out

Posted by Kriomag
On 2008-02-05 05:12:59, MarkJason wrote:
@Kriomag - You said that less noise was done by decreasing the SHARPNESS value in EN/ENM... Just wanna ask because in your code when EM/ENM is chosen, you first do the FILTER command with change SHARPNESS value after that use the EM/ENM code... Does this alter the original SHARPNESS value in the SEQ_INIT which is 05 or 06? After let's say after i've used EM/ENM i switch to normal mode...

Lower sharpness is applied only when taking picture with EM/ENM/... max sharpness (5 or 6) is restored just after picture is taken

seq_ss_stop=#UNLOCK_AE
#CMD(04,00)
#CMD(72,00)
#FILTER(00,SHARPNESS)
#CC(00,00)
$p2 09 $c2 01 $s8 00 $cx;


[ This Message was edited by: Kriomag on 2008-02-05 09:29 ]

Posted by Raiderski
shouldn't this be #FILTER(00,#SHARPNESS) ?

Posted by Kriomag

On 2008-02-05 10:48:12, Raiderski wrote:
shouldn't this be #FILTER(00,#SHARPNESS) ?

damn! You've found a bug thx! (tyle na raz robilem, ze taki drobiag mi umknal dzieki).

Posted by recl


[ This Message was edited by: recl on 2008-02-09 13:58 ]

Posted by MarkJason
@Kriomag - Thanks! I'm learning a lot from you. ^^

Posted by DangeloGH

On 2008-02-04 01:08:44, lpachuong wrote:
A4A - v13.00 beta 01
http://www.mediafire.com/?49jnbdmmygm

Hello everyone.
After a week with comments from you, I really appreciate your helps. It is ...
...
3. W810i's users, for the time being, if have freetime please give it a try. I will add highcompression for w810i's camdriver soon.



thanks, i´m waiting for highcompression .....

Posted by Kriomag
On 2008-02-05 15:17:01, DangeloGH wrote:
[...] i´m waiting for highcompression .....

Could You check if my driver works good with w810i? and what is max image size in kB You get with it thx.


Posted by Rokstar
Thanks Raider, I didn`t realise the difrent brackets would matter!
BTW - Thankyou for such an excellent driver

For anyone that missed Raiders post make sure that this part in the Rokstar mod of 6.7.2 driver reads exactly as this is written, same brackets & everything!

// flash exif
#READ(2B,$r2 8 8);

Its right near the end just b4 all the JPEG Tables
Hope it helps




Posted by DangeloGH

On 2008-02-05 16:07:14, Kriomag wrote:
On 2008-02-05 15:17:01, DangeloGH wrote:
[...] i´m waiting for highcompression .....

Could You check if my driver works good with w810i? and what is max image size in kB You get with it thx.


send me link for your newest cam driver.
thanks
if you undestand me, cause i´m trying to write english whitout web translate...


[ This Message was edited by: DangeloGH on 2008-02-06 17:46 ]

Posted by DangeloGH
there is a easy way to change de cam drivers/
i always changed using the Phone-XS V2.exe and FarManager170_Portable.exe

Posted by Kriomag
On 2008-02-06 18:45:00, DangeloGH wrote:
send me link for your newest cam driver.

http://kriomag.4shared.com - latest beta

Posted by MiHaU

On 2008-02-06 19:47:28, Kriomag wrote:
http://kriomag.4shared.com - latest beta


I think that's the best driver ever! Well, i haven't been here recently, like 300 posts. ;d Anyway, good work Kriomag! Carry on modding.

Posted by Randolph
Dear Rokstar, could you please upload your Rokstar mod of 6.7.2 driver including a config tool?
kind regards,
Randolph

Posted by DangeloGH

On 2008-02-06 19:47:28, Kriomag wrote:
On 2008-02-06 18:45:00, DangeloGH wrote:
send me link for your newest cam driver.

http://kriomag.4shared.com - latest beta


what kind of test?
take a picture just pressing de button?



Posted by DangeloGH
photos Kriomag_v21.93_BETA
"Attach an image to your post by uploading it to the Esato server.
Image formats supported are GIF or JPEG files. Images wider than 800 pixels will be reduced in size. "


DSC02015.JPG - 687kb



DSC02016.JPG - 560kb


DSC02017.JPG - 712kb


DSC02018.JPG - 667kb




Posted by Milu
u make this photos with w810??

Posted by DangeloGH

On 2008-02-07 15:13:32, Milu wrote:
u make this photos with w810??



W810i - R4EA031 - DB2010 - CID49

why?

Posted by Sombra
Ipachuong's A4A v13.00 Beta 01 sample (unmodified camdriver):

Taked on a K750i CID49 (R1BC002)

Posted by tommymar
WoW, very nice colour.

Posted by DangeloGH

On 2008-02-07 17:05:04, Sombra wrote:
Ipachuong's A4A v13.00 Beta 01 sample (unmodified camdriver):

Taked on a K750i CID49 (R1BC002)



kr vc eh brasileiro? sou novo aki e o kriomag pediu pra testar o driver dele, eu tirei umas fotos, quando eles pedem pra testar eh soh tirar a foto normal...?
eu uso sempre o drive A4A mas ultimamente ela tah muito lenta e geralmente quando vc tira foto de criancas ou animais nao sai boa as imagens, c sabe se tem como regular isso?

Posted by wickedsick

On 2008-02-07 18:21:50, DangeloGH wrote:

On 2008-02-07 17:05:04, Sombra wrote:
Ipachuong's A4A v13.00 Beta 01 sample (unmodified camdriver):

Taked on a K750i CID49 (R1BC002)



kr vc eh brasileiro? sou novo aki e o kriomag pediu pra testar o driver dele, eu tirei umas fotos, quando eles pedem pra testar eh soh tirar a foto normal...?
eu uso sempre o drive A4A mas ultimamente ela tah muito lenta e geralmente quando vc tira foto de criancas ou animais nao sai boa as imagens, c sabe se tem como regular isso?


Please speak in english to show your respect to all, especially when you evaluate someone's work.

Posted by DangeloGH

On 2008-02-07 19:11:19, wickedsick wrote:

On 2008-02-07 18:21:50, DangeloGH wrote:

On 2008-02-07 17:05:04, Sombra wrote:
Ipachuong's A4A v13.00 Beta 01 sample (unmodified camdriver):

Taked on a K750i CID49 (R1BC002)



kr vc eh brasileiro? sou novo aki e o kriomag pediu pra testar o driver dele, eu tirei umas fotos, quando eles pedem pra testar eh soh tirar a foto normal...?
eu uso sempre o drive A4A mas ultimamente ela tah muito lenta e geralmente quando vc tira foto de criancas ou animais nao sai boa as imagens, c sabe se tem como regular isso?


Please speak in english to show your respect to all, especially when you evaluate someone's work.


i´m sorry, i don´t know inglish very well, so i ask for SOMBRA if he is from brazil and ask some tips about a quote that kriomag make to me, and said that i always used the a4a driver, but now is slow shot.
sorry my english sorry about writed in portuguese



Posted by MiHaU
Some pics taken with Kriomag's latest beta, macro.

http://www.ols.vectranet.pl/~mihau/sell/

k750 @ w800 R1BC002

[ This Message was edited by: MiHaU on 2008-02-07 20:51 ]

Posted by mursay
hi kriomag. this pics. taken with your 21.93 driver. My phone w810i cıd 49. what is your comment this shots.




[ This Message was edited by: mursay on 2008-02-07 22:03 ]

Posted by Sombra

On 2008-02-07 18:21:50, DangeloGH wrote:

kr vc eh brasileiro? sou novo aki e o kriomag pediu pra testar o driver dele, eu tirei umas fotos, quando eles pedem pra testar eh soh tirar a foto normal...?
eu uso sempre o drive A4A mas ultimamente ela tah muito lenta e geralmente quando vc tira foto de criancas ou animais nao sai boa as imagens, c sabe se tem como regular isso?


DangeloGH, sobre testar os drivers, no caso dos mais simples (com poucas funções avançadas), como o do Kriomag, é só você tirar algumas fotos mesmo, usando os métodos normal, fine, usar o modo macro e comparar as diferenças, mas pra isso é preciso que você mantenha algumas amostras de fotos tiradas com versões anteriores dos drivers.

Eles gostam principalmente que testemos em baixas condições de luz, ou seja, à noite (geralmente de objetos estáticos, por causa do tempo de exposição) ou locais com muita coloração, justamente pra ver como fica a qualidade em condições desfavoráveis e no 2º caso, pra testar como saem as cores mesmo, porque de vez em quando aparecem alguns que distorcem muito da realidade.

Sobre o camdriver A4A estar deixando suas fotos borradas, acho que é porque você está tirando elas setada em fine/ótima. Lembre-se que no camdriver do lpachuong essa opção não tem nada haver com a original do celular, na verdade ele modificou e na qualidade normal, as fotos são tiradas no modo normal (que significa baixo tempo de exposição), ideal para usar de dia ou em locais onde a luminosidade é muito forte, nessa opção ele configurou o driver pra que não use filtros, por isso as fotos saem com a maior nitidez possível.

Já na qualidae fine/ótima o driver faz uso de um tempo maior de exposição (daí suas fotos saírem borradas) e além de aplicar filtros, ela também baixa a nitidez para que apareçam menos imperfeições, é o que eles chamam de EM (Enhanced Mode). Essa configuração é perfeita para tirar fotos à noite, além dela, ainda existe o ENM (Enhanced Night Mode), que é o modo fine aliado ao modo noite, mas demora pacas para uma foto ser tirada (só fica perfeita com o uso de um tripé ou base fixa).

Qualquer outra dúvida que quiser tirar em português, mande-me uma Mensagem Particular usando o sistema do fórum.

----------------------------------------------------------------


All oher members:

Sorry for my post in portuguese, but is necessary for explain very important details over camdrivers functions for my compatriot and how me and he not speak and write very good in english, i need put text in brazilian portuguese.

Next time which he need any help in we language, i say to he for send PM for me.

Sorry for my poor english.

_________________
K750i CID49 (R1BC002) - lpachuong A4A 13.0 Beta camdriver

[ This Message was edited by: Sombra on 2008-02-07 22:35 ]

Posted by Rokstar
@ Randolph.
Go to www.camdrivers.wz.cz and look in Raiderski. All his config tools and drivers are there! I tested the copy I posted in 5.3 and it works fine even with the read flash exif incomplete, so I don`t know why you can`t get it to run? Here`s the complete driver with no errors in it. Copy/Paste it exactly as it is and it should work.

// K750/W800 CID49
// ----------------------------------------------------
// Sony Ericsson K750/W800/W810 camera driver by Raider
// version 6.7.2
// ----------------------------------------------------

// ------------------------- CUSTOMIZE INITIALS
WORK_AS_STANDARD= $s0 00;
EM_IN_QUALITY= $-1 02;
SHARPNESS= 05;
BRIGHTNESS= 00;
CONTRAST= 01;
SATURATION= 00;
SATURATION_SS= 00;
EXPOSURE= $-0 09;
FILTERING= $s0 01;
AF_MACRO_SCAN_MODE= $s0 01;
FOCUS_PREVIEW_ZOOM= 10;
JQ_NORMAL= $s2 55;
JQ_FINE= $s2 5a;
// ---------------------------------------- END

info_name=KNC 201 15;
info_vendor=Raider;
info_major_ver=06;
info_minor_ver=07;

cam_power_on_0=5,0,0,1,5;
cam_power_on_1=5,1,35,1,0;
cam_power_on_2=5,2,35,1,5;
cam_power_on_3=5,5,6,1,10;
cam_power_on_4=5,1,46,1,0;
cam_power_on_5=5,2,46,1,5;
cam_power_on_6=5,3,1,32C8,5;
cam_power_on_7=5,0,0,0,1F4;

cam_power_off_0=5,0,0,1,0;
cam_power_off_1=5,3,1,1,0;
cam_power_off_2=5,1,46,1,0;
cam_power_off_3=5,2,46,0,0;
cam_power_off_4=5,5,6,0,0;
cam_power_off_5=5,1,35,1,0;
cam_power_off_6=5,2,35,0,0;

cam_i2c_address=1F;
cam_vf_clock_freq=1,32C8;
cam_ss_clock_freq=1,32C8;
cam_vf_format=B100;
cam_ss_format=0001;

cam_ss_format_9=B100;
cam_ss_format_30=B100;
cam_data_offset_9=0;
cam_data_offset_30=0;
cam_ss_sync_30=3;

cam_data_offset=2;
cam_vf_sync=7;
cam_ss_sync=f;
cam_ss_sync_9=7;
cam_ss_retries=d;

cam_ss_jpeg_buf_size_1=3A98;
cam_ss_jpeg_buf_size_2=88B8;
cam_ss_jpeg_buf_size_3=186A0;
cam_ss_jpeg_buf_size_4=249f0;
cam_ss_jpeg_buf_size_5=61A80;
cam_ss_jpeg_buf_size_6=927C0;
cam_ss_jpeg_buf_size_7=927C0;
cam_ss_jpeg_buf_size_8=927C0;

sup_sizes=1[64,3C,0],2[A0,78,0],3[140,F0,0],
4[280,1E0,0],5[500,3C0,0],6[640,4B0,0],
7[660,440,0],8[660,4C8,0],9[280,1E0,0],
11[64,3C,5DC],12[A0,78,5DC],13[DC,92,5DC],
14[DC,A5,5DC],15[EC,B1,5DC],
21[80,60,3E8],22[80,60,2EE],
23[B0,90,3E8],24[B0,90,2EE], 30[4E,90,0];

sup_properties=0[0,15,9],1[0,6,0],2[0,3,1],3[0,1,0],
4[0,1,0],5[0,1,0],6[a,28,a],7[0,1,0],
8[0,4,0],9[0,4,0],a[0,2,0],b[0,4,0],
c[0,ff,0],d[0,1,0],e[0,2,0],f[0,1,0],
10[0,7,0],11[0,d,0],12[0,ff,0],13[0,15,7],
14[0,16,8],15[0,16,8],18[0,7,0],19[0,1,0];

// waiting room
EVENT=05 01 00 03 03 $f $r4 4 4 4 5;

WAIT_FOR_MODE=#EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl
$d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl
$d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl
$d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl
$d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl
$d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl $d000a #EVENT $c5 EA $cl
$d0010 #EVENT $c5 EA $cl $d0010 #EVENT $c5 EA $cl $d0010 #EVENT $c5 EA $cl $d0020 #EVENT $c5 EA $cl
$d0020 #EVENT $c5 EA $cl $d0040 #EVENT $c5 EA $cl $d0040 #EVENT $c5 EA $cl $d0100
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

WAIT_FOR_CAPT_START=#EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl
$d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl
$d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl
$d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl
$d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl
$d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl $d000a #EVENT $c5 E4 $cl
$d0010 #EVENT $c5 E4 $cl $d0010 #EVENT $c5 E4 $cl $d0010 #EVENT $c5 E4 $cl $d0020 #EVENT $c5 E4 $cl
$d0020 #EVENT $c5 E4 $cl $d0040 #EVENT $c5 E4 $cl $d0040 #EVENT $c5 E4 $cl $d0100
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

WAIT_FOR_POWER_SAVE_ENTER=#EVENT $c5 ED $cl $d0010 #EVENT $c5 ED $cl $d0010 #EVENT $c5 ED $cl
$d0010 #EVENT $c5 ED $cl $d0010 #EVENT $c5 ED $cl $d0010 #EVENT $c5 ED $cl $d0020 #EVENT $c5 ED $cl
$d0020 #EVENT $c5 ED $cl $d0020 #EVENT $c5 ED $cl $d0020 #EVENT $c5 ED $cl $d0020 #EVENT $c5 ED $cl
$d0020 #EVENT $c5 ED $cl $d0020 #EVENT $c5 ED $cl $d0020 #EVENT $c5 ED $cl $d0020 #EVENT $c5 ED $cl
$d0040 #EVENT $c5 ED $cl $d0040 #EVENT $c5 ED $cl $d0040 #EVENT $c5 ED $cl $d0040 #EVENT $c5 ED $cl
$d0040 #EVENT $c5 ED $cl $d0100
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

WAIT_FOR_POWER_SAVE_LEAVE=#EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl
$d0020 #EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl
$d0020 #EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl $d0020 #EVENT $c5 EC $cl
$d0040 #EVENT $c5 EC $cl $d0040 #EVENT $c5 EC $cl $d0040 #EVENT $c5 EC $cl $d0040 #EVENT $c5 EC $cl
$d0040 #EVENT $c5 EC $cl $d0040 #EVENT $c5 EC $cl $d0100 #EVENT $c5 EC $cl $d0200 #EVENT $c5 EC $cl
$d0400 #EVENT $c5 EC $cl $d0800
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

WAIT_FOR_JPEG_END=#EVENT $c5 E3 $cl $d0005 #EVENT $c5 E3 $cl $d0005 #EVENT $c5 E3 $cl
$d0005 #EVENT $c5 E3 $cl $d0005 #EVENT $c5 E3 $cl $d0005 #EVENT $c5 E3 $cl $d0005 #EVENT $c5 E3 $cl
$s4 01
$cx $cx $cx $cx $cx $cx $cx;

EMPTY_EVENT_FIFO=#EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl
$d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl
$d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl
$d0005 #EVENT $c5 00 $cl $d0005 #EVENT $c5 00 $cl $d0005 #EVENT
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

// wait for event number (r4), max time = ~4,5s
EVNTN=05 01 00 03 03 $f $r4 5 5 5 5 $-5 r4;
WAIT_FOR_EVENT=#EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl
$d0020 #EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl
$d0020 #EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl $d0020 #EVNTN $c5 00 $cl
$d0040 #EVNTN $c5 00 $cl $d0040 #EVNTN $c5 00 $cl $d0040 #EVNTN $c5 00 $cl $d0040 #EVNTN $c5 00 $cl
$d0040 #EVNTN $c5 00 $cl $d0040 #EVNTN $c5 00 $cl $d0100 #EVNTN $c5 00 $cl $d0200 #EVNTN $c5 00 $cl
$d0200 #EVNTN $c5 00 $cl $d0200 #EVNTN $c5 00 $cl $d0200 #EVNTN $c5 00 $cl $d0200 #EVNTN $c5 00 $cl
$d0200 #EVNTN $c5 00 $cl $d0200
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

// code operations
CMD=06 02 00 01 !1 !0 $f $d0005;
SET=05 02 00 !0 !1 $f $d0005;
READ=05 01 00 !0 01 $f !1;
END=$f $d0005;

// send command and wait for event
CMD_EVENT=06 02 00 01 !1 !0 $f $d0005
!2
#WAIT_FOR_EVENT;

// sensor version
GET_SENSOR_VERSION=05 01 00 36 01 $f $r2 0 0 $c0 00 05 01 00 36 01 $f $r2 0 0
$c0 00 05 01 00 36 01 $f $r2 0 0 $>0 7 $c0 01 $sf 01 $cl $sf 00 $cx $cl
$>0 7 $c0 01 $sf 01 $cl $sf 00 $cx $cx $cl $>0 7 $c0 01 $sf 01 $cl $sf 00 $cx $cx;

// autofocus result
READ_AF_STATUS=#EVENT $c5 E6 $cl $s4 03 $cx;

// if cid49 r1 = 01
GET_CID=$m1 f $b1 00 1 7;

// if camera is in video mode r0 = 01
IS_VIDEO_MODE=$z0 $c0 21 $s0 01 $cl $c0 22 $s0 01 $cl $c0 23 $s0 01 $cl $c0 24 $s0 01 $cl $s0 00 $cx $cx $cx $cx;

// flags and code execution blockers
FLAG7_SET=$bb 01 7 1;
FLAG7_UNSET=$bb 00 7 1;
FLAG7_STATE=$m0 b $b0 00 0 7;

FLAG6_SET=$bb 01 6 1;
FLAG6_UNSET=$bb 00 6 1;
FLAG6_STATE=$m0 b $b0 00 0 6 $b0 00 7 1;

// if EM is enabled r1 = 00
EM_STATUS=$p1 05
#EM_IN_QUALITY
$c7 7F
$s1 00
$cx;

// if EM, ENM, night mode is enabled r0 = 01
EM_NM_STATUS=$p0 07
#EM_STATUS
$c1 00
$s0 01
$cx;

// image filtering (pixel interpolation)
FILTERING_SET=#CMD(5B,00);

FILTERING_UNSET=#FILTERING
$c0 01
$s2 00
$z0
$c0 08
#EM_NM_STATUS
$c0 00
// only if zoom is higher than x1.0
#READ(3C,$r2 2 2)
$/2 3D
$cx
$cx
#CMD(5B,$w2)
$cx;

// if led/flash is active r0 != 00
LED_FLASH_STATE=$p0 0d $c0 00 $p0 0e $cx;

// autoexposure lock/unlock
AE_LOCK=#LED_FLASH_STATE
$c0 00
#CMD(01,01)
$cx;

AE_UNLOCK=#CMD(01,00);

// initialization
INIT_EXPOSURE=$s0 09
#EXPOSURE
#CMD(06,$w0);

INIT_SATURATION=$m0 6 $b0 00 0 5 $b0 00 6 2
$c0 20
#EM_NM_STATUS
$c0 00
#CMD(58,#SATURATION)
$cl
#CMD(58,#SATURATION_SS)
$cx
$cx;

seq_init=#SET(0B,88) #SET(0C,13)
#SET(18,00)
#CMD(51,00)
#CMD(52,00)
#CMD(54,#BRIGHTNESS)
#CMD(55,#CONTRAST)
$s6 e9 $s7 00 $sb 00
#CMD(56,#SHARPNESS)
#INIT_SATURATION
#INIT_EXPOSURE
#GET_SENSOR_VERSION;

// ?
seq_ping=;

// ev compensation
seq_set_prop_0=#WORK_AS_STANDARD
$c0 00
$cl
$s0 %0
#EXPOSURE
#CMD(06,$w0)
$cx;

// software version for EXIF
seq_get_prop_0=$s1 06 $s0 07;

// white balance and color correction
// cc apply
CC_APPLY=$m0 6 $b0 00 0 6
$c0 c0
// full auto
#SET(20,$w1)
#SET(21,$w2)
$cl
$c0 80
// red-cyan auto
#SET(20,$w1)
$cl
$c0 40
// blue-yellow auto
#SET(21,$w2)
$cx
$cx
$cx
#CMD(13,01);

// wb apply
WB_APPLY=$m4 b $b4 00 3 5
$s1 00 $s2 00
// ---------------------------- CUSTOMIZE WB CC
$c4 00 #CMD(11,00) $+1 00 $+2 00 $cl
$c4 01 #CMD(11,05) $+1 00 $+2 00 $cl
$c4 02 #CMD(11,06) $+1 00 $+2 00 $cl
$c4 03 #CMD(11,04) $+1 00 $+2 00 $cl
$c4 04 #CMD(11,03) $+1 00 $+2 00 $cl
// ---------------------------------------- END
$+1 00 $+2 00
$c4 05 #CMD(11,07) $cl
$c4 06 #CMD(11,01)
$cx $cx
$cx $cx $cx $cx $cx;

seq_set_prop_1=$m0 b $b0 00 0 3 $b0 00 4 4
// execute only if default (no profile) WB is in usage
$c0 00
$s0 %0
$c0 00 $sb 00 $cl
$c0 01 $sb 04 $cl
$c0 02 $sb 03 $cl
$c0 03 $sb 01 $cl
$c0 04 $sb 02 $cl
$mb 0
$cx $cx $cx $cx $cx
#WB_APPLY
#CC_APPLY
$cx
#FLAG7_UNSET
#FLAG6_SET;

// only for profiles!
SET_WB=$-0 0b
$mb 0
$bb 01 3 1
#WB_APPLY
#CC_APPLY;

// reset wb (use wb selected in menu)
RESET_WB=$b6 03 6 2
$bb 00 3 1
$d0032
$u01
#FLAG6_UNSET;

// led
WB_LED_SET=$p0 0d
$c0 01
// check bits 00000Xxx (if xx = 1,2 or 3 then wb is not auto/incandescent)
$m0 b $b0 00 2 6
$c0 00
// copy cc values
#READ(20,$r2 3 3)
#READ(21,$r2 4 4)
// apply new cc values (both/one/none - depends on manual CC state)
$s1 EA
$s2 18
#CC_APPLY
// paste cc values
$d0020
#SET(20,$w3)
#SET(21,$w4)
$cx
$cx;

WB_LED_UNSET=#CMD(13,01);

// flicker (synchronization with lightsource frequency)
seq_set_prop_2_0=#CMD(21,01);
seq_set_prop_2_1=#CMD(21,02);
seq_set_prop_2_2=#CMD(21,03);
seq_set_prop_2_3=#CMD(21,00);

// viewfinder mirror
seq_set_prop_3=$s0 00 $b0 %0 1 1 $b0 %0 3 1 $p1 04
$c1 00 $b0 00 0 1 $b0 00 2 1 $cl
$b0 01 0 1 $b0 01 2 1 $cx
#CMD(52,$w0);

seq_set_prop_4=$s0 00 $b0 %0 0 1 $b0 %0 2 1 $p1 03
$c1 00 $b0 00 1 1 $b0 00 3 1 $cl
$b0 01 1 1 $b0 01 3 1 $cx
#CMD(52,$w0);

// jpeg compression
JMIN=06 02 00 0F !1 !0 #END;
JMAX=06 02 00 0D !1 !0 #END;
JAVG=06 02 00 11 !1 !0 #END;

JQUALITY_SET=$p1 0e
$c1 01
$s2 50
#JMIN(00,01)
$cl
$p1 07
$c1 01
#EM_STATUS
$c1 00
#JMIN(00,01)
$cx
$cx
$cx
$m1 2 $-1 02
07 02 00 13 $w2 $w1 4B #END;

seq_set_prop_5=$z0
$p1 05
// -------------------------- CUSTOMIZE JPEG FS
$c1 00
$c0 02 #JMIN(00,00) #JMAX(00,19) #JAVG(00,08) $cl
$c0 04 #JMIN(00,00) #JMAX(00,96) #JAVG(00,37) $cl
$c0 08 #JMIN(00,00) #JMAX(02,58) #JAVG(01,f4)
$cx $cx $cx
#JQ_NORMAL
$cl
$c1 01
$c0 02 #JMIN(00,00) #JMAX(00,19) #JAVG(00,0f) $cl
$c0 04 #JMIN(00,00) #JMAX(00,96) #JAVG(00,50) $cl
$c0 08 #JMIN(00,00) #JMAX(02,58) #JAVG(01,f4)
$cx $cx $cx
#JQ_FINE
$cx $cx
// ---------------------------------------- END
#JQUALITY_SET;

//ae lock
SET_AE_LOCK=$m 1 d $b1 00 0 6 $b1 00 7 1 $c1 00 $bd 01 6 1 06 02 00 01 01 01 #CMD_END $cl $bd 00 6 1 06 02 00 01 00 01 #CMD_END $cx #DF_TRANS_DELAY;

// if manual shutter speed is enabled r1 = 01
MSS_STATUS=$s1 00
$c7 00
$cl
$c7 7F
$cl
$s1 01
$cx
$cx;

// shutter speed preview status
SSP_STATUS=$m1 6 $b1 00 0 4 $b1 00 5 3;

// actual scene (auto = 00, ISO100 != 00)
SCENE_STATUS=$m1 6 $b1 00 0 2 $b1 00 3 5;

// verify manual shutter speed range
MSS_VERIFY=$p0 07
$c0 00
$m0 7 $/0 1D $c0 01 $s7 1D $cx
$cl
$m0 7 $/0 17 $c0 00 $s7 16 $cx
$cx;

MSS_APPLY=#SCENE_STATUS
// don't apply scene+cc+wb+ss if no scene change
$c1 00
$b6 01 2 1
#CMD_EVENT(51,04,$s4 EB) // scene ISO100 (ISO control under EV compensation)
#CMD(13,01)
#WB_APPLY
#CMD(04,$w7)
$cx;

SS_UNSET=#CMD(04,00)
#WORK_AS_STANDARD
$c0 00
$b6 00 4 1
#SCENE_STATUS
$c1 04
$b6 00 2 1
#CMD_EVENT(51,00,$s4 EB) // scene auto
#CMD(13,01)
#WB_APPLY
$cx
$cx;

// enchanced mode
EM_RATIO= $s0 40;
EM_RATIO_LED= $s0 3d;

EM_MSS_APPLY=#EM_STATUS
$c1 00
#READ(23,$r2 1 1)
$m0 1 $/0 28
$c0 00
$m0 1 $/0 03
$c0 00
$cl
$p0 0d
$c0 00 #EM_RATIO
$cl #EM_RATIO_LED
$cx
$-0 r1
#CMD(04,$w0)
$cx
$cx
$cl
$c7 00
$cl
#MSS_APPLY
$cx
$cx;

// manual shutter speed
RESET_SHUTTER_SPEED=$s7 00;

SET_SHUTTER_SPEED=$p1 05
#EM_IN_QUALITY
$c1 00
$cl
$c0 0a
$s7 00
#SS_UNSET
$cl
$c0 0b
$s7 7F
#SS_UNSET
$cl
$p1 07
$c1 01 $+0 0a
$cl $-0 0b
$cx
$m7 0
// update shutter speed if SSP is enabled
#SSP_STATUS
$c1 10
#MSS_VERIFY
#CMD(04,$w7)
$cx
$cx
$cx
#INIT_SATURATION
$cx;

// digital zoom
ZOOM_X2=$s0 46 $s1 %0 $-0 r1 $<0 5 $/0 1e;
ZOOM_X4=$s0 0a $<0 6 $s1 %0 $>1 1 $+0 r1 $/0 %0;

SET_ZOOM=#IS_VIDEO_MODE
$c0 00
#ZOOM_X4
$cl
#ZOOM_X4
$cx
#CMD(61,$w0);

// manual/infinity focus status
MF_STATUS=$m0 6 $b0 00 0 3 $b0 00 4 4;

// manual focus preview status
MFP_BIT_STATUS=$m1 6 $b1 00 0 1 $b1 00 2 6;

MFP_STATUS=#MFP_BIT_STATUS
#WORK_AS_STANDARD
$c0 02
// block preview when it is not in macro mode
$p0 09
$c0 00
$s1 ff
$cx
$cx;

// manual focus preview unset
MFP_UNSET=#FILTERING_SET
$b6 00 1 1
#CMD(61,00);

RESET_FOCUS=#MFP_STATUS
$c1 02
#MFP_UNSET
$cx
#CMD(43,00)
$b6 09 0 4;

SET_FOCUS=$c0 0a
#RESET_FOCUS
$cl
$c0 0b
#MFP_STATUS
$c1 02
#MFP_UNSET
$cx
#CMD(43,00)
$b6 01 0 2
$cl
// SSP is not allowed during manual focus because of collision
#SSP_STATUS
$c1 10
#SS_UNSET
$cx

$-0 08
#CMD(43,$w0)
$b6 00 0 1
$cx
$b6 00 3 1
$cx;

//SlowShutter (1.0 -4.0) 1/20' to 2' (can be changed with ISO together)
SET_SLOWSHUTTER= $s0 %0 $p2 07
$c2 00
$c0 0a
#CMD(03,1e)
$cl
$-0 0b $s1 3d $-1 r0
#CMD(03,$w1)
$cx
$cl
$c0 0a
#CMD(03,0f)
$cl
$-0 0b $s1 1e $-1 r0
#CMD(03,$w1)
$cx
$cx;

// exposure
SET_EXPOSURE=$c0 0a
#INIT_EXPOSURE
$cl
$-0 14
#CMD(06,$w0)
$cx;

// light metering
SET_LIGHT_METERING=$c0 0b
#CMD(08,01)
$cl
#CMD(08,00)
$cx;

// brightness and contrast
SET_BRIGHTNESS=$c0 0a
#CMD(54,#BRIGHTNESS)
$cl
$-0 0b
#CMD(54,$w0)
$cx;

SET_CONTRAST=$c0 0a
#CMD(55,#CONTRAST)
$cl
$-0 0b
#CMD(55,$w0)
$cx;

// colors modifications
SET_HUE=$-0 0a
// issue: signed 8-bit register can't hold whole 360 degree slide
$*0 08
#CMD(57,$w0);

RESET_SATURATION=$b6 01 5 1 #INIT_SATURATION;

SET_SATURATION=$c0 0a
#RESET_SATURATION
$cl
$b6 00 5 1
$c0 0b
$s0 00
$cl
// by SPU
#GET_CID
$c1 00
$-0 0c $<0 6 $/0 1d $-0 20
$cl
$s0 08 $-0 %0
$cx
$cx
#CMD(58,$w0)
$cx;

// color correction
CC_LOW=$-0 0a $s1 7f $*1 r0 $/1 1e #SET(!0,$w1);
CC_HIGH=$-0 0a $s1 7f $*1 r0 $/1 1e $s0 00 $-0 r1 #SET(!0,$w0);

SET_CC_CR=$c0 0a
$b6 01 7 1
#WB_APPLY
#CC_APPLY
$cl
$b6 00 7 1
!0
#CMD(13,01)
$cx;

SET_CC_YB=$c0 0a
$b6 01 6 1
#WB_APPLY
#CC_APPLY
$cl
$b6 00 6 1
!0
#CMD(13,01)
$cx;

SET_CC_CAST=$c0 0a
$b6 03 6 2
#WB_APPLY
#CC_APPLY
$cl
$b6 00 6 2
!0
$s0 %0
!1
#CMD(13,01)
$cx;

// ------------------------ CUSTOMIZE FUNC NAME
// SET_WB WB Quick Change
// SET_AE_LOCK AE Lock
// SET_HUE Hue
// SET_SLOWSHUTTER SlowShutter
// SET_ZOOM Zoom
// SET_BRIGHTNESS Brightness
// SET_CONTRAST Contrast
// SET_SATURATION Colors saturation
// SET_EXPOSURE Exposure compensation
// SET_FOCUS Focus
// SET_SHUTTER_SPEED Shutter speed
// SET_LIGHT_METERING Light metering method
// SET_PROFILE Profile
// SET_SCENE Scene
// SET_MIRROR Mirror
// SET_ISO ISO
// SET_CC_CR(#CC_LOW(20)) Color correction cyan
// SET_CC_CR(#CC_HIGH(20)) Color correction red
// SET_CC_YB(#CC_LOW(21)) Color correction yellow
// SET_CC_YB(#CC_HIGH(21)) Color correction blue
// SET_CC_CAST(#CC_LOW(20),#CC_LOW(21)) Green color cast
// SET_CC_CAST(#CC_HIGH(20),#CC_HIGH(21)) Magenta color cast
// SET_CC_CAST(#CC_HIGH(20),#CC_LOW(21)) Orange color cast
// ---------------------------------------- END

// profiles
SET_PROFILE=#SS_UNSET
#RESET_SATURATION
#RESET_SHUTTER_SPEED
#RESET_WB
$s0 0a #SET_CONTRAST
$s0 0a #SET_BRIGHTNESS
#RESET_FOCUS
$s0 0a #SET_EXPOSURE
// ------------------------- CUSTOMIZE PROFILES
$s0 %0
$c0 0b
// cloudy landscape
$s0 0b #SET_CC_CR(#CC_HIGH(20))
$s0 0c #SET_CC_YB(#CC_LOW(21))
$s0 0d #SET_CONTRAST
$s0 0b #SET_FOCUS
$s0 15 #SET_EXPOSURE
$cl
$c0 0c
// document
$s0 0d #SET_CONTRAST
$s0 15 #SET_EXPOSURE
$cl
$c0 0d
// low light
$s0 0c #SET_CC_CR(#CC_HIGH(20))
$s0 0d #SET_CC_YB(#CC_LOW(21))
$s0 0d #SET_CONTRAST
$s0 15 #SET_EXPOSURE
$cl
$c0 0e
// enhanced mode
$s0 0b #SET_SHUTTER_SPEED
$cx $cx $cx $cx;
// ---------------------------------------- END

SET_SCENE=$s0 %0 $-0 0a
$c0 00
#CMD(51,00) $cl
$c0 01
#CMD(51,06) $cl
$c0 02
#CMD(51,03) $cl
$c0 03
#CMD(51,01) $cl
$c0 04
#CMD(51,04) $cl
$c0 05
#CMD(51,05) $cl
$c0 06
#CMD(51,02) $cl #CMD(51,00)
$cx $cx $cx $cx $cx $cx $cx
$c0 02 #CMD(43,00) $b6 01 0 2 $b6 00 3 1
$cl $c0 04 #CMD(43,00) $b6 01 0 2 $b6 00 3 1
$cl #RESET_FOCUS $cx $cx;

SET_MIRROR=$s0 %0 $-0 0a #CMD(52,$w0);
SET_ISO=$s0 %0 $-0 0a #CMD(05,$w0);
SET_WB=$s0 %0 $-0 0a #CMD(11,$w0);

// ------------------------ CUSTOMIZE FUNCTIONS
EV_M_20= #SET_CC_CR(#CC_LOW(20));
EV_M_17= #SET_CC_CR(#CC_HIGH(20));
EV_M_13= #SET_CC_YB(#CC_LOW(21));
EV_M_10= #SET_CC_YB(#CC_HIGH(21));
EV_M_07= #SET_WB;
EV_M_03= #SET_CONTRAST;
EV_0_00= #SET_FOCUS;
EV_P_03= #SET_ZOOM;
EV_P_07= #SET_EXPOSURE;
EV_P_10= #SET_SHUTTER_SPEED;
EV_P_13= #SET_AE_LOCK;
EV_P_17= #SET_SCENE;
EV_P_20= #SET_PROFILE;
// ---------------------------------------- END

SELECT_FUNCTION=$s0 %0 $p1 00
$c1 03 #EV_M_20 $cl $c1 04 #EV_M_17 $cl $c1 05 #EV_M_13 $cl
$c1 06 #EV_M_10 $cl $c1 07 #EV_M_07 $cl $c1 08 #EV_M_03 $cl
$c1 09 #EV_0_00 $cl
$c1 0a #EV_P_03 $cl $c1 0b #EV_P_07 $cl $c1 0c #EV_P_10 $cl
$c1 0d #EV_P_13 $cl $c1 0e #EV_P_17 $cl $c1 0f #EV_P_20
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

// digital zoom value change
seq_set_prop_6=#FLAG6_STATE
$c0 00
#WORK_AS_STANDARD
$c0 01
$s0 %0
#SET_ZOOM
$cl
$c0 00
#SELECT_FUNCTION
$cl
#IS_VIDEO_MODE
$p1 09
$-1 r0
$s0 %0
$c1 01
#SET_FOCUS
$cl
#SET_ZOOM
$cx
$cx
$cx
$cx
#FLAG6_UNSET;

// night mode
SET_FPS=#CMD(03,!0)
#SET(08,!1)
#CMD(34,!2)
#WAIT_FOR_MODE;

seq_set_prop_7=#FLAG6_SET
#SS_UNSET
#INIT_SATURATION
$s0 %0
$c0 00
#SET_FPS(28,3C,81)
$cl
#SET_FPS(0A,1E,01)
$cx;

// effects
seq_set_prop_8=#FLAG6_SET
$s0 %0
$c0 00 #CMD(08,00)
#CMD(53,00) $cl
$c0 04 #CMD(08,01) $cl
#CMD(53,$w0)
$cx $cx;

// macro mode (AF scan range)
seq_set_prop_9=#FLAG6_SET
// turn off MFP if enabled
#MFP_BIT_STATUS
$c1 02
#MFP_UNSET
$cx

$s0 %0
$c0 00
#CMD(41,00)
$cl
#AF_MACRO_SCAN_MODE
$c0 01
#CMD(41,04)
$cl
#CMD(41,01)
$cx
$cx;

// autofocus
// 0 = stop AF scan and hold position (button pressed and AF success)
// 1 = start AF scan (button pressed)
// 2 = stop AF and go to INF (button released or AF failed)
seq_set_prop_a=#MF_STATUS
$c0 08
$s0 02 $-0 %0 #CMD(42,$w0)
$cx
// hold code execution if video mode or after snapshot (MFP/SSP state will be untouched)
#IS_VIDEO_MODE
$m1 0
#FLAG7_STATE
$+0 r1

$c0 00
$m1 6 $b1 00 1 7
$s0 %0
$c0 01
#FLAG6_UNSET
$c1 00
// switch MFP state
#MFP_STATUS
$c1 00
$b6 01 1 1
$cl
$c1 02
#MFP_UNSET
$cx
$cx
$cl
// switch SSP state
#MSS_STATUS
$c1 01
#SSP_STATUS
$c1 00
$b6 01 4 1
$cl
$b6 00 4 1
$cx
$cx
$cx

#AE_LOCK
$cl
$c0 02
#FLAG6_STATE
$c0 00
#AE_UNLOCK

$c1 00
#MFP_STATUS
$c1 02
#CMD(5B,01)
#CMD(61,#FOCUS_PREVIEW_ZOOM)
$cx
$cl
#MSS_STATUS
$c1 01
#SSP_STATUS
$c1 00
#SS_UNSET
$cl
#MSS_APPLY
$cx
$cx
$cx
$cx
#FLAG6_UNSET
$cx
$cx
$cx;

// autofocus result
seq_get_prop_a=#READ_AF_STATUS
#MF_STATUS
$c0 08
$m0 4 $c0 03 $cl $+0 04 $cx
$cl
$s0 04
$cx
// failed
$c0 05
#FLAG6_SET
$cx;

// EXIF info
seq_get_prop_b=05 01 00 25 04 $f $r5 0 0 1 2 3
$c3 ff 05 01 00 25 04 $f $r5 0 0 1 2 3
$c3 ff 05 01 00 25 04 $f $r5 0 0 1 2 3
$c3 ff 05 01 00 25 04 $f $r5 0 0 1 2 3
$c3 ff 05 01 00 25 04 $f $r5 0 0 1 2 3
$cx $cx $cx $cx;

seq_get_prop_c=05 01 00 29 03 $f $r4 0 0 1 2
$c2 ff 05 01 00 29 03 $f $r4 0 0 1 2
$c2 ff 05 01 00 29 03 $f $r4 0 0 1 2
$c2 ff 05 01 00 29 03 $f $r4 0 0 1 2
$c2 ff 05 01 00 29 03 $f $r4 0 0 1 2
$cx $cx $cx $cx
// q value and flash info
$m3 9
$m2 8;

// led
seq_set_prop_d=;

// flash
seq_set_prop_e_0=#CMD(5A,00);
seq_set_prop_e_1=#CMD(5A,04);
seq_set_prop_e_2=#CMD(5A,03);

// power save
seq_set_prop_f_0=#CMD(5C,00)
#WAIT_FOR_POWER_SAVE_LEAVE
$cf 00
03 55 AA #END
07 04 20 80 00 05 0E #END
07 04 98 12 04 00 00 #END
$cx;

seq_set_prop_f_1=#CMD(34,81)
#WAIT_FOR_MODE
#CMD(53,00)
#CMD(5C,01)
#WAIT_FOR_POWER_SAVE_ENTER;

// scenes
seq_set_prop_10=#CMD(51,%0);

// iso
seq_set_prop_11_0=#CMD(05,00);
seq_set_prop_11_1=#CMD(05,01);
seq_set_prop_11_2=#CMD(05,04);
seq_set_prop_11_3=#CMD(05,07);
seq_set_prop_11_4=#CMD(05,0a);
seq_set_prop_11_5=#CMD(05,0d);
seq_set_prop_11_6=#CMD(05,02);
seq_set_prop_11_7=#CMD(05,03);
seq_set_prop_11_8=#CMD(05,05);
seq_set_prop_11_9=#CMD(05,06);
seq_set_prop_11_a=#CMD(05,08);
seq_set_prop_11_b=#CMD(05,09);
seq_set_prop_11_c=#CMD(05,0b);
seq_set_prop_11_d=#CMD(05,0c);

// autoexposure level
seq_get_prop_12=05 01 00 22 02 $f $r3 0 0 1;

// brightness, contrast, sharpness (digital postprocessing)
seq_set_prop_13=#CMD(54,%0);
seq_set_prop_14=$s0 %0 $-0 08 #CMD(55,$w0);
seq_set_prop_15=$s0 %0 $-0 08 #CMD(56,$w0);

// focus test pattern
seq_get_prop_16=#READ(2E,$r2 0 0)
06 02 00 01 01 42 $f $d0080
#READ(2E,$r2 1 1) $d0080
#READ(2E,$r2 2 2) $d0710
#READ(2E,$r2 3 3);

seq_get_prop_17=#READ(2E,$r2 0 0);

// spot photometry
seq_set_prop_18=;

// something for zoom (linear?)
seq_get_prop_19=$s0 00;

// snapshot, video record resolutions
seq_ss_config_1=#SET(19,0D) $u05;
seq_ss_config_2=#SET(19,0B) $u05;
seq_ss_config_3=#SET(19,06) $u05;
seq_ss_config_4=#SET(19,04) $u05;
seq_ss_config_5=#SET(19,03) $u05;
seq_ss_config_6=#SET(19,02) $u05;
seq_ss_config_7=#SET(19,01) $u05;
seq_ss_config_8=#SET(19,00) $u05;
seq_ss_config_9=#SET(19,04);

VF_TD=$d00c8;
seq_vf_config_11=#VF_TD #SET(07,09) $u07;
seq_vf_config_12=#VF_TD #SET(07,07) $u07;
seq_vf_config_13=#VF_TD #SET(07,05) $u07;
seq_vf_config_14=#VF_TD #SET(07,04) $u07;
seq_vf_config_15=#VF_TD #SET(07,03) $u07;
seq_vf_config_21=#VF_TD #SET(07,08) #SET_FPS(3C,3C,81);
seq_vf_config_22=#VF_TD #SET(07,08) #SET_FPS(1E,1E,81);
seq_vf_config_23=#VF_TD #SET(07,06) #SET_FPS(3C,3C,81);
seq_vf_config_24=#VF_TD #SET(07,06) #SET_FPS(1E,1E,81);

seq_ss_config_30=06 02 00 01 3C 03 $f
05 02 00 07 06 $f
06 02 00 01 01 34 $f $d0200
03 55 AA $f
07 04 2E 11 04 00 FF $f
08 04 04 58 00 05 98 07 $f
08 04 00 80 00 05 30 00 $f
08 04 12 80 00 05 AA 55 $f
08 04 14 80 00 05 9C 00 $f
08 04 16 80 00 05 9C 00 $f
$se 30 $d0100;

//
seq_vf_start=$ze;

seq_vf_stop=;

// get ready
seq_ss_start=#FLAG7_UNSET
#FILTERING_UNSET;

// prepare and take
seq_ss_take=#FLAG7_STATE
$c0 00
#FLAG7_SET
#EMPTY_EVENT_FIFO
$z0 $-0 re
$c0 00
$cl
#EM_MSS_APPLY
#WB_LED_SET
06 02 00 01 01 $ze $ce 09 33 $cl 32 $cx $f
#WAIT_FOR_MODE
#WAIT_FOR_CAPT_START
$cx
$t0020
$cx;

READ_Q_VALUE=#READ(1B,$r2 4 9) $c4 02 $cl
#READ(1B,$r2 4 9) $c4 02 $cl
#READ(1B,$r2 4 9) $c4 02 $cl
#READ(1B,$r2 4 9) $c4 02 $cl
#READ(1B,$r2 4 9)
$cx $cx $cx $cx;

// result verification
seq_ss_verify=$ce 09
$s0 01
$cl
$ce 30
$s0 01
$cl
#WAIT_FOR_JPEG_END
$c4 00
$s0 01
#READ_Q_VALUE
$cl
$s0 00
$cx
$cx
$cx
// flash exif
#READ(2B,$r2 8 8);

// finalization
// registers update (seq_set_prop: 1, 7, a_2, other)
// don't use regs here because of EXIF data
seq_ss_stop=#CMD(72,00)
#WB_LED_UNSET
#FILTERING_SET
#AE_UNLOCK
#CMD(04,00);

// jpeg creation
jpeg_qtable_selector_0=$s2 00 #READ(1B,$r2 1 0);
jpeg_qtable_selector_1=$s2 01 #READ(1B,$r2 1 0);

jpeg_qtable_0=10 0B 0C 0E 0C 0A 10 0E
0D 0E 12 11 10 13 18 28
1A 18 16 16 18 31 23 25
1D 28 3A 33 3D 3C 39 33
38 37 40 48 5C 4E 40 44
57 45 37 38 50 6D 51 57
5F 62 67 68 67 3E 4D 71
79 70 64 78 5C 65 67 63;

jpeg_qtable_1=11 12 12 18 15 18 2F 1A
1A 2F 63 42 38 42 63 63
63 63 63 63 63 63 63 63
63 63 63 63 63 63 63 63
63 63 63 63 63 63 63 63
63 63 63 63 63 63 63 63
63 63 63 63 63 63 63 63
63 63 63 63 63 63 63 63;

jpeg_qtable_factors=0,320000,190000,10AA00,C8000,A0000,85500,72400,64000,58E00,50000
,48B00,42A00,3D800,39200,35500,32000,2F000,2C700,2A100,28000
,26100,24500,22C00,21500,20000,1EC00,1DA00,1C900,1B900,1AA00
,19C00,19000,18300,17800,16D00,16300,15900,15000,14800,14000
,13800,13000,12900,12200,11C00,11600,11000,10A00,10500,10000
,FA00,F500,F000,EB00,E600,E100,DC00,D700,D100,CC00
,C700,C200,BD00,B800,B300,AE00,A800,A300,9E00,9900
,9400,8F00,8A00,8500,8000,7A00,7500,7000,6B00,6600
,6100,5C00,5700,5100,4C00,4700,4200,3D00,3800,3300
,2E00,2800,2300,1E00,1900,1400,F00,A00,500,0;

jpeg_header=FF D8
FF E0 00 10 4A 46 49 46 00 01 01 00 00 01 00 01 00 00
FF DB 00 84 00 $qt0 01 $qt1
FF C4 01 A2 00 00 01 05 01 01 01 01 01 01 00 00 00 00 00 00 00
00 01 02 03 04 05 06 07 08 09 0A 0B
01 00 03 01 01 01 01 01 01 01 01 01 00 00 00 00 00
00 01 02 03 04 05 06 07 08 09 0A 0B
10 00 02 01 03 03 02 04 03 05 05 04 04 00 00 01 7D
01 02 03 00 04 11 05 12 21 31 41 06 13 51 61 07
22 71 14 32 81 91 a1 08 23 42 b1 c1 15 52 d1 f0
24 33 62 72 82 09 0a 16 17 18 19 1a 25 26 27 28
29 2a 34 35 36 37 38 39 3a 43 44 45 46 47 48 49
4a 53 54 55 56 57 58 59 5a 63 64 65 66 67 68 69
6a 73 74 75 76 77 78 79 7a 83 84 85 86 87 88 89
8a 92 93 94 95 96 97 98 99 9a a2 a3 a4 a5 a6 a7
a8 a9 aa b2 b3 b4 b5 b6 b7 b8 b9 ba c2 c3 c4 c5
c6 c7 c8 c9 ca d2 d3 d4 d5 d6 d7 d8 d9 da e1 e2
e3 e4 e5 e6 e7 e8 e9 ea f1 f2 f3 f4 f5 f6 f7 f8
f9 fa
11 00 02 01 02 04 04 03 04 07 05 04 04 00 01 02 77
00 01 02 03 11 04 05 21 31 06 12 41 51 07 61 71
13 22 32 81 08 14 42 91 a1 b1 c1 09 23 33 52 f0
15 62 72 d1 0a 16 24 34 e1 25 f1 17 18 19 1a 26
27 28 29 2a 35 36 37 38 39 3a 43 44 45 46 47 48
49 4a 53 54 55 56 57 58 59 5a 63 64 65 66 67 68
69 6a 73 74 75 76 77 78 79 7a 82 83 84 85 86 87
88 89 8a 92 93 94 95 96 97 98 99 9a a2 a3 a4 a5
a6 a7 a8 a9 aa b2 b3 b4 b5 b6 b7 b8 b9 ba c2 c3
c4 c5 c6 c7 c8 c9 ca d2 d3 d4 d5 d6 d7 d8 d9 da
e2 e3 e4 e5 e6 e7 e8 e9 ea f2 f3 f4 f5 f6 f7 f8
f9 fa
FF C0 00 11 08 $h $w 03 01 21 00 02 11 01 03 11 01
FF DA 00 0C 03 01 00 02 11 03 11 00 3F 00;

// r0-3 macros (used to store EXIF data after snapshot)
// r4-5 reserved (used in events and to store EXIF data after snapshot)
// r6 b0 AF: 0 = manual, 1 = auto/infinity
// b1 MFP: 0 = disabled, 1 = enabled
// b2 SCENE: 0 = auto, 1 = ISO100
// b3 AF: 0 = manual/infinity, 1 = auto
// b4 SSP: 0 = disabled, 1 = enabled
// b5 SATUR: 0 = manual, 1 = auto
// b6 CC_CR: 0 = manual, 1 = auto
// b7 CC_YB: 0 = manual, 1 = auto
// r7 SS: 0 = auto, manual, 7F = EM
// r8-9 reserved (used to store flash info and q-value)
// rA reserved (used to select EXIF parameter to read)
// rB b0-2 WB value selected in camera menu or in profile
// b3 WB type: 0 = default WB, 1 = profile WB
// b6 can block code execution in seq_set_prop_a_2
// can block code execution in seq_set_prop_6
// b7 flag enabled in cam_ss_start (used in cam_ss_take)
// can block code execution in various seq_set_prop after snapshot
// rC-D ?
// rE reserved (used to remember last size id for snapshot burst mode)
// rF reserved (used to store sensor version)


Posted by Rokstar
@ Randolph,
Make sure you use run config tool .bat


Posted by 679
Kriomag

I'm not sure, but are not this misprint in 21.93_2008_05_02?


SAT_WB= $c0 03 #SAT($+1 12) $cl
$c0 04 #SAT($+1 0E) $cl
$c0 05 #SAT($+1 0A) $cl
$c0 06 #SAT($+1 07) $cl
$c0 07 #SAT($+1 04) $cl
$c0 08 #SAT($+1 02)
#WB(01) $cl
$c0 09 #SAT
#WB(00) $cl
..................

Seems parameters in #SAT (...) are missed?


[ This Message was edited by: 679 on 2008-02-08 12:49 ]

Posted by Kriomag
On 2008-02-08 13:49:12, 679 wrote:
Seems parameters in #SAT (...) are missed?

missing, yes, but on purpose (if parameter is missing default value will be applied because of unchanged #SATURATION macro in #SAT macro... sorry - english hard language lol).

Posted by 679

On 2008-02-08 15:08:02, Kriomag wrote:
On 2008-02-08 13:49:12, 679 wrote:
Seems parameters in #SAT (...) are missed?

missing, yes, but on purpose (if parameter is missing default value will be applied because of unchanged #SATURATION macro in #SAT macro... sorry - english hard language lol).


OK,
but also just a curiocity:

seq_set_prop_10=#CMD(51,%0); // missed

................

seq_set_prop_18=; // missed

seq_get_prop_19=$s0 00; // missed

And these lines are missed to. Last two lines i believe are nessesary for CID36?

or its "on purpose to" ?


Posted by Kriomag

On 2008-02-08 15:18:01, 679 wrote:
...
its "on purpose to" ?


yes, on purpose these lines IMO are usless so i removed them - if i get replies from beta testers that something is not working correctly i will put those lines back

[ This Message was edited by: Kriomag on 2008-02-08 14:28 ]


Pages:
Previous  123 ... 167168169 ... 198199200  Next
Click to view updated thread with images


© Esato.com - From the Esato mobile phone discussion forum