Changeset 569
- Timestamp:
- 11/15/08 12:38:05 (5 years ago)
- Location:
- trunk
- Files:
-
- 41 added
- 8 edited
-
Makefile (modified) (6 diffs)
-
core/kbd.c (modified) (1 diff)
-
doc/version.txt (modified) (1 diff)
-
include/camera.h (modified) (1 diff)
-
makefile.inc (modified) (4 diffs)
-
platform/ixus80_sd1100 (added)
-
platform/ixus80_sd1100/Makefile (added)
-
platform/ixus80_sd1100/kbd.c (added)
-
platform/ixus80_sd1100/leds.c (added)
-
platform/ixus80_sd1100/leds.h (added)
-
platform/ixus80_sd1100/lib.c (added)
-
platform/ixus80_sd1100/main.c (added)
-
platform/ixus80_sd1100/notes.txt (added)
-
platform/ixus80_sd1100/shooting.c (added)
-
platform/ixus80_sd1100/sub (added)
-
platform/ixus80_sd1100/sub/100c (added)
-
platform/ixus80_sd1100/sub/100c/Makefile (added)
-
platform/ixus80_sd1100/sub/100c/boot.c (added)
-
platform/ixus80_sd1100/sub/100c/capt_seq.c (added)
-
platform/ixus80_sd1100/sub/100c/debug.c (added)
-
platform/ixus80_sd1100/sub/100c/largedisk.c (added)
-
platform/ixus80_sd1100/sub/100c/lib.c (added)
-
platform/ixus80_sd1100/sub/100c/makefile.inc (added)
-
platform/ixus80_sd1100/sub/100c/movie_rec.c (added)
-
platform/ixus80_sd1100/sub/100c/stubs_2_elf.S (added)
-
platform/ixus80_sd1100/sub/100c/stubs_asm.h (added)
-
platform/ixus80_sd1100/sub/100c/stubs_auto.S (added)
-
platform/ixus80_sd1100/sub/100c/stubs_bonus.S (added)
-
platform/ixus80_sd1100/sub/100c/stubs_entry.S (added)
-
platform/ixus80_sd1100/sub/100c/stubs_entry_2.S (added)
-
platform/ixus80_sd1100/sub/100c/stubs_min.S (added)
-
platform/ixus80_sd1100/sub/101a (added)
-
platform/ixus80_sd1100/sub/101a/Makefile (added)
-
platform/ixus80_sd1100/sub/101a/boot.c (added)
-
platform/ixus80_sd1100/sub/101a/capt_seq.c (added)
-
platform/ixus80_sd1100/sub/101a/debug.c (added)
-
platform/ixus80_sd1100/sub/101a/lib.c (added)
-
platform/ixus80_sd1100/sub/101a/makefile.inc (added)
-
platform/ixus80_sd1100/sub/101a/stubs_asm.h (added)
-
platform/ixus80_sd1100/sub/101a/stubs_auto.S (added)
-
platform/ixus80_sd1100/sub/101a/stubs_entry.S (added)
-
platform/ixus80_sd1100/sub/101a/stubs_entry_2.S (added)
-
platform/ixus80_sd1100/sub/101a/stubs_min.S (added)
-
platform/ixus80_sd1100/sub/Makefile (added)
-
platform/ixus80_sd1100/wrappers.c (added)
-
tools/Makefile (modified) (2 diffs)
-
tools/sig_ref_dryos_2.txt (added)
-
tools/signatures_dryos.h (modified) (5 diffs)
-
version.inc (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Makefile
r559 r569 39 39 endif 40 40 endif 41 ifdef NEED_ENCODED_DISKBOOT 42 @echo dance \-\> DISKBOOT.BIN 43 $(ENCODE_DISKBOOT) $(topdir)/bin/main.bin $(topdir)/bin/DISKBOOT.BIN 44 rm $(topdir)/bin/main.bin 45 else 41 46 mv $(topdir)/bin/main.bin $(topdir)/bin/DISKBOOT.BIN 47 endif 42 48 @echo "**** Firmware creation completed successfully" 43 49 … … 187 193 $(MAKE) -s --no-print-directory PLATFORM=ixus60_sd600 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsub 188 194 $(MAKE) -s --no-print-directory PLATFORM=ixus960_sd950 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsub 195 $(MAKE) -s --no-print-directory PLATFORM=ixus80_sd1100 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 196 $(MAKE) -s --no-print-directory PLATFORM=ixus80_sd1100 PLATFORMSUB=101a NO_INC_BUILD=1 firzipsub 189 197 @echo "**** All firmwares created successfully" 190 198 @echo "**** Copying duplicate Firmwares" … … 195 203 cp $(topdir)bin/$(VER)-ixus70_sd1000-101b-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus70_sd1000-101a-$(BUILD_NUMBER).zip 196 204 cp $(topdir)bin/$(VER)-ixus75_sd750-101a-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus75_sd750-101b-$(BUILD_NUMBER).zip 205 cp $(topdir)bin/$(VER)-ixus80_sd1100-101a-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus80_sd1100-101b-$(BUILD_NUMBER).zip 197 206 @echo "**** Done Copying duplicate Firmwares" 198 207 @echo "**** Summary of memisosizes" … … 260 269 $(MAKE) -s --no-print-directory PLATFORM=ixus60_sd600 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 261 270 $(MAKE) -s --no-print-directory PLATFORM=ixus960_sd950 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 271 $(MAKE) -s --no-print-directory PLATFORM=ixus80_sd1100 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 272 $(MAKE) -s --no-print-directory PLATFORM=ixus80_sd1100 PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 262 273 @echo "**** All zipfiles including firmwares and extra stuff created successfully" 263 274 @echo "**** Copying duplicate Firmwares" … … 274 285 cp $(topdir)bin/ixus75_sd750-101a-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus75_sd750-101b-$(BUILD_NUMBER)-full.zip 275 286 cp $(topdir)bin/ixus75_sd750-101a-$(BUILD_NUMBER).zip $(topdir)bin/ixus75_sd750-101b-$(BUILD_NUMBER).zip 287 cp $(topdir)bin/ixus80_sd1100-101a-$(BUILD_NUMBER).zip $(topdir)bin/ixus80_sd1100-101b-$(BUILD_NUMBER).zip 276 288 @echo "**** Done Copying duplicate Firmwares" 277 289 @echo "**** Summary of memisosizes" … … 341 353 $(MAKE) -s --no-print-directory PLATFORM=ixus60_sd600 PLATFORMSUB=100d NO_INC_BUILD=1 clean 342 354 $(MAKE) -s --no-print-directory PLATFORM=ixus960_sd950 PLATFORMSUB=100d NO_INC_BUILD=1 clean 355 $(MAKE) -s --no-print-directory PLATFORM=ixus80_sd1100 PLATFORMSUB=100c NO_INC_BUILD=1 clean 356 $(MAKE) -s --no-print-directory PLATFORM=ixus80_sd1100 PLATFORMSUB=101a NO_INC_BUILD=1 clean 343 357 344 358 -
trunk/core/kbd.c
r557 r569 85 85 #endif 86 86 87 #if defined(CAMERA_a460) || defined(CAMERA_a530) || defined (CAMERA_a540) || defined(CAMERA_a550) || defined(CAMERA_a560) || defined(CAMERA_a570) || defined(CAMERA_ixus860_sd870) || defined(CAMERA_ixus960_sd950) 87 #if defined(CAMERA_a460) || defined(CAMERA_a530) || defined (CAMERA_a540) || defined(CAMERA_a550) || defined(CAMERA_a560) || defined(CAMERA_a570) || defined(CAMERA_ixus860_sd870) || defined(CAMERA_ixus960_sd950) || defined(CAMERA_ixus80_sd1100) 88 88 #define ZSTEP_TABLE_SIZE 8 89 89 static int nTxtbl[]={0,1,2,3,4,5,6,7}; -
trunk/doc/version.txt
r564 r569 3 3 version / revision / author 4 4 5 5 0.7.6 / #565-569 / reyalp 6 + merge ixus80_sd1100 from chr 7 see http://chdk.setepontos.com/index.php/topic,650.msg24281.html#msg24281 8 + Added encoded diskboot support to makefiles 9 * Set -march=armv5te for GCC3 10 * ixus80_sd1100 1.00c is now sig_ref_dryos_2 11 * sig_ref_*.txt now must have start address on first line 12 6 13 0.7.5 / #564 / php 7 14 -
trunk/include/camera.h
r564 r569 473 473 474 474 //---------------------------------------------------------- 475 #elif defined (CAMERA_ixus80_sd1100) 476 #define CAM_PROPSET 2 477 #define CAM_DRYOS 1 478 479 #define CAM_RAW_ROWPIX 3336 // for new 8 MP 480 #define CAM_RAW_ROWS 2480 // for new 8 MP 481 482 #undef CAM_USE_ZOOM_FOR_MF 483 #undef CAM_HAS_ERASE_BUTTON 484 #undef CAM_HAS_IRIS_DIAPHRAGM 485 #define CAM_HAS_ND_FILTER 1 486 #undef CAM_HAS_MANUAL_FOCUS 487 #undef CAM_HAS_USER_TV_MODES 488 #define CAM_SHOW_OSD_IN_SHOOT_MENU 1 489 // TODO / test 490 #undef CAM_REMOTE 491 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 1 492 #undef CAM_CAN_MUTE_MICROPHONE 493 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 0 494 495 //---------------------------------------------------------- 475 496 #elif defined (CAMERA_ixus700_sd500) 476 497 #define CAM_PROPSET 1 -
trunk/makefile.inc
r566 r569 4 4 PLATFORMSUB=100a 5 5 6 #PLATFORM=a610 7 #PLATFORMSUB=100e 8 6 9 #PLATFORM=a620 7 10 #PLATFORMSUB=100f … … 102 105 #PLATFORM=ixus860_sd870 103 106 #PLATFORMSUB=100c 107 108 #PLATFORM=ixus80_sd1100 109 #PLATFORMSUB=100c 110 #PLATFORMSUB=101a 104 111 105 112 #PLATFORM=ixus950_sd850 … … 236 243 237 244 PAKWIF=$(topdir)tools/pakwif$(EXE) 245 ENCODE_DISKBOOT=$(topdir)tools/dancingbits$(EXE) 238 246 239 247 ########################################################################## … … 251 259 CFLAGS=-fno-inline -Os -fno-strict-aliasing 252 260 # flags for gcc v4 253 # CFLAGS+=-mtune=arm946e-s 261 # CFLAGS+=-mcpu=arm946e-s 262 # for gcc v3, we use to allow use of strd etc 263 CFLAGS+=-march=armv5te 264 254 265 CTHUMB=-mthumb 255 266 CFLAGS+=-mthumb-interwork -
trunk/tools/Makefile
r566 r569 60 60 fi 61 61 62 signatures_dryos.h: gensig$(EXE) gensigs.sh sig_ref_dryos_1.txt sig_ref_dryos_1.bin 62 signatures_dryos.h: gensig$(EXE) gensigs.sh sig_ref_dryos_1.txt sig_ref_dryos_1.bin sig_ref_dryos_2.txt sig_ref_dryos_2.bin 63 63 @echo \-\> $@ 64 if [ -s sig_ref_dryos_1.bin ] ; then \65 $(SH) ./gensigs.sh $(SORT) dryos "1 " > signatures_dryos.h ; \64 if [ -s sig_ref_dryos_1.bin ] && [ -s sig_ref_dryos_2.bin ] ; then \ 65 $(SH) ./gensigs.sh $(SORT) dryos "1 2" > signatures_dryos.h ; \ 66 66 else \ 67 67 echo CAUTION! \'signatures_dryos.h\' is not uptated due to \'sig_ref_dryos_1.bin\` is empty! ; \ … … 81 81 touch sig_ref_dryos_1.bin 82 82 83 sig_ref_dryos_2.bin: 84 touch sig_ref_dryos_2.bin 85 83 86 finsig.o: finsig.c signatures_$(PLATFORMOS).h 84 87 -
trunk/tools/signatures_dryos.h
r538 r569 2954 2954 }; 2955 2955 2956 static FuncSig func_sig_AllocateMemory_2[] = { 2957 { 0, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 2958 { 1, 0xea000000, 0xff000000 }, // b, bl:3:0xEAF80561 2959 { 2, 0xe5801000, 0xfdffffff }, // str:4:0xE5801000 2960 { 8, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 2961 { 15, 0xe1a00000, 0xfdffffff }, // mov:6:0xE3A00000 2962 { 16, 0xe58d0000, 0xfdffffff }, // str:4:0xE58D0000 2963 { 17, 0xe040087f, 0xfdffffff }, // sub:6:0xE240087F 2964 { 18, 0xe1a0100d, 0xfdffffff }, // mov:6:0xE1A0100D 2965 { 19, 0xe1a02004, 0xfdffffff }, // mov:6:0xE3A02004 2966 { 20, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFC5F73 2967 { 23, 0xe1a0000d, 0xfdffffff }, // mov:6:0xE1A0000D 2968 { 24, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBF8061F 2969 { 25, 0xe59d0000, 0xfdffffff }, // ldr:4:0xE59D0000 2970 { 28, 0xe5905000, 0xfdffffff }, // ldr:4:0xE5905000 2971 { 29, 0xe04dd01c, 0xfdffffff }, // sub:6:0xE24DD01C 2972 { 30, 0xe0804004, 0xfdffffff }, // add:6:0xE2804004 2973 { 31, 0xe08d0008, 0xfdffffff }, // add:6:0xE28D0008 2974 { -1, -1, -1 }, 2975 /* 17/32 */ 2976 }; 2977 2978 static FuncSig func_sig_ExecuteEventProcedure_2[] = { 2979 { 2, 0xe59f0104, 0xfdffffff }, // ldr:4:0xE59F0104 2980 { 3, 0xe59d1010, 0xfdffffff }, // ldr:4:0xE59D1010 2981 { 4, 0xe0404014, 0xfdffffff }, // sub:6:0xE2404014 2982 { 5, 0xe58d0000, 0xfdffffff }, // str:4:0xE58D0000 2983 { 6, 0xe5940008, 0xfdffffff }, // ldr:4:0xE5940008 2984 { 7, 0xe08d5014, 0xfdffffff }, // add:6:0xE28D5014 2985 { 8, 0xe1a0200d, 0xfdffffff }, // mov:6:0xE1A0200D 2986 { 9, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFECF 2987 { 10, 0xe1500019, 0xfdffffff }, // cmp:7:0xE3500019 2988 { 11, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A00000A 2989 { 12, 0xe59f00ac, 0xfdffffff }, // ldr:4:0xE59F00AC 2990 { 13, 0xe59d3010, 0xfdffffff }, // ldr:4:0xE59D3010 2991 { 14, 0xe08f20d8, 0xfdffffff }, // add:6:0xE28F20D8 2992 { 15, 0xe08f10c8, 0xfdffffff }, // add:6:0xE28F10C8 2993 { 16, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFED162 2994 { 17, 0xe5941004, 0xfdffffff }, // ldr:4:0xE5941004 2995 { 18, 0xe59f0094, 0xfdffffff }, // ldr:4:0xE59F0094 2996 { 20, 0xe1a010dd, 0xfdffffff }, // mov:6:0xE3A010DD 2997 { 21, 0xe08f00d0, 0xfdffffff }, // add:6:0xE28F00D0 2998 { 22, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFECAD8 2999 { 23, 0xe5942000, 0xfdffffff }, // ldr:4:0xE5942000 3000 { 24, 0xe59d1010, 0xfdffffff }, // ldr:4:0xE59D1010 3001 { 25, 0xe5940010, 0xfdffffff }, // ldr:4:0xE5940010 3002 { 27, 0xe59d0000, 0xfdffffff }, // ldr:4:0xE59D0000 3003 { 29, 0xe1a00005, 0xfdffffff }, // mov:6:0xE1A00005 3004 { -1, -1, -1 }, 3005 /* 25/32 */ 3006 }; 3007 3008 static FuncSig func_sig_EnterToCompensationEVF_2[] = { 3009 { 1, 0xe08f1f77, 0xfdffffff }, // add:6:0xE28F1F77 3010 { 2, 0xe1a00020, 0xfdffffff }, // mov:6:0xE3A00020 3011 { 3, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB01107D 3012 { 4, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB00060B 3013 { 5, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3014 { 7, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB000611 3015 { 8, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3016 { 10, 0xe1a02002, 0xfdffffff }, // mov:6:0xE3A02002 3017 { 11, 0xe59f11d4, 0xfdffffff }, // ldr:4:0xE59F11D4 3018 { 12, 0xe1a000cf, 0xfdffffff }, // mov:6:0xE3A000CF 3019 { 13, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB011B7F 3020 { 14, 0xe1100001, 0xfdffffff }, // tst:7:0xE3100001 3021 { 15, 0x159f11c8, 0xfdffffff }, // ldr:4:0x159F11C8 3022 { 16, 0x151f0f5c, 0xfdffffff }, // ldr:4:0x151F0F5C 3023 { 17, 0x1b000000, 0xff000000 }, // b, bl:3:0x1BFFD789 3024 { 19, 0xea000000, 0xff000000 }, // b, bl:3:0xEA00DEFB 3025 { 21, 0xe08f1f6d, 0xfdffffff }, // add:6:0xE28F1F6D 3026 { 22, 0xe1a00020, 0xfdffffff }, // mov:6:0xE3A00020 3027 { 23, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB011069 3028 { 24, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB0005F7 3029 { 25, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3030 { 27, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB0005FD 3031 { 28, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3032 { 30, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A00DEFA 3033 { -1, -1, -1 }, 3034 /* 24/32 */ 3035 }; 3036 3037 static FuncSig func_sig_ExitFromCompensationEVF_2[] = { 3038 { 1, 0xe08f1f6d, 0xfdffffff }, // add:6:0xE28F1F6D 3039 { 2, 0xe1a00020, 0xfdffffff }, // mov:6:0xE3A00020 3040 { 3, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB011069 3041 { 4, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB0005F7 3042 { 5, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3043 { 7, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB0005FD 3044 { 8, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3045 { 10, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A00DEFA 3046 { 13, 0xe08f1f69, 0xfdffffff }, // add:6:0xE28F1F69 3047 { 14, 0xe1a00020, 0xfdffffff }, // mov:6:0xE3A00020 3048 { 15, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB01105D 3049 { 16, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB0005EB 3050 { 17, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3051 { 19, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB0005F1 3052 { 20, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3053 { 22, 0xe1a02002, 0xfdffffff }, // mov:6:0xE3A02002 3054 { 23, 0xe59f1154, 0xfdffffff }, // ldr:4:0xE59F1154 3055 { 24, 0xe1a000cf, 0xfdffffff }, // mov:6:0xE3A000CF 3056 { 25, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB011B5F 3057 { 26, 0xe1100001, 0xfdffffff }, // tst:7:0xE3100001 3058 { 27, 0x159f1190, 0xfdffffff }, // ldr:4:0x159F1190 3059 { 28, 0x151f0fdc, 0xfdffffff }, // ldr:4:0x151F0FDC 3060 { 29, 0x1b000000, 0xff000000 }, // b, bl:3:0x1BFFD769 3061 { 31, 0xea000000, 0xff000000 }, // b, bl:3:0xEA00DEDB 3062 { -1, -1, -1 }, 3063 /* 24/32 */ 3064 }; 3065 3066 static FuncSig func_sig_FreeMemory_2[] = { 3067 { 0, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 3068 { 1, 0xea000000, 0xff000000 }, // b, bl:3:0xEAF80564 3069 { 2, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 3070 { 3, 0xea000000, 0xff000000 }, // b, bl:3:0xEAF80561 3071 { 4, 0xe5801000, 0xfdffffff }, // str:4:0xE5801000 3072 { 10, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 3073 { 17, 0xe1a00000, 0xfdffffff }, // mov:6:0xE3A00000 3074 { 18, 0xe58d0000, 0xfdffffff }, // str:4:0xE58D0000 3075 { 19, 0xe040087f, 0xfdffffff }, // sub:6:0xE240087F 3076 { 20, 0xe1a0100d, 0xfdffffff }, // mov:6:0xE1A0100D 3077 { 21, 0xe1a02004, 0xfdffffff }, // mov:6:0xE3A02004 3078 { 22, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFC5F73 3079 { 25, 0xe1a0000d, 0xfdffffff }, // mov:6:0xE1A0000D 3080 { 26, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBF8061F 3081 { 27, 0xe59d0000, 0xfdffffff }, // ldr:4:0xE59D0000 3082 { 30, 0xe5905000, 0xfdffffff }, // ldr:4:0xE5905000 3083 { 31, 0xe04dd01c, 0xfdffffff }, // sub:6:0xE24DD01C 3084 { -1, -1, -1 }, 3085 /* 17/32 */ 3086 }; 3087 3088 static FuncSig func_sig_GetBatteryTemperature_2[] = { 3089 { 1, 0xe59f40d8, 0xfdffffff }, // ldr:4:0xE59F40D8 3090 { 2, 0xe5940008, 0xfdffffff }, // ldr:4:0xE5940008 3091 { 3, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3092 { 4, 0x059f10f0, 0xfdffffff }, // ldr:4:0x059F10F0 3093 { 5, 0x008f00d8, 0xfdffffff }, // add:6:0x028F00D8 3094 { 6, 0x0b000000, 0xff000000 }, // b, bl:3:0x0BFF5AE1 3095 { 7, 0xe594000c, 0xfdffffff }, // ldr:4:0xE594000C 3096 { 9, 0xe1510000, 0xfdffffff }, // cmp:7:0xE3510000 3097 { 11, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A00000F 3098 { 12, 0xe1510001, 0xfdffffff }, // cmp:7:0xE3510001 3099 { 14, 0x0a000000, 0xff000000 }, // b, bl:3:0x0AFFFFD4 3100 { 15, 0xe5900010, 0xfdffffff }, // ldr:4:0xE5900010 3101 { 16, 0xe1500002, 0xfdffffff }, // cmp:7:0xE3500002 3102 { 17, 0x059f10c0, 0xfdffffff }, // ldr:4:0x059F10C0 3103 { 18, 0x008f00a4, 0xfdffffff }, // add:6:0x028F00A4 3104 { 19, 0x0b000000, 0xff000000 }, // b, bl:3:0x0BFF5AD4 3105 { 20, 0xe594100c, 0xfdffffff }, // ldr:4:0xE594100C 3106 { 22, 0xe5911010, 0xfdffffff }, // ldr:4:0xE5911010 3107 { 23, 0xe59f20a0, 0xfdffffff }, // ldr:4:0xE59F20A0 3108 { 24, 0xe0811181, 0xfdffffff }, // add:6:0xE0811181 3109 { 26, 0xe0821201, 0xfdffffff }, // add:6:0xE0821201 3110 { 27, 0xea000000, 0xff000000 }, // b, bl:3:0xEAFFFFAD 3111 { 29, 0xe59f4068, 0xfdffffff }, // ldr:4:0xE59F4068 3112 { 30, 0xe5940008, 0xfdffffff }, // ldr:4:0xE5940008 3113 { 31, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3114 { -1, -1, -1 }, 3115 /* 25/32 */ 3116 }; 3117 3118 static FuncSig func_sig_GetCCDTemperature_2[] = { 3119 { 1, 0xe59f4148, 0xfdffffff }, // ldr:4:0xE59F4148 3120 { 2, 0xe5940008, 0xfdffffff }, // ldr:4:0xE5940008 3121 { 3, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3122 { 4, 0x01a010fa, 0xfdffffff }, // mov:6:0x03A010FA 3123 { 5, 0x008f0f52, 0xfdffffff }, // add:6:0x028F0F52 3124 { 6, 0x0b000000, 0xff000000 }, // b, bl:3:0x0BFF5AFD 3125 { 7, 0xe594000c, 0xfdffffff }, // ldr:4:0xE594000C 3126 { 9, 0xe1510000, 0xfdffffff }, // cmp:7:0xE3510000 3127 { 11, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A00002B 3128 { 12, 0xe1510001, 0xfdffffff }, // cmp:7:0xE3510001 3129 { 14, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A00000C 3130 { 15, 0xe5900008, 0xfdffffff }, // ldr:4:0xE5900008 3131 { 16, 0xe1500002, 0xfdffffff }, // cmp:7:0xE3500002 3132 { 17, 0x01a010ff, 0xfdffffff }, // mov:6:0x03A010FF 3133 { 18, 0x008f0f45, 0xfdffffff }, // add:6:0x028F0F45 3134 { 19, 0x0b000000, 0xff000000 }, // b, bl:3:0x0BFF5AF0 3135 { 20, 0xe594100c, 0xfdffffff }, // ldr:4:0xE594100C 3136 { 22, 0xe5911008, 0xfdffffff }, // ldr:4:0xE5911008 3137 { 23, 0xe59f2110, 0xfdffffff }, // ldr:4:0xE59F2110 3138 { 24, 0xe0811181, 0xfdffffff }, // add:6:0xE0811181 3139 { 26, 0xe0821201, 0xfdffffff }, // add:6:0xE0821201 3140 { 27, 0xea000000, 0xff000000 }, // b, bl:3:0xEAFFFFC9 3141 { 29, 0xe59f40d8, 0xfdffffff }, // ldr:4:0xE59F40D8 3142 { 30, 0xe5940008, 0xfdffffff }, // ldr:4:0xE5940008 3143 { 31, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3144 { -1, -1, -1 }, 3145 /* 25/32 */ 3146 }; 3147 3148 static FuncSig func_sig_GetCurrentAvValue_2[] = { 3149 { 1, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB03B1EB 3150 { 2, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 3151 { 3, 0xe51f00ac, 0xfdffffff }, // ldr:4:0xE51F00AC 3152 { 4, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 3153 { 5, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3154 { 6, 0x01a010be, 0xfdffffff }, // mov:6:0x03A010BE 3155 { 7, 0x004f00b8, 0xfdffffff }, // sub:6:0x024F00B8 3156 { 8, 0x0b000000, 0xff000000 }, // b, bl:3:0x0BFBBE5C 3157 { 9, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB0003E1 3158 { 10, 0xe0804004, 0xfdffffff }, // add:6:0xE0804004 3159 { 11, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB000B5C 3160 { 12, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB03B1B1 3161 { 13, 0xe0800004, 0xfdffffff }, // add:6:0xE0800004 3162 { 14, 0xe1a00800, 0xfdffffff }, // mov:6:0xE1A00800 3163 { 15, 0xe1a00840, 0xfdffffff }, // mov:6:0xE1A00840 3164 { 18, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 3165 { 19, 0xe51f00ec, 0xfdffffff }, // ldr:4:0xE51F00EC 3166 { 20, 0xe1a05001, 0xfdffffff }, // mov:6:0xE1A05001 3167 { 21, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 3168 { 22, 0xe1a06002, 0xfdffffff }, // mov:6:0xE1A06002 3169 { 23, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3170 { 24, 0x01a010cc, 0xfdffffff }, // mov:6:0x03A010CC 3171 { 25, 0x004f0c01, 0xfdffffff }, // sub:6:0x024F0C01 3172 { 26, 0x0b000000, 0xff000000 }, // b, bl:3:0x0BFBBE4A 3173 { 27, 0xe1a02006, 0xfdffffff }, // mov:6:0xE1A02006 3174 { 28, 0xe1a0100d, 0xfdffffff }, // mov:6:0xE1A0100D 3175 { 29, 0xe08d0004, 0xfdffffff }, // add:6:0xE28D0004 3176 { 30, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB03B1A8 3177 { 31, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB000B48 3178 { -1, -1, -1 }, 3179 /* 29/32 */ 3180 }; 3181 3182 static FuncSig func_sig_GetDrive_ClusterSize_2[] = { 3183 { 0, 0xe1500001, 0xfdffffff }, // cmp:7:0xE3500001 3184 { 2, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 3185 { 3, 0xa59f02a0, 0xfdffffff }, // ldr:4:0xA59F02A0 3186 { 4, 0xa1a01e57, 0xfdffffff }, // mov:6:0xA3A01E57 3187 { 5, 0xab000000, 0xff000000 }, // b, bl:3:0xABFF3332 3188 { 6, 0xe1a00017, 0xfdffffff }, // mov:6:0xE3A00017 3189 { 7, 0xe51f181c, 0xfdffffff }, // ldr:4:0xE51F181C 3190 { 8, 0xe0000094, 0xfdffffff }, // and:6:0xE0000094 mul:11:0xE0000094 3191 { 9, 0xe0810100, 0xfdffffff }, // add:6:0xE0810100 3192 { 10, 0xe5900054, 0xfdffffff }, // ldr:4:0xE5900054 3193 { 12, 0xea000000, 0xff000000 }, // b, bl:3:0xEA00095B 3194 { 13, 0xe1500001, 0xfdffffff }, // cmp:7:0xE3500001 3195 { 15, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 3196 { 16, 0xa59f026c, 0xfdffffff }, // ldr:4:0xA59F026C 3197 { 17, 0xa59f1290, 0xfdffffff }, // ldr:4:0xA59F1290 3198 { 18, 0xab000000, 0xff000000 }, // b, bl:3:0xABFF3325 3199 { 19, 0xe1a00017, 0xfdffffff }, // mov:6:0xE3A00017 3200 { 20, 0xe51f1850, 0xfdffffff }, // ldr:4:0xE51F1850 3201 { 21, 0xe0000094, 0xfdffffff }, // and:6:0xE0000094 mul:11:0xE0000094 3202 { 22, 0xe0810100, 0xfdffffff }, // add:6:0xE0810100 3203 { 23, 0xe5900054, 0xfdffffff }, // ldr:4:0xE5900054 3204 { 25, 0xea000000, 0xff000000 }, // b, bl:3:0xEA000952 3205 { 26, 0xe1500001, 0xfdffffff }, // cmp:7:0xE3500001 3206 { 28, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 3207 { 29, 0xa59f0238, 0xfdffffff }, // ldr:4:0xA59F0238 3208 { 30, 0xa59f1260, 0xfdffffff }, // ldr:4:0xA59F1260 3209 { 31, 0xab000000, 0xff000000 }, // b, bl:3:0xABFF3318 3210 { -1, -1, -1 }, 3211 /* 29/32 */ 3212 }; 3213 3214 static FuncSig func_sig_GetDrive_FreeClusters_2[] = { 3215 { 0, 0xe1500001, 0xfdffffff }, // cmp:7:0xE3500001 3216 { 2, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 3217 { 3, 0xa59f0238, 0xfdffffff }, // ldr:4:0xA59F0238 3218 { 4, 0xa59f1260, 0xfdffffff }, // ldr:4:0xA59F1260 3219 { 5, 0xab000000, 0xff000000 }, // b, bl:3:0xABFF3318 3220 { 6, 0xe1a00017, 0xfdffffff }, // mov:6:0xE3A00017 3221 { 7, 0xe51f1884, 0xfdffffff }, // ldr:4:0xE51F1884 3222 { 8, 0xe0000094, 0xfdffffff }, // and:6:0xE0000094 mul:11:0xE0000094 3223 { 9, 0xe0810100, 0xfdffffff }, // add:6:0xE0810100 3224 { 10, 0xe5900054, 0xfdffffff }, // ldr:4:0xE5900054 3225 { 12, 0xea000000, 0xff000000 }, // b, bl:3:0xEA00094A 3226 { 13, 0xe1500001, 0xfdffffff }, // cmp:7:0xE3500001 3227 { 15, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 3228 { 16, 0xa59f1234, 0xfdffffff }, // ldr:4:0xA59F1234 3229 { 17, 0xa04f0d22, 0xfdffffff }, // sub:6:0xA24F0D22 3230 { 18, 0xab000000, 0xff000000 }, // b, bl:3:0xABFF330B 3231 { 19, 0xe1a00017, 0xfdffffff }, // mov:6:0xE3A00017 3232 { 20, 0xe51f18b8, 0xfdffffff }, // ldr:4:0xE51F18B8 3233 { 21, 0xe0000094, 0xfdffffff }, // and:6:0xE0000094 mul:11:0xE0000094 3234 { 22, 0xe0810100, 0xfdffffff }, // add:6:0xE0810100 3235 { 23, 0xe5900054, 0xfdffffff }, // ldr:4:0xE5900054 3236 { 25, 0xea000000, 0xff000000 }, // b, bl:3:0xEA000941 3237 { 26, 0xe1500001, 0xfdffffff }, // cmp:7:0xE3500001 3238 { 28, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 3239 { 29, 0xa59f01d0, 0xfdffffff }, // ldr:4:0xA59F01D0 3240 { 30, 0xa59f1200, 0xfdffffff }, // ldr:4:0xA59F1200 3241 { 31, 0xab000000, 0xff000000 }, // b, bl:3:0xABFF32FE 3242 { -1, -1, -1 }, 3243 /* 29/32 */ 3244 }; 3245 3246 static FuncSig func_sig_GetDrive_TotalClusters_2[] = { 3247 { 0, 0xe1500001, 0xfdffffff }, // cmp:7:0xE3500001 3248 { 2, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 3249 { 3, 0xa59f026c, 0xfdffffff }, // ldr:4:0xA59F026C 3250 { 4, 0xa59f1290, 0xfdffffff }, // ldr:4:0xA59F1290 3251 { 5, 0xab000000, 0xff000000 }, // b, bl:3:0xABFF3325 3252 { 6, 0xe1a00017, 0xfdffffff }, // mov:6:0xE3A00017 3253 { 7, 0xe51f1850, 0xfdffffff }, // ldr:4:0xE51F1850 3254 { 8, 0xe0000094, 0xfdffffff }, // and:6:0xE0000094 mul:11:0xE0000094 3255 { 9, 0xe0810100, 0xfdffffff }, // add:6:0xE0810100 3256 { 10, 0xe5900054, 0xfdffffff }, // ldr:4:0xE5900054 3257 { 12, 0xea000000, 0xff000000 }, // b, bl:3:0xEA000952 3258 { 13, 0xe1500001, 0xfdffffff }, // cmp:7:0xE3500001 3259 { 15, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 3260 { 16, 0xa59f0238, 0xfdffffff }, // ldr:4:0xA59F0238 3261 { 17, 0xa59f1260, 0xfdffffff }, // ldr:4:0xA59F1260 3262 { 18, 0xab000000, 0xff000000 }, // b, bl:3:0xABFF3318 3263 { 19, 0xe1a00017, 0xfdffffff }, // mov:6:0xE3A00017 3264 { 20, 0xe51f1884, 0xfdffffff }, // ldr:4:0xE51F1884 3265 { 21, 0xe0000094, 0xfdffffff }, // and:6:0xE0000094 mul:11:0xE0000094 3266 { 22, 0xe0810100, 0xfdffffff }, // add:6:0xE0810100 3267 { 23, 0xe5900054, 0xfdffffff }, // ldr:4:0xE5900054 3268 { 25, 0xea000000, 0xff000000 }, // b, bl:3:0xEA00094A 3269 { 26, 0xe1500001, 0xfdffffff }, // cmp:7:0xE3500001 3270 { 28, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 3271 { 29, 0xa59f1234, 0xfdffffff }, // ldr:4:0xA59F1234 3272 { 30, 0xa04f0d22, 0xfdffffff }, // sub:6:0xA24F0D22 3273 { 31, 0xab000000, 0xff000000 }, // b, bl:3:0xABFF330B 3274 { -1, -1, -1 }, 3275 /* 29/32 */ 3276 }; 3277 3278 static FuncSig func_sig_GetOpticalTemperature_2[] = { 3279 { 1, 0xe59f4068, 0xfdffffff }, // ldr:4:0xE59F4068 3280 { 2, 0xe5940008, 0xfdffffff }, // ldr:4:0xE5940008 3281 { 3, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3282 { 4, 0x01a010de, 0xfdffffff }, // mov:6:0x03A010DE 3283 { 5, 0x008f0068, 0xfdffffff }, // add:6:0x028F0068 3284 { 6, 0x0b000000, 0xff000000 }, // b, bl:3:0x0BFF5AC5 3285 { 7, 0xe594000c, 0xfdffffff }, // ldr:4:0xE594000C 3286 { 9, 0xe1510000, 0xfdffffff }, // cmp:7:0xE3510000 3287 { 10, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A00000C 3288 { 11, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 3289 { 12, 0xe1500002, 0xfdffffff }, // cmp:7:0xE3500002 3290 { 13, 0x01a010e0, 0xfdffffff }, // mov:6:0x03A010E0 3291 { 14, 0x008f0044, 0xfdffffff }, // add:6:0x028F0044 3292 { 15, 0x0b000000, 0xff000000 }, // b, bl:3:0x0BFF5ABC 3293 { 16, 0xe594100c, 0xfdffffff }, // ldr:4:0xE594100C 3294 { 18, 0xe5911000, 0xfdffffff }, // ldr:4:0xE5911000 3295 { 19, 0xe59f2040, 0xfdffffff }, // ldr:4:0xE59F2040 3296 { 20, 0xe0811181, 0xfdffffff }, // add:6:0xE0811181 3297 { 22, 0xe0821201, 0xfdffffff }, // add:6:0xE0821201 3298 { 23, 0xea000000, 0xff000000 }, // b, bl:3:0xEAFFFF95 3299 { 24, 0xe1510001, 0xfdffffff }, // cmp:7:0xE3510001 3300 { 26, 0x1a000000, 0xff000000 }, // b, bl:3:0x1AFFFFC8 3301 { 28, 0x0a000000, 0xff000000 }, // b, bl:3:0x0AFFFFAA 3302 { 29, 0x000026d8, 0xfdffffff }, // and:6:0x000026D8 3303 { 30, 0x70656854, 0xfdffffff }, // rsb:6:0x72656854 3304 { -1, -1, -1 }, 3305 /* 25/32 */ 3306 }; 3307 3308 static FuncSig func_sig_GetSystemTime_2[] = { 3309 { 1, 0xe1a0000d, 0xfdffffff }, // mov:6:0xE1A0000D 3310 { 2, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBF8061F 3311 { 3, 0xe59d0000, 0xfdffffff }, // ldr:4:0xE59D0000 3312 { 6, 0xe5905000, 0xfdffffff }, // ldr:4:0xE5905000 3313 { 7, 0xe04dd01c, 0xfdffffff }, // sub:6:0xE24DD01C 3314 { 8, 0xe0804004, 0xfdffffff }, // add:6:0xE2804004 3315 { 9, 0xe08d0008, 0xfdffffff }, // add:6:0xE28D0008 3316 { 10, 0xe1a01014, 0xfdffffff }, // mov:6:0xE3A01014 3317 { 11, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB01F745 3318 { 12, 0xe1550000, 0xfdffffff }, // cmp:7:0xE3550000 3319 { 13, 0x108d3008, 0xfdffffff }, // add:6:0x128D3008 3320 { 14, 0xe1a00000, 0xfdffffff }, // mov:6:0xE3A00000 3321 { 15, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A000004 3322 { 16, 0xe08f00ac, 0xfdffffff }, // add:6:0xE28F00AC 3323 { 17, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBF7A94A 3324 { 18, 0xe1a00001, 0xfdffffff }, // mov:6:0xE3A00001 3325 { 19, 0xe08dd01c, 0xfdffffff }, // add:6:0xE28DD01C 3326 { 21, 0xe0844004, 0xfdffffff }, // add:6:0xE2844004 3327 { 22, 0xe1a01000, 0xfdffffff }, // mov:6:0xE1A01000 3328 { 23, 0xe5142004, 0xfdffffff }, // ldr:4:0xE5142004 3329 { 24, 0xe0800001, 0xfdffffff }, // add:6:0xE2800001 3330 { 25, 0xe1500005, 0xfdffffff }, // cmp:7:0xE3500005 3331 { 26, 0xe5832101, 0xfdffffff }, // str:4:0xE7832101 3332 { 27, 0xba000000, 0xff000000 }, // b, bl:3:0xBAFFFFF8 3333 { 28, 0xe59d3018, 0xfdffffff }, // ldr:4:0xE59D3018 3334 { 29, 0xe58d3000, 0xfdffffff }, // str:4:0xE58D3000 3335 { 30, 0xe08d3008, 0xfdffffff }, // add:6:0xE28D3008 3336 { -1, -1, -1 }, 3337 /* 27/32 */ 3338 }; 3339 3340 static FuncSig func_sig_GetZoomLensCurrentPosition_2[] = { 3341 { 1, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB01E38F 3342 { 2, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3343 { 4, 0x0a000000, 0xff000000 }, // b, bl:3:0x0AFFFAA0 3344 { 6, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A01E38F 3345 { 7, 0xea000000, 0xff000000 }, // b, bl:3:0xEA01E3A9 3346 { 8, 0xe51f02d0, 0xfdffffff }, // ldr:4:0xE51F02D0 3347 { 11, 0xe51f02dc, 0xfdffffff }, // ldr:4:0xE51F02DC 3348 { 12, 0xe590102c, 0xfdffffff }, // ldr:4:0xE590102C 3349 { 13, 0xe5900028, 0xfdffffff }, // ldr:4:0xE5900028 3350 { 14, 0xe0410000, 0xfdffffff }, // sub:6:0xE0410000 3351 { 16, 0xe51f22f0, 0xfdffffff }, // ldr:4:0xE51F22F0 3352 { 17, 0xe1a01001, 0xfdffffff }, // mov:6:0xE3A01001 3353 { 18, 0xe5821008, 0xfdffffff }, // str:4:0xE5821008 3354 { 19, 0xe1a01000, 0xfdffffff }, // mov:6:0xE1A01000 3355 { 20, 0xe51f02ec, 0xfdffffff }, // ldr:4:0xE51F02EC 3356 { 21, 0xe1a0200c, 0xfdffffff }, // mov:6:0xE3A0200C 3357 { 22, 0xea000000, 0xff000000 }, // b, bl:3:0xEA021E93 3358 { 23, 0xe51f130c, 0xfdffffff }, // ldr:4:0xE51F130C 3359 { 24, 0xe1a00000, 0xfdffffff }, // mov:6:0xE3A00000 3360 { 25, 0xe5810008, 0xfdffffff }, // str:4:0xE5810008 3361 { 27, 0xe51f031c, 0xfdffffff }, // ldr:4:0xE51F031C 3362 { 28, 0xe5900014, 0xfdffffff }, // ldr:4:0xE5900014 3363 { 30, 0xe51f0328, 0xfdffffff }, // ldr:4:0xE51F0328 3364 { 31, 0xe590001c, 0xfdffffff }, // ldr:4:0xE590001C 3365 { -1, -1, -1 }, 3366 /* 24/32 */ 3367 }; 3368 3369 static FuncSig func_sig_SetPropertyCase_2[] = { 3370 { 1, 0xe51f4020, 0xfdffffff }, // ldr:4:0xE51F4020 3371 { 2, 0xe1a05000, 0xfdffffff }, // mov:6:0xE1A05000 3372 { 3, 0xe5940000, 0xfdffffff }, // ldr:4:0xE5940000 3373 { 4, 0xe1a06001, 0xfdffffff }, // mov:6:0xE1A06001 3374 { 5, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3375 { 6, 0x059f1908, 0xfdffffff }, // ldr:4:0x059F1908 3376 { 7, 0x004f0034, 0xfdffffff }, // sub:6:0x024F0034 3377 { 8, 0xe1a07002, 0xfdffffff }, // mov:6:0xE1A07002 3378 { 9, 0x0b000000, 0xff000000 }, // b, bl:3:0x0BFEBC43 3379 { 10, 0xe5940008, 0xfdffffff }, // ldr:4:0xE5940008 3380 { 11, 0xe59f38f8, 0xfdffffff }, // ldr:4:0xE59F38F8 3381 { 12, 0xe59f18f8, 0xfdffffff }, // ldr:4:0xE59F18F8 3382 { 13, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 3383 { 14, 0xe04f2050, 0xfdffffff }, // sub:6:0xE24F2050 3384 { 15, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFEBBF7 3385 { 16, 0xe5940008, 0xfdffffff }, // ldr:4:0xE5940008 3386 { 17, 0xe1a03007, 0xfdffffff }, // mov:6:0xE1A03007 3387 { 18, 0xe1a02006, 0xfdffffff }, // mov:6:0xE1A02006 3388 { 19, 0xe1a01005, 0xfdffffff }, // mov:6:0xE1A01005 3389 { 20, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFF87 3390 { 21, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3391 { 22, 0x159f18d4, 0xfdffffff }, // ldr:4:0x159F18D4 3392 { 23, 0x104f0074, 0xfdffffff }, // sub:6:0x124F0074 3393 { 24, 0x1b000000, 0xff000000 }, // b, bl:3:0x1BFEBC34 3394 { 25, 0xe5940008, 0xfdffffff }, // ldr:4:0xE5940008 3395 { 26, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 3396 { 28, 0xea000000, 0xff000000 }, // b, bl:3:0xEAFEBAD3 3397 { 29, 0xe1a0c000, 0xfdffffff }, // mov:6:0xE1A0C000 3398 { 30, 0xe1a00002, 0xfdffffff }, // mov:6:0xE1A00002 3399 { 31, 0xe1510e12, 0xfdffffff }, // cmp:7:0xE3510E12 3400 { -1, -1, -1 }, 3401 /* 30/32 */ 3402 }; 3403 3404 static FuncSig func_sig_kbd_pwr_off_2[] = { 3405 { 0, 0xe1a00000, 0xfdffffff }, // mov:6:0xE3A00000 3406 { 1, 0xea000000, 0xff000000 }, // b, bl:3:0xEAFFFEC5 3407 { 2, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 3408 { 3, 0xe0000001, 0xfdffffff }, // and:6:0xE2000001 3409 { 5, 0xe5801000, 0xfdffffff }, // str:4:0xE5801000 3410 { 7, 0xe59f107c, 0xfdffffff }, // ldr:4:0xE59F107C 3411 { 8, 0xe1a00020, 0xfdffffff }, // mov:6:0xE3A00020 3412 { 9, 0xe581001c, 0xfdffffff }, // str:4:0xE581001C 3413 { 10, 0xe5810024, 0xfdffffff }, // str:4:0xE5810024 3414 { 14, 0xe1a05000, 0xfdffffff }, // mov:6:0xE1A05000 3415 { 15, 0xe59f0044, 0xfdffffff }, // ldr:4:0xE59F0044 3416 { 16, 0xe1a04000, 0xfdffffff }, // mov:6:0xE3A04000 3417 { 17, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 3418 { 18, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3419 { 19, 0x11a010d4, 0xfdffffff }, // mov:6:0x13A010D4 3420 { 20, 0x108f0038, 0xfdffffff }, // add:6:0x128F0038 3421 { 21, 0x1b000000, 0xff000000 }, // b, bl:3:0x1BFF64B5 3422 { 22, 0xe59f0040, 0xfdffffff }, // ldr:4:0xE59F0040 3423 { 23, 0xe1550000, 0xfdffffff }, // cmp:7:0xE3550000 3424 { 24, 0x0590401c, 0xfdffffff }, // ldr:4:0x0590401C 3425 { 25, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A000005 3426 { 26, 0xe1550001, 0xfdffffff }, // cmp:7:0xE3550001 3427 { 27, 0x05904024, 0xfdffffff }, // ldr:4:0x05904024 3428 { 28, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A000002 3429 { 29, 0xe1a010e5, 0xfdffffff }, // mov:6:0xE3A010E5 3430 { 30, 0xe08f0010, 0xfdffffff }, // add:6:0xE28F0010 3431 { 31, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFF64AB 3432 { -1, -1, -1 }, 3433 /* 27/32 */ 3434 }; 3435 3436 static FuncSig func_sig_kbd_pwr_on_2[] = { 3437 { 1, 0xe1a00020, 0xfdffffff }, // mov:6:0xE3A00020 3438 { 2, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFED8 3439 { 3, 0xe04f2020, 0xfdffffff }, // sub:6:0xE24F2020 3440 { 4, 0xe0821000, 0xfdffffff }, // add:6:0xE2821000 3441 { 5, 0xe1a03000, 0xfdffffff }, // mov:6:0xE3A03000 3442 { 6, 0xe1a0000a, 0xfdffffff }, // mov:6:0xE3A0000A 3443 { 7, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB0096D6 3444 { 8, 0xe1100001, 0xfdffffff }, // tst:7:0xE3100001 3445 { 9, 0x11500015, 0xfdffffff }, // cmp:7:0x13500015 3446 { 10, 0x11a010f9, 0xfdffffff }, // mov:6:0x13A010F9 3447 { 11, 0x108f00ac, 0xfdffffff }, // add:6:0x128F00AC 3448 { 12, 0x1b000000, 0xff000000 }, // b, bl:3:0x1BFF64D2 3449 { 13, 0xe59f009c, 0xfdffffff }, // ldr:4:0xE59F009C 3450 { 14, 0xe59f10ac, 0xfdffffff }, // ldr:4:0xE59F10AC 3451 { 15, 0xe5900004, 0xfdffffff }, // ldr:4:0xE5900004 3452 { 17, 0xe1a030fa, 0xfdffffff }, // mov:6:0xE3A030FA 3453 { 18, 0xe08f2090, 0xfdffffff }, // add:6:0xE28F2090 3454 { 19, 0xea000000, 0xff000000 }, // b, bl:3:0xEAFF6485 3455 { 20, 0xe1a00000, 0xfdffffff }, // mov:6:0xE3A00000 3456 { 21, 0xea000000, 0xff000000 }, // b, bl:3:0xEAFFFEC5 3457 { 22, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 3458 { 23, 0xe0000001, 0xfdffffff }, // and:6:0xE2000001 3459 { 25, 0xe5801000, 0xfdffffff }, // str:4:0xE5801000 3460 { 27, 0xe59f107c, 0xfdffffff }, // ldr:4:0xE59F107C 3461 { 28, 0xe1a00020, 0xfdffffff }, // mov:6:0xE3A00020 3462 { 29, 0xe581001c, 0xfdffffff }, // str:4:0xE581001C 3463 { 30, 0xe5810024, 0xfdffffff }, // str:4:0xE5810024 3464 { -1, -1, -1 }, 3465 /* 27/32 */ 3466 }; 3467 3468 static FuncSig func_sig_strchr_2[] = { 3469 { 0, 0xe00120ff, 0xfdffffff }, // and:6:0xE20120FF 3470 { 2, 0xe1510002, 0xfdffffff }, // cmp:7:0xE1510002 3471 { 4, 0xe1510000, 0xfdffffff }, // cmp:7:0xE3510000 3472 { 5, 0xe0800001, 0xfdffffff }, // add:6:0xE2800001 3473 { 6, 0x1a000000, 0xff000000 }, // b, bl:3:0x1AFFFFF9 3474 { 7, 0xe1a00000, 0xfdffffff }, // mov:6:0xE3A00000 3475 { 9, 0xe1a02000, 0xfdffffff }, // mov:6:0xE3A02000 3476 { 10, 0xe00130ff, 0xfdffffff }, // and:6:0xE20130FF 3477 { 12, 0xe1510003, 0xfdffffff }, // cmp:7:0xE1510003 3478 { 13, 0x01a02000, 0xfdffffff }, // mov:6:0x01A02000 3479 { 14, 0xe1510000, 0xfdffffff }, // cmp:7:0xE3510000 3480 { 15, 0xe0800001, 0xfdffffff }, // add:6:0xE2800001 3481 { 16, 0x1a000000, 0xff000000 }, // b, bl:3:0x1AFFFFF9 3482 { 17, 0xe1a00002, 0xfdffffff }, // mov:6:0xE1A00002 3483 { 19, 0xe1a03000, 0xfdffffff }, // mov:6:0xE1A03000 3484 { 20, 0xe52de004, 0xfdffffff }, // str:4:0xE52DE004 3485 { 21, 0xea000000, 0xff000000 }, // b, bl:3:0xEA000006 3486 { 22, 0xe1a02001, 0xfdffffff }, // mov:6:0xE1A02001 3487 { 23, 0xea000000, 0xff000000 }, // b, bl:3:0xEA000001 3488 { 24, 0xe15c0000, 0xfdffffff }, // cmp:7:0xE35C0000 3489 { 25, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A000005 3490 { 27, 0xe15c000e, 0xfdffffff }, // cmp:7:0xE15C000E 3491 { 28, 0x1a000000, 0xff000000 }, // b, bl:3:0x1AFFFFFA 3492 { 30, 0xe15e0000, 0xfdffffff }, // cmp:7:0xE35E0000 3493 { 31, 0x1a000000, 0xff000000 }, // b, bl:3:0x1AFFFFF5 3494 { -1, -1, -1 }, 3495 /* 25/32 */ 3496 }; 3497 3498 static FuncSig func_sig_strcpy_2[] = { 3499 { 0, 0xe1a02000, 0xfdffffff }, // mov:6:0xE1A02000 3500 { 2, 0xe1530000, 0xfdffffff }, // cmp:7:0xE3530000 3501 { 4, 0x1a000000, 0xff000000 }, // b, bl:3:0x1AFFFFFB 3502 { 6, 0xea000000, 0xff000000 }, // b, bl:3:0xEA000008 3503 { 8, 0xe1520003, 0xfdffffff }, // cmp:7:0xE1520003 3504 { 9, 0x00800001, 0xfdffffff }, // add:6:0x02800001 3505 { 10, 0x00811001, 0xfdffffff }, // add:6:0x02811001 3506 { 11, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A000003 3507 { 14, 0xe0400001, 0xfdffffff }, // sub:6:0xE0400001 3508 { 17, 0xe1520000, 0xfdffffff }, // cmp:7:0xE3520000 3509 { 19, 0x01530000, 0xfdffffff }, // cmp:7:0x03530000 3510 { 20, 0x1a000000, 0xff000000 }, // b, bl:3:0x1AFFFFF1 3511 { 21, 0xe1a00000, 0xfdffffff }, // mov:6:0xE3A00000 3512 { 23, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3513 { 25, 0xe1a01000, 0xfdffffff }, // mov:6:0xE1A01000 3514 { 27, 0xe1520000, 0xfdffffff }, // cmp:7:0xE3520000 3515 { 28, 0x10811001, 0xfdffffff }, // add:6:0x12811001 3516 { 29, 0x1a000000, 0xff000000 }, // b, bl:3:0x1AFFFFFB 3517 { 30, 0xe0410000, 0xfdffffff }, // sub:6:0xE0410000 3518 { -1, -1, -1 }, 3519 /* 19/32 */ 3520 }; 3521 3522 static FuncSig func_sig_strncpy_2[] = { 3523 { 0, 0xe1a03000, 0xfdffffff }, // mov:6:0xE1A03000 3524 { 1, 0xea000000, 0xff000000 }, // b, bl:3:0xEA000009 3525 { 3, 0xe15c0000, 0xfdffffff }, // cmp:7:0xE35C0000 3526 { 5, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A000005 3527 { 6, 0xe1a01000, 0xfdffffff }, // mov:6:0xE3A01000 3528 { 7, 0xe0422001, 0xfdffffff }, // sub:6:0xE2422001 3529 { 10, 0x1a000000, 0xff000000 }, // b, bl:3:0x1AFFFFFB 3530 { 12, 0xe0522001, 0xfdffffff }, // sub:6:0xE2522001 3531 { 13, 0x2a000000, 0xff000000 }, // b, bl:3:0x2AFFFFF3 3532 { 16, 0xe1b09001, 0xfdffffff }, // mov:6:0xE1B09001 3533 { 17, 0xe1a0b000, 0xfdffffff }, // mov:6:0xE1A0B000 3534 { 18, 0xe59f11f8, 0xfdffffff }, // ldr:4:0xE59F11F8 3535 { 19, 0xe04dd004, 0xfdffffff }, // sub:6:0xE24DD004 3536 { 20, 0xe1a0400b, 0xfdffffff }, // mov:6:0xE1A0400B 3537 { 21, 0xe1a0a001, 0xfdffffff }, // mov:6:0xE3A0A001 3538 { 22, 0xe1a08000, 0xfdffffff }, // mov:6:0xE3A08000 3539 { 23, 0xe1a06002, 0xfdffffff }, // mov:6:0xE1A06002 3540 { 24, 0xe1a05000, 0xfdffffff }, // mov:6:0xE3A05000 3541 { 25, 0x1589b000, 0xfdffffff }, // str:4:0x1589B000 3542 { 28, 0xe1100040, 0xfdffffff }, // tst:7:0xE3100040 3543 { 29, 0x10844001, 0xfdffffff }, // add:6:0x12844001 3544 { 30, 0x1a000000, 0xff000000 }, // b, bl:3:0x1AFFFFFA 3545 { -1, -1, -1 }, 3546 /* 22/32 */ 3547 }; 3548 3549 static FuncSig func_sig_time_2[] = { 3550 { 1, 0xe1a05000, 0xfdffffff }, // mov:6:0xE1A05000 3551 { 2, 0xe51f40c8, 0xfdffffff }, // ldr:4:0xE51F40C8 3552 { 4, 0xe58d0000, 0xfdffffff }, // str:4:0xE58D0000 3553 { 5, 0xe5940000, 0xfdffffff }, // ldr:4:0xE5940000 3554 { 6, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3555 { 7, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A000007 3556 { 8, 0xe1a01001, 0xfdffffff }, // mov:6:0xE3A01001 3557 { 9, 0xe1a00000, 0xfdffffff }, // mov:6:0xE3A00000 3558 { 10, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFED224 3559 { 11, 0xe1100001, 0xfdffffff }, // tst:7:0xE3100001 3560 { 12, 0xe5840000, 0xfdffffff }, // str:4:0xE5840000 3561 { 13, 0x159f12cc, 0xfdffffff }, // ldr:4:0x159F12CC 3562 { 14, 0x104f00f0, 0xfdffffff }, // sub:6:0x124F00F0 3563 { 15, 0x1b000000, 0xff000000 }, // b, bl:3:0x1BFED40B 3564 { 16, 0xe5940000, 0xfdffffff }, // ldr:4:0xE5940000 3565 { 17, 0xe1a01000, 0xfdffffff }, // mov:6:0xE3A01000 3566 { 18, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFED277 3567 { 19, 0xe1a0000d, 0xfdffffff }, // mov:6:0xE1A0000D 3568 { 20, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFF05A2 3569 { 21, 0xe1a02001, 0xfdffffff }, // mov:6:0xE3A02001 3570 { 22, 0xe1a01000, 0xfdffffff }, // mov:6:0xE3A01000 3571 { 23, 0xe1a0000d, 0xfdffffff }, // mov:6:0xE1A0000D 3572 { 24, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFFBE 3573 { 25, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 3574 { 26, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A000009 3575 { 27, 0xe594000c, 0xfdffffff }, // ldr:4:0xE594000C 3576 { 28, 0xe5941010, 0xfdffffff }, // ldr:4:0xE5941010 3577 { 29, 0xe1a02000, 0xfdffffff }, // mov:6:0xE3A02000 3578 { 30, 0xe0800001, 0xfdffffff }, // add:6:0xE0800001 3579 { 31, 0xe59d1000, 0xfdffffff }, // ldr:4:0xE59D1000 3580 { -1, -1, -1 }, 3581 /* 30/32 */ 3582 }; 3583 2956 3584 FuncsList func_list[] = { 2957 3585 { "AllocateMemory", func_sig_AllocateMemory_1 }, 3586 { "AllocateMemory", func_sig_AllocateMemory_2 }, 2958 3587 { "AllocateUncacheableMemory", func_sig_AllocateUncacheableMemory_1 }, 2959 3588 { "Close", func_sig_Close_1 }, 2960 3589 { "CreateTask", func_sig_CreateTask_1 }, 2961 3590 { "DeleteFile_Fut", func_sig_DeleteFile_Fut_1 }, 3591 { "EnterToCompensationEVF", func_sig_EnterToCompensationEVF_2 }, 2962 3592 { "ExecuteEventProcedure", func_sig_ExecuteEventProcedure_1 }, 3593 { "ExecuteEventProcedure", func_sig_ExecuteEventProcedure_2 }, 3594 { "ExitFromCompensationEVF", func_sig_ExitFromCompensationEVF_2 }, 2963 3595 { "ExitTask", func_sig_ExitTask_1 }, 2964 3596 { "Fclose_Fut", func_sig_Fclose_Fut_1 }, … … 2969 3601 { "Fread_Fut", func_sig_Fread_Fut_1 }, 2970 3602 { "FreeMemory", func_sig_FreeMemory_1 }, 3603 { "FreeMemory", func_sig_FreeMemory_2 }, 2971 3604 { "FreeUncacheableMemory", func_sig_FreeUncacheableMemory_1 }, 2972 3605 { "Fseek_Fut", func_sig_Fseek_Fut_1 }, 2973 3606 { "Fwrite_Fut", func_sig_Fwrite_Fut_1 }, 3607 { "GetBatteryTemperature", func_sig_GetBatteryTemperature_2 }, 3608 { "GetCCDTemperature", func_sig_GetCCDTemperature_2 }, 2974 3609 { "GetCurrentAvValue", func_sig_GetCurrentAvValue_1 }, 3610 { "GetCurrentAvValue", func_sig_GetCurrentAvValue_2 }, 2975 3611 { "GetCurrentTargetDistance", func_sig_GetCurrentTargetDistance_1 }, 2976 3612 { "GetDrive_ClusterSize", func_sig_GetDrive_ClusterSize_1 }, 3613 { "GetDrive_ClusterSize", func_sig_GetDrive_ClusterSize_2 }, 2977 3614 { "GetDrive_FreeClusters", func_sig_GetDrive_FreeClusters_1 }, 3615 { "GetDrive_FreeClusters", func_sig_GetDrive_FreeClusters_2 }, 2978 3616 { "GetDrive_TotalClusters", func_sig_GetDrive_TotalClusters_1 }, 3617 { "GetDrive_TotalClusters", func_sig_GetDrive_TotalClusters_2 }, 2979 3618 { "GetFocusLensSubjectDistance", func_sig_GetFocusLensSubjectDistance_1 }, 3619 { "GetOpticalTemperature", func_sig_GetOpticalTemperature_2 }, 2980 3620 { "GetParameterData", func_sig_GetParameterData_1 }, 2981 3621 { "GetPropertyCase", func_sig_GetPropertyCase_1 }, 2982 3622 { "GetSystemTime", func_sig_GetSystemTime_1 }, 3623 { "GetSystemTime", func_sig_GetSystemTime_2 }, 2983 3624 { "GetZoomLensCurrentPoint", func_sig_GetZoomLensCurrentPoint_1 }, 2984 3625 { "GetZoomLensCurrentPosition", func_sig_GetZoomLensCurrentPosition_1 }, 3626 { "GetZoomLensCurrentPosition", func_sig_GetZoomLensCurrentPosition_2 }, 2985 3627 { "IsStrobeChargeCompleted", func_sig_IsStrobeChargeCompleted_1 }, 2986 3628 { "LocalTime", func_sig_LocalTime_1 }, … … 3001 3643 { "SetParameterData", func_sig_SetParameterData_1 }, 3002 3644 { "SetPropertyCase", func_sig_SetPropertyCase_1 }, 3645 { "SetPropertyCase", func_sig_SetPropertyCase_2 }, 3003 3646 { "SleepTask", func_sig_SleepTask_1 }, 3004 3647 { "TakeSemaphore", func_sig_TakeSemaphore_1 }, … … 3020 3663 { "kbd_p2_f", func_sig_kbd_p2_f_1 }, 3021 3664 { "kbd_pwr_off", func_sig_kbd_pwr_off_1 }, 3665 { "kbd_pwr_off", func_sig_kbd_pwr_off_2 }, 3022 3666 { "kbd_pwr_on", func_sig_kbd_pwr_on_1 }, 3667 { "kbd_pwr_on", func_sig_kbd_pwr_on_2 }, 3023 3668 { "kbd_read_keys", func_sig_kbd_read_keys_1 }, 3024 3669 { "kbd_read_keys_r2", func_sig_kbd_read_keys_r2_1 }, … … 3042 3687 { "strcat", func_sig_strcat_1 }, 3043 3688 { "strchr", func_sig_strchr_1 }, 3689 { "strchr", func_sig_strchr_2 }, 3044 3690 { "strcmp", func_sig_strcmp_1 }, 3045 3691 { "strcpy", func_sig_strcpy_1 }, 3692 { "strcpy", func_sig_strcpy_2 }, 3046 3693 { "strftime", func_sig_strftime_1 }, 3047 3694 { "strlen", func_sig_strlen_1 }, 3048 3695 { "strncmp", func_sig_strncmp_1 }, 3049 3696 { "strncpy", func_sig_strncpy_1 }, 3697 { "strncpy", func_sig_strncpy_2 }, 3050 3698 { "strrchr", func_sig_strrchr_1 }, 3051 3699 { "strtol", func_sig_strtol_1 }, 3052 3700 { "time", func_sig_time_1 }, 3701 { "time", func_sig_time_2 }, 3053 3702 { "vsprintf", func_sig_vsprintf_1 }, 3054 3703 { "write", func_sig_write_1 }, -
trunk/version.inc
r564 r569 1 BUILD_NUMBER := 0.7. 51 BUILD_NUMBER := 0.7.6
Note: See TracChangeset
for help on using the changeset viewer.