Changeset 1356 for branches/philmoz
- Timestamp:
- 10/09/11 04:22:43 (20 months ago)
- Location:
- branches/philmoz
- Files:
-
- 106 edited
- 16 copied
-
. (modified) (1 prop)
-
CHDK/LANG/english.lng (modified) (1 diff)
-
CHDK/LANG/ukrainian.lng (modified) (25 diffs)
-
CHDK/SCRIPTS/4Pack (copied) (copied from trunk/CHDK/SCRIPTS/4Pack)
-
CHDK/SCRIPTS/4Pack/Lua (copied) (copied from trunk/CHDK/SCRIPTS/4Pack/Lua)
-
CHDK/SCRIPTS/4Pack/uBasic (copied) (copied from trunk/CHDK/SCRIPTS/4Pack/uBasic)
-
CHDK/SCRIPTS/EDITOR (copied) (copied from trunk/CHDK/SCRIPTS/EDITOR)
-
Makefile (modified) (3 diffs)
-
core/conf.c (modified) (1 diff)
-
core/console.c (modified) (1 diff)
-
core/gui.c (modified) (42 diffs)
-
core/gui_batt.c (modified) (2 diffs)
-
core/gui_draw.c (modified) (2 diffs)
-
core/gui_draw.h (modified) (6 diffs)
-
core/gui_menu.c (modified) (5 diffs)
-
core/gui_menu.h (modified) (3 diffs)
-
core/gui_space.c (modified) (2 diffs)
-
core/luascript.c (modified) (2 diffs)
-
include/camera.h (modified) (1 diff)
-
include/conf.h (modified) (2 diffs)
-
lib/ubasic/camera_functions.c (modified) (1 diff)
-
lib/ubasic/tokenizer.c (modified) (2 diffs)
-
lib/ubasic/tokenizer.h (modified) (1 diff)
-
lib/ubasic/ubasic.c (modified) (5 diffs)
-
makefile.inc (modified) (1 diff)
-
platform/a1100/kbd.c (modified) (1 diff)
-
platform/a2000/kbd.c (modified) (1 diff)
-
platform/a410/kbd.c (modified) (1 diff)
-
platform/a430/kbd.c (modified) (1 diff)
-
platform/a450/kbd.c (modified) (1 diff)
-
platform/a460/kbd.c (modified) (1 diff)
-
platform/a470/kbd.c (modified) (1 diff)
-
platform/a480/kbd.c (modified) (1 diff)
-
platform/a490/kbd.c (modified) (1 diff)
-
platform/a490/sub/100d (copied) (copied from trunk/platform/a490/sub/100d)
-
platform/a490/sub/100d/Makefile (copied) (copied from trunk/platform/a490/sub/100d/Makefile)
-
platform/a490/sub/100d/boot.c (copied) (copied from trunk/platform/a490/sub/100d/boot.c)
-
platform/a490/sub/100d/capt_seq.c (copied) (copied from trunk/platform/a490/sub/100d/capt_seq.c)
-
platform/a490/sub/100d/lib.c (copied) (copied from trunk/platform/a490/sub/100d/lib.c)
-
platform/a490/sub/100d/makefile.inc (copied) (copied from trunk/platform/a490/sub/100d/makefile.inc)
-
platform/a490/sub/100d/movie_rec.c (copied) (copied from trunk/platform/a490/sub/100d/movie_rec.c)
-
platform/a490/sub/100d/stubs_asm.h (copied) (copied from trunk/platform/a490/sub/100d/stubs_asm.h)
-
platform/a490/sub/100d/stubs_auto.S (copied) (copied from trunk/platform/a490/sub/100d/stubs_auto.S)
-
platform/a490/sub/100d/stubs_entry.S (copied) (copied from trunk/platform/a490/sub/100d/stubs_entry.S)
-
platform/a490/sub/100d/stubs_entry_2.S (copied) (copied from trunk/platform/a490/sub/100d/stubs_entry_2.S)
-
platform/a490/sub/100d/stubs_min.S (copied) (copied from trunk/platform/a490/sub/100d/stubs_min.S)
-
platform/a490/sub/Makefile (modified) (1 prop)
-
platform/a495/kbd.c (modified) (1 diff)
-
platform/a530/kbd.c (modified) (1 diff)
-
platform/a540/kbd.c (modified) (1 diff)
-
platform/a550/kbd.c (modified) (1 diff)
-
platform/a560/kbd.c (modified) (1 diff)
-
platform/a570/kbd.c (modified) (1 diff)
-
platform/a580/kbd.c (modified) (1 diff)
-
platform/a590/kbd.c (modified) (1 diff)
-
platform/a610/kbd.c (modified) (1 diff)
-
platform/a620/kbd.c (modified) (1 diff)
-
platform/a630/kbd.c (modified) (1 diff)
-
platform/a640/kbd.c (modified) (1 diff)
-
platform/a650/kbd.c (modified) (1 diff)
-
platform/a700/kbd.c (modified) (1 diff)
-
platform/a710/kbd.c (modified) (1 diff)
-
platform/a720/kbd.c (modified) (1 diff)
-
platform/d10/kbd.c (modified) (1 diff)
-
platform/g10/kbd.c (modified) (1 diff)
-
platform/g10/platform_camera.h (modified) (1 diff)
-
platform/g11/kbd.c (modified) (1 diff)
-
platform/g12/platform_camera.h (modified) (1 diff)
-
platform/g7/kbd.c (modified) (1 diff)
-
platform/g9/kbd.c (modified) (1 diff)
-
platform/ixus100_sd780/kbd.c (modified) (1 diff)
-
platform/ixus120_sd940/kbd.c (modified) (1 diff)
-
platform/ixus200_sd980/kbd.c (modified) (1 diff)
-
platform/ixus300_sd4000/kbd.c (modified) (1 diff)
-
platform/ixus310_elph500hs/platform_camera.h (modified) (1 diff)
-
platform/ixus40_sd300/kbd.c (modified) (1 diff)
-
platform/ixus50_sd400/kbd.c (modified) (1 diff)
-
platform/ixus55_sd450/kbd.c (modified) (1 diff)
-
platform/ixus60_sd600/kbd.c (modified) (1 diff)
-
platform/ixus65_sd630/kbd.c (modified) (1 diff)
-
platform/ixus70_sd1000/kbd.c (modified) (1 diff)
-
platform/ixus750_sd550/kbd.c (modified) (1 diff)
-
platform/ixus75_sd750/kbd.c (modified) (1 diff)
-
platform/ixus800_sd700/kbd.c (modified) (1 diff)
-
platform/ixus80_sd1100/kbd.c (modified) (1 diff)
-
platform/ixus850_sd800/kbd.c (modified) (1 diff)
-
platform/ixus85_sd770/kbd.c (modified) (1 diff)
-
platform/ixus860_sd870/kbd.c (modified) (1 diff)
-
platform/ixus870_sd880/kbd.c (modified) (1 diff)
-
platform/ixus900_sd900/kbd.c (modified) (1 diff)
-
platform/ixus90_sd790/kbd.c (modified) (1 diff)
-
platform/ixus950_sd850/kbd.c (modified) (1 diff)
-
platform/ixus95_sd1200/kbd.c (modified) (1 diff)
-
platform/ixus960_sd950/kbd.c (modified) (1 diff)
-
platform/ixus970_sd890/kbd.c (modified) (1 diff)
-
platform/ixus980_sd990/kbd.c (modified) (1 diff)
-
platform/ixusizoom_sd30/kbd.c (modified) (1 diff)
-
platform/s2is/kbd.c (modified) (1 diff)
-
platform/s3is/kbd.c (modified) (1 diff)
-
platform/s5is/kbd.c (modified) (1 diff)
-
platform/s90/kbd.c (modified) (1 diff)
-
platform/s95/kbd.c (modified) (1 diff)
-
platform/s95/sub/100i/stubs_entry_2.S (modified) (1 diff)
-
platform/sx1/kbd.c (modified) (1 diff)
-
platform/sx10/kbd.c (modified) (1 diff)
-
platform/sx100is/kbd.c (modified) (1 diff)
-
platform/sx100is/platform_camera.h (modified) (1 diff)
-
platform/sx100is/shooting.c (modified) (1 diff)
-
platform/sx100is/sub/100b/boot.c (modified) (2 diffs)
-
platform/sx100is/sub/100b/capt_seq.c (modified) (1 diff)
-
platform/sx100is/sub/100b/stubs_auto.S (modified) (4 diffs)
-
platform/sx100is/sub/100c/boot.c (modified) (2 diffs)
-
platform/sx100is/sub/100c/capt_seq.c (modified) (1 diff)
-
platform/sx100is/sub/100c/stubs_auto.S (modified) (4 diffs)
-
platform/sx110is/kbd.c (modified) (1 diff)
-
platform/sx130is/kbd.c (modified) (1 diff)
-
platform/sx20/kbd.c (modified) (1 diff)
-
platform/sx200is/kbd.c (modified) (1 diff)
-
platform/sx220hs/kbd.c (modified) (1 diff)
-
platform/sx230hs/kbd.c (modified) (1 diff)
-
platform/sx30/platform_camera.h (modified) (1 diff)
-
platform/tx1/kbd.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/philmoz
- Property svn:mergeinfo changed
/trunk merged: 1344-1345,1348-1355
- Property svn:mergeinfo changed
-
branches/philmoz/CHDK/LANG/english.lng
r1321 r1356 601 601 463 "Video AE Controls" 602 602 464 "<Alt> Shortcut Buttons" 603 465 "USB Remote" 604 466 "Show USB Remote Status" -
branches/philmoz/CHDK/LANG/ukrainian.lng
r969 r1356 1 // Translation by Pavlo Kasperskyi (pkasperskyi[at]gmail{dot}com): November 14, 20101 // Translation by Pavlo Kasperskyi (pkasperskyi[at]gmail{dot}com): October 1, 2011 2 2 // Êîäîâà ñòîð³íêà Win1251 3 3 // CHDK ìîâíèé ôàéë … … 8 8 9 9 1 "CHDK - ÃÎËÎÂÍÅ ÌÅÍÞ" 10 11 10 12 11 13 … … 38 40 19 "RAW ôàéë: ðîçøèðåííÿ" 39 41 40 42 41 43 20 "OSD" 42 44 … … 51 53 28 "Áàòàðåÿ" 52 54 53 55 54 56 29 "óñòîãðàìà" 55 57 … … 60 62 34 "²ãíîð. ãðàíè÷íèõ ï³ê³â" 61 63 35 "Àâòîìàòè÷íî çá³ëüøóâàòè" 62 63 64 65 64 66 36 "Çåáðà" 65 67 … … 72 74 43 "Ïîêàç ïîâåðõ çåáðè" 73 75 74 76 75 77 44 "Ñêðèïòóâàííÿ" 76 78 … … 80 82 48 "Ïàðàìåòðè ñêðèïòà" 81 83 82 84 83 85 49 "Çîâí³øí³é âèãëÿä" 84 86 … … 101 103 66 "×èòà÷ òåêñò³â: ôîí" 102 104 103 105 104 106 67 "²íøå" 105 107 … … 118 120 78 "Ïðî ïàì'ÿòü..." 119 121 120 122 121 123 79 "³äëàãîäæåííÿ" 122 124 … … 129 131 84 "ijÿ ïðè ALT +/-" 130 132 85 "Çðîáèòè êàðòó çàâàíòàæóâàëüíîþ" 131 132 133 134 133 135 86 "Áàòàðåÿ" 134 136 … … 139 141 91 "Ïîêàçóâàòè íàïðóãó" 140 142 92 "Ïîêàçóâàòè çíà÷îê" 141 142 143 144 143 145 93 "×èòà÷ òåêñò³â" 144 146 … … 170 172 111 "Ïåðåêëþ÷³òü êàìåðó\nâ ðåæèì ÏÅÐÅÃËßÄÓ\n³ ñïðîáóéòå çíîâó. :)" 171 173 172 174 // file browser titles 173 175 112 "Ôàéëîâèé ìåíåäæåð" 174 176 113 "Âèá³ð ôàéëó ñêðèïòà" … … 177 179 116 "Âèá³ð ìîâíîãî ôàéëó" 178 180 179 181 // for calendar 180 182 117 "ѳ÷åíü" 181 183 118 "Ëþòèé" … … 201 203 136 "Çàðàç:" 202 204 203 205 // messagebox buttons 204 206 137 "Îêåé" 205 207 138 "Òàê" … … 207 209 140 "³äì³íà" 208 210 209 211 // OSD layout editor 210 212 141 "óñòîãðàìà" 211 213 142 "ÃÐÇÏ êàëüê." … … 216 218 147 "Ãîäèííèê" 217 219 218 220 // palette 219 221 148 "Íàòèñí³òü SET äëÿ ïåðåêëþ÷åííÿ ðåæèìó" 220 222 149 " Íàòèñí³òü MENU ùîáè âèéòè " … … 222 224 151 " Óïðàâë³ííÿ: %s " 223 225 224 226 // reversi 225 227 152 "*** Ðåçóëüòàò ãðè ***" 226 228 153 "Âè âèãðàëè! :-)" … … 239 241 163 "*** Ïðî... ***" 240 242 241 243 // sokoban 242 244 164 " гâåíü" 243 245 165 " Õîä³â" … … 245 247 167 "Òàê!\n Âè çðîáèëè öå! " 246 248 247 249 // console 248 250 168 "*** ÐÎÇÏÎ×ÀÒÎ ***" 249 251 169 "*** ÏÅÐÅÐÂÀÍÎ ***" 250 252 170 "*** ÇÀÂÅÐØÅÍÎ ***" 251 253 252 254 // file browser 253 255 171 "*** Âèäàëåííÿ ïàïêè ***" 254 256 172 "Âè ÂÏÅÂÍÅͲ, ùî õî÷åòå\nâèäàëèòè ÂѲ ôàéëè\nó âèáðàí³é ïàïö³?" … … 256 258 174 "Âè ÂÏÅÂÍÅͲ, ùî õî÷åòå\nâèäàëèòè âèáðàíèé ôàéë?" 257 259 258 260 // benchmark 259 261 175 "Òåñò êàìåðè..." 260 262 176 " îá÷èñëåííÿ..." … … 487 489 357 "*** Âèäàëåííÿ RAW ôàéë³â ***" 488 490 358 "Âèäàëèòè RAW" 489 491 490 492 359 "Ìåíþ Êîðèñòóâà÷à ÿê ïî÷àòêîâå" 491 493 … … 559 561 418 "Çáåðåãòè ãðàíèö³" 560 562 419 "Ïîêàçóâàòè â ðåæ. ïåðåãëÿäó" 561 562 563 421 "³äêð. òà âñòàíîâë. çóì" 563 564 422 "Ðåæèì ïàíîðàìóâàííÿ" … … 565 566 424 "DNG ôîðìàò" 566 567 425 "Êåøîâàíèé áóôåð RAW" 567 426 "Íå âäàºòüñÿ â³äêðèòè CHDK/badpixel.bin\nÇàïóñò³òü \nCHDK/SCRIPTS/TEST/badpixel.lua"568 426 "Íå âäàºòüñÿ â³äêðèòè CHDK/badpixel.bin\nÇàïóñò³òü 'Ñòâîðèòè badpixel.bin'" 568 569 427 "Ô³êñóâàòè ÷àñ çáåðåæåííÿ RAW" 569 570 428 "Connect 4" … … 578 579 437 " ò³ëüêè ïðè â³äåîçéîìö³" 579 580 438 " ñèëà ñïàëàõó" 580 439 " ðîçøèðåííÿ ' DNG' ôàéë³â"581 439 " ðîçøèðåííÿ '.DNG'" 581 582 440 "DNG âèäèì³ ïî USB" 582 583 441 "Mastermind" … … 596 597 457 "Ïîêàçóâàòè çàâæäè" 597 598 458 " ïîçèö³ÿ ïåðåêðèòòÿ(%)" 599 459 "Ñòâîðèòè badpixel.bin" 600 460 "Äëÿ äàíî¿ îïåðàö³¿\níåîáõ³äíèé ðåæèì çéîìêè." 601 461 "%s íåäîñòóïíî â çá³ðö³" 602 462 "Ïåðåêðèòòÿ òà÷ñêð³íà" 603 463 "Êîíòðîëü ÀÅ äëÿ â³äåî" 604 464 "Êíîïêè äëÿ <Alt>" 605 465 "USB ïóëüò" 606 466 "Ïîêàçóâàòè ñòàòóñ USB ïóëüòà" -
branches/philmoz/Makefile
r1343 r1356 4 4 # Define the lists of cameras / firmware versions with a BETA status 5 5 # This is a list of cameras for which ALL firmware versions are BETA 6 BETA_CAMERA="sx1 a1100 a2000 ixus90_sd790 g11 s90 ixus100_sd780 ixus120_sd940 ixus200_sd980 ixus85_sd770 d10 ixus95_sd1200 a430 s95 a490 a495 ixus300_sd4000 sx220hs sx230hs sx130is ixus310_elph500hs" 6 BETA_CAMERA="sx1 a1100 a2000 ixus90_sd790 g11 s90 ixus100_sd780 ixus120_sd940 ixus200_sd980" 7 BETA_CAMERA+=" ixus85_sd770 d10 ixus95_sd1200 a430 s95 a490 a495 ixus300_sd4000 sx220hs sx230hs sx130is ixus310_elph500hs" 7 8 # If specific firmware version(s) for a camera are BETA; but others are not 8 9 # then define the BETA versions here - e.g. g12-100c … … 141 142 zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/SCRIPTS/EXAM/* > $(DEVNULL) 142 143 zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/SCRIPTS/TEST/* > $(DEVNULL) 144 zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/SCRIPTS/4Pack/* > $(DEVNULL) 145 zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/SCRIPTS/4Pack/Lua/* > $(DEVNULL) 146 zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/SCRIPTS/4Pack/uBasic/* > $(DEVNULL) 143 147 zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/syscurves.CVF > $(DEVNULL) 144 148 zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)doc/changelog.txt > $(DEVNULL) … … 156 160 endif 157 161 ifeq ($(PLATFORMOS),dryos) 158 # zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)doc/readme.txt > $(DEVNULL) 159 # zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip $(topdir)doc/readme.txt > $(DEVNULL) 160 ifdef OPT_FI2 161 ifdef FI2KEY 162 zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)bin/PS.FI2 > $(DEVNULL) 163 zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip $(topdir)bin/PS.FI2 > $(DEVNULL) 164 rm -f $(topdir)bin/PS.FI2 165 endif 166 endif 162 ifdef OPT_FI2 163 ifdef FI2KEY 164 zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)bin/PS.FI2 > $(DEVNULL) 165 zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip $(topdir)bin/PS.FI2 > $(DEVNULL) 166 rm -f $(topdir)bin/PS.FI2 167 endif 168 endif 167 169 endif 168 170 endif -
branches/philmoz/core/conf.c
r1346 r1356 677 677 678 678 //------------------------------------------------------------------- 679 int conf_getValue(unsigned short id, tConfigVal* configVal) { 680 unsigned short i; 681 int ret = CONF_EMPTY; 682 OSD_pos* pos; 683 684 if( id==0 ) { 685 configVal->numb = 0; 686 for( i=0; i<CONF_NUM; ++i ) if( configVal->numb<conf_info[i].id ) configVal->numb = conf_info[i].id; 687 ret = CONF_VALUE; 688 } else { 689 for( i=0; i<CONF_NUM; ++i ) { 690 if( conf_info[i].id==id ) { 691 switch( conf_info[i].type ) { 692 case CONF_VALUE: 693 case CONF_VALUE_PTR: 694 switch( conf_info[i].size ) { 695 case sizeof(int): 696 configVal->numb = *(int*)conf_info[i].var; 697 ret = CONF_VALUE; 698 break; 699 case sizeof(short): 700 configVal->numb = *(short*)conf_info[i].var; 701 ret = CONF_VALUE; 702 break; 703 case sizeof(char): 704 configVal->numb = *(char*)conf_info[i].var; 705 ret = CONF_VALUE; 706 break; 707 } 708 break; 709 case CONF_INT_PTR: 710 configVal->numb = conf_info[i].size/sizeof(int); 711 configVal->pInt = (int*)conf_info[i].var; 712 ret = CONF_INT_PTR; 713 break; 714 case CONF_CHAR_PTR: 715 configVal->str = conf_info[i].var; 716 ret = CONF_CHAR_PTR; 717 break; 718 case CONF_OSD_POS_PTR: 719 pos = (OSD_pos*)conf_info[i].var; 720 configVal->pos.x = pos->x; 721 configVal->pos.y = pos->y; 722 ret = CONF_OSD_POS_PTR; 723 break; 724 } 725 break; 726 } 727 } 728 } 729 return ret; 730 } 731 732 //------------------------------------------------------------------- 733 int conf_setValue(unsigned short id, tConfigVal configVal) { 734 unsigned short i; 735 int ret = CONF_EMPTY, len, len2; 736 OSD_pos* pos; 737 738 for( i=0; i<CONF_NUM; ++i ) { 739 if( conf_info[i].id==id ) { 740 switch( conf_info[i].type ) { 741 case CONF_VALUE: 742 case CONF_VALUE_PTR: 743 if( configVal.isNumb ) { 744 switch( conf_info[i].size ) { 745 case sizeof(int): 746 *(int*)conf_info[i].var = (int)configVal.numb; 747 ret = CONF_VALUE; 748 break; 749 case sizeof(short): 750 *(short*)conf_info[i].var = (short)configVal.numb; 751 ret = CONF_VALUE; 752 break; 753 case sizeof(char): 754 *(char*)conf_info[i].var = (char)configVal.numb; 755 ret = CONF_VALUE; 756 break; 757 } 758 } 759 break; 760 case CONF_INT_PTR: 761 if( configVal.isPInt ) { 762 len = conf_info[i].size; 763 len2 = configVal.numb*sizeof(int); 764 if( len2<len ) len = len2; 765 memcpy(conf_info[i].var, configVal.pInt, len); 766 ret = CONF_INT_PTR; 767 } 768 break; 769 case CONF_CHAR_PTR: 770 if( configVal.isStr ) { 771 len = strlen(configVal.str); 772 if( len>0 && len<CONF_STR_LEN) { 773 strncpy(conf_info[i].var, configVal.str ,len+1); 774 } 775 ret = CONF_CHAR_PTR; 776 } 777 break; 778 case CONF_OSD_POS_PTR: 779 if( configVal.isPos ) { 780 pos = (OSD_pos*)conf_info[i].var; 781 pos->x = configVal.pos.x; 782 pos->y = configVal.pos.y; 783 ret = CONF_OSD_POS_PTR; 784 } 785 break; 786 } 787 break; 788 } 789 } 790 if( ret!=CONF_EMPTY ) { 791 // if (conf_info[i].func) { 792 // conf_info[i].func(); 793 // } 794 conf_save(); 795 } 796 return ret; 797 } 679 798 // Common code extracted from raw.c (raw_savefile) and gui_osd.c (gui_osd_draw_raw_info) 680 799 // returns 0 if RAW save is disabled due to mode settings, etc, return 1 if RAW save OK -
branches/philmoz/core/console.c
r1347 r1356 224 224 } 225 225 226 // If the console is in use then redraw it (used when gui_redraw detects screen has been ereased)227 void console_force_redraw()228 {229 if (console_is_inited())230 {231 console_last_drawn = get_tick_count();232 console_draw();233 }234 } -
branches/philmoz/core/gui.c
r1347 r1356 151 151 extern const int tv_override_zero_shift; 152 152 153 154 153 static void gui_draw_osd(); 155 154 … … 205 204 static void gui_load_curve(int arg); 206 205 #endif 207 const char* gui_histo_show_enum(int change, int arg);208 206 static const char* gui_histo_mode_enum(int change, int arg); 209 static const char* gui_temp_mode_enum(int change, int arg);210 207 static const char* gui_histo_layout_enum(int change, int arg); 211 static const char* gui_zebra_mode_enum(int change, int arg);212 static const char* gui_zebra_draw_osd_enum(int change, int arg);213 208 static const char* gui_font_enum(int change, int arg); 214 static const char* gui_raw_prefix_enum(int change, int arg); 215 static const char* gui_raw_ext_enum(int change, int arg); 216 static const char* gui_sub_batch_prefix_enum(int change, int arg); 217 static const char* gui_sub_batch_ext_enum(int change, int arg); 218 219 static const char* gui_raw_nr_enum(int change, int arg); 220 static const char* gui_autoiso_shutter_enum(int change, int arg); 221 #ifdef OPT_TEXTREADER 222 static const char* gui_reader_codepage_enum(int change, int arg); 223 #endif 224 static const char* gui_zoom_value_enum(int change, int arg); 225 static const char* gui_show_values_enum(int change, int arg); 226 static const char* gui_dof_show_value_enum(int change, int arg); 209 227 210 #if CAM_ADJUSTABLE_ALT_BUTTON 228 211 static const char* gui_alt_mode_button_enum(int change, int arg); 229 212 #endif 230 213 static const char* gui_alt_power_enum(int change, int arg); 231 static const char* gui_video_mode_enum(int change, int arg);232 static const char* gui_fast_ev_step(int change, int arg);233 #if CAM_QUALITY_OVERRIDE234 static const char* gui_fast_image_quality(int change, int arg);235 #endif236 214 static const char* gui_video_bitrate_enum(int change, int arg); 237 static const char* gui_tv_bracket_values_enum(int change, int arg);238 static const char* gui_av_bracket_values_enum(int change, int arg);239 static const char* gui_iso_bracket_koef_enum(int change, int arg);240 static const char* gui_subj_dist_bracket_koef_enum(int change, int arg);241 static const char* gui_bracket_type_enum(int change, int arg);242 215 static const char* gui_av_override_enum(int change, int arg); 243 216 #if ZOOM_OVERRIDE 244 217 static const char* gui_zoom_override_enum(int change, int arg); 245 218 #endif 246 static const char* gui_iso_override_koef_enum(int change, int arg);247 219 static const char* gui_tv_override_koef_enum(int change, int arg); 248 220 static const char* gui_tv_override_value_enum(int change, int arg); … … 255 227 static const char* gui_iso_exposure_order_enum(int change, int arg); 256 228 */ 257 const char* gui_nd_filter_state_enum(int change, int arg);258 //static const char* gui_tv_enum(int change, int arg);259 229 const char* gui_user_menu_show_enum(int change, int arg); 260 static const char* gui_hide_osd_enum(int change, int arg);261 static const char* gui_show_clock_enum(int change, int arg);262 static const char* gui_clock_format_enum(int change, int arg);263 static const char* gui_clock_indicator_enum(int change, int arg);264 static const char* gui_clock_halfpress_enum(int change, int arg);265 static const char* gui_space_bar_enum(int change, int arg);266 static const char* gui_space_bar_size_enum(int change, int arg);267 static const char* gui_space_bar_width_enum(int change, int arg);268 static const char* gui_space_warn_type_enum(int change, int arg);269 230 static const char* gui_bad_pixel_enum(int change, int arg); 270 231 static const char* gui_video_af_key_enum(int change, int arg); 271 static const char* gui_show_movie_time(int change, int arg);272 const char* gui_override_disable_enum(int change, int arg);273 232 #ifdef OPT_CURVES 274 233 static const char* gui_conf_curve_enum(int change, int arg); 275 234 #endif 276 235 #ifdef OPT_DEBUGGING 277 static const char* gui_debug_shortcut_enum(int change, int arg);278 static const char* gui_debug_display_enum(int change, int arg);279 236 static void gui_debug_shortcut(void); 280 237 #endif … … 283 240 static void gui_menuproc_edge_save(int arg); 284 241 static void gui_menuproc_edge_load(int arg); 285 static const char* gui_edge_pano_enum(int change, int arg);286 242 #endif 287 243 … … 289 245 static void gui_load_script(int arg); 290 246 static void gui_load_script_default(int arg); 291 static const char* gui_script_autostart_enum(int change, int arg);292 247 static const char* gui_script_param_set_enum(int change, int arg); 293 248 #endif 294 249 295 static const char* gui_show_usb_info_enum(int change, int arg);296 297 250 void rinit(); 298 299 251 300 252 // Menu callbacks … … 326 278 //------------------------------------------------------------------- 327 279 static CMenuItem remote_submenu_items[] = { 328 {0x71,LANG_MENU_REMOTE_ENABLE, MENUITEM_BOOL, &conf.remote_enable},329 {0x0,LANG_MENU_SYNCHABLE_REMOTE, MENUITEM_SEPARATOR },330 {0x71,LANG_MENU_SYNCHABLE_REMOTE_ENABLE, MENUITEM_BOOL, &conf.ricoh_ca1_mode },331 {0x5c,LANG_MENU_SYNCH_ENABLE, MENUITEM_BOOL, &conf.synch_enable },332 {0x5c,LANG_MENU_SYNCH_DELAY_ENABLE, MENUITEM_BOOL, &conf.synch_delay_enable },333 {0x5c,LANG_MENU_SYNCH_DELAY_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED, &conf.synch_delay_value },334 {0x5c,LANG_MENU_SYNCH_DELAY_COARSE_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED, &conf.synch_delay_coarse_value },335 {0x5c,LANG_MENU_REMOTE_ZOOM_ENABLE, MENUITEM_BOOL, &conf.remote_zoom_enable },336 {0x5f,LANG_MENU_REMOTE_ZOOM_TIMEOUT, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.zoom_timeout, MENU_MINMAX(2,10)},337 {0x51,LANG_MENU_BACK, MENUITEM_UP },280 MENU_ITEM(0x71,LANG_MENU_REMOTE_ENABLE, MENUITEM_BOOL, &conf.remote_enable, 0), 281 MENU_ITEM(0x0,LANG_MENU_SYNCHABLE_REMOTE, MENUITEM_SEPARATOR, 0, 0 ), 282 MENU_ITEM(0x71,LANG_MENU_SYNCHABLE_REMOTE_ENABLE, MENUITEM_BOOL, &conf.ricoh_ca1_mode, 0), 283 MENU_ITEM(0x5c,LANG_MENU_SYNCH_ENABLE, MENUITEM_BOOL, &conf.synch_enable, 0), 284 MENU_ITEM(0x5c,LANG_MENU_SYNCH_DELAY_ENABLE, MENUITEM_BOOL, &conf.synch_delay_enable, 0), 285 MENU_ITEM(0x5c,LANG_MENU_SYNCH_DELAY_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED, &conf.synch_delay_value, 0), 286 MENU_ITEM(0x5c,LANG_MENU_SYNCH_DELAY_COARSE_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED, &conf.synch_delay_coarse_value, 0), 287 MENU_ITEM(0x5c,LANG_MENU_REMOTE_ZOOM_ENABLE, MENUITEM_BOOL, &conf.remote_zoom_enable, 0), 288 MENU_ITEM(0x5f,LANG_MENU_REMOTE_ZOOM_TIMEOUT, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.zoom_timeout, MENU_MINMAX(2,10)), 289 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0), 338 290 {0} 339 291 }; … … 342 294 343 295 #ifdef OPT_SCRIPTING 296 static const char* gui_script_autostart_modes[]={ "Off", "On", "Once"}; 344 297 static CMenuItem script_submenu_items_top[] = { 345 {0x35,LANG_MENU_SCRIPT_LOAD, MENUITEM_PROC, (int*)gui_load_script },346 {0x5f,LANG_MENU_SCRIPT_DELAY, MENUITEM_INT|MENUITEM_F_UNSIGNED, &conf.script_shoot_delay },298 MENU_ITEM(0x35,LANG_MENU_SCRIPT_LOAD, MENUITEM_PROC, gui_load_script, 0 ), 299 MENU_ITEM(0x5f,LANG_MENU_SCRIPT_DELAY, MENUITEM_INT|MENUITEM_F_UNSIGNED, &conf.script_shoot_delay, 0 ), 347 300 // remote autostart 348 {0x5f,LANG_MENU_SCRIPT_AUTOSTART, MENUITEM_ENUM, (int*)gui_script_autostart_enum },301 MENU_ENUM2(0x5f,LANG_MENU_SCRIPT_AUTOSTART, &conf.script_startup, gui_script_autostart_modes ), 349 302 350 303 #if CAM_REMOTE 351 {0x86,LANG_MENU_REMOTE_PARAM, MENUITEM_SUBMENU, (int*)&remote_submenu },352 // {0x71,LANG_MENU_SCRIPT_REMOTE_ENABLE, MENUITEM_BOOL, &conf.remote_enable},353 #endif 354 {0x5d,LANG_MENU_SCRIPT_DEFAULT_VAL, MENUITEM_PROC, (int*)gui_load_script_default },355 {0x5e,LANG_MENU_SCRIPT_PARAM_SET, MENUITEM_ENUM, (int*)gui_script_param_set_enum },356 {0x5c,LANG_MENU_SCRIPT_PARAM_SAVE, MENUITEM_BOOL, &conf.script_param_save },357 {0x0,(int)script_title, MENUITEM_SEPARATOR },358 // {0x0,LANG_MENU_SCRIPT_CURRENT, MENUITEM_SEPARATOR },359 // {0x0,(int)script_title, MENUITEM_TEXT },360 // {0x0,LANG_MENU_SCRIPT_PARAMS, MENUITEM_SEPARATOR }304 MENU_ITEM(0x86,LANG_MENU_REMOTE_PARAM, MENUITEM_SUBMENU, &remote_submenu, 0 ), 305 //MENU_ITEM(0x71,LANG_MENU_SCRIPT_REMOTE_ENABLE, MENUITEM_BOOL, &conf.remote_enable, 0), 306 #endif 307 MENU_ITEM(0x5d,LANG_MENU_SCRIPT_DEFAULT_VAL, MENUITEM_PROC, gui_load_script_default, 0 ), 308 MENU_ITEM(0x5e,LANG_MENU_SCRIPT_PARAM_SET, MENUITEM_ENUM, gui_script_param_set_enum, 0 ), 309 MENU_ITEM(0x5c,LANG_MENU_SCRIPT_PARAM_SAVE, MENUITEM_BOOL, &conf.script_param_save, 0 ), 310 MENU_ITEM(0x0,(int)script_title, MENUITEM_SEPARATOR, 0, 0 ), 311 // MENU_ITEM(0x0,LANG_MENU_SCRIPT_CURRENT, MENUITEM_SEPARATOR, 0, 0 ), 312 // MENU_ITEM(0x0,(int)script_title, MENUITEM_TEXT, 0, 0 ), 313 // MENU_ITEM(0x0,LANG_MENU_SCRIPT_PARAMS, MENUITEM_SEPARATOR, 0, 0) 361 314 }; 362 315 363 316 static CMenuItem script_submenu_items_bottom[] = { 364 {0x51,LANG_MENU_BACK, MENUITEM_UP },317 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 365 318 {0} 366 319 }; … … 373 326 static CMenuItem games_submenu_items[] = { 374 327 #ifdef OPT_GAME_REVERSI 375 {0x38,LANG_MENU_GAMES_REVERSI, MENUITEM_PROC, (int*)gui_draw_reversi },328 MENU_ITEM(0x38,LANG_MENU_GAMES_REVERSI, MENUITEM_PROC, gui_draw_reversi, 0 ), 376 329 #endif 377 330 #ifdef OPT_GAME_SOKOBAN 378 {0x38,LANG_MENU_GAMES_SOKOBAN, MENUITEM_PROC, (int*)gui_draw_sokoban },331 MENU_ITEM(0x38,LANG_MENU_GAMES_SOKOBAN, MENUITEM_PROC, gui_draw_sokoban, 0 ), 379 332 #endif 380 333 #ifdef OPT_GAME_CONNECT4 381 {0x38,LANG_MENU_GAMES_CONNECT4, MENUITEM_PROC, (int*)gui_draw_4wins },334 MENU_ITEM(0x38,LANG_MENU_GAMES_CONNECT4, MENUITEM_PROC, gui_draw_4wins, 0 ), 382 335 #endif 383 336 #ifdef OPT_GAME_MASTERMIND 384 {0x38,LANG_MENU_GAMES_MASTERMIND, MENUITEM_PROC, (int*)gui_draw_mastermind },385 #endif 386 {0x51,LANG_MENU_BACK, MENUITEM_UP },337 MENU_ITEM(0x38,LANG_MENU_GAMES_MASTERMIND, MENUITEM_PROC, gui_draw_mastermind, 0 ), 338 #endif 339 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 387 340 {0} 388 341 }; 389 342 static CMenu games_submenu = {0x38,LANG_MENU_GAMES_TITLE, NULL, games_submenu_items }; 390 343 344 static const char* gui_autoiso_shutter_modes[] = { "Auto", "1/8s", "1/15s", "1/30s", "1/60s", "1/125s", "1/250s", "1/500s", "1/1000s"}; 391 345 static CMenuItem autoiso_submenu_items[] = { 392 {0x5c,LANG_MENU_AUTOISO_ENABLED, MENUITEM_BOOL, &conf.autoiso_enable},393 {0x5f,LANG_MENU_AUTOISO_MIN_SHUTTER, MENUITEM_ENUM, (int*)gui_autoiso_shutter_enum },394 {0x5f,LANG_MENU_AUTOISO_USER_FACTOR, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.autoiso_user_factor, MENU_MINMAX(1, 8) },346 MENU_ITEM(0x5c,LANG_MENU_AUTOISO_ENABLED, MENUITEM_BOOL, &conf.autoiso_enable, 0), 347 MENU_ENUM2(0x5f,LANG_MENU_AUTOISO_MIN_SHUTTER, &conf.autoiso_shutter, gui_autoiso_shutter_modes ), 348 MENU_ITEM(0x5f,LANG_MENU_AUTOISO_USER_FACTOR, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.autoiso_user_factor, MENU_MINMAX(1, 8) ), 395 349 #if CAM_HAS_IS 396 {0x5f,LANG_MENU_AUTOISO_IS_FACTOR, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.autoiso_is_factor, MENU_MINMAX(1, 8) },397 #endif 398 {0x5f,LANG_MENU_AUTOISO_MAX_ISO_HI, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.autoiso_max_iso_hi, MENU_MINMAX(20, 160) },399 {0x5f,LANG_MENU_AUTOISO_MAX_ISO_AUTO, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.autoiso_max_iso_auto, MENU_MINMAX(10, 80) },400 {0x5f,LANG_MENU_AUTOISO_MIN_ISO, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.autoiso_min_iso, MENU_MINMAX(1, 20) },401 {0x51,LANG_MENU_BACK, MENUITEM_UP },350 MENU_ITEM(0x5f,LANG_MENU_AUTOISO_IS_FACTOR, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.autoiso_is_factor, MENU_MINMAX(1, 8) ), 351 #endif 352 MENU_ITEM(0x5f,LANG_MENU_AUTOISO_MAX_ISO_HI, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.autoiso_max_iso_hi, MENU_MINMAX(20, 160) ), 353 MENU_ITEM(0x5f,LANG_MENU_AUTOISO_MAX_ISO_AUTO, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.autoiso_max_iso_auto, MENU_MINMAX(10, 80) ), 354 MENU_ITEM(0x5f,LANG_MENU_AUTOISO_MIN_ISO, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.autoiso_min_iso, MENU_MINMAX(1, 20) ), 355 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 402 356 {0} 403 357 }; … … 406 360 407 361 #ifdef OPT_TEXTREADER 362 static const char* gui_reader_codepage_cps[] = { "Win1251", "DOS"}; 408 363 static CMenuItem reader_submenu_items[] = { 409 {0x35,LANG_MENU_READ_OPEN_NEW, MENUITEM_PROC, (int*)gui_draw_read },410 {0x35,LANG_MENU_READ_OPEN_LAST, MENUITEM_PROC, (int*)gui_draw_read_last },411 {0x35,LANG_MENU_READ_SELECT_FONT, MENUITEM_PROC, (int*)gui_draw_load_rbf },412 {0x5f,LANG_MENU_READ_CODEPAGE, MENUITEM_ENUM, (int*)gui_reader_codepage_enum },413 {0x5c,LANG_MENU_READ_WORD_WRAP, MENUITEM_BOOL, &conf.reader_wrap_by_words },414 {0x5c,LANG_MENU_READ_AUTOSCROLL, MENUITEM_BOOL, &conf.reader_autoscroll },415 {0x5f,LANG_MENU_READ_AUTOSCROLL_DELAY, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.reader_autoscroll_delay, MENU_MINMAX(0, 60) },416 {0x51,LANG_MENU_BACK, MENUITEM_UP },364 MENU_ITEM(0x35,LANG_MENU_READ_OPEN_NEW, MENUITEM_PROC, gui_draw_read, 0 ), 365 MENU_ITEM(0x35,LANG_MENU_READ_OPEN_LAST, MENUITEM_PROC, gui_draw_read_last, 0 ), 366 MENU_ITEM(0x35,LANG_MENU_READ_SELECT_FONT, MENUITEM_PROC, gui_draw_load_rbf, 0 ), 367 MENU_ENUM2(0x5f,LANG_MENU_READ_CODEPAGE, &conf.reader_codepage, gui_reader_codepage_cps ), 368 MENU_ITEM(0x5c,LANG_MENU_READ_WORD_WRAP, MENUITEM_BOOL, &conf.reader_wrap_by_words, 0 ), 369 MENU_ITEM(0x5c,LANG_MENU_READ_AUTOSCROLL, MENUITEM_BOOL, &conf.reader_autoscroll, 0 ), 370 MENU_ITEM(0x5f,LANG_MENU_READ_AUTOSCROLL_DELAY, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.reader_autoscroll_delay, MENU_MINMAX(0, 60) ), 371 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 417 372 {0} 418 373 }; … … 421 376 422 377 #ifdef OPT_DEBUGGING 378 static const char* gui_debug_shortcut_modes[] = { "None", "DmpRAM", "Page", "CmpProps"}; 379 static const char* gui_debug_display_modes[] = { "None", "Props", "Params", "Tasks"}; 423 380 static CMenuItem debug_submenu_items[] = { 424 {0x5c,LANG_MENU_DEBUG_DISPLAY, MENUITEM_ENUM, (int*)gui_debug_display_enum },425 {0x2a,LANG_MENU_DEBUG_PROPCASE_PAGE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.debug_propcase_page, MENU_MINMAX(0, 128) },426 {0x2a,LANG_MENU_DEBUG_TASKLIST_START, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &debug_tasklist_start, MENU_MINMAX(0, 63) },427 {0x5c,LANG_MENU_DEBUG_SHOW_MISC_VALS, MENUITEM_BOOL, &conf.debug_misc_vals_show },428 {0x2a,LANG_MENU_DEBUG_MEMORY_BROWSER, MENUITEM_PROC, (int*)gui_draw_debug },429 {0x2a,LANG_MENU_DEBUG_BENCHMARK, MENUITEM_PROC, (int*)gui_draw_bench },430 {0x5c,LANG_MENU_DEBUG_SHORTCUT_ACTION, MENUITEM_ENUM, (int*)gui_debug_shortcut_enum },431 {0x5c,LANG_MENU_RAW_TIMER, MENUITEM_BOOL, &conf.raw_timer },381 MENU_ENUM2(0x5c,LANG_MENU_DEBUG_DISPLAY, &conf.debug_display, gui_debug_display_modes ), 382 MENU_ITEM(0x2a,LANG_MENU_DEBUG_PROPCASE_PAGE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.debug_propcase_page, MENU_MINMAX(0, 128) ), 383 MENU_ITEM(0x2a,LANG_MENU_DEBUG_TASKLIST_START, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &debug_tasklist_start, MENU_MINMAX(0, 63) ), 384 MENU_ITEM(0x5c,LANG_MENU_DEBUG_SHOW_MISC_VALS, MENUITEM_BOOL, &conf.debug_misc_vals_show, 0 ), 385 MENU_ITEM(0x2a,LANG_MENU_DEBUG_MEMORY_BROWSER, MENUITEM_PROC, gui_draw_debug, 0 ), 386 MENU_ITEM(0x2a,LANG_MENU_DEBUG_BENCHMARK, MENUITEM_PROC, gui_draw_bench, 0 ), 387 MENU_ENUM2(0x5c,LANG_MENU_DEBUG_SHORTCUT_ACTION, &conf.debug_shortcut_action, gui_debug_shortcut_modes ), 388 MENU_ITEM(0x5c,LANG_MENU_RAW_TIMER, MENUITEM_BOOL, &conf.raw_timer, 0 ), 432 389 #ifdef OPT_LUA 433 {0x5c,LANG_MENU_LUA_RESTART, MENUITEM_BOOL, &conf.debug_lua_restart_on_error },390 MENU_ITEM(0x5c,LANG_MENU_LUA_RESTART, MENUITEM_BOOL, &conf.debug_lua_restart_on_error, 0 ), 434 391 #endif 435 392 #if CAM_MULTIPART 436 {0x33,LANG_MENU_DEBUG_CREATE_MULTIPART , MENUITEM_PROC, (int*)gui_menuproc_break_card },437 #endif 438 {0x51,LANG_MENU_BACK, MENUITEM_UP },393 MENU_ITEM(0x33,LANG_MENU_DEBUG_CREATE_MULTIPART , MENUITEM_PROC, gui_menuproc_break_card, 0 ), 394 #endif 395 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 439 396 {0} 440 397 }; … … 444 401 445 402 static CMenuItem misc_submenu_items[] = { 446 {0x35,LANG_MENU_MISC_FILE_BROWSER, MENUITEM_PROC, (int*)gui_draw_fselect },403 MENU_ITEM(0x35,LANG_MENU_MISC_FILE_BROWSER, MENUITEM_PROC, gui_draw_fselect, 0 ), 447 404 #ifdef OPT_CALENDAR 448 {0x36,LANG_MENU_MISC_CALENDAR, MENUITEM_PROC, (int*)gui_draw_calendar },405 MENU_ITEM(0x36,LANG_MENU_MISC_CALENDAR, MENUITEM_PROC, gui_draw_calendar, 0 ), 449 406 #endif 450 407 #ifdef OPT_TEXTREADER 451 {0x37,LANG_MENU_MISC_TEXT_READER, MENUITEM_SUBMENU, (int*)&reader_submenu },408 MENU_ITEM(0x37,LANG_MENU_MISC_TEXT_READER, MENUITEM_SUBMENU, &reader_submenu, 0 ), 452 409 #endif 453 410 #if defined (OPT_GAME_REVERSI) || (OPT_GAME_SOKOBAN || (OPT_GAME_CONNECT4) || OPT_GAME_MASTERMIND) 454 {0x38,LANG_MENU_MISC_GAMES, MENUITEM_SUBMENU, (int*)&games_submenu },411 MENU_ITEM(0x38,LANG_MENU_MISC_GAMES, MENUITEM_SUBMENU, &games_submenu, 0 ), 455 412 #endif 456 413 #if CAM_SWIVEL_SCREEN 457 {0x28,LANG_MENU_MISC_FLASHLIGHT, MENUITEM_BOOL, &conf.flashlight },458 #endif 459 {0x5c,LANG_MENU_MISC_SHOW_SPLASH, MENUITEM_BOOL, &conf.splash_show },460 {0x5c,LANG_MENU_MISC_START_SOUND, MENUITEM_BOOL, &conf.start_sound },414 MENU_ITEM(0x28,LANG_MENU_MISC_FLASHLIGHT, MENUITEM_BOOL, &conf.flashlight, 0 ), 415 #endif 416 MENU_ITEM(0x5c,LANG_MENU_MISC_SHOW_SPLASH, MENUITEM_BOOL, &conf.splash_show, 0 ), 417 MENU_ITEM(0x5c,LANG_MENU_MISC_START_SOUND, MENUITEM_BOOL, &conf.start_sound, 0 ), 461 418 #if CAM_USE_ZOOM_FOR_MF 462 {0x59,LANG_MENU_MISC_ZOOM_FOR_MF, MENUITEM_BOOL, &conf.use_zoom_mf },419 MENU_ITEM(0x59,LANG_MENU_MISC_ZOOM_FOR_MF, MENUITEM_BOOL, &conf.use_zoom_mf, 0 ), 463 420 #endif 464 421 #if CAM_ADJUSTABLE_ALT_BUTTON 465 {0x22,LANG_MENU_MISC_ALT_BUTTON, MENUITEM_ENUM, (int*)gui_alt_mode_button_enum },466 #endif 467 {0x5d,LANG_MENU_MISC_DISABLE_LCD_OFF, MENUITEM_ENUM, (int*)gui_alt_power_enum },468 {0x65,LANG_MENU_MISC_PALETTE, MENUITEM_PROC, (int*)gui_draw_palette },469 {0x80,LANG_MENU_MISC_BUILD_INFO, MENUITEM_PROC, (int*)gui_show_build_info },470 {0x80,LANG_MENU_MISC_MEMORY_INFO, MENUITEM_PROC, (int*)gui_show_memory_info },471 {0x33,LANG_MENU_DEBUG_MAKE_BOOTABLE, MENUITEM_PROC, (int*)gui_menuproc_mkbootdisk },422 MENU_ITEM(0x22,LANG_MENU_MISC_ALT_BUTTON, MENUITEM_ENUM, gui_alt_mode_button_enum, 0 ), 423 #endif 424 MENU_ITEM(0x5d,LANG_MENU_MISC_DISABLE_LCD_OFF, MENUITEM_ENUM, gui_alt_power_enum, 0 ), 425 MENU_ITEM(0x65,LANG_MENU_MISC_PALETTE, MENUITEM_PROC, gui_draw_palette, 0 ), 426 MENU_ITEM(0x80,LANG_MENU_MISC_BUILD_INFO, MENUITEM_PROC, gui_show_build_info, 0 ), 427 MENU_ITEM(0x80,LANG_MENU_MISC_MEMORY_INFO, MENUITEM_PROC, gui_show_memory_info, 0 ), 428 MENU_ITEM(0x33,LANG_MENU_DEBUG_MAKE_BOOTABLE, MENUITEM_PROC, gui_menuproc_mkbootdisk, 0 ), 472 429 #if CAM_MULTIPART 473 {0x33,LANG_MENU_DEBUG_SWAP_PART, MENUITEM_PROC, (int*)gui_menuproc_swap_partitions },474 #endif 475 {0x2b,LANG_MENU_MAIN_RESET_OPTIONS, MENUITEM_PROC, (int*)gui_menuproc_reset },430 MENU_ITEM(0x33,LANG_MENU_DEBUG_SWAP_PART, MENUITEM_PROC, gui_menuproc_swap_partitions, 0 ), 431 #endif 432 MENU_ITEM(0x2b,LANG_MENU_MAIN_RESET_OPTIONS, MENUITEM_PROC, gui_menuproc_reset, 0 ), 476 433 #ifdef OPT_DEBUGGING 477 {0x2a,LANG_MENU_MAIN_DEBUG, MENUITEM_SUBMENU, (int*)&debug_submenu },478 #endif 479 {0x86,LANG_MENU_REMOTE_PARAM, MENUITEM_SUBMENU, (int*)&remote_submenu },434 MENU_ITEM(0x2a,LANG_MENU_MAIN_DEBUG, MENUITEM_SUBMENU, &debug_submenu, 0 ), 435 #endif 436 MENU_ITEM(0x86,LANG_MENU_REMOTE_PARAM, MENUITEM_SUBMENU, &remote_submenu, 0 ), 480 437 #if defined (DNG_EXT_FROM) 481 {0x71,LANG_MENU_DNG_VIA_USB, MENUITEM_BOOL | MENUITEM_ARG_CALLBACK, &conf.dng_usb_ext , (int)cb_change_dng_usb_ext},482 #endif 483 {0x51,LANG_MENU_BACK, MENUITEM_UP },438 MENU_ITEM(0x71,LANG_MENU_DNG_VIA_USB, MENUITEM_BOOL | MENUITEM_ARG_CALLBACK, &conf.dng_usb_ext , (int)cb_change_dng_usb_ext ), 439 #endif 440 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 484 441 {0}, 485 442 }; … … 488 445 static int voltage_step; 489 446 static CMenuItem battery_submenu_items[] = { 490 {0x66,LANG_MENU_BATT_VOLT_MAX, MENUITEM_INT|MENUITEM_ARG_ADDR_INC, &conf.batt_volts_max, (int)&voltage_step },491 {0x67,LANG_MENU_BATT_VOLT_MIN, MENUITEM_INT|MENUITEM_ARG_ADDR_INC, &conf.batt_volts_min, (int)&voltage_step },492 {0x68,LANG_MENU_BATT_STEP_25, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.batt_step_25, (int)cb_step_25 },493 {0x0,(int)"", MENUITEM_SEPARATOR },494 {0x73,LANG_MENU_BATT_SHOW_PERCENT, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.batt_perc_show, (int)cb_perc },495 {0x73,LANG_MENU_BATT_SHOW_VOLTS, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.batt_volts_show, (int)cb_volts },496 {0x32,LANG_MENU_BATT_SHOW_ICON, MENUITEM_BOOL, &conf.batt_icon_show },497 {0x51,LANG_MENU_BACK, MENUITEM_UP },447 MENU_ITEM(0x66,LANG_MENU_BATT_VOLT_MAX, MENUITEM_INT|MENUITEM_ARG_ADDR_INC, &conf.batt_volts_max, (int)&voltage_step ), 448 MENU_ITEM(0x67,LANG_MENU_BATT_VOLT_MIN, MENUITEM_INT|MENUITEM_ARG_ADDR_INC, &conf.batt_volts_min, (int)&voltage_step ), 449 MENU_ITEM(0x68,LANG_MENU_BATT_STEP_25, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.batt_step_25, (int)cb_step_25 ), 450 MENU_ITEM(0x0,(int)"", MENUITEM_SEPARATOR, 0, 0 ), 451 MENU_ITEM(0x73,LANG_MENU_BATT_SHOW_PERCENT, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.batt_perc_show, (int)cb_perc ), 452 MENU_ITEM(0x73,LANG_MENU_BATT_SHOW_VOLTS, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.batt_volts_show, (int)cb_volts ), 453 MENU_ITEM(0x32,LANG_MENU_BATT_SHOW_ICON, MENUITEM_BOOL, &conf.batt_icon_show, 0 ), 454 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 498 455 {0} 499 456 }; 500 457 static CMenu battery_submenu = {0x32,LANG_MENU_BATT_TITLE, cb_battery_menu_change, battery_submenu_items }; 501 458 459 static const char* gui_space_bar_modes[] = { "Don't", "Horizontal", "Vertical"}; 460 static const char* gui_space_bar_size_modes[] = { "1/4", "1/2", "1"}; 461 static const char* gui_space_bar_width_modes[] = { "1", "2", "3","4","5","6","7","8","9","10"}; 462 static const char* gui_space_warn_type_modes[] = { "Percent", "MB", "Don't"}; 502 463 static CMenuItem space_submenu_items[] = { 503 {0x5c,LANG_MENU_SPACE_SHOW_ICON, MENUITEM_BOOL, &conf.space_icon_show },504 {0x69,LANG_MENU_SPACE_SHOW_BAR, MENUITEM_ENUM, (int*)gui_space_bar_enum },505 {0x6a,LANG_MENU_SPACE_BAR_SIZE, MENUITEM_ENUM, (int*)gui_space_bar_size_enum },506 {0x6b,LANG_MENU_SPACE_BAR_WIDTH, MENUITEM_ENUM, (int*)gui_space_bar_width_enum },507 {0x5c,LANG_MENU_SPACE_SHOW_PERCENT, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.space_perc_show, (int)cb_space_perc },508 {0x5c,LANG_MENU_SPACE_SHOW_MB, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.space_mb_show, (int)cb_space_mb },509 {0x5f,LANG_MENU_SPACE_WARN_TYPE, MENUITEM_ENUM, (int*)gui_space_warn_type_enum },510 {0x58,LANG_MENU_SPACE_WARN_PERCENT, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.space_perc_warn, MENU_MINMAX(1, 99) },511 {0x58,LANG_MENU_SPACE_WARN_MB, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.space_mb_warn, MENU_MINMAX(1, 4000) },512 {0x51,LANG_MENU_BACK, MENUITEM_UP },464 MENU_ITEM(0x5c,LANG_MENU_SPACE_SHOW_ICON, MENUITEM_BOOL, &conf.space_icon_show, 0 ), 465 MENU_ENUM2(0x69,LANG_MENU_SPACE_SHOW_BAR, &conf.space_bar_show, gui_space_bar_modes ), 466 MENU_ENUM2(0x6a,LANG_MENU_SPACE_BAR_SIZE, &conf.space_bar_size, gui_space_bar_size_modes ), 467 MENU_ENUM2(0x6b,LANG_MENU_SPACE_BAR_WIDTH, &conf.space_bar_width, gui_space_bar_width_modes ), 468 MENU_ITEM(0x5c,LANG_MENU_SPACE_SHOW_PERCENT, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.space_perc_show, (int)cb_space_perc ), 469 MENU_ITEM(0x5c,LANG_MENU_SPACE_SHOW_MB, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.space_mb_show, (int)cb_space_mb ), 470 MENU_ENUM2(0x5f,LANG_MENU_SPACE_WARN_TYPE, &conf.space_warn_type, gui_space_warn_type_modes ), 471 MENU_ITEM(0x58,LANG_MENU_SPACE_WARN_PERCENT, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.space_perc_warn, MENU_MINMAX(1, 99) ), 472 MENU_ITEM(0x58,LANG_MENU_SPACE_WARN_MB, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.space_mb_warn, MENU_MINMAX(1, 4000) ), 473 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 513 474 {0} 514 475 }; 515 476 static CMenu space_submenu = {0x33,LANG_MENU_OSD_SPACE_PARAMS_TITLE, NULL, space_submenu_items}; 516 477 478 static const char* gui_dof_show_value_modes[] = { "Don't", "Separate", "In Misc" }; 517 479 static CMenuItem dof_submenu_items[] = { 518 {0x5f,LANG_MENU_OSD_SHOW_DOF_CALC, MENUITEM_ENUM, (int*)gui_dof_show_value_enum },519 {0x5c,LANG_MENU_DOF_SUBJ_DIST_AS_NEAR_LIMIT, MENUITEM_BOOL, &conf.dof_subj_dist_as_near_limit},520 {0x5c,LANG_MENU_DOF_USE_EXIF_SUBJ_DIST, MENUITEM_BOOL, &conf.dof_use_exif_subj_dist},521 {0x5c,LANG_MENU_DOF_SUBJ_DIST_IN_MISC, MENUITEM_BOOL, &conf.dof_subj_dist_in_misc},522 {0x5c,LANG_MENU_DOF_NEAR_LIMIT_IN_MISC, MENUITEM_BOOL, &conf.dof_near_limit_in_misc},523 {0x5c,LANG_MENU_DOF_FAR_LIMIT_IN_MISC, MENUITEM_BOOL, &conf.dof_far_limit_in_misc},524 {0x5c,LANG_MENU_DOF_HYPERFOCAL_IN_MISC, MENUITEM_BOOL, &conf.dof_hyperfocal_in_misc},525 {0x5c,LANG_MENU_DOF_DEPTH_LIMIT_IN_MISC, MENUITEM_BOOL, &conf.dof_depth_in_misc},480 MENU_ENUM2(0x5f,LANG_MENU_OSD_SHOW_DOF_CALC, &conf.show_dof, gui_dof_show_value_modes ), 481 MENU_ITEM(0x5c,LANG_MENU_DOF_SUBJ_DIST_AS_NEAR_LIMIT, MENUITEM_BOOL, &conf.dof_subj_dist_as_near_limit, 0), 482 MENU_ITEM(0x5c,LANG_MENU_DOF_USE_EXIF_SUBJ_DIST, MENUITEM_BOOL, &conf.dof_use_exif_subj_dist, 0), 483 MENU_ITEM(0x5c,LANG_MENU_DOF_SUBJ_DIST_IN_MISC, MENUITEM_BOOL, &conf.dof_subj_dist_in_misc, 0), 484 MENU_ITEM(0x5c,LANG_MENU_DOF_NEAR_LIMIT_IN_MISC, MENUITEM_BOOL, &conf.dof_near_limit_in_misc, 0), 485 MENU_ITEM(0x5c,LANG_MENU_DOF_FAR_LIMIT_IN_MISC, MENUITEM_BOOL, &conf.dof_far_limit_in_misc, 0), 486 MENU_ITEM(0x5c,LANG_MENU_DOF_HYPERFOCAL_IN_MISC, MENUITEM_BOOL, &conf.dof_hyperfocal_in_misc, 0), 487 MENU_ITEM(0x5c,LANG_MENU_DOF_DEPTH_LIMIT_IN_MISC, MENUITEM_BOOL, &conf.dof_depth_in_misc, 0), 526 488 #if !CAM_DRYOS 527 {0x5c,LANG_MENU_DOF_DIST_FROM_LENS, MENUITEM_BOOL, &conf.dof_dist_from_lens},528 #endif 529 {0x51,LANG_MENU_BACK, MENUITEM_UP },489 MENU_ITEM(0x5c,LANG_MENU_DOF_DIST_FROM_LENS, MENUITEM_BOOL, &conf.dof_dist_from_lens, 0), 490 #endif 491 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 530 492 {0} 531 493 }; 532 494 static CMenu dof_submenu = {0x31,LANG_MENU_DOF_TITLE, /*cb_dof_menu_change*/ NULL, dof_submenu_items }; 533 495 496 static const char* gui_zoom_value_modes[] = { "X", "FL", "EFL" }; 497 static const char* gui_show_values_modes[] = { "Don't", "Always", "Shoot" }; 534 498 static CMenuItem values_submenu_items[] = { 535 {0x5f,LANG_MENU_OSD_SHOW_MISC_VALUES, MENUITEM_ENUM, (int*)gui_show_values_enum },536 // {0x43,LANG_MENU_VALUES_SHOW_IN_REVIEW, MENUITEM_BOOL, &conf.values_show_in_review},537 {0x5c,LANG_MENU_SHOW_VALUES_IN_VIDEO, MENUITEM_BOOL, &conf.show_values_in_video},538 {0x5c,LANG_MENU_VALUES_SHOW_ZOOM, MENUITEM_BOOL, &conf.values_show_zoom},539 {0x5f,LANG_MENU_OSD_ZOOM_VALUE, MENUITEM_ENUM, (int*)gui_zoom_value_enum },540 {0x60,LANG_MENU_OSD_ZOOM_SCALE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.zoom_scale, MENU_MINMAX(0, 1000)},541 {0x62,LANG_MENU_VALUES_SHOW_REAL_APERTURE, MENUITEM_BOOL, &conf.values_show_real_aperture},542 {0x74,LANG_MENU_VALUES_SHOW_REAL_ISO, MENUITEM_BOOL, &conf.values_show_real_iso},543 {0x74,LANG_MENU_VALUES_SHOW_MARKET_ISO, MENUITEM_BOOL, &conf.values_show_market_iso},544 {0x2d,LANG_MENU_SHOW_ISO_ONLY_IN_AUTOISO_MODE, MENUITEM_BOOL, &conf.values_show_iso_only_in_autoiso_mode},545 {0x5c,LANG_MENU_VALUES_SHOW_EV_SETED, MENUITEM_BOOL, &conf.values_show_ev_seted},546 {0x5c,LANG_MENU_VALUES_SHOW_EV_MEASURED, MENUITEM_BOOL, &conf.values_show_ev_measured},547 {0x5c,LANG_MENU_VALUES_SHOW_BV_SETED, MENUITEM_BOOL, &conf.values_show_bv_seted},548 {0x5c,LANG_MENU_VALUES_SHOW_BV_MEASURED, MENUITEM_BOOL, &conf.values_show_bv_measured},549 {0x5c,LANG_MENU_VALUES_SHOW_OVEREXPOSURE, MENUITEM_BOOL, &conf.values_show_overexposure},550 {0x5c,LANG_MENU_SHOW_CANON_OVEREXPOSURE, MENUITEM_BOOL, &conf.values_show_canon_overexposure},551 {0x5c,LANG_MENU_VALUES_SHOW_LUMINANCE, MENUITEM_BOOL, &conf.values_show_luminance},552 {0x51,LANG_MENU_BACK, MENUITEM_UP },499 MENU_ENUM2(0x5f,LANG_MENU_OSD_SHOW_MISC_VALUES, &conf.show_values, gui_show_values_modes ), 500 // MENU_ITEM(0x43,LANG_MENU_VALUES_SHOW_IN_REVIEW, MENUITEM_BOOL, &conf.values_show_in_review, 0 ), 501 MENU_ITEM(0x5c,LANG_MENU_SHOW_VALUES_IN_VIDEO, MENUITEM_BOOL, &conf.show_values_in_video, 0 ), 502 MENU_ITEM(0x5c,LANG_MENU_VALUES_SHOW_ZOOM, MENUITEM_BOOL, &conf.values_show_zoom, 0 ), 503 MENU_ENUM2(0x5f,LANG_MENU_OSD_ZOOM_VALUE, &conf.zoom_value, gui_zoom_value_modes ), 504 MENU_ITEM(0x60,LANG_MENU_OSD_ZOOM_SCALE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.zoom_scale, MENU_MINMAX(0, 1000) ), 505 MENU_ITEM(0x62,LANG_MENU_VALUES_SHOW_REAL_APERTURE, MENUITEM_BOOL, &conf.values_show_real_aperture, 0 ), 506 MENU_ITEM(0x74,LANG_MENU_VALUES_SHOW_REAL_ISO, MENUITEM_BOOL, &conf.values_show_real_iso, 0 ), 507 MENU_ITEM(0x74,LANG_MENU_VALUES_SHOW_MARKET_ISO, MENUITEM_BOOL, &conf.values_show_market_iso, 0 ), 508 MENU_ITEM(0x2d,LANG_MENU_SHOW_ISO_ONLY_IN_AUTOISO_MODE, MENUITEM_BOOL, &conf.values_show_iso_only_in_autoiso_mode, 0 ), 509 MENU_ITEM(0x5c,LANG_MENU_VALUES_SHOW_EV_SETED, MENUITEM_BOOL, &conf.values_show_ev_seted, 0 ), 510 MENU_ITEM(0x5c,LANG_MENU_VALUES_SHOW_EV_MEASURED, MENUITEM_BOOL, &conf.values_show_ev_measured, 0 ), 511 MENU_ITEM(0x5c,LANG_MENU_VALUES_SHOW_BV_SETED, MENUITEM_BOOL, &conf.values_show_bv_seted, 0 ), 512 MENU_ITEM(0x5c,LANG_MENU_VALUES_SHOW_BV_MEASURED, MENUITEM_BOOL, &conf.values_show_bv_measured, 0 ), 513 MENU_ITEM(0x5c,LANG_MENU_VALUES_SHOW_OVEREXPOSURE, MENUITEM_BOOL, &conf.values_show_overexposure, 0 ), 514 MENU_ITEM(0x5c,LANG_MENU_SHOW_CANON_OVEREXPOSURE, MENUITEM_BOOL, &conf.values_show_canon_overexposure, 0 ), 515 MENU_ITEM(0x5c,LANG_MENU_VALUES_SHOW_LUMINANCE, MENUITEM_BOOL, &conf.values_show_luminance, 0 ), 516 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 553 517 {0} 554 518 }; 555 519 static CMenu values_submenu = {0x28,LANG_MENU_OSD_VALUES_TITLE, /*cb_values_menu_change*/ NULL, values_submenu_items }; 556 520 521 static const char* gui_show_clock_modes[]={ "Don't", "Normal", "Seconds"}; 522 static const char* gui_clock_format_modes[] = { "24h", "12h"}; 523 static const char* gui_clock_indicator_modes[] = { "PM", "P", "."}; 524 static const char* gui_clock_halfpress_modes[] = { "Full", "Seconds", "Don't"}; 557 525 static CMenuItem clock_submenu_items[] = { 558 {0x5f,LANG_MENU_OSD_SHOW_CLOCK, MENUITEM_ENUM, (int*)gui_show_clock_enum },559 {0x6d,LANG_MENU_OSD_CLOCK_FORMAT, MENUITEM_ENUM, (int*)gui_clock_format_enum },560 {0x6c,LANG_MENU_OSD_CLOCK_INDICATOR, MENUITEM_ENUM, (int*)gui_clock_indicator_enum },561 {0x6e,LANG_MENU_OSD_CLOCK_HALFPRESS, MENUITEM_ENUM, (int*)gui_clock_halfpress_enum },562 {0x51,LANG_MENU_BACK, MENUITEM_UP },526 MENU_ENUM2(0x5f,LANG_MENU_OSD_SHOW_CLOCK, &conf.show_clock, gui_show_clock_modes ), 527 MENU_ENUM2(0x6d,LANG_MENU_OSD_CLOCK_FORMAT, &conf.clock_format, gui_clock_format_modes ), 528 MENU_ENUM2(0x6c,LANG_MENU_OSD_CLOCK_INDICATOR, &conf.clock_indicator, gui_clock_indicator_modes ), 529 MENU_ENUM2(0x6e,LANG_MENU_OSD_CLOCK_HALFPRESS, &conf.clock_halfpress, gui_clock_halfpress_modes ), 530 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 563 531 {0} 564 532 }; … … 566 534 567 535 536 static const char* gui_show_movie_time_modes[] = { "Don't", "hh:mm:ss", "KB/s","both"}; 537 #if !CAM_VIDEO_QUALITY_ONLY 538 static const char* gui_video_mode_modes[] = { "Bitrate", "Quality"}; 539 #else 540 static const char* gui_video_mode_modes[] = { "Default", "Quality"}; 541 #endif 568 542 static CMenuItem video_submenu_items[] = { 569 543 #if CAM_CHDK_HAS_EXT_VIDEO_MENU 570 {0x23,LANG_MENU_VIDEO_MODE, MENUITEM_ENUM, (int*)gui_video_mode_enum},544 MENU_ENUM2(0x23,LANG_MENU_VIDEO_MODE, &conf.video_mode, gui_video_mode_modes ), 571 545 #if !CAM_VIDEO_QUALITY_ONLY 572 {0x5e,LANG_MENU_VIDEO_BITRATE, MENUITEM_ENUM, (int*)gui_video_bitrate_enum},573 #endif 574 {0x60,LANG_MENU_VIDEO_QUALITY, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.video_quality, MENU_MINMAX(1, 99)},575 {0x5c,LANG_MENU_CLEAR_VIDEO_VALUES, MENUITEM_BOOL, (int*)&conf.clear_video},546 MENU_ITEM(0x5e,LANG_MENU_VIDEO_BITRATE, MENUITEM_ENUM, gui_video_bitrate_enum, 0 ), 547 #endif 548 MENU_ITEM(0x60,LANG_MENU_VIDEO_QUALITY, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.video_quality, MENU_MINMAX(1, 99) ), 549 MENU_ITEM(0x5c,LANG_MENU_CLEAR_VIDEO_VALUES, MENUITEM_BOOL, &conf.clear_video, 0 ), 576 550 #endif 577 551 #if CAM_VIDEO_CONTROL 578 {0x5c,LANG_MENU_FAST_SWITCH_VIDEO, MENUITEM_BOOL, &conf.fast_movie_control},552 MENU_ITEM(0x5c,LANG_MENU_FAST_SWITCH_VIDEO, MENUITEM_BOOL, &conf.fast_movie_control, 0 ), 579 553 #endif 580 554 #if CAM_CHDK_HAS_EXT_VIDEO_MENU 581 {0x5c,LANG_MENU_FAST_SWITCH_QUALITY_VIDEO, MENUITEM_BOOL, &conf.fast_movie_quality_control},555 MENU_ITEM(0x5c,LANG_MENU_FAST_SWITCH_QUALITY_VIDEO, MENUITEM_BOOL, &conf.fast_movie_quality_control, 0 ), 582 556 #endif 583 557 #if CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 584 {0x5c,LANG_MENU_OPTICAL_ZOOM_IN_VIDEO, MENUITEM_BOOL, &conf.unlock_optical_zoom_for_video},558 MENU_ITEM(0x5c,LANG_MENU_OPTICAL_ZOOM_IN_VIDEO, MENUITEM_BOOL, &conf.unlock_optical_zoom_for_video, 0 ), 585 559 #endif 586 560 #if CAM_CAN_MUTE_MICROPHONE 587 {0x83,LANG_MENU_MUTE_ON_ZOOM, MENUITEM_BOOL, &conf.mute_on_zoom},561 MENU_ITEM(0x83,LANG_MENU_MUTE_ON_ZOOM, MENUITEM_BOOL, &conf.mute_on_zoom, 0 ), 588 562 #endif 589 563 #if CAM_AF_SCAN_DURING_VIDEO_RECORD 590 {0x82,LANG_MENU_VIDEO_AF_KEY, MENUITEM_ENUM, (int*)gui_video_af_key_enum},591 #endif 592 {0x5c,LANG_MENU_OSD_SHOW_VIDEO_TIME, MENUITEM_ENUM, (int*)gui_show_movie_time },593 {0x60,LANG_MENU_OSD_SHOW_VIDEO_REFRESH, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.show_movie_refresh, MENU_MINMAX(1, 20)},594 {0x51,LANG_MENU_BACK, MENUITEM_UP },595 {0}564 MENU_ITEM(0x82,LANG_MENU_VIDEO_AF_KEY, MENUITEM_ENUM, gui_video_af_key_enum, 0 ), 565 #endif 566 MENU_ENUM2(0x5c,LANG_MENU_OSD_SHOW_VIDEO_TIME, &conf.show_movie_time, gui_show_movie_time_modes ), 567 MENU_ITEM(0x60,LANG_MENU_OSD_SHOW_VIDEO_REFRESH, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.show_movie_refresh, MENU_MINMAX(1, 20) ), 568 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 569 {0} 596 570 }; 597 571 static CMenu video_submenu = {0x23,LANG_MENU_VIDEO_PARAM_TITLE, NULL, video_submenu_items }; 598 572 573 static const char* gui_bracket_values_modes[] = { "Off", "1/3 Ev","2/3 Ev", "1 Ev", "1 1/3Ev", "1 2/3Ev", "2 Ev", "2 1/3Ev", "2 2/3Ev", "3 Ev", "3 1/3Ev", "3 2/3Ev", "4 Ev"}; 574 static const char* gui_override_koef_modes[] = { "Off", "1", "10", "100", "1000" }; 575 static const char* gui_bracket_type_modes[] = { "+/-", "-","+"}; 599 576 static CMenuItem bracketing_in_continuous_submenu_items[] = { 600 {0x63,LANG_MENU_TV_BRACKET_VALUE, MENUITEM_ENUM, (int*)gui_tv_bracket_values_enum },577 MENU_ENUM2(0x63,LANG_MENU_TV_BRACKET_VALUE, &conf.tv_bracket_value, gui_bracket_values_modes ), 601 578 #if CAM_HAS_IRIS_DIAPHRAGM 602 {0x62,LANG_MENU_AV_BRACKET_VALUE, MENUITEM_ENUM, (int*)gui_av_bracket_values_enum },579 MENU_ENUM2(0x62,LANG_MENU_AV_BRACKET_VALUE, &conf.av_bracket_value, gui_bracket_values_modes ), 603 580 #endif 604 581 #if CAM_CAN_SD_OVERRIDE 605 {0x5e,LANG_MENU_SUBJ_DIST_BRACKET_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.subj_dist_bracket_value, MENU_MINMAX(0, 100)},606 {0x5f,LANG_MENU_SUBJ_DIST_BRACKET_KOEF, MENUITEM_ENUM, (int*)gui_subj_dist_bracket_koef_enum},607 #endif 608 {0x74,LANG_MENU_ISO_BRACKET_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.iso_bracket_value, MENU_MINMAX(0, 100)},609 {0x5f,LANG_MENU_ISO_BRACKET_KOEF, MENUITEM_ENUM, (int*)gui_iso_bracket_koef_enum},610 {0x60,LANG_MENU_BRACKET_TYPE, MENUITEM_ENUM, (int*)gui_bracket_type_enum },611 {0x5b,LANG_MENU_CLEAR_BRACKET_VALUES, MENUITEM_BOOL, (int*)&conf.clear_bracket},612 {0x5c,LANG_MENU_BRACKETING_ADD_RAW_SUFFIX, MENUITEM_BOOL, &conf.bracketing_add_raw_suffix },613 {0x51,LANG_MENU_BACK, MENUITEM_UP },582 MENU_ITEM(0x5e,LANG_MENU_SUBJ_DIST_BRACKET_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.subj_dist_bracket_value, MENU_MINMAX(0, 100) ), 583 MENU_ENUM2(0x5f,LANG_MENU_SUBJ_DIST_BRACKET_KOEF, &conf.subj_dist_bracket_koef, gui_override_koef_modes ), 584 #endif 585 MENU_ITEM(0x74,LANG_MENU_ISO_BRACKET_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.iso_bracket_value, MENU_MINMAX(0, 100) ), 586 MENU_ENUM2a(0x5f,LANG_MENU_ISO_BRACKET_KOEF, &conf.iso_bracket_koef, gui_override_koef_modes, 4 ), 587 MENU_ENUM2(0x60,LANG_MENU_BRACKET_TYPE, &conf.bracket_type, gui_bracket_type_modes ), 588 MENU_ITEM(0x5b,LANG_MENU_CLEAR_BRACKET_VALUES, MENUITEM_BOOL, &conf.clear_bracket, 0 ), 589 MENU_ITEM(0x5c,LANG_MENU_BRACKETING_ADD_RAW_SUFFIX, MENUITEM_BOOL, &conf.bracketing_add_raw_suffix, 0 ), 590 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 614 591 {0} 615 592 }; … … 619 596 /* 620 597 static CMenuItem exposure_submenu_items[] = { 621 {0x59,LANG_MENU_RECALC_EXPOSURE, MENUITEM_BOOL, &conf.recalc_exposure},622 {0x63,LANG_MENU_TV_EXPOSURE_ORDER, MENUITEM_ENUM, (int*)gui_tv_exposure_order_enum},623 {0x62,LANG_MENU_AV_EXPOSURE_ORDER, MENUITEM_ENUM, (int*)gui_av_exposure_order_enum},624 {0x74,LANG_MENU_ISO_EXPOSURE_ORDER, MENUITEM_ENUM, (int*)gui_iso_exposure_order_enum},625 {0x51,LANG_MENU_BACK, MENUITEM_UP },598 MENU_ITEM(0x59,LANG_MENU_RECALC_EXPOSURE, MENUITEM_BOOL, &conf.recalc_exposure, 0), 599 MENU_ITEM(0x63,LANG_MENU_TV_EXPOSURE_ORDER, MENUITEM_ENUM, gui_tv_exposure_order_enum, 0), 600 MENU_ITEM(0x62,LANG_MENU_AV_EXPOSURE_ORDER, MENUITEM_ENUM, gui_av_exposure_order_enum, 0), 601 MENU_ITEM(0x74,LANG_MENU_ISO_EXPOSURE_ORDER, MENUITEM_ENUM, gui_iso_exposure_order_enum, 0), 602 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 626 603 {0} 627 604 }; … … 630 607 631 608 // "Extra Photo Operations" Menu 609 static const char* gui_override_disable_modes[] = { "Off", "On", "Disabled"}; 610 static const char* gui_nd_filter_state_modes[] = { "Off", "In", "Out" }; 611 static const char* gui_fast_ev_step_modes[] = {"1/6 Ev","1/3 Ev","1/2 Ev", "2/3 Ev","5/6 Ev","1 Ev","1 1/6 Ev","1 1/3 Ev","1 1/2 Ev", "1 2/3 Ev","1 5/6 Ev","2 Ev","2 1/6 Ev","2 1/3 Ev","2 1/2 Ev", "2 2/3 Ev","2 5/6 Ev","3 Ev","3 1/6 Ev","3 1/3 Ev","3 1/2 Ev", "3 2/3 Ev","3 5/6 Ev","4 Ev"}; 612 static const char* gui_fast_image_quality_modes[] = { "sup.fine", "fine", "normal", "off" }; 632 613 static CMenuItem operation_submenu_items[] = { 633 {0x5f,LANG_MENU_OVERRIDE_DISABLE, MENUITEM_ENUM, (int*)gui_override_disable_enum},//&conf.override_disable },634 {0x5c,LANG_MENU_OVERRIDE_DISABLE_ALL, MENUITEM_BOOL, &conf.override_disable_all },635 {0x61,LANG_MENU_OVERRIDE_TV_VALUE, MENUITEM_ENUM, (int*)gui_tv_override_value_enum},636 {0x5f,LANG_MENU_OVERRIDE_TV_KOEF, MENUITEM_ENUM, (int*)gui_tv_override_koef_enum},637 {0x59,LANG_MENU_TV_ENUM_TYPE, MENUITEM_ENUM, (int*)gui_tv_enum_type_enum},614 MENU_ENUM2(0x5f,LANG_MENU_OVERRIDE_DISABLE, &conf.override_disable, gui_override_disable_modes ), 615 MENU_ITEM(0x5c,LANG_MENU_OVERRIDE_DISABLE_ALL, MENUITEM_BOOL, &conf.override_disable_all, 0 ), 616 MENU_ITEM(0x61,LANG_MENU_OVERRIDE_TV_VALUE, MENUITEM_ENUM, gui_tv_override_value_enum, 0 ), 617 MENU_ITEM(0x5f,LANG_MENU_OVERRIDE_TV_KOEF, MENUITEM_ENUM, gui_tv_override_koef_enum, 0 ), 618 MENU_ITEM(0x59,LANG_MENU_TV_ENUM_TYPE, MENUITEM_ENUM, gui_tv_enum_type_enum, 0 ), 638 619 #if CAM_HAS_IRIS_DIAPHRAGM 639 {0x62,LANG_MENU_OVERRIDE_AV_VALUE, MENUITEM_ENUM, (int*)gui_av_override_enum },620 MENU_ITEM(0x62,LANG_MENU_OVERRIDE_AV_VALUE, MENUITEM_ENUM, gui_av_override_enum, 0 ), 640 621 #endif 641 622 #if CAM_HAS_ND_FILTER 642 {0x5f,LANG_MENU_OVERRIDE_ND_FILTER, MENUITEM_ENUM, (int*)gui_nd_filter_state_enum },623 MENU_ENUM2(0x5f,LANG_MENU_OVERRIDE_ND_FILTER, &conf.nd_filter_state, gui_nd_filter_state_modes ), 643 624 #endif 644 625 #if CAM_CAN_SD_OVERRIDE 645 {0x5e,LANG_MENU_OVERRIDE_SUBJ_DIST_VALUE, MENUITEM_ENUM, (int*)gui_subj_dist_override_value_enum},646 {0x5f,LANG_MENU_OVERRIDE_SUBJ_DIST_KOEF, MENUITEM_ENUM, (int*)gui_subj_dist_override_koef_enum},647 #endif 648 {0x74,LANG_MENU_OVERRIDE_ISO_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.iso_override_value, MENU_MINMAX(0, 800)},649 {0x5f,LANG_MENU_OVERRIDE_ISO_KOEF, MENUITEM_ENUM, (int*)gui_iso_override_koef_enum},626 MENU_ITEM(0x5e,LANG_MENU_OVERRIDE_SUBJ_DIST_VALUE, MENUITEM_ENUM, gui_subj_dist_override_value_enum, 0 ), 627 MENU_ITEM(0x5f,LANG_MENU_OVERRIDE_SUBJ_DIST_KOEF, MENUITEM_ENUM, gui_subj_dist_override_koef_enum, 0 ), 628 #endif 629 MENU_ITEM(0x74,LANG_MENU_OVERRIDE_ISO_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.iso_override_value, MENU_MINMAX(0, 800) ), 630 MENU_ENUM2a(0x5f,LANG_MENU_OVERRIDE_ISO_KOEF, &conf.iso_override_koef, gui_override_koef_modes, 4 ), 650 631 #if ZOOM_OVERRIDE 651 {0x5c,LANG_MENU_OVERRIDE_ZOOM, MENUITEM_BOOL, &conf.zoom_override},652 {0x5f,LANG_MENU_OVERRIDE_ZOOM_VALUE, MENUITEM_ENUM, (int*)gui_zoom_override_enum },653 654 {0x5c,LANG_MENU_CLEAR_ZOOM_OVERRIDE_VALUES, MENUITEM_BOOL, (int*)&conf.clear_zoom_override},655 #endif 656 {0x2c,LANG_MENU_BRACKET_IN_CONTINUOUS, MENUITEM_SUBMENU, (int*)&bracketing_in_continuous_submenu },657 {0x2d,LANG_MENU_AUTOISO, MENUITEM_SUBMENU, (int*)&autoiso_submenu },658 //{LANG_MENU_EXPOSURE, MENUITEM_SUBMENU, (int*)&exposure_submenu },659 {0x5b,LANG_MENU_CLEAR_OVERRIDE_VALUES, MENUITEM_BOOL, (int*)&conf.clear_override},660 661 {0x5c,LANG_MENU_MISC_FAST_EV, MENUITEM_BOOL, &conf.fast_ev },662 {0x5f,LANG_MENU_MISC_FAST_EV_STEP, MENUITEM_ENUM, (int*)gui_fast_ev_step },632 MENU_ITEM(0x5c,LANG_MENU_OVERRIDE_ZOOM, MENUITEM_BOOL, &conf.zoom_override, 0 ), 633 MENU_ITEM(0x5f,LANG_MENU_OVERRIDE_ZOOM_VALUE, MENUITEM_ENUM, gui_zoom_override_enum, 0 ), 634 635 MENU_ITEM(0x5c,LANG_MENU_CLEAR_ZOOM_OVERRIDE_VALUES, MENUITEM_BOOL, &conf.clear_zoom_override, 0 ), 636 #endif 637 MENU_ITEM(0x2c,LANG_MENU_BRACKET_IN_CONTINUOUS, MENUITEM_SUBMENU, &bracketing_in_continuous_submenu, 0 ), 638 MENU_ITEM(0x2d,LANG_MENU_AUTOISO, MENUITEM_SUBMENU, &autoiso_submenu, 0 ), 639 //{LANG_MENU_EXPOSURE, MENUITEM_SUBMENU, &exposure_submenu, 0 ), 640 MENU_ITEM(0x5b,LANG_MENU_CLEAR_OVERRIDE_VALUES, MENUITEM_BOOL, &conf.clear_override, 0 ), 641 642 MENU_ITEM(0x5c,LANG_MENU_MISC_FAST_EV, MENUITEM_BOOL, &conf.fast_ev, 0 ), 643 MENU_ENUM2(0x5f,LANG_MENU_MISC_FAST_EV_STEP, &conf.fast_ev_step, gui_fast_ev_step_modes ), 663 644 #if CAM_REAR_CURTAIN 664 {0x5c, LANG_MENU_REAR_CURTAIN, MENUITEM_BOOL, &conf.flash_sync_curtain },665 #endif 666 {0x5c, LANG_MENU_FLASH_MANUAL_OVERRIDE, MENUITEM_BOOL, &conf.flash_manual_override},667 {0x5f, LANG_MENU_FLASH_VIDEO_OVERRIDE_POWER, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.flash_video_override_power, MENU_MINMAX(0, 2)},645 MENU_ITEM(0x5c, LANG_MENU_REAR_CURTAIN, MENUITEM_BOOL, &conf.flash_sync_curtain, 0 ), 646 #endif 647 MENU_ITEM(0x5c, LANG_MENU_FLASH_MANUAL_OVERRIDE, MENUITEM_BOOL, &conf.flash_manual_override, 0 ), 648 MENU_ITEM(0x5f, LANG_MENU_FLASH_VIDEO_OVERRIDE_POWER, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.flash_video_override_power, MENU_MINMAX(0, 2) ), 668 649 #if CAM_HAS_VIDEO_BUTTON 669 {0x5c, LANG_MENU_FLASH_VIDEO_OVERRIDE, MENUITEM_BOOL, &conf.flash_video_override},650 MENU_ITEM(0x5c, LANG_MENU_FLASH_VIDEO_OVERRIDE, MENUITEM_BOOL, &conf.flash_video_override, 0 ), 670 651 #endif 671 652 #if CAM_QUALITY_OVERRIDE 672 {0x5c,LANG_MENU_MISC_IMAGE_QUALITY, MENUITEM_ENUM, (int*)gui_fast_image_quality },673 #endif 674 {0x51,LANG_MENU_BACK, MENUITEM_UP },653 MENU_ENUM2(0x5c,LANG_MENU_MISC_IMAGE_QUALITY, &conf.fast_image_quality, gui_fast_image_quality_modes ), 654 #endif 655 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 675 656 {0} 676 657 }; … … 678 659 679 660 #ifdef OPT_EDGEOVERLAY 661 static const char* gui_edge_pano_modes[] = { "Off", "Right", "Down", "Left", "Up", "Free"}; 680 662 static CMenuItem edge_overlay_submenu_items[] = { 681 {0x5c,LANG_MENU_EDGE_OVERLAY_ENABLE, MENUITEM_BOOL, &conf.edge_overlay_enable },682 {0x5c,LANG_MENU_EDGE_FILTER, MENUITEM_BOOL, &conf.edge_overlay_filter },683 {0x5f,LANG_MENU_EDGE_PANO, MENUITEM_ENUM, (int*)gui_edge_pano_enum },684 {0x5e,LANG_MENU_EDGE_PANO_OVERLAP, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.edge_overlay_pano_overlap, MENU_MINMAX(0, 100)},685 {0x5c,LANG_MENU_EDGE_SHOW, MENUITEM_BOOL, &conf.edge_overlay_show },686 {0x5e,LANG_MENU_EDGE_OVERLAY_TRESH, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.edge_overlay_thresh, MENU_MINMAX(0, 255)},687 {0x65,LANG_MENU_EDGE_OVERLAY_COLOR, MENUITEM_COLOR_FG, (int*)&conf.edge_overlay_color },688 {0x5c,LANG_MENU_EDGE_PLAY, MENUITEM_BOOL, &conf.edge_overlay_play }, //does not work on cams like s-series, which dont have a real "hardware" play/rec switch, need a workaround, probably another button689 {0x33,LANG_MENU_EDGE_SAVE, MENUITEM_PROC, (int*)gui_menuproc_edge_save },690 {0x5c,LANG_MENU_EDGE_ZOOM, MENUITEM_BOOL, &conf.edge_overlay_zoom },691 {0x33,LANG_MENU_EDGE_LOAD, MENUITEM_PROC, (int*)gui_menuproc_edge_load },692 {0x51,LANG_MENU_BACK, MENUITEM_UP },663 MENU_ITEM(0x5c,LANG_MENU_EDGE_OVERLAY_ENABLE, MENUITEM_BOOL, &conf.edge_overlay_enable, 0 ), 664 MENU_ITEM(0x5c,LANG_MENU_EDGE_FILTER, MENUITEM_BOOL, &conf.edge_overlay_filter, 0 ), 665 MENU_ENUM2(0x5f,LANG_MENU_EDGE_PANO, &conf.edge_overlay_pano, gui_edge_pano_modes ), 666 MENU_ITEM(0x5e,LANG_MENU_EDGE_PANO_OVERLAP, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.edge_overlay_pano_overlap, MENU_MINMAX(0, 100) ), 667 MENU_ITEM(0x5c,LANG_MENU_EDGE_SHOW, MENUITEM_BOOL, &conf.edge_overlay_show, 0 ), 668 MENU_ITEM(0x5e,LANG_MENU_EDGE_OVERLAY_TRESH, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.edge_overlay_thresh, MENU_MINMAX(0, 255) ), 669 MENU_ITEM(0x65,LANG_MENU_EDGE_OVERLAY_COLOR, MENUITEM_COLOR_FG, &conf.edge_overlay_color, 0 ), 670 MENU_ITEM(0x5c,LANG_MENU_EDGE_PLAY, MENUITEM_BOOL, &conf.edge_overlay_play, 0 ), //does not work on cams like s-series, which dont have a real "hardware" play/rec switch, need a workaround, probably another button 671 MENU_ITEM(0x33,LANG_MENU_EDGE_SAVE, MENUITEM_PROC, gui_menuproc_edge_save, 0 ), 672 MENU_ITEM(0x5c,LANG_MENU_EDGE_ZOOM, MENUITEM_BOOL, &conf.edge_overlay_zoom, 0 ), 673 MENU_ITEM(0x33,LANG_MENU_EDGE_LOAD, MENUITEM_PROC, gui_menuproc_edge_load, 0 ), 674 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 693 675 {0} 694 676 }; … … 697 679 698 680 static CMenuItem grid_submenu_items[] = { 699 {0x2f,LANG_MENU_SHOW_GRID, MENUITEM_BOOL, &conf.show_grid_lines },700 {0x35,LANG_MENU_GRID_LOAD, MENUITEM_PROC, (int*)gui_grid_lines_load },701 {0x0,LANG_MENU_GRID_CURRENT, MENUITEM_SEPARATOR },702 {0x0,(int)grid_title, MENUITEM_TEXT },703 {0x0,(int)"", MENUITEM_SEPARATOR },704 {0x5c,LANG_MENU_GRID_FORCE_COLOR, MENUITEM_BOOL, &conf.grid_force_color },705 {0x65,LANG_MENU_GRID_COLOR_LINE, MENUITEM_COLOR_FG, (int*)&conf.grid_color },706 {0x65,LANG_MENU_GRID_COLOR_FILL, MENUITEM_COLOR_BG, (int*)&conf.grid_color },707 {0x51,LANG_MENU_BACK, MENUITEM_UP },681 MENU_ITEM(0x2f,LANG_MENU_SHOW_GRID, MENUITEM_BOOL, &conf.show_grid_lines, 0 ), 682 MENU_ITEM(0x35,LANG_MENU_GRID_LOAD, MENUITEM_PROC, gui_grid_lines_load, 0 ), 683 MENU_ITEM(0x0,LANG_MENU_GRID_CURRENT, MENUITEM_SEPARATOR, 0, 0 ), 684 MENU_ITEM(0x0,(int)grid_title, MENUITEM_TEXT, 0, 0 ), 685 MENU_ITEM(0x0,(int)"", MENUITEM_SEPARATOR, 0, 0 ), 686 MENU_ITEM(0x5c,LANG_MENU_GRID_FORCE_COLOR, MENUITEM_BOOL, &conf.grid_force_color, 0 ), 687 MENU_ITEM(0x65,LANG_MENU_GRID_COLOR_LINE, MENUITEM_COLOR_FG, &conf.grid_color, 0 ), 688 MENU_ITEM(0x65,LANG_MENU_GRID_COLOR_FILL, MENUITEM_COLOR_BG, &conf.grid_color, 0 ), 689 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 708 690 {0} 709 691 }; … … 711 693 712 694 static CMenuItem visual_submenu_items[] = { 713 {0x35,LANG_MENU_VIS_LANG, MENUITEM_PROC, (int*)gui_draw_load_lang },714 {0x5f,LANG_MENU_VIS_OSD_FONT, MENUITEM_ENUM, (int*)gui_font_enum },715 {0x35,LANG_MENU_VIS_MENU_FONT, MENUITEM_PROC, (int*)gui_draw_load_menu_rbf },716 {0x35,LANG_MENU_VIS_MENU_SYMBOL_FONT, MENUITEM_PROC, (int*)gui_draw_load_symbol_rbf },717 {0x80,LANG_MENU_RESET_FILES , MENUITEM_PROC, (int*)gui_menuproc_reset_files },718 {0x0,LANG_MENU_VIS_COLORS, MENUITEM_SEPARATOR },719 {0x65,LANG_MENU_VIS_OSD_TEXT, MENUITEM_COLOR_FG, (int*)&conf.osd_color },720 {0x65,LANG_MENU_VIS_OSD_BKG, MENUITEM_COLOR_BG, (int*)&conf.osd_color },721 {0x65,LANG_MENU_VIS_OSD_WARNING, MENUITEM_COLOR_FG, (int*)&conf.osd_color_warn },722 {0x65,LANG_MENU_VIS_OSD_WARNING_BKG, MENUITEM_COLOR_BG, (int*)&conf.osd_color_warn },723 {0x65,LANG_MENU_VIS_HISTO, MENUITEM_COLOR_FG, (int*)&conf.histo_color },724 {0x65,LANG_MENU_VIS_HISTO_BKG, MENUITEM_COLOR_BG, (int*)&conf.histo_color },725 {0x65,LANG_MENU_VIS_HISTO_BORDER, MENUITEM_COLOR_FG, (int*)&conf.histo_color2 },726 {0x65,LANG_MENU_VIS_HISTO_MARKERS, MENUITEM_COLOR_BG, (int*)&conf.histo_color2 },727 {0x65,LANG_MENU_VIS_ZEBRA_UNDER, MENUITEM_COLOR_BG, (int*)&conf.zebra_color },728 {0x65,LANG_MENU_VIS_ZEBRA_OVER, MENUITEM_COLOR_FG, (int*)&conf.zebra_color },729 {0x65,LANG_MENU_VIS_BATT_ICON, MENUITEM_COLOR_FG, (int*)&conf.batt_icon_color },730 {0x65,LANG_MENU_VIS_SPACE_ICON, MENUITEM_COLOR_FG, (int*)&conf.space_color },731 {0x65,LANG_MENU_VIS_SPACE_ICON_BKG, MENUITEM_COLOR_BG, (int*)&conf.space_color },732 {0x65,LANG_MENU_VIS_MENU_TEXT, MENUITEM_COLOR_FG, (int*)&conf.menu_color },733 {0x65,LANG_MENU_VIS_MENU_BKG, MENUITEM_COLOR_BG, (int*)&conf.menu_color },734 {0x65,LANG_MENU_VIS_MENU_TITLE_TEXT, MENUITEM_COLOR_FG, (int*)&conf.menu_title_color },735 {0x65,LANG_MENU_VIS_MENU_TITLE_BKG, MENUITEM_COLOR_BG, (int*)&conf.menu_title_color },736 {0x65,LANG_MENU_VIS_MENU_CURSOR_TEXT, MENUITEM_COLOR_FG, (int*)&conf.menu_cursor_color },737 {0x65,LANG_MENU_VIS_MENU_CURSOR_BKG, MENUITEM_COLOR_BG, (int*)&conf.menu_cursor_color },738 {0x65,LANG_MENU_VIS_MENU_SYMBOL_TEXT, MENUITEM_COLOR_FG, (int*)&conf.menu_symbol_color },739 {0x65,LANG_MENU_VIS_MENU_SYMBOL_BKG, MENUITEM_COLOR_BG, (int*)&conf.menu_symbol_color },740 {0x65,LANG_MENU_VIS_READER_TEXT, MENUITEM_COLOR_FG, (int*)&conf.reader_color },741 {0x65,LANG_MENU_VIS_READER_BKG, MENUITEM_COLOR_BG, (int*)&conf.reader_color },742 {0x65,LANG_MENU_VIS_OSD_OVERRIDE, MENUITEM_COLOR_FG, (int*)&conf.osd_color_override },743 {0x65,LANG_MENU_VIS_OSD_OVERRIDE_BKG, MENUITEM_COLOR_BG, (int*)&conf.osd_color_override },744 {0x51,LANG_MENU_BACK, MENUITEM_UP },695 MENU_ITEM(0x35,LANG_MENU_VIS_LANG, MENUITEM_PROC, gui_draw_load_lang, 0 ), 696 MENU_ITEM(0x5f,LANG_MENU_VIS_OSD_FONT, MENUITEM_ENUM, gui_font_enum, 0 ), 697 MENU_ITEM(0x35,LANG_MENU_VIS_MENU_FONT, MENUITEM_PROC, gui_draw_load_menu_rbf, 0 ), 698 MENU_ITEM(0x35,LANG_MENU_VIS_MENU_SYMBOL_FONT, MENUITEM_PROC, gui_draw_load_symbol_rbf, 0 ), 699 MENU_ITEM(0x80,LANG_MENU_RESET_FILES , MENUITEM_PROC, gui_menuproc_reset_files, 0 ), 700 MENU_ITEM(0x0,LANG_MENU_VIS_COLORS, MENUITEM_SEPARATOR, 0, 0 ), 701 MENU_ITEM(0x65,LANG_MENU_VIS_OSD_TEXT, MENUITEM_COLOR_FG, &conf.osd_color, 0 ), 702 MENU_ITEM(0x65,LANG_MENU_VIS_OSD_BKG, MENUITEM_COLOR_BG, &conf.osd_color, 0 ), 703 MENU_ITEM(0x65,LANG_MENU_VIS_OSD_WARNING, MENUITEM_COLOR_FG, &conf.osd_color_warn, 0 ), 704 MENU_ITEM(0x65,LANG_MENU_VIS_OSD_WARNING_BKG, MENUITEM_COLOR_BG, &conf.osd_color_warn, 0 ), 705 MENU_ITEM(0x65,LANG_MENU_VIS_HISTO, MENUITEM_COLOR_FG, &conf.histo_color, 0 ), 706 MENU_ITEM(0x65,LANG_MENU_VIS_HISTO_BKG, MENUITEM_COLOR_BG, &conf.histo_color, 0 ), 707 MENU_ITEM(0x65,LANG_MENU_VIS_HISTO_BORDER, MENUITEM_COLOR_FG, &conf.histo_color2, 0 ), 708 MENU_ITEM(0x65,LANG_MENU_VIS_HISTO_MARKERS, MENUITEM_COLOR_BG, &conf.histo_color2, 0 ), 709 MENU_ITEM(0x65,LANG_MENU_VIS_ZEBRA_UNDER, MENUITEM_COLOR_BG, &conf.zebra_color, 0 ), 710 MENU_ITEM(0x65,LANG_MENU_VIS_ZEBRA_OVER, MENUITEM_COLOR_FG, &conf.zebra_color, 0 ), 711 MENU_ITEM(0x65,LANG_MENU_VIS_BATT_ICON, MENUITEM_COLOR_FG, &conf.batt_icon_color, 0 ), 712 MENU_ITEM(0x65,LANG_MENU_VIS_SPACE_ICON, MENUITEM_COLOR_FG, &conf.space_color, 0 ), 713 MENU_ITEM(0x65,LANG_MENU_VIS_SPACE_ICON_BKG, MENUITEM_COLOR_BG, &conf.space_color, 0 ), 714 MENU_ITEM(0x65,LANG_MENU_VIS_MENU_TEXT, MENUITEM_COLOR_FG, &conf.menu_color, 0 ), 715 MENU_ITEM(0x65,LANG_MENU_VIS_MENU_BKG, MENUITEM_COLOR_BG, &conf.menu_color, 0 ), 716 MENU_ITEM(0x65,LANG_MENU_VIS_MENU_TITLE_TEXT, MENUITEM_COLOR_FG, &conf.menu_title_color, 0 ), 717 MENU_ITEM(0x65,LANG_MENU_VIS_MENU_TITLE_BKG, MENUITEM_COLOR_BG, &conf.menu_title_color, 0 ), 718 MENU_ITEM(0x65,LANG_MENU_VIS_MENU_CURSOR_TEXT, MENUITEM_COLOR_FG, &conf.menu_cursor_color, 0 ), 719 MENU_ITEM(0x65,LANG_MENU_VIS_MENU_CURSOR_BKG, MENUITEM_COLOR_BG, &conf.menu_cursor_color, 0 ), 720 MENU_ITEM(0x65,LANG_MENU_VIS_MENU_SYMBOL_TEXT, MENUITEM_COLOR_FG, &conf.menu_symbol_color, 0 ), 721 MENU_ITEM(0x65,LANG_MENU_VIS_MENU_SYMBOL_BKG, MENUITEM_COLOR_BG, &conf.menu_symbol_color, 0 ), 722 MENU_ITEM(0x65,LANG_MENU_VIS_READER_TEXT, MENUITEM_COLOR_FG, &conf.reader_color, 0 ), 723 MENU_ITEM(0x65,LANG_MENU_VIS_READER_BKG, MENUITEM_COLOR_BG, &conf.reader_color, 0 ), 724 MENU_ITEM(0x65,LANG_MENU_VIS_OSD_OVERRIDE, MENUITEM_COLOR_FG, &conf.osd_color_override, 0 ), 725 MENU_ITEM(0x65,LANG_MENU_VIS_OSD_OVERRIDE_BKG, MENUITEM_COLOR_BG, &conf.osd_color_override, 0 ), 726 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 745 727 {0} 746 728 }; … … 755 737 756 738 static CMenuItem user_submenu_items[USER_MENU_ITEMS + 2] = { 757 {0x20,LANG_MENU_MAIN_TITLE, MENUITEM_PROC, (int*)rinit}739 MENU_ITEM(0x20,LANG_MENU_MAIN_TITLE, MENUITEM_PROC, rinit, 0 ) 758 740 }; 759 741 … … 761 743 762 744 static CMenuItem raw_state_submenu_items[] = { 763 {0x5c,LANG_MENU_OSD_SHOW_RAW_STATE, MENUITEM_BOOL, &conf.show_raw_state },764 {0x5c,LANG_MENU_OSD_SHOW_REMAINING_RAW, MENUITEM_BOOL, &conf.show_remaining_raw },765 {0x60,LANG_MENU_OSD_RAW_TRESHOLD, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.remaining_raw_treshold, MENU_MINMAX(0, 200)},766 {0x51,LANG_MENU_BACK, MENUITEM_UP },745 MENU_ITEM(0x5c,LANG_MENU_OSD_SHOW_RAW_STATE, MENUITEM_BOOL, &conf.show_raw_state, 0 ), 746 MENU_ITEM(0x5c,LANG_MENU_OSD_SHOW_REMAINING_RAW, MENUITEM_BOOL, &conf.show_remaining_raw, 0 ), 747 MENU_ITEM(0x60,LANG_MENU_OSD_RAW_TRESHOLD, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.remaining_raw_treshold, MENU_MINMAX(0, 200) ), 748 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 767 749 {0} 768 750 }; … … 771 753 772 754 #ifdef CAM_TOUCHSCREEN_UI 773 static const char* gui_touchscreen_disable_video_enum(int change, int arg); 774 static const char* gui_touchscreen_disable_shortcuts_enum(int change, int arg); 755 static const char* gui_touchscreen_disable_modes[]={ "Enable", "Disable" }; 775 756 static CMenuItem touchscreen_submenu_items[] = { 776 {0x5f,LANG_MENU_TS_VIDEO_AE_DISABLE, MENUITEM_ENUM, (int*)gui_touchscreen_disable_video_enum },777 {0x5f,LANG_MENU_TS_ALT_SHORTCUTS_DISABLE,MENUITEM_ENUM, (int*)gui_touchscreen_disable_shortcuts_enum },778 {0x51,LANG_MENU_BACK, MENUITEM_UP },757 MENU_ENUM2(0x5f,LANG_MENU_TS_VIDEO_AE_DISABLE, &conf.touchscreen_disable_video_controls, gui_touchscreen_disable_modes ), 758 MENU_ENUM2(0x5f,LANG_MENU_TS_ALT_SHORTCUTS_DISABLE, &conf.touchscreen_disable_shortcut_controls, gui_touchscreen_disable_modes ), 759 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 779 760 {0} 780 761 }; … … 782 763 #endif 783 764 765 static const char* gui_temp_mode_modes[] = { "Off", "Optical", "CCD", "Battery", "all" }; 766 static const char* gui_hide_osd_modes[] = { "Don't", "In Playback", "On Disp Press", "Both"}; 767 static const char* gui_show_usb_info_modes[] = { "Off", "Icon", "Text"}; 784 768 static CMenuItem osd_submenu_items[] = { 785 {0x5c,LANG_MENU_OSD_SHOW, MENUITEM_BOOL, &conf.show_osd },786 {0x5c,LANG_MENU_OSD_HIDE_PLAYBACK, MENUITEM_ENUM, (int*)gui_hide_osd_enum },787 {0x81,LANG_MENU_VIS_MENU_CENTER, MENUITEM_BOOL, &conf.menu_center },788 {0x81,LANG_MENU_SELECT_FIRST_ENTRY, MENUITEM_BOOL, &conf.menu_select_first_entry },789 {0x64,LANG_MENU_VIS_SYMBOL, MENUITEM_BOOL, &conf.menu_symbol_enable },790 {0x2e,LANG_MENU_USER_MENU, MENUITEM_SUBMENU, (int*)&user_submenu},791 {0x5f,LANG_MENU_USER_MENU_ENABLE, MENUITEM_ENUM, (int*)gui_user_menu_show_enum },792 {0x5c,LANG_MENU_USER_MENU_AS_ROOT, MENUITEM_BOOL, &conf.user_menu_as_root },793 {0x5f,LANG_MENU_OSD_SHOW_STATES, MENUITEM_BOOL, &conf.show_state },794 {0x5f,LANG_MENU_OSD_SHOW_TEMP, MENUITEM_ENUM, (int*)gui_temp_mode_enum },795 {0x59,LANG_MENU_OSD_TEMP_FAHRENHEIT, MENUITEM_BOOL, &conf.temperature_unit},796 {0x71,LANG_MENU_USB_SHOW_INFO, MENUITEM_ENUM, (int*)gui_show_usb_info_enum },797 {0x72,LANG_MENU_OSD_LAYOUT_EDITOR, MENUITEM_PROC, (int*)gui_draw_osd_le },798 {0x2f,LANG_MENU_OSD_GRID_PARAMS, MENUITEM_SUBMENU, (int*)&grid_submenu },799 {0x22,LANG_MENU_OSD_VALUES, MENUITEM_SUBMENU, (int*)&values_submenu },800 {0x31,LANG_MENU_OSD_DOF_CALC, MENUITEM_SUBMENU, (int*)&dof_submenu },801 {0x24,LANG_MENU_OSD_RAW_STATE_PARAMS, MENUITEM_SUBMENU, (int*)&raw_state_submenu },802 {0x32,LANG_MENU_OSD_BATT_PARAMS, MENUITEM_SUBMENU, (int*)&battery_submenu },803 {0x33,LANG_MENU_OSD_SPACE_PARAMS, MENUITEM_SUBMENU, (int*)&space_submenu },804 {0x34,LANG_MENU_OSD_CLOCK_PARAMS, MENUITEM_SUBMENU, (int*)&clock_submenu },805 {0x59,LANG_MENU_OSD_SHOW_IN_REVIEW, MENUITEM_BOOL, &conf.show_osd_in_review},769 MENU_ITEM(0x5c,LANG_MENU_OSD_SHOW, MENUITEM_BOOL, &conf.show_osd, 0 ), 770 MENU_ENUM2(0x5c,LANG_MENU_OSD_HIDE_PLAYBACK, &conf.hide_osd, gui_hide_osd_modes ), 771 MENU_ITEM(0x81,LANG_MENU_VIS_MENU_CENTER, MENUITEM_BOOL, &conf.menu_center, 0 ), 772 MENU_ITEM(0x81,LANG_MENU_SELECT_FIRST_ENTRY, MENUITEM_BOOL, &conf.menu_select_first_entry, 0 ), 773 MENU_ITEM(0x64,LANG_MENU_VIS_SYMBOL, MENUITEM_BOOL, &conf.menu_symbol_enable, 0 ), 774 MENU_ITEM(0x2e,LANG_MENU_USER_MENU, MENUITEM_SUBMENU, &user_submenu, 0 ), 775 MENU_ITEM(0x5f,LANG_MENU_USER_MENU_ENABLE, MENUITEM_ENUM, gui_user_menu_show_enum, 0 ), 776 MENU_ITEM(0x5c,LANG_MENU_USER_MENU_AS_ROOT, MENUITEM_BOOL, &conf.user_menu_as_root, 0 ), 777 MENU_ITEM(0x5f,LANG_MENU_OSD_SHOW_STATES, MENUITEM_BOOL, &conf.show_state, 0 ), 778 MENU_ENUM2(0x5f,LANG_MENU_OSD_SHOW_TEMP, &conf.show_temp, gui_temp_mode_modes ), 779 MENU_ITEM(0x59,LANG_MENU_OSD_TEMP_FAHRENHEIT, MENUITEM_BOOL, &conf.temperature_unit, 0 ), 780 MENU_ENUM2(0x71,LANG_MENU_USB_SHOW_INFO, &conf.usb_info_enable, gui_show_usb_info_modes ), 781 MENU_ITEM(0x72,LANG_MENU_OSD_LAYOUT_EDITOR, MENUITEM_PROC, gui_draw_osd_le, 0 ), 782 MENU_ITEM(0x2f,LANG_MENU_OSD_GRID_PARAMS, MENUITEM_SUBMENU, &grid_submenu, 0 ), 783 MENU_ITEM(0x22,LANG_MENU_OSD_VALUES, MENUITEM_SUBMENU, &values_submenu, 0 ), 784 MENU_ITEM(0x31,LANG_MENU_OSD_DOF_CALC, MENUITEM_SUBMENU, &dof_submenu, 0 ), 785 MENU_ITEM(0x24,LANG_MENU_OSD_RAW_STATE_PARAMS, MENUITEM_SUBMENU, &raw_state_submenu, 0 ), 786 MENU_ITEM(0x32,LANG_MENU_OSD_BATT_PARAMS, MENUITEM_SUBMENU, &battery_submenu, 0 ), 787 MENU_ITEM(0x33,LANG_MENU_OSD_SPACE_PARAMS, MENUITEM_SUBMENU, &space_submenu, 0 ), 788 MENU_ITEM(0x34,LANG_MENU_OSD_CLOCK_PARAMS, MENUITEM_SUBMENU, &clock_submenu, 0 ), 789 MENU_ITEM(0x59,LANG_MENU_OSD_SHOW_IN_REVIEW, MENUITEM_BOOL, &conf.show_osd_in_review, 0 ), 806 790 #ifndef OPTIONS_AUTOSAVE 807 {0x5c,LANG_MENU_MAIN_SAVE_OPTIONS, MENUITEM_PROC, (int*)gui_menuproc_save },791 MENU_ITEM(0x5c,LANG_MENU_MAIN_SAVE_OPTIONS, MENUITEM_PROC, gui_menuproc_save, 0 ), 808 792 #endif 809 793 #ifdef CAM_TOUCHSCREEN_UI 810 {0x22,LANG_MENU_TOUCHSCREEN_VALUES, MENUITEM_SUBMENU, (int*)&touchscreen_submenu },811 #endif 812 {0x51,LANG_MENU_BACK, MENUITEM_UP },794 MENU_ITEM(0x22,LANG_MENU_TOUCHSCREEN_VALUES, MENUITEM_SUBMENU, &touchscreen_submenu, 0 ), 795 #endif 796 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 813 797 {0} 814 798 }; … … 816 800 static CMenu osd_submenu = {0x22,LANG_MENU_OSD_TITLE, NULL, osd_submenu_items }; 817 801 802 static const char* gui_histo_show_modes[] = { "Don't", "Always", "Shoot" }; 818 803 static CMenuItem histo_submenu_items[] = { 819 {0x5f,LANG_MENU_HISTO_SHOW, MENUITEM_ENUM, (int*)gui_histo_show_enum },820 {0x6f,LANG_MENU_HISTO_LAYOUT, MENUITEM_ENUM, (int*)gui_histo_layout_enum },821 {0x5f,LANG_MENU_HISTO_MODE, MENUITEM_ENUM, (int*)gui_histo_mode_enum },822 {0x5c,LANG_MENU_HISTO_EXP, MENUITEM_BOOL, &conf.show_overexp },823 {0x70,LANG_MENU_HISTO_IGNORE_PEAKS, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.histo_ignore_boundary, MENU_MINMAX(0, 32)},824 {0x5c,LANG_MENU_HISTO_MAGNIFY, MENUITEM_BOOL, &conf.histo_auto_ajust },825 {0x5c,LANG_MENU_HISTO_SHOW_EV_GRID, MENUITEM_BOOL, &conf.histo_show_ev_grid },826 {0x51,LANG_MENU_BACK, MENUITEM_UP },804 MENU_ENUM2(0x5f,LANG_MENU_HISTO_SHOW, &conf.show_histo, gui_histo_show_modes ), 805 MENU_ITEM(0x6f,LANG_MENU_HISTO_LAYOUT, MENUITEM_ENUM, gui_histo_layout_enum, 0 ), 806 MENU_ITEM(0x5f,LANG_MENU_HISTO_MODE, MENUITEM_ENUM, gui_histo_mode_enum, 0 ), 807 MENU_ITEM(0x5c,LANG_MENU_HISTO_EXP, MENUITEM_BOOL, &conf.show_overexp, 0 ), 808 MENU_ITEM(0x70,LANG_MENU_HISTO_IGNORE_PEAKS, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.histo_ignore_boundary, MENU_MINMAX(0, 32) ), 809 MENU_ITEM(0x5c,LANG_MENU_HISTO_MAGNIFY, MENUITEM_BOOL, &conf.histo_auto_ajust, 0 ), 810 MENU_ITEM(0x5c,LANG_MENU_HISTO_SHOW_EV_GRID, MENUITEM_BOOL, &conf.histo_show_ev_grid, 0 ), 811 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 827 812 {0} 828 813 }; … … 831 816 static CMenuItem raw_exceptions_submenu_items[] = { 832 817 #if defined CAM_HAS_VIDEO_BUTTON 833 {0x5c,LANG_MENU_RAW_SAVE_IN_VIDEO, MENUITEM_BOOL, &conf.save_raw_in_video },818 MENU_ITEM(0x5c,LANG_MENU_RAW_SAVE_IN_VIDEO, MENUITEM_BOOL, &conf.save_raw_in_video, 0 ), 834 819 #endif 835 820 #if defined(CAMERA_s3is) 836 {0x5c,LANG_MENU_RAW_SAVE_IN_SPORTS, MENUITEM_BOOL, &conf.save_raw_in_sports },821 MENU_ITEM(0x5c,LANG_MENU_RAW_SAVE_IN_SPORTS, MENUITEM_BOOL, &conf.save_raw_in_sports, 0 ), 837 822 #endif 838 {0x5c,LANG_MENU_RAW_SAVE_IN_BURST, MENUITEM_BOOL, &conf.save_raw_in_burst },839 {0x5c,LANG_MENU_RAW_SAVE_IN_TIMER, MENUITEM_BOOL, &conf.save_raw_in_timer },840 {0x5c,LANG_MENU_RAW_SAVE_IN_EDGEOVERLAY, MENUITEM_BOOL, &conf.save_raw_in_edgeoverlay },841 {0x5c,LANG_MENU_RAW_SAVE_IN_AUTO, MENUITEM_BOOL, &conf.save_raw_in_auto },823 MENU_ITEM(0x5c,LANG_MENU_RAW_SAVE_IN_BURST, MENUITEM_BOOL, &conf.save_raw_in_burst, 0 ), 824 MENU_ITEM(0x5c,LANG_MENU_RAW_SAVE_IN_TIMER, MENUITEM_BOOL, &conf.save_raw_in_timer, 0 ), 825 MENU_ITEM(0x5c,LANG_MENU_RAW_SAVE_IN_EDGEOVERLAY, MENUITEM_BOOL, &conf.save_raw_in_edgeoverlay, 0 ), 826 MENU_ITEM(0x5c,LANG_MENU_RAW_SAVE_IN_AUTO, MENUITEM_BOOL, &conf.save_raw_in_auto, 0 ), 842 827 #if CAM_BRACKETING 843 {0x5c,LANG_MENU_RAW_SAVE_IN_EV_BRACKETING, MENUITEM_BOOL, &conf.save_raw_in_ev_bracketing },828 MENU_ITEM(0x5c,LANG_MENU_RAW_SAVE_IN_EV_BRACKETING, MENUITEM_BOOL, &conf.save_raw_in_ev_bracketing, 0 ), 844 829 #endif 845 {0x5c,LANG_MENU_RAW_WARN, MENUITEM_BOOL, &conf.raw_exceptions_warn },846 {0x51,LANG_MENU_BACK, MENUITEM_UP },830 MENU_ITEM(0x5c,LANG_MENU_RAW_WARN, MENUITEM_BOOL, &conf.raw_exceptions_warn, 0 ), 831 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 847 832 {0} 848 833 }; … … 850 835 851 836 837 static const char* gui_raw_nr_modes[] = { "Auto", "Off", "On"}; 852 838 static CMenuItem raw_submenu_items[] = { 853 {0x5c,LANG_MENU_RAW_SAVE, MENUITEM_BOOL, &conf.save_raw },854 {0x59,LANG_MENU_OSD_RAW_EXCEPTIONS_PARAMS, MENUITEM_SUBMENU, (int*)&raw_exceptions_submenu },855 {0x5f,LANG_MENU_RAW_NOISE_REDUCTION, MENUITEM_ENUM, (int*)gui_raw_nr_enum },856 {0x5c,LANG_MENU_RAW_FIRST_ONLY, MENUITEM_BOOL, &conf.raw_save_first_only },857 {0x5c,LANG_MENU_RAW_SAVE_IN_DIR, MENUITEM_BOOL, &conf.raw_in_dir },858 {0x5f,LANG_MENU_RAW_PREFIX, MENUITEM_ENUM, (int*)gui_raw_prefix_enum },859 {0x5f,LANG_MENU_RAW_EXTENSION, MENUITEM_ENUM, (int*)gui_raw_ext_enum },860 {0x5f,LANG_MENU_SUB_PREFIX, MENUITEM_ENUM, (int*)gui_sub_batch_prefix_enum },861 {0x5f,LANG_MENU_SUB_EXTENSION, MENUITEM_ENUM, (int*)gui_sub_batch_ext_enum },862 // {0x60,LANG_MENU_SUB_IN_DARK_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.sub_in_dark_value, MENU_MINMAX(0, 1023)},863 // {0x60,LANG_MENU_SUB_OUT_DARK_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.sub_out_dark_value, MENU_MINMAX(0, 1023)},864 {0x2a,LANG_MENU_RAW_DEVELOP, MENUITEM_PROC, (int*)gui_raw_develop },865 {0x5c,LANG_MENU_BAD_PIXEL_REMOVAL, MENUITEM_ENUM, (int*)gui_bad_pixel_enum },839 MENU_ITEM(0x5c,LANG_MENU_RAW_SAVE, MENUITEM_BOOL, &conf.save_raw, 0 ), 840 MENU_ITEM(0x59,LANG_MENU_OSD_RAW_EXCEPTIONS_PARAMS, MENUITEM_SUBMENU, &raw_exceptions_submenu, 0 ), 841 MENU_ENUM2(0x5f,LANG_MENU_RAW_NOISE_REDUCTION, &conf.raw_nr, gui_raw_nr_modes ), 842 MENU_ITEM(0x5c,LANG_MENU_RAW_FIRST_ONLY, MENUITEM_BOOL, &conf.raw_save_first_only, 0 ), 843 MENU_ITEM(0x5c,LANG_MENU_RAW_SAVE_IN_DIR, MENUITEM_BOOL, &conf.raw_in_dir, 0 ), 844 MENU_ENUM2a(0x5f,LANG_MENU_RAW_PREFIX, &conf.raw_prefix, img_prefixes, NUM_IMG_PREFIXES ), 845 MENU_ENUM2a(0x5f,LANG_MENU_RAW_EXTENSION, &conf.raw_ext, img_exts, NUM_IMG_EXTS ), 846 MENU_ENUM2a(0x5f,LANG_MENU_SUB_PREFIX, &conf.sub_batch_prefix, img_prefixes, NUM_IMG_PREFIXES ), 847 MENU_ENUM2a(0x5f,LANG_MENU_SUB_EXTENSION, &conf.sub_batch_ext, img_exts, NUM_IMG_EXTS ), 848 // MENU_ITEM(0x60,LANG_MENU_SUB_IN_DARK_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.sub_in_dark_value, MENU_MINMAX(0, 1023) ), 849 // MENU_ITEM(0x60,LANG_MENU_SUB_OUT_DARK_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.sub_out_dark_value, MENU_MINMAX(0, 1023) ), 850 MENU_ITEM(0x2a,LANG_MENU_RAW_DEVELOP, MENUITEM_PROC, gui_raw_develop, 0 ), 851 MENU_ITEM(0x5c,LANG_MENU_BAD_PIXEL_REMOVAL, MENUITEM_ENUM, gui_bad_pixel_enum, 0 ), 866 852 #if DNG_SUPPORT 867 {0x5c,LANG_MENU_DNG_FORMAT, MENUITEM_BOOL | MENUITEM_ARG_CALLBACK, &conf.dng_raw , (int)cb_change_dng },868 {0x5c,LANG_MENU_RAW_DNG_EXT, MENUITEM_BOOL, &conf.raw_dng_ext},869 {0x2a,LANG_MENU_BADPIXEL_CREATE, MENUITEM_PROC, (int*)gui_menuproc_badpixel_create },870 #endif 871 {0x5c,LANG_MENU_RAW_CACHED, MENUITEM_BOOL, &conf.raw_cache },872 {0x51,LANG_MENU_BACK, MENUITEM_UP },853 MENU_ITEM(0x5c,LANG_MENU_DNG_FORMAT, MENUITEM_BOOL | MENUITEM_ARG_CALLBACK, &conf.dng_raw , (int)cb_change_dng ), 854 MENU_ITEM(0x5c,LANG_MENU_RAW_DNG_EXT, MENUITEM_BOOL, &conf.raw_dng_ext, 0 ), 855 MENU_ITEM(0x2a,LANG_MENU_BADPIXEL_CREATE, MENUITEM_PROC, gui_menuproc_badpixel_create, 0 ), 856 #endif 857 MENU_ITEM(0x5c,LANG_MENU_RAW_CACHED, MENUITEM_BOOL, &conf.raw_cache, 0 ), 858 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 873 859 {0} 874 860 }; … … 876 862 877 863 864 static const char* gui_zebra_mode_modes[] = { "Blink 1", "Blink 2", "Blink 3", "Solid", "Zebra 1", "Zebra 2" }; 865 static const char* gui_zebra_draw_osd_modes[] = { "Nothing", "Histo", "OSD" }; 878 866 static CMenuItem zebra_submenu_items[] = { 879 {0x5c,LANG_MENU_ZEBRA_DRAW, MENUITEM_BOOL, &conf.zebra_draw },880 {0x5f,LANG_MENU_ZEBRA_MODE, MENUITEM_ENUM, (int*)gui_zebra_mode_enum },881 {0x58,LANG_MENU_ZEBRA_UNDER, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.zebra_under, MENU_MINMAX(0, 32)},882 {0x57,LANG_MENU_ZEBRA_OVER, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.zebra_over, MENU_MINMAX(0, 32)},883 {0x28,LANG_MENU_ZEBRA_RESTORE_SCREEN, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.zebra_restore_screen, (int)cb_zebra_restore_screen },884 {0x5c,LANG_MENU_ZEBRA_RESTORE_OSD, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.zebra_restore_osd, (int)cb_zebra_restore_osd },885 {0x5f,LANG_MENU_ZEBRA_DRAW_OVER, MENUITEM_ENUM, (int*)gui_zebra_draw_osd_enum },886 {0x5c,LANG_MENU_ZEBRA_MULTICHANNEL, MENUITEM_BOOL, &conf.zebra_multichannel},887 {0x51,LANG_MENU_BACK, MENUITEM_UP },867 MENU_ITEM(0x5c,LANG_MENU_ZEBRA_DRAW, MENUITEM_BOOL, &conf.zebra_draw, 0 ), 868 MENU_ENUM2(0x5f,LANG_MENU_ZEBRA_MODE, &conf.zebra_mode, gui_zebra_mode_modes ), 869 MENU_ITEM(0x58,LANG_MENU_ZEBRA_UNDER, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.zebra_under, MENU_MINMAX(0, 32) ), 870 MENU_ITEM(0x57,LANG_MENU_ZEBRA_OVER, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.zebra_over, MENU_MINMAX(0, 32) ), 871 MENU_ITEM(0x28,LANG_MENU_ZEBRA_RESTORE_SCREEN, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.zebra_restore_screen, (int)cb_zebra_restore_screen ), 872 MENU_ITEM(0x5c,LANG_MENU_ZEBRA_RESTORE_OSD, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.zebra_restore_osd, (int)cb_zebra_restore_osd ), 873 MENU_ENUM2(0x5f,LANG_MENU_ZEBRA_DRAW_OVER, &conf.zebra_draw_osd, gui_zebra_draw_osd_modes ), 874 MENU_ITEM(0x5c,LANG_MENU_ZEBRA_MULTICHANNEL, MENUITEM_BOOL, &conf.zebra_multichannel, 0 ), 875 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 888 876 {0} 889 877 }; … … 892 880 #ifdef OPT_CURVES 893 881 static CMenuItem curve_submenu_items[] = { 894 {0x5f,LANG_MENU_CURVE_ENABLE, MENUITEM_ENUM, (int*)gui_conf_curve_enum },895 {0x35,LANG_MENU_CURVE_LOAD, MENUITEM_PROC, (int*)gui_load_curve },896 {0x51,LANG_MENU_BACK, MENUITEM_UP },882 MENU_ITEM(0x5f,LANG_MENU_CURVE_ENABLE, MENUITEM_ENUM, gui_conf_curve_enum, 0 ), 883 MENU_ITEM(0x35,LANG_MENU_CURVE_LOAD, MENUITEM_PROC, gui_load_curve, 0 ), 884 MENU_ITEM(0x51,LANG_MENU_BACK, MENUITEM_UP, 0, 0 ), 897 885 {0} 898 886 }; … … 901 889 902 890 static CMenuItem root_menu_items[] = { 903 {0x21,LANG_MENU_OPERATION_PARAM, MENUITEM_SUBMENU, (int*)&operation_submenu },904 {0x23,LANG_MENU_VIDEO_PARAM, MENUITEM_SUBMENU, (int*)&video_submenu },905 {0x24,LANG_MENU_MAIN_RAW_PARAM, MENUITEM_SUBMENU, (int*)&raw_submenu },891 MENU_ITEM(0x21,LANG_MENU_OPERATION_PARAM, MENUITEM_SUBMENU, &operation_submenu, 0 ), 892 MENU_ITEM(0x23,LANG_MENU_VIDEO_PARAM, MENUITEM_SUBMENU, &video_submenu, 0 ), 893 MENU_ITEM(0x24,LANG_MENU_MAIN_RAW_PARAM, MENUITEM_SUBMENU, &raw_submenu, 0 ), 906 894 #ifdef OPT_EDGEOVERLAY 907 {0x7f,LANG_MENU_EDGE_OVERLAY, MENUITEM_SUBMENU, (int*)&edge_overlay_submenu },895 MENU_ITEM(0x7f,LANG_MENU_EDGE_OVERLAY, MENUITEM_SUBMENU, &edge_overlay_submenu, 0 ), 908 896 #endif 909 897 #ifdef OPT_CURVES 910 {0x85,LANG_MENU_CURVE_PARAM, MENUITEM_SUBMENU, (int*)&curve_submenu },911 #endif 912 {0x25,LANG_MENU_MAIN_HISTO_PARAM, MENUITEM_SUBMENU, (int*)&histo_submenu },913 {0x26,LANG_MENU_MAIN_ZEBRA_PARAM, MENUITEM_SUBMENU, (int*)&zebra_submenu },914 {0x22,LANG_MENU_MAIN_OSD_PARAM, MENUITEM_SUBMENU, (int*)&osd_submenu },915 {0x28,LANG_MENU_MAIN_VISUAL_PARAM, MENUITEM_SUBMENU, (int*)&visual_submenu },898 MENU_ITEM(0x85,LANG_MENU_CURVE_PARAM, MENUITEM_SUBMENU, &curve_submenu, 0 ), 899 #endif 900 MENU_ITEM(0x25,LANG_MENU_MAIN_HISTO_PARAM, MENUITEM_SUBMENU, &histo_submenu, 0 ), 901 MENU_ITEM(0x26,LANG_MENU_MAIN_ZEBRA_PARAM, MENUITEM_SUBMENU, &zebra_submenu, 0 ), 902 MENU_ITEM(0x22,LANG_MENU_MAIN_OSD_PARAM, MENUITEM_SUBMENU, &osd_submenu, 0 ), 903 MENU_ITEM(0x28,LANG_MENU_MAIN_VISUAL_PARAM, MENUITEM_SUBMENU, &visual_submenu, 0 ), 916 904 #ifdef OPT_SCRIPTING 917 {0x27,LANG_MENU_MAIN_SCRIPT_PARAM, MENUITEM_SUBMENU, (int*)&script_submenu },918 #endif 919 {0x29,LANG_MENU_MAIN_MISC, MENUITEM_SUBMENU, (int*)&misc_submenu },905 MENU_ITEM(0x27,LANG_MENU_MAIN_SCRIPT_PARAM, MENUITEM_SUBMENU, &script_submenu, 0 ), 906 #endif 907 MENU_ITEM(0x29,LANG_MENU_MAIN_MISC, MENUITEM_SUBMENU, &misc_submenu, 0 ), 920 908 #ifndef OPTIONS_AUTOSAVE 921 {0x33,LANG_MENU_MAIN_SAVE_OPTIONS, MENUITEM_PROC, (int*)gui_menuproc_save },909 MENU_ITEM(0x33,LANG_MENU_MAIN_SAVE_OPTIONS, MENUITEM_PROC, gui_menuproc_save, 0 ), 922 910 #endif 923 911 {0} … … 1088 1076 return items[*value]; 1089 1077 } 1090 1091 //------------------------------------------------------------------- 1092 const char* gui_show_usb_info_enum(int change, int arg) { 1093 static const char* modes[]={ "Off", "Icon", "Text"}; 1094 1095 gui_enum_value_change(&conf.usb_info_enable,change,sizeof(modes)/sizeof(modes[0])); 1096 1097 return modes[conf.usb_info_enable]; 1078 const char* gui_change_enum2(const CMenuItem *menu_item, int change) 1079 { 1080 const char** items = (const char**)menu_item->arg; 1081 gui_enum_value_change(menu_item->value, change, menu_item->opt_len); 1082 return items[*menu_item->value]; 1098 1083 } 1099 1084 … … 1112 1097 1113 1098 #ifdef OPT_SCRIPTING 1114 //-------------------------------------------------------------------1115 const char* gui_script_autostart_enum(int change, int arg) {1116 static const char* modes[]={ "Off", "On", "Once"};1117 return gui_change_simple_enum(&conf.script_startup,change,modes,sizeof(modes)/sizeof(modes[0]));1118 }1119 1120 1099 //------------------------------------------------------------------- 1121 1100 const char* gui_script_param_set_enum(int change, int arg) { … … 1188 1167 //------------------------------------------------------------------- 1189 1168 const char* gui_override_disable_enum(int change, int arg) { 1190 static const char* modes[]={ "Off", "On", "Disabled"}; 1191 return gui_change_simple_enum(&conf.override_disable,change,modes,sizeof(modes)/sizeof(modes[0])); 1169 return gui_change_simple_enum(&conf.override_disable,change,gui_override_disable_modes,sizeof(gui_override_disable_modes)/sizeof(gui_override_disable_modes[0])); 1192 1170 } 1193 1171 … … 1201 1179 1202 1180 return modes[conf.histo_mode]; 1203 }1204 1205 //-------------------------------------------------------------------1206 const char* gui_temp_mode_enum(int change, int arg) {1207 static const char* modes[]={ "Off", "Optical","CCD","Battery","all" };1208 return gui_change_simple_enum(&conf.show_temp,change,modes,sizeof(modes)/sizeof(modes[0]));1209 1181 } 1210 1182 … … 1242 1214 1243 1215 //------------------------------------------------------------------- 1244 const char* gui_raw_prefix_enum(int change, int arg) {1245 return gui_change_simple_enum(&conf.raw_prefix,change,img_prefixes,NUM_IMG_PREFIXES);1246 }1247 1248 //-------------------------------------------------------------------1249 const char* gui_raw_ext_enum(int change, int arg) {1250 return gui_change_simple_enum(&conf.raw_ext,change,img_exts,NUM_IMG_EXTS);1251 }1252 1253 //-------------------------------------------------------------------1254 const char* gui_sub_batch_prefix_enum(int change, int arg) {1255 return gui_change_simple_enum(&conf.sub_batch_prefix,change,img_prefixes,NUM_IMG_PREFIXES);1256 }1257 1258 //-------------------------------------------------------------------1259 const char* gui_sub_batch_ext_enum(int change, int arg) {1260 return gui_change_simple_enum(&conf.sub_batch_ext,change,img_exts,NUM_IMG_EXTS);1261 }1262 1263 //-------------------------------------------------------------------1264 1216 #ifdef CAM_TOUCHSCREEN_UI 1265 1217 … … 1270 1222 } 1271 1223 1272 const char* gui_touchscreen_disable_video_enum(int change, int arg) { 1273 static const char* modes[]={ "Enable", "Disable" }; 1274 return gui_change_simple_enum(&conf.touchscreen_disable_video_controls,change,modes,sizeof(modes)/sizeof(modes[0])); 1275 } 1276 1277 const char* gui_touchscreen_disable_shortcuts_enum(int change, int arg) { 1278 static const char* modes[]={ "Enable", "Disable" }; 1279 return gui_change_simple_enum(&conf.touchscreen_disable_shortcut_controls,change,modes,sizeof(modes)/sizeof(modes[0])); 1280 } 1281 1282 #endif 1283 1284 //------------------------------------------------------------------- 1285 const char* gui_raw_nr_enum(int change, int arg) { 1286 static const char* modes[]={ "Auto", "Off", "On"}; 1287 return gui_change_simple_enum(&conf.raw_nr,change,modes,sizeof(modes)/sizeof(modes[0])); 1288 } 1289 1290 //------------------------------------------------------------------- 1291 #ifdef OPT_TEXTREADER 1292 const char* gui_reader_codepage_enum(int change, int arg) { 1293 static const char* cps[]={ "Win1251", "DOS"}; 1294 return gui_change_simple_enum(&conf.reader_codepage,change,cps,sizeof(cps)/sizeof(cps[0])); 1295 } 1296 #endif 1297 //------------------------------------------------------------------- 1298 const char* gui_autoiso_shutter_enum(int change, int arg) { 1299 static const char* shutter[]={ "Auto", "1/8s", "1/15s", "1/30s", "1/60s", "1/125s", "1/250s", "1/500s", "1/1000s"}; 1300 return gui_change_simple_enum(&conf.autoiso_shutter,change,shutter,sizeof(shutter)/sizeof(shutter[0])); 1301 } 1302 1303 //------------------------------------------------------------------- 1304 const char* gui_zebra_mode_enum(int change, int arg) { 1305 static const char* modes[]={ "Blink 1", "Blink 2", "Blink 3", "Solid", "Zebra 1", "Zebra 2" }; 1306 return gui_change_simple_enum(&conf.zebra_mode,change,modes,sizeof(modes)/sizeof(modes[0])); 1307 } 1308 1309 //------------------------------------------------------------------- 1310 const char* gui_zebra_draw_osd_enum(int change, int arg) { 1311 static const char* modes[]={ "Nothing", "Histo", "OSD" }; 1312 return gui_change_simple_enum(&conf.zebra_draw_osd,change,modes,sizeof(modes)/sizeof(modes[0])); 1313 } 1314 1315 //------------------------------------------------------------------- 1316 const char* gui_zoom_value_enum(int change, int arg) { 1317 static const char* modes[]={ "X", "FL", "EFL" }; 1318 return gui_change_simple_enum(&conf.zoom_value,change,modes,sizeof(modes)/sizeof(modes[0])); 1319 } 1320 1321 const char* gui_show_values_enum(int change, int arg) { 1322 static const char* modes[]={ "Don't", "Always", "Shoot" }; 1323 return gui_change_simple_enum(&conf.show_values,change,modes,sizeof(modes)/sizeof(modes[0])); 1324 } 1325 1224 #endif 1225 1226 //------------------------------------------------------------------- 1326 1227 const char* gui_nd_filter_state_enum(int change, int arg) { 1327 static const char* modes[]={ "Off", "In", "Out" }; 1328 return gui_change_simple_enum(&conf.nd_filter_state,change,modes,sizeof(modes)/sizeof(modes[0])); 1329 } 1330 1331 const char* gui_dof_show_value_enum(int change, int arg) { 1332 static const char* modes[]={ "Don't", "Separate", "In Misc" }; 1333 return gui_change_simple_enum(&conf.show_dof,change,modes,sizeof(modes)/sizeof(modes[0])); 1228 return gui_change_simple_enum(&conf.nd_filter_state,change,gui_nd_filter_state_modes,sizeof(gui_nd_filter_state_modes)/sizeof(gui_nd_filter_state_modes[0])); 1334 1229 } 1335 1230 1336 1231 const char* gui_histo_show_enum(int change, int arg) { 1337 static const char* modes[]={ "Don't", "Always", "Shoot" }; 1338 return gui_change_simple_enum(&conf.show_histo,change,modes,sizeof(modes)/sizeof(modes[0])); 1339 } 1340 1341 const char* gui_show_clock_enum(int change, int arg) { 1342 static const char* modes[]={ "Don't", "Normal", "Seconds"}; 1343 return gui_change_simple_enum(&conf.show_clock,change,modes,sizeof(modes)/sizeof(modes[0])); 1344 } 1345 1346 const char* gui_hide_osd_enum(int change, int arg) { 1347 static const char* modes[]={ "Don't", "In Playback", "On Disp Press", "both"}; 1348 return gui_change_simple_enum(&conf.hide_osd,change,modes,sizeof(modes)/sizeof(modes[0])); 1349 } 1350 1351 const char* gui_clock_format_enum(int change, int arg) { 1352 static const char* modes[]={ "24h", "12h"}; 1353 return gui_change_simple_enum(&conf.clock_format,change,modes,sizeof(modes)/sizeof(modes[0])); 1354 } 1355 1356 const char* gui_clock_indicator_enum(int change, int arg) { 1357 static const char* modes[]={ "PM", "P","."}; 1358 return gui_change_simple_enum(&conf.clock_indicator,change,modes,sizeof(modes)/sizeof(modes[0])); 1359 } 1360 1361 const char* gui_clock_halfpress_enum(int change, int arg) { 1362 static const char* modes[]={ "Full", "Seconds","Don't"}; 1363 return gui_change_simple_enum(&conf.clock_halfpress,change,modes,sizeof(modes)/sizeof(modes[0])); 1364 } 1365 1366 const char* gui_space_bar_enum(int change, int arg) { 1367 static const char* modes[]={ "Don't", "Horizontal", "Vertical"}; 1368 return gui_change_simple_enum(&conf.space_bar_show,change,modes,sizeof(modes)/sizeof(modes[0])); 1369 } 1370 1371 const char* gui_space_bar_size_enum(int change, int arg) { 1372 static const char* modes[]={ "1/4", "1/2", "1"}; 1373 return gui_change_simple_enum(&conf.space_bar_size,change,modes,sizeof(modes)/sizeof(modes[0])); 1374 } 1375 1376 const char* gui_space_bar_width_enum(int change, int arg) { 1377 static const char* modes[]={ "1", "2", "3","4","5","6","7","8","9","10"}; 1378 return gui_change_simple_enum(&conf.space_bar_width,change,modes,sizeof(modes)/sizeof(modes[0])); 1379 } 1380 1381 const char* gui_space_warn_type_enum(int change, int arg) { 1382 static const char* modes[]={ "Percent", "MB", "Don't"}; 1383 return gui_change_simple_enum(&conf.space_warn_type,change,modes,sizeof(modes)/sizeof(modes[0])); 1384 } 1385 1386 const char* gui_show_movie_time(int change, int arg) { 1387 static const char* modes[]={ "Don't", "hh:mm:ss", "KB/s","both"}; 1388 return gui_change_simple_enum(&conf.show_movie_time,change,modes,sizeof(modes)/sizeof(modes[0])); 1232 return gui_change_simple_enum(&conf.show_histo,change,gui_histo_show_modes,sizeof(gui_histo_show_modes)/sizeof(gui_histo_show_modes[0])); 1389 1233 } 1390 1234 … … 1450 1294 return modes[conf.alt_prevent_shutdown]; 1451 1295 } 1452 const char* gui_fast_ev_step(int change, int arg) {1453 static const char* modes[]={"1/6 Ev","1/3 Ev","1/2 Ev", "2/3 Ev","5/6 Ev","1 Ev","1 1/6 Ev","1 1/3 Ev","1 1/2 Ev", "1 2/3 Ev","1 5/6 Ev","2 Ev","2 1/6 Ev","2 1/3 Ev","2 1/2 Ev", "2 2/3 Ev","2 5/6 Ev","3 Ev","3 1/6 Ev","3 1/3 Ev","3 1/2 Ev", "3 2/3 Ev","3 5/6 Ev","4 Ev"};1454 return gui_change_simple_enum(&conf.fast_ev_step,change,modes,sizeof(modes)/sizeof(modes[0]));1455 }1456 #if CAM_QUALITY_OVERRIDE1457 const char* gui_fast_image_quality(int change, int arg) {1458 static const char* modes[]={"sup.fine","fine","normal","off"};1459 return gui_change_simple_enum(&conf.fast_image_quality,change,modes,sizeof(modes)/sizeof(modes[0]));1460 }1461 #endif1462 1463 const char* gui_video_mode_enum(int change, int arg) {1464 #if !CAM_VIDEO_QUALITY_ONLY1465 static const char* modes[]={ "Bitrate", "Quality"};1466 #else1467 static const char* modes[]={ "Default", "Quality"};1468 #endif1469 return gui_change_simple_enum(&conf.video_mode,change,modes,sizeof(modes)/sizeof(modes[0]));1470 }1471 1296 1472 1297 //------------------------------------------------------------------- … … 1481 1306 1482 1307 //------------------------------------------------------------------- 1483 const char* gui_tv_bracket_values_enum(int change, int arg) {1484 static const char* modes[]={ "Off", "1/3 Ev","2/3 Ev", "1 Ev", "1 1/3Ev", "1 2/3Ev", "2 Ev", "2 1/3Ev", "2 2/3Ev", "3 Ev", "3 1/3Ev", "3 2/3Ev", "4 Ev"};1485 return gui_change_simple_enum(&conf.tv_bracket_value,change,modes,sizeof(modes)/sizeof(modes[0]));1486 }1487 1488 const char* gui_av_bracket_values_enum(int change, int arg) {1489 static const char* modes[]={ "Off", "1/3 Ev","2/3 Ev", "1 Ev", "1 1/3Ev", "1 2/3Ev", "2 Ev", "2 1/3Ev", "2 2/3Ev", "3 Ev", "3 1/3Ev", "3 2/3Ev", "4 Ev"};1490 return gui_change_simple_enum(&conf.av_bracket_value,change,modes,sizeof(modes)/sizeof(modes[0]));1491 }1492 1493 const char* gui_subj_dist_bracket_koef_enum(int change, int arg) {1494 static const char* modes[]={"Off", "1", "10","100","1000"};1495 return gui_change_simple_enum(&conf.subj_dist_bracket_koef,change,modes,sizeof(modes)/sizeof(modes[0]));1496 }1497 1498 const char* gui_iso_bracket_koef_enum(int change, int arg) {1499 static const char* modes[]={ "Off","1", "10","100"};1500 return gui_change_simple_enum(&conf.iso_bracket_koef,change,modes,sizeof(modes)/sizeof(modes[0]));1501 }1502 1503 const char* gui_bracket_type_enum(int change, int arg) {1504 static const char* modes[]={ "+/-", "-","+"};1505 return gui_change_simple_enum(&conf.bracket_type,change,modes,sizeof(modes)/sizeof(modes[0]));1506 }1507 1508 1308 const char* gui_tv_override_koef_enum(int change, int arg) { 1509 1309 static const char* modes[]={"Off", "1/100K", "1/10000", "1/1000","1/100","1/10", "1","10","100"}; … … 1572 1372 } 1573 1373 1574 1575 const char* gui_iso_override_koef_enum(int change, int arg) {1576 static const char* modes[]={ "Off","1", "10","100"};1577 return gui_change_simple_enum(&conf.iso_override_koef,change,modes,sizeof(modes)/sizeof(modes[0]));1578 }1579 1580 1374 const char* gui_subj_dist_override_value_enum(int change, int arg) { 1581 1375 static const int koef[] = {0, 1,10,100,1000}; … … 1592 1386 1593 1387 const char* gui_subj_dist_override_koef_enum(int change, int arg) { 1594 static const char* modes[]={ "Off","1", "10","100","1000"}; 1595 return gui_change_simple_enum(&conf.subj_dist_override_koef,change,modes,sizeof(modes)/sizeof(modes[0])); 1388 return gui_change_simple_enum(&conf.subj_dist_override_koef,change,gui_override_koef_modes,sizeof(gui_override_koef_modes)/sizeof(gui_override_koef_modes[0])); 1596 1389 } 1597 1390 … … 1789 1582 #define DEBUG_DISPLAY_PARAMS 2 1790 1583 #define DEBUG_DISPLAY_TASKS 3 1791 static const char * gui_debug_shortcut_enum(int change, int arg) {1792 static const char* modes[]={ "None", "DmpRAM", "Page", "CmpProps"};1793 return gui_change_simple_enum(&conf.debug_shortcut_action,change,modes,sizeof(modes)/sizeof(modes[0]));1794 }1795 1796 static const char * gui_debug_display_enum(int change, int arg) {1797 static const char* modes[]={ "None", "Props", "Params", "Tasks"};1798 return gui_change_simple_enum(&conf.debug_display,change,modes,sizeof(modes)/sizeof(modes[0]));1799 }1800 1584 1801 1585 static void gui_debug_shortcut(void) { … … 2008 1792 2009 1793 #ifdef CAM_DISP_ALT_TEXT 2010 // draw_txt_string(20, 14, "<ALT>", MAKE_COLOR(COLOR_ALT_BG, COLOR_FG)); 2011 draw_txt_string(20, 14, "<ALT>", MAKE_COLOR(COLOR_RED, COLOR_WHITE)); 1794 draw_txt_string(20, 14, "<ALT>", MAKE_COLOR(COLOR_ALT_BG, COLOR_FG)); 2012 1795 #endif 2013 1796 … … 2298 2081 gui_menu_force_redraw(); 2299 2082 gui_fselect_force_redraw(); 2300 extern void console_force_redraw();2301 console_force_redraw();2302 2083 #ifdef CAM_TOUCHSCREEN_UI 2303 2084 extern int redraw_buttons; … … 3219 3000 } 3220 3001 3221 #ifdef OPT_EDGEOVERLAY3222 static const char* gui_edge_pano_enum(int change, int arg)3223 {3224 static const char* modes[]={ "Off", "Right", "Down", "Left", "Up", "Free"};3225 return gui_change_simple_enum(&conf.edge_overlay_pano,change,modes,sizeof(modes)/sizeof(modes[0]));3226 }3227 #endif3228 3229 3002 #ifdef OPT_DEBUGGING 3230 3003 -
branches/philmoz/core/gui_batt.c
r1347 r1356 45 45 46 46 int perc = get_batt_perc(); 47 47 48 #if defined(CAM_USE_COLORED_ICONS) 49 48 50 draw_get_icon_colors(); 49 51 … … 65 67 draw_filled_rect(xx+29-(25*perc/100), yy+6, xx+29, yy+9, MAKE_COLOR(cl2, cl2)); 66 68 draw_filled_rect(xx+29-(25*perc/100), yy+3, xx+29, yy+5, MAKE_COLOR(cl3, cl3)); 69 70 #else 71 72 color cl = (perc<=20)?conf.osd_color_warn:(conf.batt_icon_color&0xFF); 73 74 // battery icon 75 draw_rect(xx+3-1, yy+1, xx+3+25+1, yy+1+10, cl); 76 draw_rect(xx+3-3, yy+1+2, xx+3-2, yy+1+8, cl); 77 draw_vline(xx+3-4, yy+1+2-1, 8, COLOR_BLACK); // l 78 draw_hline(xx+3-2, yy+1-1, 29, COLOR_BLACK); // t 79 draw_hline(xx+3-2, yy+1+11, 29, COLOR_BLACK); // b 80 draw_vline(xx+3+25+2, yy+1-1, 11, COLOR_BLACK); // r 81 82 // battery fill 83 x = xx+3+1+25-(perc/4); 84 if (x<=xx+3) x=xx+3+1; 85 if (x>xx+3+25+1) x=xx+3+25+1; 86 draw_filled_rect(xx+3, yy+1+1, x-1, yy+1+9, MAKE_COLOR(COLOR_TRANSPARENT, COLOR_BLACK)); 87 draw_filled_rect(x, yy+1+1, xx+3+25, yy+1+9, MAKE_COLOR(cl, cl)); 88 89 #endif 67 90 } 68 91 -
branches/philmoz/core/gui_draw.c
r1346 r1356 579 579 580 580 //------------------------------------------------------------------- 581 582 #if defined(CAM_USE_COLORED_ICONS) 583 581 584 // Colors for icons 582 585 // 3 shades for each color … … 601 604 } 602 605 } 606 607 #endif -
branches/philmoz/core/gui_draw.h
r1346 r1356 372 372 #elif CAM_BITMAP_PALETTE==7 373 373 374 // Used by :- G12, S95, SX130IS, SX30374 // Used by :- S95, SX130IS 375 375 376 376 #define COLOR_WHITE 0x01 … … 572 572 #elif CAM_BITMAP_PALETTE==12 573 573 574 // Used by :- IXUS310_ELPH500HS574 // Used by :- G12, SX30, IXUS310_ELPH500HS 575 575 576 576 // Default Canon colors 577 577 #define COLOR_WHITE 0x01 578 #define COLOR_GREY 0x1a579 #define COLOR_GREY _MED0x16578 #define COLOR_GREY_DK 0x1a 579 #define COLOR_GREY 0x16 580 580 #define COLOR_GREY_LT 0x0E 581 581 #undef SCREEN_COLOR … … 598 598 599 599 #define COLOR_CYAN COLOR_BLUE_LT 600 #define COLOR_BG COLOR_GREY 600 #define COLOR_BG COLOR_GREY_DK 601 601 #define COLOR_FG COLOR_WHITE 602 602 #define COLOR_SELECTED_BG COLOR_GREY_LT … … 606 606 #define COLOR_SPLASH_RED COLOR_RED_DK 607 607 #define COLOR_SPLASH_PINK COLOR_RED_LT 608 #define COLOR_SPLASH_GREY COLOR_GREY_ MED608 #define COLOR_SPLASH_GREY COLOR_GREY_LT 609 609 610 610 #define COLOR_HISTO_R COLOR_RED … … 634 634 #define COLOR_ICON_REC_YELLOW_DK COLOR_YELLOW_DK 635 635 #define COLOR_ICON_REC_YELLOW_LT COLOR_YELLOW_LT 636 #define COLOR_ICON_REC_GREY COLOR_GREY _MED637 #define COLOR_ICON_REC_GREY_DK COLOR_GREY 636 #define COLOR_ICON_REC_GREY COLOR_GREY 637 #define COLOR_ICON_REC_GREY_DK COLOR_GREY_DK 638 638 #define COLOR_ICON_REC_GREY_LT COLOR_GREY_LT 639 639 … … 727 727 extern void draw_ellipse(coord xc, coord yc, unsigned int a, unsigned int b, color cl); 728 728 extern void draw_filled_ellipse(coord xc, coord yc, unsigned int a, unsigned int b, color cl); 729 729 730 #if defined(CAM_USE_COLORED_ICONS) 730 731 extern void draw_get_icon_colors(); 731 732 extern color icon_green[3], icon_red[3], icon_yellow[3], icon_grey[3]; 733 #endif 732 734 733 735 #if CAM_USES_ASPECT_CORRECTION //nandoide sept-2009 -
branches/philmoz/core/gui_menu.c
r1320 r1356 260 260 else if (kbd_is_key_pressed(KEY_ZOOM_OUT)) c=3; 261 261 else c=1; 262 ((const char* (*)(int change, int arg))(curr_menu->menu[gui_menu_curr_item].value))(c*direction, curr_menu->menu[gui_menu_curr_item].arg); 262 if ((curr_menu->menu[gui_menu_curr_item].type & MENUITEM_MASK) == MENUITEM_ENUM) 263 { 264 ((const char* (*)(int change, int arg))(curr_menu->menu[gui_menu_curr_item].value))(c*direction, curr_menu->menu[gui_menu_curr_item].arg); 265 } 266 else 267 { 268 extern const char* gui_change_enum2(const CMenuItem *menu_item, int change); 269 gui_change_enum2(&curr_menu->menu[gui_menu_curr_item], c*direction); 270 } 263 271 } 264 272 … … 423 431 break; 424 432 case MENUITEM_ENUM: 433 case MENUITEM_ENUM2: 425 434 update_enum_value(-1); 426 435 break; … … 444 453 break; 445 454 case MENUITEM_ENUM: 455 case MENUITEM_ENUM2: 446 456 update_enum_value(1); 447 457 break; … … 492 502 break; 493 503 case MENUITEM_ENUM: 504 case MENUITEM_ENUM2: 494 505 update_enum_value(1); 495 506 gui_menu_redraw=1; … … 743 754 gui_menu_draw_value(ch, len_enum); 744 755 break; 756 case MENUITEM_ENUM2: 757 if (curr_menu->menu[imenu].value) 758 { 759 extern const char* gui_change_enum2(const CMenuItem *menu_item, int change); 760 ch = gui_change_enum2(&curr_menu->menu[imenu], 0); 761 } 762 gui_menu_draw_value(ch, len_enum); 763 break; 745 764 } 746 765 } -
branches/philmoz/core/gui_menu.h
r1320 r1356 14 14 #define MENUITEM_COLOR_BG 9 15 15 #define MENUITEM_COLOR_FG 10 16 #define MENUITEM_ENUM2 11 16 17 17 18 #define MENUITEM_F_MASK 0x00f0 … … 31 32 typedef struct { 32 33 char symbol; 34 char opt_len; 35 short type; 33 36 int text; 34 int type;35 37 int *value; 36 38 int arg; … … 44 46 } CMenu; 45 47 48 // Menu item constructor macros 49 #define MENU_ITEM(sym, txt, typ, val, arg) { (char)sym, 0, (short)typ, (int)txt, (int*)val, (int)arg } 50 #define MENU_ENUM2(sym, txt, val, arg) { (char)sym, sizeof(arg)/sizeof(arg[0]), MENUITEM_ENUM2, (int)txt, (int*)val, (int)arg } 51 #define MENU_ENUM2a(sym, txt, val, arg, num){ (char)sym, (char)num, MENUITEM_ENUM2, (int)txt, (int*)val, (int)arg } 46 52 47 53 //------------------------------------------------------------------- -
branches/philmoz/core/gui_space.c
r1346 r1356 99 99 space_color(); 100 100 101 #if defined(CAM_USE_COLORED_ICONS) 102 101 103 draw_get_icon_colors(); 102 104 … … 134 136 draw_rect(xx+9, yy+4, xx+28, yy+13, cl1); 135 137 draw_filled_rect(xx+27-(17*perc/100), yy+5, xx+27, yy+12, MAKE_COLOR(cl2, cl2)); 138 139 #else 140 141 #define LE 23 142 #define WI 15 143 144 draw_hline(xx+5, yy, LE-5, COLOR_BLACK); // outer top 145 draw_hline(xx+6, yy+1, LE-7, cl); // inner top 146 draw_vline(xx, yy+5, WI-5, COLOR_BLACK); // outer left 147 draw_vline(xx+1, yy+6, WI-7, cl); // inner left 148 draw_hline(xx, yy+WI, LE, COLOR_BLACK); // outer bottom 149 draw_hline(xx+1, yy+WI-1, LE-2, cl); // inner bottom 150 draw_vline(xx+LE, yy, WI, COLOR_BLACK); // outer right 151 draw_vline(xx+LE-1, yy+1, WI-2, cl); // inner right 152 draw_line(xx+5, yy, xx, yy+5, COLOR_BLACK); // edge 153 draw_line(xx+5, yy+1, xx+1, yy+5, cl); // edge 154 draw_line(xx+6, yy+1, xx+1, yy+6, cl); // edge 155 156 // memory fill 157 x = LE - (perc*(LE-3)/100) - 2; 158 if (x>5) draw_hline(xx+6, yy+2, x-6, COLOR_BLACK); 159 if (x>2) draw_hline(xx+x+1, yy+2, LE-x-3, cl); 160 else draw_hline(xx+4, yy+2, LE-6, cl); 161 for(i=3; i<7; i++) { // /--------------| 162 if (x>7-i) draw_pixel(xx+8-i, yy+i, COLOR_BLACK); // / 1st for loop | 163 if (x>7-i) draw_pixel(xx+x, yy+i, COLOR_BLACK); // /__________________| 164 draw_hline(xx+x+1, yy+i, LE-x-3, cl); // | | 165 } // | 2nd for loop | 166 for(i=7; i<WI-2; i++) { // | | 167 if (x>1) draw_pixel(xx+2, yy+i, COLOR_BLACK); // |-------------------| 168 if (x>1) draw_pixel(xx+x, yy+i, COLOR_BLACK); 169 draw_hline(xx+x+1, yy+i, LE-x-3, cl); 170 } 171 if (x>1) draw_hline(xx+2, yy+WI-2, x-2, COLOR_BLACK); 172 draw_hline(xx+x+1, yy+WI-2, LE-x-3, cl); 173 174 #endif 136 175 } 137 176 -
branches/philmoz/core/luascript.c
r1321 r1356 1574 1574 } 1575 1575 1576 static int luaCB_get_config_value( lua_State* L ) { 1577 unsigned int argc = lua_gettop(L); 1578 unsigned int id, i; 1579 int ret = 1; 1580 tConfigVal configVal; 1581 1582 if( argc>=1 ) { 1583 id = luaL_checknumber(L, 1); 1584 switch( conf_getValue(id, &configVal) ) { 1585 case CONF_VALUE: 1586 lua_pushnumber(L, configVal.numb); 1587 break; 1588 case CONF_INT_PTR: 1589 lua_createtable(L, 0, configVal.numb); 1590 for( i=0; i<configVal.numb; i++ ) { 1591 lua_pushinteger(L, configVal.pInt[i]); 1592 lua_rawseti(L, -2, i+1); //t[i+1]=configVal.pInt[i] 1593 } 1594 break; 1595 case CONF_CHAR_PTR: 1596 lua_pushstring(L, configVal.str); 1597 break; 1598 case CONF_OSD_POS_PTR: 1599 lua_pushnumber(L, configVal.pos.x); 1600 lua_pushnumber(L, configVal.pos.y); ret++; 1601 break; 1602 default: 1603 if( argc>=2) { //Default 1604 ret = argc-1; 1605 } else { 1606 lua_pushnil(L); 1607 } 1608 break; 1609 } 1610 } else { 1611 lua_pushnil(L); 1612 } 1613 return ret; 1614 } 1615 1616 static int luaCB_set_config_value( lua_State* L ) { 1617 unsigned int argc = lua_gettop(L); 1618 unsigned int id, i, j; 1619 tConfigVal configVal = {0,0,0,0}; //initialize isXXX 1620 1621 if( argc>=2 ) { 1622 id = luaL_checknumber(L, 1); 1623 for( i=2; i<=argc; i++) { 1624 switch( lua_type(L, i) ) { 1625 case LUA_TNUMBER: 1626 if( !configVal.isNumb ) { 1627 configVal.numb = luaL_checknumber(L, i); 1628 configVal.isNumb++; 1629 } 1630 switch( configVal.isPos ) { 1631 case 0: configVal.pos.x = luaL_checknumber(L, i); configVal.isPos++; break; 1632 case 1: configVal.pos.y = luaL_checknumber(L, i); configVal.isPos++; break; 1633 } 1634 break; 1635 case LUA_TSTRING: 1636 if( !configVal.isStr ) { 1637 configVal.str = (char*)luaL_checkstring(L, i); 1638 configVal.isStr++; 1639 } 1640 break; 1641 case LUA_TTABLE: 1642 if( !configVal.isPInt ) { 1643 configVal.numb = lua_objlen(L, i); 1644 if( configVal.pInt ) { 1645 free(configVal.pInt); 1646 configVal.pInt = NULL; 1647 } 1648 configVal.pInt = malloc(configVal.numb*sizeof(int)); 1649 if( configVal.pInt ) { 1650 for( j=1; j<=configVal.numb; j++) { 1651 lua_rawgeti(L, i, j); 1652 configVal.pInt[j-1] = lua_tointeger(L, -1); 1653 lua_pop(L, 1); 1654 } 1655 } 1656 configVal.isPInt++; 1657 } 1658 break; 1659 } 1660 } 1661 lua_pushboolean(L, conf_setValue(id, configVal)); 1662 if( configVal.pInt ) { 1663 free(configVal.pInt); 1664 configVal.pInt = NULL; 1665 } 1666 } else lua_pushboolean(L, 0); 1667 return 1; 1668 } 1576 1669 #ifdef CAM_CHDK_PTP 1577 1670 /* … … 1877 1970 #endif 1878 1971 FUNC(reboot) 1972 FUNC(get_config_value) 1973 FUNC(set_config_value) 1879 1974 #ifdef CAM_CHDK_PTP 1880 1975 FUNC(read_usb_msg) -
branches/philmoz/include/camera.h
r1346 r1356 185 185 // requires load_chdk_palette() and vid_get_bitmap_active_palette() to be defined 186 186 // correctly for the camera along with 187 #undef CAM_USE_COLORED_ICONS // If the color palette contains enough shades of red, green, yellow and grey 188 // defined then enable this use the better icons (from CHDK-DE). See gui_batt.c 189 // and gui_space.c. 187 190 188 191 //---------------------------------------------------------- -
branches/philmoz/include/conf.h
r1346 r1356 6 6 7 7 #define USER_MENU_ITEMS 14 8 #define CONF_STR_LEN 100 9 10 #define CONF_EMPTY 0 11 #define CONF_VALUE 1 12 #define CONF_VALUE_PTR 2 13 #define CONF_INT_PTR 3 14 #define CONF_CHAR_PTR 4 15 #define CONF_OSD_POS_PTR 5 8 16 9 17 typedef struct { 10 18 unsigned short x, y; 11 19 } OSD_pos; 20 21 typedef struct { 22 int isNumb, isStr, isPInt, isPos; 23 int numb; 24 char* str; 25 int* pInt; 26 OSD_pos pos; 27 } tConfigVal; 12 28 13 29 typedef struct { … … 319 335 extern void conf_change_dng(void); 320 336 extern void conf_update_prevent_shutdown(void); 337 extern int conf_getValue(unsigned short id, tConfigVal* configVal); 338 extern int conf_setValue(unsigned short id, tConfigVal configVal); 321 339 322 340 // reyalp: putting these in conf, since the conf values are lookups for them -
branches/philmoz/lib/ubasic/camera_functions.c
r1036 r1356 571 571 return 1; 572 572 } 573 int get_config_value(int id, int v) 574 { 575 printf("*** get config value %d def: %d ***\n",id, v); 576 } 577 void set_config_value(int id, int v) 578 { 579 printf("*** set config value %d %d ***\n",id, v); 580 } 581 573 582 void reboot(const char *filename) 574 583 { 575 584 printf("*** reboot %s ***\n",filename?filename:"NULL"); 576 585 } 586 577 587 #endif -
branches/philmoz/lib/ubasic/tokenizer.c
r944 r1356 148 148 {"get_zoom", TOKENIZER_GET_ZOOM}, 149 149 {"get_exp_count", TOKENIZER_GET_EXP_COUNT}, 150 {"get_config_value", TOKENIZER_GET_CONFIG_VALUE}, 150 151 151 152 … … 187 188 {"set_zoom", TOKENIZER_SET_ZOOM}, 188 189 {"set_record", TOKENIZER_SET_RECORD}, 190 {"set_config_value", TOKENIZER_SET_CONFIG_VALUE}, 189 191 190 192 -
branches/philmoz/lib/ubasic/tokenizer.h
r944 r1356 198 198 TOKENIZER_IS_CAPTURE_MODE_VALID, 199 199 TOKENIZER_REBOOT, 200 TOKENIZER_GET_CONFIG_VALUE, 201 TOKENIZER_SET_CONFIG_VALUE, 200 202 201 203 } ubasic_token; -
branches/philmoz/lib/ubasic/ubasic.c
r1320 r1356 212 212 { 213 213 int r = 0; 214 tConfigVal configVal; 214 215 215 216 DEBUG_PRINTF("factor: token %d\n", tokenizer_token()); … … 535 536 r = 1; 536 537 break; 538 case TOKENIZER_GET_CONFIG_VALUE: 539 accept(TOKENIZER_GET_CONFIG_VALUE); 540 int var1 = expr(); 541 int var2 = expr(); 542 if( conf_getValue(var1, &configVal) == CONF_VALUE) r = configVal.numb; else r = var2; 543 break; 537 544 } 538 545 default: … … 1687 1694 } 1688 1695 1696 static void set_config_value_statement() 1697 { 1698 int id, value; 1699 tConfigVal configVal = {0,0,0,0}; 1700 1701 accept(TOKENIZER_SET_CONFIG_VALUE); 1702 id = expr(); 1703 value = expr(); 1704 if( conf_getValue(id, &configVal) == CONF_VALUE ) { 1705 configVal.numb = value; 1706 configVal.isNumb = 1; 1707 conf_setValue(id, configVal); 1708 } 1709 accept_cr(); 1710 } 1689 1711 /*---------------------------------------------------------------------------*/ 1690 1712 … … 1712 1734 } 1713 1735 1736 static void get_config_value_statement() 1737 { 1738 int var, var1, var2; 1739 tConfigVal configVal; 1740 accept(TOKENIZER_GET_CONFIG_VALUE); 1741 var = expr(); 1742 var1 = expr(); 1743 var2 = tokenizer_variable_num(); 1744 accept(TOKENIZER_VARIABLE); 1745 if( conf_getValue(var, &configVal) == CONF_VALUE ) { 1746 ubasic_set_variable(var2, configVal.numb); 1747 } else { 1748 ubasic_set_variable(var2, var1); 1749 } 1750 accept_cr(); 1751 } 1714 1752 static void on_off_statement(int token, void (*on)(void), void (*off)(void)) 1715 1753 { … … 2206 2244 break; 2207 2245 2246 case TOKENIZER_GET_CONFIG_VALUE: 2247 get_config_value_statement(); 2248 2249 break; 2250 2251 case TOKENIZER_SET_CONFIG_VALUE: 2252 set_config_value_statement(); 2253 break; 2254 2255 2208 2256 default: 2209 2257 DEBUG_PRINTF("ubasic.c: statement(): not implemented %d\n", token); -
branches/philmoz/makefile.inc
r1333 r1356 247 247 #PLATFORM=a470 248 248 #PLATFORMSUB=101b 249 250 #PLATFORM=a490 251 #PLATFORMSUB=100d 249 252 250 253 #PLATFORM=a490 -
branches/philmoz/platform/a1100/kbd.c
r1233 r1356 48 48 { 2, KEY_ZOOM_OUT , 0x00000080 }, 49 49 { 2, KEY_SHOOT_FULL , 0x00000030 }, 50 { 2, KEY_SHOOT_FULL_ONLY, 0x00000020 }, 50 51 { 2, KEY_SHOOT_HALF , 0x00000010 }, 51 52 { 1, KEY_UP , 0x00000100 }, -
branches/philmoz/platform/a2000/kbd.c
r1031 r1356 49 49 { 2, KEY_SET , 0x00000100 }, 50 50 { 1, KEY_SHOOT_FULL , 0xC0000000 }, 51 { 1, KEY_SHOOT_FULL_ONLY, 0x80000000 }, 51 52 { 1, KEY_SHOOT_HALF , 0x40000000 }, 52 53 { 2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/a410/kbd.c
r1240 r1356 12 12 { KEY_SET , 0x00000100 }, 13 13 { KEY_SHOOT_FULL, 0x00000030 }, // note 3 here! 14 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 14 15 { KEY_SHOOT_HALF, 0x00000010 }, 15 16 // { KEY_ZOOM_IN , 0x00000001 }, // KEY_UP/KEY_ZOOM_IN -
branches/philmoz/platform/a430/kbd.c
r1031 r1356 405 405 { KEY_SET , 0x00000100 }, 406 406 { KEY_SHOOT_FULL, 0x00000030 }, // note 3 here! 407 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 407 408 { KEY_SHOOT_HALF, 0x00000010 }, 408 409 // { KEY_ZOOM_IN , 0x00000001 }, // KEY_UP/KEY_ZOOM_IN -
branches/philmoz/platform/a450/kbd.c
r1031 r1356 405 405 { KEY_SET , 0x00000100 }, 406 406 { KEY_SHOOT_FULL, 0x00000030 }, // note 3 here! 407 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 407 408 { KEY_SHOOT_HALF, 0x00000010 }, 408 409 // { KEY_ZOOM_IN , 0x00000001 }, // KEY_UP/KEY_ZOOM_IN -
branches/philmoz/platform/a460/kbd.c
r1031 r1356 405 405 { KEY_SET , 0x00000100 }, 406 406 { KEY_SHOOT_FULL, 0x00000030 }, // note 3 here! 407 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 407 408 { KEY_SHOOT_HALF, 0x00000010 }, 408 409 // { KEY_ZOOM_IN , 0x00000001 }, // KEY_UP/KEY_ZOOM_IN -
branches/philmoz/platform/a470/kbd.c
r1031 r1356 439 439 { 2, KEY_SET , 0x00000100 }, // 440 440 { 2, KEY_SHOOT_FULL , 0x00000030 }, 441 { 2, KEY_SHOOT_FULL_ONLY, 0x00000020 }, 441 442 { 2, KEY_SHOOT_HALF , 0x00000010 }, 442 443 { 2, KEY_MENU , 0x00000400 }, -
branches/philmoz/platform/a480/kbd.c
r1031 r1356 48 48 49 49 { 2, KEY_SHOOT_FULL , 0x00000030 }, 50 { 2, KEY_SHOOT_FULL_ONLY, 0x00000020 }, 50 51 { 2, KEY_SHOOT_HALF , 0x00000010 }, 51 52 { 2, KEY_UP , 0x00000001 }, -
branches/philmoz/platform/a490/kbd.c
r1205 r1356 41 41 { 0, KEY_PRINT , 0x00020000 }, // Playback 42 42 43 { 2, KEY_SHOOT_FULL , 0x00000030 }, // ? 0x00000010(KEY_SHOOT_HALF) + 0x00000030 (KEY_SHOOT_FULL) 43 { 2, KEY_SHOOT_FULL , 0x00000030 }, // 0x00000010 (KEY_SHOOT_HALF) + 0x00000020 (KEY_SHOOT_FULL_ONLY) 44 { 2, KEY_SHOOT_FULL_ONLY, 0x00000020 }, 44 45 { 2, KEY_SHOOT_HALF , 0x00000010 }, 45 46 -
branches/philmoz/platform/a490/sub/Makefile
- Property svn:eol-style set to LF
-
branches/philmoz/platform/a495/kbd.c
r1198 r1356 41 41 { 0, KEY_PRINT , 0x00020000 }, // Playback 42 42 43 { 2, KEY_SHOOT_FULL , 0x00000030 }, // ? 0x00000010(KEY_SHOOT_HALF) + 0x00000030 (KEY_SHOOT_FULL) 43 { 2, KEY_SHOOT_FULL , 0x00000030 }, // 0x00000010 (KEY_SHOOT_HALF) + 0x00000030 (KEY_SHOOT_FULL_ONLY) 44 { 2, KEY_SHOOT_FULL_ONLY, 0x00000020 }, 44 45 { 2, KEY_SHOOT_HALF , 0x00000010 }, 45 46 -
branches/philmoz/platform/a530/kbd.c
r515 r1356 11 11 { KEY_SET , 0x00000100 }, //4056FF 12 12 { KEY_SHOOT_FULL, 0x00000030 }, // 4057CF note 3 here! 13 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 13 14 { KEY_SHOOT_HALF, 0x00000010 }, //4057EF 14 15 { KEY_ZOOM_IN , 0x00000040 }, //4057BF -
branches/philmoz/platform/a540/kbd.c
r515 r1356 14 14 { KEY_SET , 0x00000100 }, 15 15 { KEY_SHOOT_FULL, 0x00000030 }, // note 3 here! 16 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 16 17 { KEY_SHOOT_HALF, 0x00000010 }, 17 18 { KEY_ZOOM_IN , 0x00000040 }, -
branches/philmoz/platform/a550/kbd.c
r1031 r1356 473 473 {2, KEY_SET, 0x00000100 }, //4056FF 474 474 {2, KEY_SHOOT_FULL, 0x00000030 }, // 4057CF note 3 here! 475 {2, KEY_SHOOT_FULL_ONLY, 0x00000020 }, 475 476 {2, KEY_SHOOT_HALF, 0x00000010 }, //4057EF 476 477 {2, KEY_ZOOM_IN, 0x00000040 }, //4057BF -
branches/philmoz/platform/a560/kbd.c
r1031 r1356 447 447 {2, KEY_SET , 0x00000100 }, 448 448 {1, KEY_SHOOT_FULL, 0xC0000000 }, // note 3 here! 449 {1, KEY_SHOOT_FULL_ONLY, 0x80000000 }, 449 450 {1, KEY_SHOOT_HALF, 0x40000000 }, 450 451 {2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/a570/kbd.c
r1031 r1356 448 448 {2, KEY_SET , 0x00000100 }, 449 449 {1, KEY_SHOOT_FULL, 0xC0000000 }, // note 3 here! 450 {1, KEY_SHOOT_FULL_ONLY, 0x80000000 }, 450 451 {1, KEY_SHOOT_HALF, 0x40000000 }, 451 452 {2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/a580/kbd.c
r1320 r1356 449 449 { 2, KEY_SET , 0x00000100 }, 450 450 { 1, KEY_SHOOT_FULL , 0xC0000000 }, 451 // not added to trunk yet 452 // { 1, KEY_SHOOT_FULL_ONLY, 0x80000000 }, 451 { 1, KEY_SHOOT_FULL_ONLY, 0x80000000 }, 453 452 { 1, KEY_SHOOT_HALF , 0x40000000 }, 454 453 { 2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/a590/kbd.c
r1031 r1356 442 442 { 2, KEY_SET , 0x00000100 }, 443 443 { 1, KEY_SHOOT_FULL , 0xC0000000 }, 444 { 1, KEY_SHOOT_FULL_ONLY, 0x80000000 }, 444 445 { 1, KEY_SHOOT_HALF , 0x40000000 }, 445 446 { 2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/a610/kbd.c
r515 r1356 11 11 { KEY_SET , 0x00000100 }, 12 12 { KEY_SHOOT_FULL, 0x00000030 }, // note 3 here! 13 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 13 14 { KEY_SHOOT_HALF, 0x00000010 }, 14 15 { KEY_ZOOM_IN , 0x00000040 }, -
branches/philmoz/platform/a620/kbd.c
r515 r1356 11 11 { KEY_SET , 0x00000100 }, 12 12 { KEY_SHOOT_FULL, 0x00000030 }, // note 3 here! 13 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 13 14 { KEY_SHOOT_HALF, 0x00000010 }, 14 15 { KEY_ZOOM_IN , 0x00000040 }, -
branches/philmoz/platform/a630/kbd.c
r515 r1356 11 11 { KEY_SET , 0x00000100 }, 12 12 { KEY_SHOOT_FULL, 0x00000030 }, // note 3 here! 13 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 13 14 { KEY_SHOOT_HALF, 0x00000010 }, 14 15 { KEY_ZOOM_IN , 0x00000040 }, -
branches/philmoz/platform/a640/kbd.c
r515 r1356 11 11 { KEY_SET , 0x00000100 }, 12 12 { KEY_SHOOT_FULL, 0x00000030 }, // note 3 here! 13 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 13 14 { KEY_SHOOT_HALF, 0x00000010 }, 14 15 { KEY_ZOOM_IN , 0x00000040 }, -
branches/philmoz/platform/a650/kbd.c
r1031 r1356 454 454 { 2, KEY_SET , 0x00000100 }, 455 455 { 1, KEY_SHOOT_FULL , 0xC0000000 }, 456 { 1, KEY_SHOOT_FULL_ONLY, 0x80000000 }, 456 457 { 1, KEY_SHOOT_HALF , 0x40000000 }, 457 458 { 2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/a700/kbd.c
r515 r1356 11 11 { KEY_SET , 0x00000800 }, 12 12 { KEY_SHOOT_FULL, 0x00000030 }, // note 3 here! 13 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 13 14 { KEY_SHOOT_HALF, 0x00000010 }, 14 15 { KEY_ZOOM_IN , 0x00000040 }, -
branches/philmoz/platform/a710/kbd.c
r515 r1356 11 11 { KEY_SET , 0x00000800 }, 12 12 { KEY_SHOOT_FULL, 0x00000030 }, // note 3 here! 13 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 13 14 { KEY_SHOOT_HALF, 0x00000010 }, 14 15 { KEY_ZOOM_IN , 0x00000040 }, -
branches/philmoz/platform/a720/kbd.c
r1031 r1356 445 445 { 2, KEY_SET , 0x00000100 }, 446 446 { 1, KEY_SHOOT_FULL , 0xC0000000 }, 447 { 1, KEY_SHOOT_FULL_ONLY, 0x80000000 }, 447 448 { 1, KEY_SHOOT_HALF , 0x40000000 }, 448 449 { 2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/d10/kbd.c
r1031 r1356 422 422 { 2, KEY_SET , 0x00000100 }, 423 423 { 2, KEY_SHOOT_FULL , 0x00000003 }, 424 { 2, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 424 425 { 2, KEY_SHOOT_HALF , 0x00000001 }, 425 426 { 2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/g10/kbd.c
r1333 r1356 43 43 44 44 static KeyMap keymap[] = { 45 { 0, KEY_SHOOT_FULL ,0x00000003 }, // Found @0xffb0f7c0, levent 0x01 46 { 0, KEY_SHOOT_FULL_ONLY, 0x00000002 }, // http://chdk.setepontos.com/index.php?topic=1444.msg70223#msg70223 45 47 { 0, KEY_SHOOT_HALF ,0x00000001 }, // Found @0xffb0f7b4, levent 0x00 46 { 0, KEY_SHOOT_FULL ,0x00000003 }, // Found @0xffb0f7c0, levent 0x0147 48 48 49 { 1, KEY_ZOOM_OUT ,0x00000008 }, // Found @0xffb0f82c, levent 0x03 -
branches/philmoz/platform/g10/platform_camera.h
r1333 r1356 132 132 #define CAM_DETECT_SCREEN_ERASE 1 // http://chdk.setepontos.com/index.php?topic=6705.msg71062#msg71062 133 133 134 #define CAM_USE_COLORED_ICONS 1 // Enable using the CHDK-DE colored icons. 134 135 135 136 //---------------------------------------------------------- -
branches/philmoz/platform/g11/kbd.c
r1031 r1356 41 41 { 0, KEY_SET , 0x00000800 }, // g11 42 42 { 2, KEY_SHOOT_FULL , 0x00000003 }, // g11 43 { 2, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 43 44 { 2, KEY_SHOOT_HALF , 0x00000001 }, // g11 44 45 { 0, KEY_ZOOM_IN , 0x00000010 }, // g11 -
branches/philmoz/platform/g12/platform_camera.h
r1346 r1356 117 117 #define CAM_LOAD_CUSTOM_COLORS 1 // Enable loading CHDK colors into the camera palette memory/hardware 118 118 #define CHDK_COLOR_BASE 0xB3 // Start color index for CHDK colors loaded into camera palette. 119 #define CAM_USE_COLORED_ICONS 1 // Enable using the CHDK-DE colored icons. 119 120 120 121 //---------------------------------------------------------- -
branches/philmoz/platform/g7/kbd.c
r1031 r1356 470 470 { 1, KEY_SET , 0x00020000 }, 471 471 { 0, KEY_SHOOT_FULL , 0xC0000000 }, 472 { 0, KEY_SHOOT_FULL_ONLY, 0x80000000 }, 472 473 { 0, KEY_SHOOT_HALF , 0x40000000 }, 473 474 { 1, KEY_ZOOM_IN , 0x00000010 }, -
branches/philmoz/platform/g9/kbd.c
r1031 r1356 457 457 { 1, KEY_SET , 0x00020000 }, // g7 458 458 { 0, KEY_SHOOT_FULL , 0xC0000000 }, // g7 459 { 0, KEY_SHOOT_FULL_ONLY, 0x80000000 }, 459 460 { 0, KEY_SHOOT_HALF , 0x40000000 }, // g7 460 461 { 1, KEY_ZOOM_IN , 0x00000010 }, // g7 -
branches/philmoz/platform/ixus100_sd780/kbd.c
r1333 r1356 801 801 802 802 { 2, KEY_SHOOT_FULL , 0x00001001 }, 803 { 2, KEY_SHOOT_FULL_ONLY, 0x00001000 }, 803 804 { 2, KEY_SHOOT_HALF , 0x00000001 }, 804 805 { 2, KEY_ZOOM_IN , 0x00004000 }, -
branches/philmoz/platform/ixus120_sd940/kbd.c
r1340 r1356 46 46 47 47 { 2, KEY_SHOOT_FULL , 0x00000300 }, 48 { 2, KEY_SHOOT_FULL_ONLY, 0x00000200 }, 48 49 { 2, KEY_SHOOT_HALF , 0x00000100 }, 49 50 { 2, KEY_UP , 0x00000080 }, -
branches/philmoz/platform/ixus200_sd980/kbd.c
r1212 r1356 55 55 56 56 { 2, KEY_SHOOT_FULL , 0x00000300 }, 57 { 2, KEY_SHOOT_FULL_ONLY, 0x00000200 }, 57 58 { 2, KEY_SHOOT_HALF , 0x00000100 }, 58 59 -
branches/philmoz/platform/ixus300_sd4000/kbd.c
r1320 r1356 286 286 { 0, KEY_RIGHT , 0x00000002 }, // finsig2 287 287 { 1, KEY_SET , 0x00000040 }, // finsig2 288 //{ 0, KEY_SHOOT_FULL , 0x00000800 },289 288 { 0, KEY_SHOOT_FULL , 0x00000900 }, // 0x00000800(KEY_SHOOT_FULL) + 0x00000100 (KEY_SHOOT_HALF), ToDo: still not shure if correct (related to problems with shoot_full?), finsig2 289 { 0, KEY_SHOOT_FULL_ONLY , 0x00000800 }, 290 290 { 0, KEY_SHOOT_HALF , 0x00000100 }, // finsig2 291 291 { 1, KEY_ZOOM_IN , 0x00000010 }, // finsig2 -
branches/philmoz/platform/ixus310_elph500hs/platform_camera.h
r1346 r1356 130 130 #define CAM_LOAD_CUSTOM_COLORS 1 // Enable loading CHDK colors into the camera palette memory/hardware 131 131 #define CHDK_COLOR_BASE 0xB3 // Start color index for CHDK colors loaded into camera palette. 132 #define CAM_USE_COLORED_ICONS 1 // Enable using the CHDK-DE colored icons. 132 133 133 134 //---------------------------------------------------------- -
branches/philmoz/platform/ixus40_sd300/kbd.c
r955 r1356 699 699 { KEY_RIGHT , 0x00000100 }, 700 700 { KEY_SET , 0x00000200 }, 701 { KEY_SHOOT_FULL, 0x00000006 }, // note 3 here! 701 { KEY_SHOOT_FULL, 0x00000006 }, // note 6 here! 702 { KEY_SHOOT_FULL_ONLY, 0x00000004 }, 702 703 { KEY_SHOOT_HALF, 0x00000002 }, 703 704 { KEY_ZOOM_IN , 0x00000008 }, -
branches/philmoz/platform/ixus50_sd400/kbd.c
r515 r1356 282 282 { KEY_RIGHT , 0x00000100 }, 283 283 { KEY_SET , 0x00000200 }, 284 { KEY_SHOOT_FULL, 0x00000006 }, // note 3 here! 284 { KEY_SHOOT_FULL, 0x00000006 }, // note 6 here! 285 { KEY_SHOOT_FULL_ONLY, 0x00000004 }, 285 286 { KEY_SHOOT_HALF, 0x00000002 }, 286 287 { KEY_ZOOM_IN , 0x00000008 }, -
branches/philmoz/platform/ixus55_sd450/kbd.c
r1031 r1356 580 580 {KEY_RIGHT , 0x00000100 }, 581 581 {KEY_SET , 0x00000200 }, 582 {KEY_SHOOT_FULL, 0x00000006 }, 583 {KEY_SHOOT_FULL_ONLY, 0x00000004 }, 582 584 {KEY_SHOOT_HALF, 0x00000002 }, 583 {KEY_SHOOT_FULL, 0x00000004 },584 585 {KEY_ZOOM_IN , 0x00000008 }, 585 586 {KEY_ZOOM_OUT, 0x00000010 }, -
branches/philmoz/platform/ixus60_sd600/kbd.c
r955 r1356 346 346 { KEY_SET , 0x00000100 }, 347 347 { KEY_SHOOT_FULL, 0x00000030 }, // note 3 here! 348 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 348 349 { KEY_SHOOT_HALF, 0x00000010 }, 349 350 { KEY_ZOOM_IN , 0x00000040 }, -
branches/philmoz/platform/ixus65_sd630/kbd.c
r955 r1356 346 346 { KEY_SET , 0x00000100 }, 347 347 { KEY_SHOOT_FULL, 0x00000030 }, // note 3 here! 348 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 348 349 { KEY_SHOOT_HALF, 0x00000010 }, 349 350 { KEY_ZOOM_IN , 0x00000040 }, -
branches/philmoz/platform/ixus70_sd1000/kbd.c
r1031 r1356 447 447 {2, KEY_RIGHT , 0x00000020 }, 448 448 {2, KEY_SET , 0x00000100 }, 449 {1, KEY_SHOOT_FULL, 0xC0000000 }, // note 3 here! 449 {1, KEY_SHOOT_FULL, 0xC0000000 }, 450 {1, KEY_SHOOT_FULL_ONLY, 0x80000000 }, 450 451 {1, KEY_SHOOT_HALF, 0x40000000 }, 451 452 {2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/ixus750_sd550/kbd.c
r515 r1356 318 318 {KEY_SET , 0x00000200 }, 319 319 {KEY_SHOOT_HALF, 0x00000002 }, 320 {KEY_SHOOT_FULL, 0x00000004 }, 320 {KEY_SHOOT_FULL, 0x00000006 }, // note 6 here 321 {KEY_SHOOT_FULL_ONLY, 0x00000004 }, 321 322 {KEY_ZOOM_IN , 0x00000008 }, 322 323 {KEY_ZOOM_OUT, 0x00000010 }, -
branches/philmoz/platform/ixus75_sd750/kbd.c
r641 r1356 325 325 {2, KEY_RIGHT , 0x00000020 }, 326 326 {2, KEY_SET , 0x00000100 }, 327 {1, KEY_SHOOT_FULL, 0xC0000000 }, // note 3 here! 327 {1, KEY_SHOOT_FULL, 0xC0000000 }, 328 {1, KEY_SHOOT_FULL_ONLY, 0x80000000 }, 328 329 {1, KEY_SHOOT_HALF, 0x40000000 }, 329 330 {2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/ixus800_sd700/kbd.c
r515 r1356 11 11 { KEY_SET , 0x00000100 }, 12 12 { KEY_SHOOT_FULL, 0x00000030 }, // note 3 here! 13 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 13 14 { KEY_SHOOT_HALF, 0x00000010 }, 14 15 { KEY_ZOOM_IN , 0x00000040 }, -
branches/philmoz/platform/ixus80_sd1100/kbd.c
r569 r1356 350 350 { 2, KEY_SET , 0x00000100 }, 351 351 { 2, KEY_SHOOT_FULL , 0x00000003 }, 352 { 2, KEY_SHOOT_FULL_ONLY , 0x00000002 }, 352 353 { 2, KEY_SHOOT_HALF , 0x00000001 }, 353 354 { 2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/ixus850_sd800/kbd.c
r1031 r1356 447 447 {2, KEY_RIGHT , 0x00000020 }, 448 448 {2, KEY_SET , 0x00000100 }, 449 {1, KEY_SHOOT_FULL, 0xC0000000 }, // note 3 here! 449 {1, KEY_SHOOT_FULL, 0xC0000000 }, 450 {1, KEY_SHOOT_FULL_ONLY, 0x80000000 }, 450 451 {1, KEY_SHOOT_HALF, 0x40000000 }, 451 452 {2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/ixus85_sd770/kbd.c
r1031 r1356 45 45 { 2, KEY_SET , 0x00000100 }, 46 46 { 2, KEY_SHOOT_FULL , 0x00000003 }, 47 { 2, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 47 48 { 2, KEY_SHOOT_HALF , 0x00000001 }, 48 49 { 2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/ixus860_sd870/kbd.c
r1031 r1356 465 465 { 2, KEY_SET , 0x00000100 }, 466 466 { 2, KEY_SHOOT_FULL , 0x00000003 }, 467 { 2, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 467 468 { 2, KEY_SHOOT_HALF , 0x00000001 }, 468 469 { 2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/ixus870_sd880/kbd.c
r1031 r1356 65 65 // group, CHDK key , mask 66 66 { 2, KEY_SHOOT_FULL , 0x00000003 }, 67 { 2, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 67 68 { 2, KEY_SHOOT_HALF , 0x00000001 }, 68 69 -
branches/philmoz/platform/ixus900_sd900/kbd.c
r1031 r1356 306 306 {2, KEY_SET , 0x00000100}, 307 307 {1, KEY_SHOOT_FULL , 0xC0000000}, 308 {1, KEY_SHOOT_FULL_ONLY, 0x80000000}, 308 309 {1, KEY_SHOOT_HALF , 0x40000000}, 309 310 {2, KEY_ZOOM_IN , 0x00000004}, -
branches/philmoz/platform/ixus90_sd790/kbd.c
r1031 r1356 455 455 { 2, KEY_SET , 0x00000100 }, 456 456 { 2, KEY_SHOOT_FULL , 0x00000003 }, 457 { 2, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 457 458 { 2, KEY_SHOOT_HALF , 0x00000001 }, 458 459 { 2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/ixus950_sd850/kbd.c
r1031 r1356 444 444 {2, KEY_SET , 0x00000100 }, 445 445 {1, KEY_SHOOT_FULL, 0xC0000000 }, 446 {1, KEY_SHOOT_FULL_ONLY, 0x80000000 }, 446 447 {1, KEY_SHOOT_HALF, 0x40000000 }, 447 448 {2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/ixus95_sd1200/kbd.c
r1031 r1356 447 447 { 2, KEY_SET , 0x00000100 }, 448 448 { 2, KEY_SHOOT_FULL , 0x00000003 }, 449 { 2, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 449 450 { 2, KEY_SHOOT_HALF , 0x00000001 }, 450 451 { 2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/ixus960_sd950/kbd.c
r1031 r1356 456 456 { 2, KEY_SET , 0x00000100 }, 457 457 { 2, KEY_SHOOT_FULL , 0x00000003 }, 458 { 2, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 458 459 { 2, KEY_SHOOT_HALF , 0x00000001 }, 459 460 { 2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/ixus970_sd890/kbd.c
r1031 r1356 45 45 { 2, KEY_SET , 0x00000100 }, 46 46 { 2, KEY_SHOOT_FULL , 0x00000003 }, 47 { 2, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 47 48 { 2, KEY_SHOOT_HALF , 0x00000001 }, 48 49 { 2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/ixus980_sd990/kbd.c
r1031 r1356 421 421 { 2, KEY_SET , 0x00000100 }, 422 422 { 2, KEY_SHOOT_FULL , 0x00000003 }, 423 { 2, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 423 424 { 2, KEY_SHOOT_HALF , 0x00000001 }, 424 425 { 2, KEY_ZOOM_IN , 0x00000004 }, -
branches/philmoz/platform/ixusizoom_sd30/kbd.c
r621 r1356 310 310 { KEY_SET , 0x00000100 }, 311 311 { KEY_SHOOT_FULL, 0x00000030 }, // note 3 here! 312 { KEY_SHOOT_FULL_ONLY, 0x00000020 }, 312 313 { KEY_SHOOT_HALF, 0x00000010 }, 313 314 { KEY_ZOOM_IN , 0x00000040 }, -
branches/philmoz/platform/s2is/kbd.c
r1031 r1356 502 502 { 1, KEY_SET , 0x00100000 }, 503 503 { 0, KEY_SHOOT_FULL , 0x00000003 }, 504 { 0, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 504 505 { 0, KEY_SHOOT_HALF , 0x00000001 }, 505 506 { 1, KEY_ZOOM_IN , 0x10000000 }, -
branches/philmoz/platform/s3is/kbd.c
r1031 r1356 445 445 { 1, KEY_SET , 0x00100000 }, 446 446 { 0, KEY_SHOOT_FULL , 0x00000003 }, 447 { 0, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 447 448 { 0, KEY_SHOOT_HALF , 0x00000001 }, 448 449 { 1, KEY_ZOOM_IN , 0x10000000 }, -
branches/philmoz/platform/s5is/kbd.c
r1031 r1356 97 97 // { 0, KEY_M_SHOOT , 0x00000004 }, // Switch to shoot mode, not defined in CHDK (negative? Default 0, 1 when switching) 98 98 // { 0, KEY_SHOOT_FULL, 0x00000002 }, // Listed for completeness, this is the 'single' key. 99 { 0, KEY_SHOOT_FULL, 0x00000003 }, // This is SHOOT_FULL | SHOOT_HALF. 99 { 0, KEY_SHOOT_FULL, 0x00000003 }, // This is SHOOT_FULL_ONLY | SHOOT_HALF. 100 { 0, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 100 101 { 0, KEY_SHOOT_HALF, 0x00000001 }, 101 102 -
branches/philmoz/platform/s90/kbd.c
r1031 r1356 41 41 { 1, KEY_SET , 0x00008000 }, 42 42 { 0, KEY_SHOOT_FULL , 0x00000300 }, 43 { 0, KEY_SHOOT_FULL_ONLY, 0x00000200 }, 43 44 { 0, KEY_SHOOT_HALF , 0x00000100 }, 44 45 { 1, KEY_ZOOM_IN , 0x00000010 }, -
branches/philmoz/platform/s95/kbd.c
r1059 r1356 40 40 { 1, KEY_SET , 0x00008000 }, 41 41 { 2, KEY_SHOOT_FULL , 0x00000300 }, 42 { 2, KEY_SHOOT_FULL_ONLY, 0x00000200 }, 42 43 { 2, KEY_SHOOT_HALF , 0x00000100 }, 43 44 { 1, KEY_ZOOM_IN , 0x00000010 }, -
branches/philmoz/platform/s95/sub/100i/stubs_entry_2.S
r1343 r1356 1 e// Note : This file generated by CHDK-PT.1 // Note : This file generated by CHDK-PT. 2 2 #include "stubs_asm.h" 3 3 #define NULL_STUB 0xFF8391E0 -
branches/philmoz/platform/sx1/kbd.c
r1031 r1356 48 48 49 49 { 0, KEY_SHOOT_FULL , 0x00000003 }, 50 { 0, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 50 51 { 0, KEY_SHOOT_HALF , 0x00000001 }, 51 52 -
branches/philmoz/platform/sx10/kbd.c
r1031 r1356 48 48 49 49 { 0, KEY_SHOOT_FULL , 0x00000003 }, 50 { 0, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 50 51 { 0, KEY_SHOOT_HALF , 0x00000001 }, 51 52 -
branches/philmoz/platform/sx100is/kbd.c
r596 r1356 53 53 54 54 { 0, KEY_SHOOT_FULL, 0x0000000C }, 55 { 0, KEY_SHOOT_FULL_ONLY, 0x00000008 }, 55 56 { 0, KEY_SHOOT_HALF, 0x00000004 }, 56 57 -
branches/philmoz/platform/sx100is/platform_camera.h
r1140 r1356 55 55 #define DNG_EXT_FROM ".CR2" 56 56 #define CAM_MULTIPART 1 57 #define CAM_EXT_TV_RANGE 1 58 #define CAM_DETECT_SCREEN_ERASE 1 57 59 //---------------------------------------------------------- 58 60 -
branches/philmoz/platform/sx100is/shooting.c
r860 r1356 91 91 160 x 120 (3 minutes at 15 fps) 92 92 93 canon mode list FFE9E7EC in 100b 93 canon mode list FFE9E7EC in 100b, ffe9e824 in 100c 94 94 */ 95 95 static const CapturemodeMap modemap[] = { -
branches/philmoz/platform/sx100is/sub/100b/boot.c
r691 r1356 30 30 while (counter--) { asm("nop\n nop\n"); }; 31 31 }*/ 32 33 void taskCreateHook(int *p) { //function taken from the ixus80 port, adapted of course 34 p-=16; 35 if (p[0]==0xffc98ee4) p[0]=(int)exp_drv_task; 36 } 32 37 33 38 //#define DEBUG_LED 0xC02200C4 … … 55 60 for(i=0;i<canon_bss_len/4;i++) 56 61 canon_bss_start[i]=0; 62 63 *(int*)0x1930=(int)taskCreateHook; //from ixus80 port 64 *(int*)0x1934=(int)taskCreateHook; //from ixus80 port (was taskCreateHook2...) 57 65 58 66 *(int*)0x2578= (*(int*)0xC02200B8)&1 ? 0x100000: 0x200000; // replacement of sub_FFC12E38 -
branches/philmoz/platform/sx100is/sub/100b/capt_seq.c
r550 r1356 359 359 ); 360 360 } //#fe 361 362 363 void __attribute__((naked,noinline)) exp_drv_task(){ 364 asm volatile( 365 " STMFD SP!, {R4-R8,LR}\n" 366 " SUB SP, SP, #0x20\n" 367 " LDR R8, =0xBB8\n" 368 " LDR R7, =0x6D70\n" 369 " LDR R5, =0x41350\n" 370 " MOV R0, #0\n" 371 " ADD R6, SP, #0x10\n" 372 " STR R0, [SP,#0xC]\n" 373 "loc_FFC98F04:\n" 374 " LDR R0, [R7,#0x20]\n" 375 " MOV R2, #0\n" 376 " ADD R1, SP, #0x1C\n" 377 " BL sub_FFC19658\n" 378 " LDR R0, [SP,#0xC]\n" 379 " CMP R0, #1\n" 380 " BNE loc_FFC98F4C\n" 381 " LDR R0, [SP,#0x1C]\n" 382 " LDR R0, [R0]\n" 383 " CMP R0, #0x13\n" 384 " CMPNE R0, #0x14\n" 385 " CMPNE R0, #0x15\n" 386 " BEQ loc_FFC990CC\n" 387 " CMP R0, #0x26\n" 388 " BEQ loc_FFC99038\n" 389 " ADD R1, SP, #0xC\n" 390 " MOV R0, #0\n" 391 " BL sub_FFC98E94\n" 392 "loc_FFC98F4C:\n" 393 " LDR R0, [SP,#0x1C]\n" 394 " LDR R1, [R0]\n" 395 " CMP R1, #0x2B\n" 396 " BNE loc_FFC98F7C\n" 397 " LDR R0, [SP,#0x1C]\n" 398 " BL sub_FFC9A1C4\n" 399 " LDR R0, [R7,#0x1C]\n" 400 " MOV R1, #1\n" 401 " BL sub_FFC193D4\n" 402 " BL sub_FFC0BE48\n" 403 " ADD SP, SP, #0x20\n" 404 " LDMFD SP!, {R4-R8,PC}\n" 405 "loc_FFC98F7C:\n" 406 " CMP R1, #0x2A\n" 407 " BNE loc_FFC98F98\n" 408 " LDR R2, [R0,#0x88]!\n" 409 " LDR R1, [R0,#4]\n" 410 " MOV R0, R1\n" 411 " BLX R2\n" 412 " B loc_FFC99530\n" 413 "loc_FFC98F98:\n" 414 " CMP R1, #0x24\n" 415 " BNE loc_FFC98FE8\n" 416 " LDR R0, [R7,#0x1C]\n" 417 " MOV R1, #0x80\n" 418 " BL sub_FFC19408\n" 419 " LDR R0, =0xFFC95980\n" 420 " MOV R1, #0x80\n" 421 " BL sub_FFD0A4E8\n" 422 " LDR R0, [R7,#0x1C]\n" 423 " MOV R2, R8\n" 424 " MOV R1, #0x80\n" 425 " BL sub_FFC1930C\n" 426 " TST R0, #1\n" 427 " LDRNE R1, =0xD07\n" 428 " BNE loc_FFC990A8\n" 429 "loc_FFC98FD4:\n" 430 " LDR R1, [SP,#0x1C]\n" 431 " LDR R0, [R1,#0x8C]\n" 432 " LDR R1, [R1,#0x88]\n" 433 " BLX R1\n" 434 " B loc_FFC99530\n" 435 "loc_FFC98FE8:\n" 436 " CMP R1, #0x25\n" 437 " BNE loc_FFC99030\n" 438 " ADD R1, SP, #0xC\n" 439 " BL sub_FFC98E94\n" 440 " LDR R0, [R7,#0x1C]\n" 441 " MOV R1, #0x100\n" 442 " BL sub_FFC19408\n" 443 " MOV R1, #0x100\n" 444 " LDR R0, =0xFFC95990\n" 445 " BL sub_FFD0ACA8\n" 446 " LDR R0, [R7,#0x1C]\n" 447 " MOV R2, R8\n" 448 " MOV R1, #0x100\n" 449 " BL sub_FFC1930C\n" 450 " TST R0, #1\n" 451 " BEQ loc_FFC98FD4\n" 452 " LDR R1, =0xD11\n" 453 " B loc_FFC990A8\n" 454 "loc_FFC99030:\n" 455 " CMP R1, #0x26\n" 456 " BNE loc_FFC99048\n" 457 "loc_FFC99038:\n" 458 " LDR R0, [SP,#0x1C]\n" 459 " ADD R1, SP, #0xC\n" 460 " BL sub_FFC98E94\n" 461 " B loc_FFC98FD4\n" 462 "loc_FFC99048:\n" 463 " CMP R1, #0x27\n" 464 " CMPNE R1, #0x28\n" 465 " BNE loc_FFC990B4\n" 466 " ADD R1, SP, #0xC\n" 467 " BL sub_FFC98E94\n" 468 " LDR R4, [SP,#0x1C]\n" 469 " LDR R0, [R7,#0x1C]\n" 470 " MOV R1, #0x40\n" 471 " BL sub_FFC19408\n" 472 " LDR R0, [R4]\n" 473 " MOV R1, #0x40\n" 474 " CMP R0, #0x27\n" 475 " LDR R0, =0xFFC959F4\n" 476 " BNE loc_FFC99088\n" 477 " BL sub_FFD0A588\n" 478 " B loc_FFC9908C\n" 479 "loc_FFC99088:\n" 480 " BL sub_FFD0A614\n" 481 "loc_FFC9908C:\n" 482 " LDR R0, [R7,#0x1C]\n" 483 " MOV R2, R8\n" 484 " MOV R1, #0x40\n" 485 " BL sub_FFC1930C\n" 486 " TST R0, #1\n" 487 " BEQ loc_FFC98FD4\n" 488 " LDR R1, =0xD1F\n" 489 "loc_FFC990A8:\n" 490 " LDR R0, =0xFFC96090\n" 491 " BL sub_FFC0C090\n" 492 " B loc_FFC98FD4\n" 493 "loc_FFC990B4:\n" 494 " CMP R1, #0x29\n" 495 " BNE loc_FFC990CC\n" 496 " BL sub_FFC77FB8\n" 497 " BL sub_FFC78D38\n" 498 " BL sub_FFC787F8\n" 499 " B loc_FFC98FD4\n" 500 "loc_FFC990CC:\n" 501 " LDR R0, [SP,#0x1C]\n" 502 " MOV R4, #1\n" 503 " LDR R1, [R0]\n" 504 " CMP R1, #0x11\n" 505 " CMPNE R1, #0x12\n" 506 " BNE loc_FFC9913C\n" 507 " LDR R1, [R0,#0x7C]\n" 508 " ADD R1, R1, R1,LSL#1\n" 509 " ADD R1, R0, R1,LSL#2\n" 510 " SUB R1, R1, #8\n" 511 " LDMIA R1, {R2-R4}\n" 512 " STMIA R6, {R2-R4}\n" 513 " BL sub_FFC97A10\n" 514 " LDR R0, [SP,#0x1C]\n" 515 " LDR R1, [R0,#0x7C]\n" 516 " LDR R3, [R0,#0x88]\n" 517 " LDR R2, [R0,#0x8C]\n" 518 " ADD R0, R0, #4\n" 519 " BLX R3\n" 520 " LDR R0, [SP,#0x1C]\n" 521 " BL sub_FFC9A598\n" 522 " LDR R0, [SP,#0x1C]\n" 523 " LDR R1, [R0,#0x7C]\n" 524 " LDR R3, [R0,#0x90]\n" 525 " LDR R2, [R0,#0x94]\n" 526 " ADD R0, R0, #4\n" 527 " BLX R3\n" 528 " B loc_FFC99470\n" 529 "loc_FFC9913C:\n" 530 " CMP R1, #0x13\n" 531 " CMPNE R1, #0x14\n" 532 " CMPNE R1, #0x15\n" 533 " BNE loc_FFC991F0\n" 534 " ADD R3, SP, #0xC\n" 535 " MOV R2, SP\n" 536 " ADD R1, SP, #0x10\n" 537 " BL sub_FFC97C58\n" 538 " CMP R0, #1\n" 539 " MOV R4, R0\n" 540 " CMPNE R4, #5\n" 541 " BNE loc_FFC9918C\n" 542 " LDR R0, [SP,#0x1C]\n" 543 " MOV R2, R4\n" 544 " LDR R1, [R0,#0x7C]!\n" 545 " LDR R12, [R0,#0xC]!\n" 546 " LDR R3, [R0,#4]\n" 547 " MOV R0, SP\n" 548 " BLX R12\n" 549 " B loc_FFC991C4\n" 550 "loc_FFC9918C:\n" 551 " LDR R0, [SP,#0x1C]\n" 552 " CMP R4, #2\n" 553 " LDR R3, [R0,#0x8C]\n" 554 " CMPNE R4, #6\n" 555 " BNE loc_FFC991D8\n" 556 " LDR R12, [R0,#0x88]\n" 557 " MOV R0, SP\n" 558 " MOV R2, R4\n" 559 " MOV R1, #1\n" 560 " BLX R12\n" 561 " LDR R0, [SP,#0x1C]\n" 562 " MOV R2, SP\n" 563 " ADD R1, SP, #0x10\n" 564 " BL sub_FFC98BE0\n" 565 "loc_FFC991C4:\n" 566 " LDR R0, [SP,#0x1C]\n" 567 " LDR R2, [SP,#0xC]\n" 568 " MOV R1, R4\n" 569 " BL sub_FFC98E34\n" 570 " B loc_FFC99470\n" 571 "loc_FFC991D8:\n" 572 " LDR R1, [R0,#0x7C]\n" 573 " LDR R12, [R0,#0x88]\n" 574 " ADD R0, R0, #4\n" 575 " MOV R2, R4\n" 576 " BLX R12\n" 577 " B loc_FFC99470\n" 578 "loc_FFC991F0:\n" 579 " CMP R1, #0x20\n" 580 " CMPNE R1, #0x21\n" 581 " BNE loc_FFC9923C\n" 582 " LDR R1, [R0,#0x7C]\n" 583 " ADD R1, R1, R1,LSL#1\n" 584 " ADD R1, R0, R1,LSL#2\n" 585 " SUB R1, R1, #8\n" 586 " LDMIA R1, {R2-R4}\n" 587 " STMIA R6, {R2-R4}\n" 588 " BL sub_FFC96F94\n" 589 " LDR R0, [SP,#0x1C]\n" 590 " LDR R1, [R0,#0x7C]\n" 591 " LDR R3, [R0,#0x88]\n" 592 " LDR R2, [R0,#0x8C]\n" 593 " ADD R0, R0, #4\n" 594 " BLX R3\n" 595 " LDR R0, [SP,#0x1C]\n" 596 " BL sub_FFC97290\n" 597 " B loc_FFC99470\n" 598 "loc_FFC9923C:\n" 599 " ADD R1, R0, #4\n" 600 " LDMIA R1, {R2,R3,R12}\n" 601 " STMIA R6, {R2,R3,R12}\n" 602 " LDR R1, [R0]\n" 603 " CMP R1, #0x23\n" 604 " ADDLS PC, PC, R1,LSL#2\n" 605 " B loc_FFC99450\n" 606 "loc_FFC99258:\n" 607 " B loc_FFC992E8\n" 608 "loc_FFC9925C:\n" 609 " B loc_FFC992E8\n" 610 "loc_FFC99260:\n" 611 " B loc_FFC99338\n" 612 "loc_FFC99264:\n" 613 " B loc_FFC99340\n" 614 "loc_FFC99268:\n" 615 " B loc_FFC99340\n" 616 "loc_FFC9926C:\n" 617 " B loc_FFC99340\n" 618 "loc_FFC99270:\n" 619 " B loc_FFC992E8\n" 620 "loc_FFC99274:\n" 621 " B loc_FFC99338\n" 622 "loc_FFC99278:\n" 623 " B loc_FFC99340\n" 624 "loc_FFC9927C:\n" 625 " B loc_FFC99340\n" 626 "loc_FFC99280:\n" 627 " B loc_FFC99358\n" 628 "loc_FFC99284:\n" 629 " B loc_FFC99358\n" 630 "loc_FFC99288:\n" 631 " B loc_FFC99444\n" 632 "loc_FFC9928C:\n" 633 " B loc_FFC9944C\n" 634 "loc_FFC99290:\n" 635 " B loc_FFC9944C\n" 636 "loc_FFC99294:\n" 637 " B loc_FFC9944C\n" 638 "loc_FFC99298:\n" 639 " B loc_FFC9944C\n" 640 "loc_FFC9929C:\n" 641 " B loc_FFC99450\n" 642 "loc_FFC992A0:\n" 643 " B loc_FFC99450\n" 644 "loc_FFC992A4:\n" 645 " B loc_FFC99450\n" 646 "loc_FFC992A8:\n" 647 " B loc_FFC99450\n" 648 "loc_FFC992AC:\n" 649 " B loc_FFC99450\n" 650 "loc_FFC992B0:\n" 651 " B loc_FFC99348\n" 652 "loc_FFC992B4:\n" 653 " B loc_FFC99350\n" 654 "loc_FFC992B8:\n" 655 " B loc_FFC99350\n" 656 "loc_FFC992BC:\n" 657 " B loc_FFC99364\n" 658 "loc_FFC992C0:\n" 659 " B loc_FFC9936C\n" 660 "loc_FFC992C4:\n" 661 " B loc_FFC9939C\n" 662 "loc_FFC992C8:\n" 663 " B loc_FFC993CC\n" 664 "loc_FFC992CC:\n" 665 " B loc_FFC993FC\n" 666 "loc_FFC992D0:\n" 667 " B loc_FFC9942C\n" 668 "loc_FFC992D4:\n" 669 " B loc_FFC9942C\n" 670 "loc_FFC992D8:\n" 671 " B loc_FFC99450\n" 672 "loc_FFC992DC:\n" 673 " B loc_FFC99450\n" 674 "loc_FFC992E0:\n" 675 " B loc_FFC99434\n" 676 "loc_FFC992E4:\n" 677 " B loc_FFC9943C\n" 678 "loc_FFC992E8:\n" 679 " BL sub_FFC95E78\n" 680 " B loc_FFC99450\n" 681 "loc_FFC99338:\n" 682 " BL sub_FFC96100\n" 683 " B loc_FFC99450\n" 684 "loc_FFC99340:\n" 685 " BL sub_FFC96304\n" 686 " B loc_FFC99450\n" 687 "loc_FFC99348:\n" 688 " BL sub_FFC9656C\n" 689 " B loc_FFC99450\n" 690 "loc_FFC99350:\n" 691 " BL sub_FFC96760\n" 692 " B loc_FFC99450\n" 693 "loc_FFC99358:\n" 694 " BL sub_FFC969C4_my\n" //-> 695 " MOV R4, #0\n" 696 " B loc_FFC99450\n" 697 "loc_FFC99364:\n" 698 " BL sub_FFC96B00\n" 699 " B loc_FFC99450\n" 700 "loc_FFC9936C:\n" 701 " LDRH R1, [R0,#4]\n" 702 " STRH R1, [SP,#0x10]\n" 703 " LDRH R1, [R5,#2]\n" 704 " STRH R1, [SP,#0x12]\n" 705 " LDRH R1, [R5,#4]\n" 706 " STRH R1, [SP,#0x14]\n" 707 " LDRH R1, [R5,#6]\n" 708 " STRH R1, [SP,#0x16]\n" 709 " LDRH R1, [R0,#0xC]\n" 710 " STRH R1, [SP,#0x18]\n" 711 " BL sub_FFC9A238\n" 712 " B loc_FFC99450\n" 713 "loc_FFC9939C:\n" 714 " LDRH R1, [R0,#4]\n" 715 " STRH R1, [SP,#0x10]\n" 716 " LDRH R1, [R5,#2]\n" 717 " STRH R1, [SP,#0x12]\n" 718 " LDRH R1, [R5,#4]\n" 719 " STRH R1, [SP,#0x14]\n" 720 " LDRH R1, [R5,#6]\n" 721 " STRH R1, [SP,#0x16]\n" 722 " LDRH R1, [R5,#8]\n" 723 " STRH R1, [SP,#0x18]\n" 724 " BL sub_FFC9A3B4\n" 725 " B loc_FFC99450\n" 726 "loc_FFC993CC:\n" 727 " LDRH R1, [R5]\n" 728 " STRH R1, [SP,#0x10]\n" 729 " LDRH R1, [R0,#6]\n" 730 " STRH R1, [SP,#0x12]\n" 731 " LDRH R1, [R5,#4]\n" 732 " STRH R1, [SP,#0x14]\n" 733 " LDRH R1, [R5,#6]\n" 734 " STRH R1, [SP,#0x16]\n" 735 " LDRH R1, [R5,#8]\n" 736 " STRH R1, [SP,#0x18]\n" 737 " BL sub_FFC9A460\n" 738 " B loc_FFC99450\n" 739 "loc_FFC993FC:\n" 740 " LDRH R1, [R5]\n" 741 " STRH R1, [SP,#0x10]\n" 742 " LDRH R1, [R5,#2]\n" 743 " STRH R1, [SP,#0x12]\n" 744 " LDRH R1, [R5,#4]\n" 745 " STRH R1, [SP,#0x14]\n" 746 " LDRH R1, [R5,#6]\n" 747 " STRH R1, [SP,#0x16]\n" 748 " LDRH R1, [R0,#0xC]\n" 749 " STRH R1, [SP,#0x18]\n" 750 " BL sub_FFC9A500\n" 751 " B loc_FFC99450\n" 752 "loc_FFC9942C:\n" 753 " BL sub_FFC96D58\n" 754 " B loc_FFC99450\n" 755 "loc_FFC99434:\n" 756 " BL sub_FFC97394\n" 757 " B loc_FFC99450\n" 758 "loc_FFC9943C:\n" 759 " BL sub_FFC975C8\n" 760 " B loc_FFC99450\n" 761 "loc_FFC99444:\n" 762 " BL sub_FFC97740\n" 763 " B loc_FFC99450\n" 764 "loc_FFC9944C:\n" 765 " BL sub_FFC978D8\n" 766 "loc_FFC99450:\n" 767 " LDR R0, [SP,#0x1C]\n" 768 " LDR R1, [R0,#0x7C]\n" 769 " LDR R3, [R0,#0x88]\n" 770 " LDR R2, [R0,#0x8C]\n" 771 " ADD R0, R0, #4\n" 772 " BLX R3\n" 773 " CMP R4, #1\n" 774 " BNE loc_FFC994B8\n" 775 "loc_FFC99470:\n" 776 " LDR R0, [SP,#0x1C]\n" 777 " MOV R2, #0xC\n" 778 " LDR R1, [R0,#0x7C]\n" 779 " ADD R1, R1, R1,LSL#1\n" 780 " ADD R0, R0, R1,LSL#2\n" 781 " SUB R4, R0, #8\n" 782 " LDR R0, =0x41350\n" 783 " ADD R1, SP, #0x10\n" 784 " BL sub_FFE56AD8\n" 785 " LDR R0, =0x4135C\n" 786 " MOV R2, #0xC\n" 787 " ADD R1, SP, #0x10\n" 788 " BL sub_FFE56AD8\n" 789 " LDR R0, =0x41368\n" 790 " MOV R2, #0xC\n" 791 " MOV R1, R4\n" 792 " BL sub_FFE56AD8\n" 793 " B loc_FFC99530\n" 794 "loc_FFC994B8:\n" 795 " LDR R0, [SP,#0x1C]\n" 796 " LDR R0, [R0]\n" 797 " CMP R0, #0xB\n" 798 " BNE loc_FFC99500\n" 799 " MOV R3, #0\n" 800 " STR R3, [SP]\n" 801 " MOV R3, #1\n" 802 " MOV R2, #1\n" 803 " MOV R1, #1\n" 804 " MOV R0, #0\n" 805 " BL sub_FFC95C80\n" 806 " MOV R3, #0\n" 807 " STR R3, [SP]\n" 808 " MOV R3, #1\n" 809 " MOV R2, #1\n" 810 " MOV R1, #1\n" 811 " MOV R0, #0\n" 812 " B loc_FFC9952C\n" 813 "loc_FFC99500:\n" 814 " MOV R3, #1\n" 815 " MOV R2, #1\n" 816 " MOV R1, #1\n" 817 " MOV R0, #1\n" 818 " STR R3, [SP]\n" 819 " BL sub_FFC95C80\n" 820 " MOV R3, #1\n" 821 " MOV R2, #1\n" 822 " MOV R1, #1\n" 823 " MOV R0, #1\n" 824 " STR R3, [SP]\n" 825 "loc_FFC9952C:\n" 826 " BL sub_FFC95DC0\n" 827 "loc_FFC99530:\n" 828 " LDR R0, [SP,#0x1C]\n" 829 " BL sub_FFC9A1C4\n" 830 " B loc_FFC98F04\n" 831 ); 832 } 833 834 835 836 void __attribute__((naked,noinline)) sub_FFC969C4_my(){ 837 asm volatile( 838 " STMFD SP!, {R4-R8,LR}\n" 839 " LDR R7, =0x6D70\n" 840 " MOV R4, R0\n" 841 " LDR R0, [R7,#0x1C]\n" 842 " MOV R1, #0x3E\n" 843 " BL sub_FFC19408\n" 844 " LDRSH R0, [R4,#4]\n" 845 " MOV R2, #0\n" 846 " MOV R1, #0\n" 847 " BL sub_FFC95A14\n" 848 " MOV R6, R0\n" 849 " LDRSH R0, [R4,#6]\n" 850 " BL sub_FFC95B20\n" 851 " LDRSH R0, [R4,#8]\n" 852 " BL sub_FFC95B78\n" 853 " LDRSH R0, [R4,#0xA]\n" 854 " BL sub_FFC95BD0\n" 855 " LDRSH R0, [R4,#0xC]\n" 856 " BL sub_FFC95C28\n" 857 " MOV R5, R0\n" 858 " LDR R0, [R4]\n" 859 " LDR R8, =0x41368\n" 860 " CMP R0, #0xB\n" 861 " MOVEQ R6, #0\n" 862 " MOVEQ R5, #0\n" 863 " BEQ loc_FFC96A54\n" 864 " CMP R6, #1\n" 865 " BNE loc_FFC96A54\n" 866 " LDRSH R0, [R4,#4]\n" 867 " LDR R1, =0xFFC95970\n" 868 " MOV R2, #2\n" 869 " BL sub_FFD0A75C\n" 870 " STRH R0, [R4,#4]\n" 871 " MOV R0, #0\n" 872 " STR R0, [R7,#0x28]\n" 873 " B loc_FFC96A5C\n" 874 "loc_FFC96A54:\n" 875 " LDRH R0, [R8]\n" 876 " STRH R0, [R4,#4]\n" 877 "loc_FFC96A5C:\n" 878 " CMP R5, #1\n" 879 " LDRNEH R0, [R8,#8]\n" 880 " BNE loc_FFC96A78\n" 881 " LDRSH R0, [R4,#0xC]\n" 882 " LDR R1, =0xFFC95A04\n" 883 " MOV R2, #0x20\n" 884 " BL sub_FFC9A1F4\n" 885 "loc_FFC96A78:\n" 886 " STRH R0, [R4,#0xC]\n" 887 " LDRSH R0, [R4,#6]\n" 888 " BL sub_FFC77D5C_my\n" //-> 889 " LDRSH R0, [R4,#8]\n" 890 " MOV R1, #1\n" 891 " BL sub_FFC784F0\n" 892 " MOV R1, #0\n" 893 " ADD R0, R4, #8\n" 894 " BL sub_FFC78578\n" 895 " LDRSH R0, [R4,#0xE]\n" 896 " BL sub_FFC8CD94\n" 897 " LDR R4, =0xBB8\n" 898 " CMP R6, #1\n" 899 " BNE loc_FFC96AD0\n" 900 " LDR R0, [R7,#0x1C]\n" 901 " MOV R2, R4\n" 902 " MOV R1, #2\n" 903 " BL sub_FFC1930C\n" 904 " TST R0, #1\n" 905 " LDRNE R1, =0x527\n" 906 " LDRNE R0, =0xFFC96090\n" 907 " BLNE sub_FFC0C090\n" 908 "loc_FFC96AD0:\n" 909 " CMP R5, #1\n" 910 " LDMNEFD SP!, {R4-R8,PC}\n" 911 " LDR R0, [R7,#0x1C]\n" 912 " MOV R2, R4\n" 913 " MOV R1, #0x20\n" 914 " BL sub_FFC1930C\n" 915 " TST R0, #1\n" 916 " LDRNE R1, =0x52C\n" 917 " LDRNE R0, =0xFFC96090\n" 918 " LDMNEFD SP!, {R4-R8,LR}\n" 919 " BNE sub_FFC0C090\n" 920 " LDMFD SP!, {R4-R8,PC}\n" 921 ); 922 } 923 924 void __attribute__((naked,noinline)) sub_FFC77D5C_my(){ 925 asm volatile( 926 " STMFD SP!, {R4-R6,LR}\n" 927 " LDR R5, =0x66FC\n" 928 " MOV R4, R0\n" 929 " LDR R0, [R5,#4]\n" 930 " CMP R0, #1\n" 931 " MOVNE R1, #0x16C\n" 932 " LDRNE R0, =0xFFC77AF4\n" 933 " BLNE sub_FFC0C090\n" 934 " CMN R4, #0xC00\n" 935 " LDREQSH R4, [R5,#2]\n" 936 " CMN R4, #0xC00\n" 937 " LDREQ R1, =0x172\n" 938 " LDREQ R0, =0xFFC77AF4\n" 939 " STRH R4, [R5,#2]\n" 940 " BLEQ sub_FFC0C090\n" 941 " MOV R0, R4\n" 942 //" BL sub_FFD7B458\n" //- 943 " BL apex2us\n" //+ 944 " MOV R4, R0\n" 945 //" BL nullsub\n" 946 //" MOV R0, R4\n" 947 " BL sub_FFCAC394\n" 948 " TST R0, #1\n" 949 " LDRNE R1, =0x177\n" 950 " LDMNEFD SP!, {R4-R6,LR}\n" 951 " LDRNE R0, =0xFFC77AF4\n" 952 " BNE sub_FFC0C090\n" 953 " LDMFD SP!, {R4-R6,PC}\n" 954 ); 955 } -
branches/philmoz/platform/sx100is/sub/100b/stubs_auto.S
r596 r1356 55 55 STUB(FFC18FD4) 56 56 STUB(FFC19074) 57 STUB(FFC1930C) 57 58 STUB(FFC193D4) 58 59 STUB(FFC19408) … … 298 299 STUB(FFC74780) 299 300 STUB(FFC755F0) 301 STUB(FFC77D5C) 302 STUB(FFC77FB8) 303 STUB(FFC784F0) 304 STUB(FFC78578) 305 STUB(FFC787F8) 306 STUB(FFC78D38) 307 STUB(FFC8CD94) 308 STUB(FFC95A14) 309 STUB(FFC95B20) 310 STUB(FFC95B78) 311 STUB(FFC95BD0) 312 STUB(FFC95C28) 313 STUB(FFC95C80) 314 STUB(FFC95DC0) 315 STUB(FFC95E78) 316 STUB(FFC96100) 317 STUB(FFC96304) 318 STUB(FFC9656C) 319 STUB(FFC96760) 320 STUB(FFC969C4) 321 STUB(FFC96B00) 322 STUB(FFC96D58) 323 STUB(FFC96F94) 324 STUB(FFC97290) 325 STUB(FFC97394) 326 STUB(FFC975C8) 327 STUB(FFC97740) 328 STUB(FFC978D8) 329 STUB(FFC97A10) 330 STUB(FFC97C58) 331 STUB(FFC98BE0) 332 STUB(FFC98E34) 333 STUB(FFC98E94) 334 STUB(FFC9A1C4) 335 STUB(FFC9A1F4) 336 STUB(FFC9A238) 337 STUB(FFC9A3B4) 338 STUB(FFC9A460) 339 STUB(FFC9A500) 340 STUB(FFC9A598) 300 341 STUB(FFC9D474) 342 STUB(FFCAC394) 301 343 STUB(FFCD75A0) 302 344 STUB(FFCD7664) … … 308 350 STUB(FFCF0BF0) 309 351 STUB(FFCFF884) 352 STUB(FFD0A4E8) 353 STUB(FFD0A588) 354 STUB(FFD0A614) 355 STUB(FFD0A75C) 356 STUB(FFD0ACA8) 310 357 STUB(FFD11530) 311 358 STUB(FFD1258C) … … 401 448 STUB(FFD79FA0) 402 449 STUB(FFD7A014) 450 STUB(FFD7B458) 451 STUB(FFE56AD8) 403 452 STUB(FFE56D34) 404 453 STUB(FFE585E4) -
branches/philmoz/platform/sx100is/sub/100c/boot.c
r691 r1356 30 30 while (counter--) { asm("nop\n nop\n"); }; 31 31 }*/ 32 33 void taskCreateHook(int *p) { //function taken from the ixus80 port, adapted of course 34 p-=16; 35 if (p[0]==0xffc98f18) p[0]=(int)exp_drv_task; 36 } 32 37 33 38 //#define DEBUG_LED 0xC02200C4 … … 55 60 for(i=0;i<canon_bss_len/4;i++) 56 61 canon_bss_start[i]=0; 62 63 *(int*)0x1930=(int)taskCreateHook; //from ixus80 port 64 *(int*)0x1934=(int)taskCreateHook; //from ixus80 port (was taskCreateHook2...) 57 65 58 66 *(int*)0x2578= (*(int*)0xC02200B8)&1 ? 0x100000: 0x200000; // replacement of sub_FFC12E38 -
branches/philmoz/platform/sx100is/sub/100c/capt_seq.c
r550 r1356 359 359 ); 360 360 } //#fe 361 362 363 void __attribute__((naked,noinline)) exp_drv_task(){ 364 asm volatile( 365 " STMFD SP!, {R4-R8,LR}\n" 366 " SUB SP, SP, #0x20\n" 367 " LDR R8, =0xBB8\n" 368 " LDR R7, =0x6D70\n" 369 " LDR R5, =0x41350\n" 370 " MOV R0, #0\n" 371 " ADD R6, SP, #0x38-0x28\n" 372 " STR R0, [SP,#0x38-0x2C]\n" 373 "loc_FFC98F38:\n" 374 " LDR R0, [R7,#0x20]\n" 375 " MOV R2, #0\n" 376 " ADD R1, SP, #0x38-0x1C\n" 377 " BL sub_FFC19658\n" 378 " LDR R0, [SP,#0x38-0x2C]\n" 379 " CMP R0, #1\n" 380 " BNE loc_FFC98F80\n" 381 " LDR R0, [SP,#0x38-0x1C]\n" 382 " LDR R0, [R0]\n" 383 " CMP R0, #0x13\n" 384 " CMPNE R0, #0x14\n" 385 " CMPNE R0, #0x15\n" 386 " BEQ loc_FFC99100\n" 387 " CMP R0, #0x26\n" 388 " BEQ loc_FFC9906C\n" 389 " ADD R1, SP, #0x38-0x2C\n" 390 " MOV R0, #0\n" 391 " BL sub_FFC98EC8\n" 392 "loc_FFC98F80:\n" 393 " LDR R0, [SP,#0x38-0x1C]\n" 394 " LDR R1, [R0]\n" 395 " CMP R1, #0x2B\n" 396 " BNE loc_FFC98FB0\n" 397 " LDR R0, [SP,#0x38-0x1C]\n" 398 " BL sub_FFC9A1F8\n" 399 " LDR R0, [R7,#0x1C]\n" 400 " MOV R1, #1\n" 401 " BL sub_FFC193D4\n" 402 " BL sub_FFC0BE48\n" 403 " ADD SP, SP, #0x20\n" 404 " LDMFD SP!, {R4-R8,PC}\n" 405 "loc_FFC98FB0:\n" 406 " CMP R1, #0x2A\n" 407 " BNE loc_FFC98FCC\n" 408 " LDR R2, [R0,#0x88]!\n" 409 " LDR R1, [R0,#4]\n" 410 " MOV R0, R1\n" 411 " BLX R2\n" 412 " B loc_FFC99564\n" 413 "loc_FFC98FCC:\n" 414 " CMP R1, #0x24\n" 415 " BNE loc_FFC9901C\n" 416 " LDR R0, [R7,#0x1C]\n" 417 " MOV R1, #0x80\n" 418 " BL sub_FFC19408\n" 419 " LDR R0, =0xFFC959B4\n" 420 " MOV R1, #0x80\n" 421 " BL sub_FFD0A51C\n" 422 " LDR R0, [R7,#0x1C]\n" 423 " MOV R2, R8\n" 424 " MOV R1, #0x80\n" 425 " BL sub_FFC1930C\n" 426 " TST R0, #1\n" 427 " LDRNE R1, =0xD07\n" 428 " BNE loc_FFC990DC\n" 429 "loc_FFC99008:\n" 430 " LDR R1, [SP,#0x38-0x1C]\n" 431 " LDR R0, [R1,#0x8C]\n" 432 " LDR R1, [R1,#0x88]\n" 433 " BLX R1\n" 434 " B loc_FFC99564\n" 435 "loc_FFC9901C:\n" 436 " CMP R1, #0x25\n" 437 " BNE loc_FFC99064\n" 438 " ADD R1, SP, #0x38-0x2C\n" 439 " BL sub_FFC98EC8\n" 440 " LDR R0, [R7,#0x1C]\n" 441 " MOV R1, #0x100\n" 442 " BL sub_FFC19408\n" 443 " MOV R1, #0x100\n" 444 " LDR R0, =0xFFC959C4\n" // 445 " BL sub_FFD0ACDC\n" 446 " LDR R0, [R7,#0x1C]\n" 447 " MOV R2, R8\n" 448 " MOV R1, #0x100\n" 449 " BL sub_FFC1930C\n" 450 " TST R0, #1\n" 451 " BEQ loc_FFC99008\n" 452 " LDR R1, =0xD11\n" 453 " B loc_FFC990DC\n" 454 "loc_FFC99064:\n" 455 " CMP R1, #0x26\n" 456 " BNE loc_FFC9907C\n" 457 "loc_FFC9906C:\n" 458 " LDR R0, [SP,#0x38-0x1C]\n" 459 " ADD R1, SP, #0x38-0x2C\n" 460 " BL sub_FFC98EC8\n" 461 " B loc_FFC99008\n" 462 "loc_FFC9907C:\n" 463 " CMP R1, #0x27\n" 464 " CMPNE R1, #0x28\n" 465 " BNE loc_FFC990E8\n" 466 " ADD R1, SP, #0x38-0x2C\n" 467 " BL sub_FFC98EC8\n" 468 " LDR R4, [SP,#0x38-0x1C]\n" 469 " LDR R0, [R7,#0x1C]\n" 470 " MOV R1, #0x40\n" 471 " BL sub_FFC19408\n" 472 " LDR R0, [R4]\n" 473 " MOV R1, #0x40\n" 474 " CMP R0, #0x27\n" 475 " LDR R0, =0xFFC95A28\n" 476 " BNE loc_FFC990BC\n" 477 " BL sub_FFD0A5BC\n" 478 " B loc_FFC990C0\n" 479 "loc_FFC990BC:\n" 480 " BL sub_FFD0A648\n" 481 "loc_FFC990C0:\n" 482 " LDR R0, [R7,#0x1C]\n" 483 " MOV R2, R8\n" 484 " MOV R1, #0x40\n" 485 " BL sub_FFC1930C\n" 486 " TST R0, #1\n" 487 " BEQ loc_FFC99008\n" 488 " LDR R1, =0xD1F\n" 489 "loc_FFC990DC:\n" 490 " LDR R0, =0xFFC960C4\n" 491 " BL sub_FFC0C090\n" 492 " B loc_FFC99008\n" 493 "loc_FFC990E8:\n" 494 " CMP R1, #0x29\n" 495 " BNE loc_FFC99100\n" 496 " BL sub_FFC77FEC\n" 497 " BL sub_FFC78D6C\n" 498 " BL sub_FFC7882C\n" 499 " B loc_FFC99008\n" 500 "loc_FFC99100:\n" 501 " LDR R0, [SP,#0x38-0x1C]\n" 502 " MOV R4, #1\n" 503 " LDR R1, [R0]\n" 504 " CMP R1, #0x11\n" 505 " CMPNE R1, #0x12\n" 506 " BNE loc_FFC99170\n" 507 " LDR R1, [R0,#0x7C]\n" 508 " ADD R1, R1, R1,LSL#1\n" 509 " ADD R1, R0, R1,LSL#2\n" 510 " SUB R1, R1, #8\n" 511 " LDMIA R1, {R2-R4}\n" 512 " STMIA R6, {R2-R4}\n" 513 " BL sub_FFC97A44\n" 514 " LDR R0, [SP,#0x38-0x1C]\n" 515 " LDR R1, [R0,#0x7C]\n" 516 " LDR R3, [R0,#0x88]\n" 517 " LDR R2, [R0,#0x8C]\n" 518 " ADD R0, R0, #4\n" 519 " BLX R3\n" 520 " LDR R0, [SP,#0x38-0x1C]\n" 521 " BL sub_FFC9A5CC\n" 522 " LDR R0, [SP,#0x38-0x1C]\n" 523 " LDR R1, [R0,#0x7C]\n" 524 " LDR R3, [R0,#0x90]\n" 525 " LDR R2, [R0,#0x94]\n" 526 " ADD R0, R0, #4\n" 527 " BLX R3\n" 528 " B loc_FFC994A4\n" 529 "loc_FFC99170:\n" 530 " CMP R1, #0x13\n" 531 " CMPNE R1, #0x14\n" 532 " CMPNE R1, #0x15\n" 533 " BNE loc_FFC99224\n" 534 " ADD R3, SP, #0x38-0x2C\n" 535 " MOV R2, SP\n" 536 " ADD R1, SP, #0x38-0x28\n" 537 " BL sub_FFC97C8C\n" 538 " CMP R0, #1\n" 539 " MOV R4, R0\n" 540 " CMPNE R4, #5\n" 541 " BNE loc_FFC991C0\n" 542 " LDR R0, [SP,#0x38-0x1C]\n" 543 " MOV R2, R4\n" 544 " LDR R1, [R0,#0x7C]!\n" 545 " LDR R12, [R0,#0xC]!\n" 546 " LDR R3, [R0,#4]\n" 547 " MOV R0, SP\n" 548 " BLX R12\n" 549 " B loc_FFC991F8\n" 550 "loc_FFC991C0:\n" 551 " LDR R0, [SP,#0x38-0x1C]\n" 552 " CMP R4, #2\n" 553 " LDR R3, [R0,#0x8C]\n" 554 " CMPNE R4, #6\n" 555 " BNE loc_FFC9920C\n" 556 " LDR R12, [R0,#0x88]\n" 557 " MOV R0, SP\n" 558 " MOV R2, R4\n" 559 " MOV R1, #1\n" 560 " BLX R12\n" 561 " LDR R0, [SP,#0x38-0x1C]\n" 562 " MOV R2, SP\n" 563 " ADD R1, SP, #0x38-0x28\n" 564 " BL sub_FFC98C14\n" 565 "loc_FFC991F8:\n" 566 " LDR R0, [SP,#0x38-0x1C]\n" 567 " LDR R2, [SP,#0x38-0x2C]\n" 568 " MOV R1, R4\n" 569 " BL sub_FFC98E68\n" 570 " B loc_FFC994A4\n" 571 "loc_FFC9920C:\n" 572 " LDR R1, [R0,#0x7C]\n" 573 " LDR R12, [R0,#0x88]\n" 574 " ADD R0, R0, #4\n" 575 " MOV R2, R4\n" 576 " BLX R12\n" 577 " B loc_FFC994A4\n" 578 "loc_FFC99224:\n" 579 " CMP R1, #0x20\n" 580 " CMPNE R1, #0x21\n" 581 " BNE loc_FFC99270\n" 582 " LDR R1, [R0,#0x7C]\n" 583 " ADD R1, R1, R1,LSL#1\n" 584 " ADD R1, R0, R1,LSL#2\n" 585 " SUB R1, R1, #8\n" 586 " LDMIA R1, {R2-R4}\n" 587 " STMIA R6, {R2-R4}\n" 588 " BL sub_FFC96FC8\n" 589 " LDR R0, [SP,#0x38-0x1C]\n" 590 " LDR R1, [R0,#0x7C]\n" 591 " LDR R3, [R0,#0x88]\n" 592 " LDR R2, [R0,#0x8C]\n" 593 " ADD R0, R0, #4\n" 594 " BLX R3\n" 595 " LDR R0, [SP,#0x38-0x1C]\n" 596 " BL sub_FFC972C4\n" 597 " B loc_FFC994A4\n" 598 "loc_FFC99270:\n" 599 " ADD R1, R0, #4\n" 600 " LDMIA R1, {R2,R3,R12}\n" 601 " STMIA R6, {R2,R3,R12}\n" 602 " LDR R1, [R0]\n" 603 " CMP R1, #0x23\n" 604 " ADDLS PC, PC, R1,LSL#2\n" 605 " B loc_FFC99484\n" 606 "loc_FFC9928C:\n" 607 " B loc_FFC9931C\n" 608 "loc_FFC99290:\n" 609 " B loc_FFC9931C\n" 610 "loc_FFC99294:\n" 611 " B loc_FFC9936C\n" 612 "loc_FFC99298:\n" 613 " B loc_FFC99374\n" 614 "loc_FFC9929C:\n" 615 " B loc_FFC99374\n" 616 "loc_FFC992A0:\n" 617 " B loc_FFC99374\n" 618 "loc_FFC992A4:\n" 619 " B loc_FFC9931C\n" 620 "loc_FFC992A8:\n" 621 " B loc_FFC9936C\n" 622 "loc_FFC992AC:\n" 623 " B loc_FFC99374\n" 624 "loc_FFC992B0:\n" 625 " B loc_FFC99374\n" 626 "loc_FFC992B4:\n" 627 " B loc_FFC9938C\n" 628 "loc_FFC992B8:\n" 629 " B loc_FFC9938C\n" 630 "loc_FFC992BC:\n" 631 " B loc_FFC99478\n" 632 "loc_FFC992C0:\n" 633 " B loc_FFC99480\n" 634 "loc_FFC992C4:\n" 635 " B loc_FFC99480\n" 636 "loc_FFC992C8:\n" 637 " B loc_FFC99480\n" 638 "loc_FFC992CC:\n" 639 " B loc_FFC99480\n" 640 "loc_FFC992D0:\n" 641 " B loc_FFC99484\n" 642 "loc_FFC992D4:\n" 643 " B loc_FFC99484\n" 644 "loc_FFC992D8:\n" 645 " B loc_FFC99484\n" 646 "loc_FFC992DC:\n" 647 " B loc_FFC99484\n" 648 "loc_FFC992E0:\n" 649 " B loc_FFC99484\n" 650 "loc_FFC992E4:\n" 651 " B loc_FFC9937C\n" 652 "loc_FFC992E8:\n" 653 " B loc_FFC99384\n" 654 "loc_FFC992EC:\n" 655 " B loc_FFC99384\n" 656 "loc_FFC992F0:\n" 657 " B loc_FFC99398\n" 658 "loc_FFC992F4:\n" 659 " B loc_FFC993A0\n" 660 "loc_FFC992F8:\n" 661 " B loc_FFC993D0\n" 662 "loc_FFC992FC:\n" 663 " B loc_FFC99400\n" 664 "loc_FFC99300:\n" 665 " B loc_FFC99430\n" 666 "loc_FFC99304:\n" 667 " B loc_FFC99460\n" 668 "loc_FFC99308:\n" 669 " B loc_FFC99460\n" 670 "loc_FFC9930C:\n" 671 " B loc_FFC99484\n" 672 "loc_FFC99310:\n" 673 " B loc_FFC99484\n" 674 "loc_FFC99314:\n" 675 " B loc_FFC99468\n" 676 "loc_FFC99318:\n" 677 " B loc_FFC99470\n" 678 "loc_FFC9931C:\n" 679 " BL sub_FFC95EAC\n" 680 " B loc_FFC99484\n" 681 "loc_FFC9936C:\n" 682 " BL sub_FFC96134\n" 683 " B loc_FFC99484\n" 684 "loc_FFC99374:\n" 685 " BL sub_FFC96338\n" 686 " B loc_FFC99484\n" 687 "loc_FFC9937C:\n" 688 " BL sub_FFC965A0\n" 689 " B loc_FFC99484\n" 690 "loc_FFC99384:\n" 691 " BL sub_FFC96794\n" 692 " B loc_FFC99484\n" 693 "loc_FFC9938C:\n" 694 " BL sub_FFC969F8_my\n" //-> 695 " MOV R4, #0\n" 696 " B loc_FFC99484\n" 697 "loc_FFC99398:\n" 698 " BL sub_FFC96B34\n" 699 " B loc_FFC99484\n" 700 "loc_FFC993A0:\n" 701 " LDRH R1, [R0,#4]\n" 702 " STRH R1, [SP,#0x38-0x28]\n" 703 " LDRH R1, [R5,#2]\n" 704 " STRH R1, [SP,#0x38-0x26]\n" 705 " LDRH R1, [R5,#4]\n" 706 " STRH R1, [SP,#0x38-0x24]\n" 707 " LDRH R1, [R5,#6]\n" 708 " STRH R1, [SP,#0x38-0x22]\n" 709 " LDRH R1, [R0,#0xC]\n" 710 " STRH R1, [SP,#0x38-0x20]\n" 711 " BL sub_FFC9A26C\n" 712 " B loc_FFC99484\n" 713 "loc_FFC993D0:\n" 714 " LDRH R1, [R0,#4]\n" 715 " STRH R1, [SP,#0x38-0x28]\n" 716 " LDRH R1, [R5,#2]\n" 717 " STRH R1, [SP,#0x38-0x26]\n" 718 " LDRH R1, [R5,#4]\n" 719 " STRH R1, [SP,#0x38-0x24]\n" 720 " LDRH R1, [R5,#6]\n" 721 " STRH R1, [SP,#0x38-0x22]\n" 722 " LDRH R1, [R5,#8]\n" 723 " STRH R1, [SP,#0x38-0x20]\n" 724 " BL sub_FFC9A3E8\n" 725 " B loc_FFC99484\n" 726 "loc_FFC99400:\n" 727 " LDRH R1, [R5]\n" 728 " STRH R1, [SP,#0x38-0x28]\n" 729 " LDRH R1, [R0,#6]\n" 730 " STRH R1, [SP,#0x38-0x26]\n" 731 " LDRH R1, [R5,#4]\n" 732 " STRH R1, [SP,#0x38-0x24]\n" 733 " LDRH R1, [R5,#6]\n" 734 " STRH R1, [SP,#0x38-0x22]\n" 735 " LDRH R1, [R5,#8]\n" 736 " STRH R1, [SP,#0x38-0x20]\n" 737 " BL sub_FFC9A494\n" 738 " B loc_FFC99484\n" 739 "loc_FFC99430:\n" 740 " LDRH R1, [R5]\n" 741 " STRH R1, [SP,#0x38-0x28]\n" 742 " LDRH R1, [R5,#2]\n" 743 " STRH R1, [SP,#0x38-0x26]\n" 744 " LDRH R1, [R5,#4]\n" 745 " STRH R1, [SP,#0x38-0x24]\n" 746 " LDRH R1, [R5,#6]\n" 747 " STRH R1, [SP,#0x38-0x22]\n" 748 " LDRH R1, [R0,#0xC]\n" 749 " STRH R1, [SP,#0x38-0x20]\n" 750 " BL sub_FFC9A534\n" 751 " B loc_FFC99484\n" 752 "loc_FFC99460:\n" 753 " BL sub_FFC96D8C\n" 754 " B loc_FFC99484\n" 755 "loc_FFC99468:\n" 756 " BL sub_FFC973C8\n" 757 " B loc_FFC99484\n" 758 "loc_FFC99470:\n" 759 " BL sub_FFC975FC\n" 760 " B loc_FFC99484\n" 761 "loc_FFC99478:\n" 762 " BL sub_FFC97774\n" 763 " B loc_FFC99484\n" 764 "loc_FFC99480:\n" 765 " BL sub_FFC9790C\n" 766 "loc_FFC99484:\n" 767 " LDR R0, [SP,#0x38-0x1C]\n" 768 " LDR R1, [R0,#0x7C]\n" 769 " LDR R3, [R0,#0x88]\n" 770 " LDR R2, [R0,#0x8C]\n" 771 " ADD R0, R0, #4\n" 772 " BLX R3\n" 773 " CMP R4, #1\n" 774 " BNE loc_FFC994EC\n" 775 "loc_FFC994A4:\n" 776 " LDR R0, [SP,#0x38-0x1C]\n" 777 " MOV R2, #0xC\n" 778 " LDR R1, [R0,#0x7C]\n" 779 " ADD R1, R1, R1,LSL#1\n" 780 " ADD R0, R0, R1,LSL#2\n" 781 " SUB R4, R0, #8\n" 782 " LDR R0, =0x41350\n" 783 " ADD R1, SP, #0x38-0x28\n" 784 " BL sub_FFE56B0C\n" 785 " LDR R0, =0x4135C\n" 786 " MOV R2, #0xC\n" 787 " ADD R1, SP, #0x38-0x28\n" 788 " BL sub_FFE56B0C\n" 789 " LDR R0, =0x41368\n" 790 " MOV R2, #0xC\n" 791 " MOV R1, R4\n" 792 " BL sub_FFE56B0C\n" 793 " B loc_FFC99564\n" 794 "loc_FFC994EC:\n" 795 " LDR R0, [SP,#0x38-0x1C]\n" 796 " LDR R0, [R0]\n" 797 " CMP R0, #0xB\n" 798 " BNE loc_FFC99534\n" 799 " MOV R3, #0\n" 800 " STR R3, [SP,#0x38-0x38]\n" 801 " MOV R3, #1\n" 802 " MOV R2, #1\n" 803 " MOV R1, #1\n" 804 " MOV R0, #0\n" 805 " BL sub_FFC95CB4\n" 806 " MOV R3, #0\n" 807 " STR R3, [SP,#0x38-0x38]\n" 808 " MOV R3, #1\n" 809 " MOV R2, #1\n" 810 " MOV R1, #1\n" 811 " MOV R0, #0\n" 812 " B loc_FFC99560\n" 813 "loc_FFC99534:\n" 814 " MOV R3, #1\n" 815 " MOV R2, #1\n" 816 " MOV R1, #1\n" 817 " MOV R0, #1\n" 818 " STR R3, [SP,#0x38-0x38]\n" 819 " BL sub_FFC95CB4\n" 820 " MOV R3, #1\n" 821 " MOV R2, #1\n" 822 " MOV R1, #1\n" 823 " MOV R0, #1\n" 824 " STR R3, [SP,#0x38-0x38]\n" 825 "loc_FFC99560:\n" 826 " BL sub_FFC95DF4\n" 827 "loc_FFC99564:\n" 828 " LDR R0, [SP,#0x38-0x1C]\n" 829 " BL sub_FFC9A1F8\n" 830 " B loc_FFC98F38\n" 831 ); 832 } 833 834 835 836 void __attribute__((naked,noinline)) sub_FFC969F8_my(){ 837 asm volatile( 838 " STMFD SP!, {R4-R8,LR}\n" 839 " LDR R7, =0x6D70\n" 840 " MOV R4, R0\n" 841 " LDR R0, [R7,#0x1C]\n" 842 " MOV R1, #0x3E\n" 843 " BL sub_FFC19408\n" 844 " LDRSH R0, [R4,#4]\n" 845 " MOV R2, #0\n" 846 " MOV R1, #0\n" 847 " BL sub_FFC95A48\n" 848 " MOV R6, R0\n" 849 " LDRSH R0, [R4,#6]\n" 850 " BL sub_FFC95B54\n" 851 " LDRSH R0, [R4,#8]\n" 852 " BL sub_FFC95BAC\n" 853 " LDRSH R0, [R4,#0xA]\n" 854 " BL sub_FFC95C04\n" 855 " LDRSH R0, [R4,#0xC]\n" 856 " BL sub_FFC95C5C\n" 857 " MOV R5, R0\n" 858 " LDR R0, [R4]\n" 859 " LDR R8, =0x41368\n" 860 " CMP R0, #0xB\n" 861 " MOVEQ R6, #0\n" 862 " MOVEQ R5, #0\n" 863 " BEQ loc_FFC96A88\n" 864 " CMP R6, #1\n" 865 " BNE loc_FFC96A88\n" 866 " LDRSH R0, [R4,#4]\n" 867 " LDR R1, =0xFFC959A4\n" 868 " MOV R2, #2\n" 869 " BL sub_FFD0A790\n" 870 " STRH R0, [R4,#4]\n" 871 " MOV R0, #0\n" 872 " STR R0, [R7,#0x28]\n" 873 " B loc_FFC96A90\n" 874 "loc_FFC96A88:\n" 875 " LDRH R0, [R8]\n" 876 " STRH R0, [R4,#4]\n" 877 "loc_FFC96A90:\n" 878 " CMP R5, #1\n" 879 " LDRNEH R0, [R8,#8]\n" //ldrhne 880 " BNE loc_FFC96AAC\n" 881 " LDRSH R0, [R4,#0xC]\n" 882 " LDR R1, =0xFFC95A38\n" 883 " MOV R2, #0x20\n" 884 " BL sub_FFC9A228\n" 885 "loc_FFC96AAC:\n" 886 " STRH R0, [R4,#0xC]\n" 887 " LDRSH R0, [R4,#6]\n" 888 " BL sub_FFC77D90_my\n" //-> 889 " LDRSH R0, [R4,#8]\n" 890 " MOV R1, #1\n" 891 " BL sub_FFC78524\n" 892 " MOV R1, #0\n" 893 " ADD R0, R4, #8\n" 894 " BL sub_FFC785AC\n" 895 " LDRSH R0, [R4,#0xE]\n" 896 " BL sub_FFC8CDC8\n" 897 " LDR R4, =0xBB8\n" 898 " CMP R6, #1\n" 899 " BNE loc_FFC96B04\n" 900 " LDR R0, [R7,#0x1C]\n" 901 " MOV R2, R4\n" 902 " MOV R1, #2\n" 903 " BL sub_FFC1930C\n" 904 " TST R0, #1\n" 905 " LDRNE R1, =0x527\n" 906 " LDRNE R0, =0xFFC960C4\n" 907 " BLNE sub_FFC0C090\n" 908 "loc_FFC96B04:\n" 909 " CMP R5, #1\n" 910 " LDMNEFD SP!, {R4-R8,PC}\n" //ldmfdne 911 " LDR R0, [R7,#0x1C]\n" 912 " MOV R2, R4\n" 913 " MOV R1, #0x20\n" 914 " BL sub_FFC1930C\n" 915 " TST R0, #1\n" 916 " LDRNE R1, =0x52C\n" 917 " LDRNE R0, =0xFFC960C4\n" 918 " LDMNEFD SP!, {R4-R8,LR}\n" //ldmfdne 919 " BNE sub_FFC0C090\n" 920 " LDMFD SP!, {R4-R8,PC}\n" 921 ); 922 } 923 924 void __attribute__((naked,noinline)) sub_FFC77D90_my(){ 925 asm volatile( 926 " STMFD SP!, {R4-R6,LR}\n" 927 " LDR R5, =0x66FC\n" 928 " MOV R4, R0\n" 929 " LDR R0, [R5,#4]\n" 930 " CMP R0, #1\n" 931 " MOVNE R1, #0x16C\n" 932 " LDRNE R0, =0xFFC77B28\n" 933 " BLNE sub_FFC0C090\n" 934 " CMN R4, #0xC00\n" 935 " LDREQSH R4, [R5,#2]\n" //ldrsheq 936 " CMN R4, #0xC00\n" 937 " LDREQ R1, =0x172\n" 938 " LDREQ R0, =0xFFC77B28\n" 939 " STRH R4, [R5,#2]\n" 940 " BLEQ sub_FFC0C090\n" 941 " MOV R0, R4\n" 942 //" BL sub_FFD7B48C\n" //- 943 " BL apex2us\n" //+ 944 " MOV R4, R0\n" 945 //" BL nullsub\n" 946 //" MOV R0, R4\n" 947 " BL sub_FFCAC3C8\n" 948 " TST R0, #1\n" 949 " LDRNE R1, =0x177\n" 950 " LDMNEFD SP!, {R4-R6,LR}\n" //ldmfdne 951 " LDRNE R0, =0xFFC77B28\n" 952 " BNE sub_FFC0C090\n" 953 " LDMFD SP!, {R4-R6,PC}\n" 954 ); 955 } -
branches/philmoz/platform/sx100is/sub/100c/stubs_auto.S
r596 r1356 55 55 STUB(FFC18FD4) 56 56 STUB(FFC19074) 57 STUB(FFC1930C) 57 58 STUB(FFC193D4) 58 59 STUB(FFC19408) … … 297 298 STUB(FFC747B4) 298 299 STUB(FFC75624) 300 STUB(FFC77D90) 301 STUB(FFC77FEC) 302 STUB(FFC78524) 303 STUB(FFC785AC) 304 STUB(FFC7882C) 305 STUB(FFC78D6C) 306 STUB(FFC8CDC8) 307 STUB(FFC95A48) 308 STUB(FFC95B54) 309 STUB(FFC95BAC) 310 STUB(FFC95C04) 311 STUB(FFC95C5C) 312 STUB(FFC95CB4) 313 STUB(FFC95DF4) 314 STUB(FFC95EAC) 315 STUB(FFC96134) 316 STUB(FFC96338) 317 STUB(FFC965A0) 318 STUB(FFC96794) 319 STUB(FFC969F8) 320 STUB(FFC96B34) 321 STUB(FFC96D8C) 322 STUB(FFC96FC8) 323 STUB(FFC972C4) 324 STUB(FFC973C8) 325 STUB(FFC975FC) 326 STUB(FFC97774) 327 STUB(FFC9790C) 328 STUB(FFC97A44) 329 STUB(FFC97C8C) 330 STUB(FFC98C14) 331 STUB(FFC98E68) 332 STUB(FFC98EC8) 333 STUB(FFC9A1F8) 334 STUB(FFC9A228) 335 STUB(FFC9A26C) 336 STUB(FFC9A3E8) 337 STUB(FFC9A494) 338 STUB(FFC9A534) 339 STUB(FFC9A5CC) 299 340 STUB(FFC9D4A8) 341 STUB(FFCAC3C8) 300 342 STUB(FFCD75D4) 301 343 STUB(FFCD7698) … … 307 349 STUB(FFCF0C24) 308 350 STUB(FFCFF8B8) 351 STUB(FFD0A51C) 352 STUB(FFD0A5BC) 353 STUB(FFD0A648) 354 STUB(FFD0A790) 355 STUB(FFD0ACDC) 309 356 STUB(FFD11564) 310 357 STUB(FFD125C0) … … 401 448 STUB(FFD79FD4) 402 449 STUB(FFD7A048) 450 STUB(FFD7B48C) 451 STUB(FFE56B0C) 403 452 STUB(FFE56D68) 404 453 STUB(FFE58618) -
branches/philmoz/platform/sx110is/kbd.c
r1031 r1356 60 60 61 61 { 0, KEY_SHOOT_FULL, 0x0000000C }, 62 { 0, KEY_SHOOT_FULL_ONLY, 0x00000008 }, 62 63 { 0, KEY_SHOOT_HALF, 0x00000004 }, 63 64 { 0, 0 } -
branches/philmoz/platform/sx130is/kbd.c
r1128 r1356 56 56 { 2, KEY_ZOOM_OUT , 0x00000020 }, 57 57 { 2, KEY_SHOOT_FULL, 0x0000000C }, 58 { 2, KEY_SHOOT_FULL_ONLY, 0x00000008 }, 58 59 { 2, KEY_SHOOT_HALF, 0x00000004 }, 59 60 { 0, 0, 0 } -
branches/philmoz/platform/sx20/kbd.c
r1117 r1356 72 72 73 73 { 0, KEY_SHOOT_FULL , 0x00000003 }, 74 { 0, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 74 75 { 0, KEY_SHOOT_HALF , 0x00000001 }, 75 76 -
branches/philmoz/platform/sx200is/kbd.c
r1031 r1356 47 47 48 48 { 0, KEY_SHOOT_FULL , 0x00000300 }, 49 { 0, KEY_SHOOT_FULL_ONLY, 0x00000200 }, 49 50 { 0, KEY_SHOOT_HALF , 0x00000100 }, 50 51 { 1, KEY_UP , 0x00000100 }, -
branches/philmoz/platform/sx220hs/kbd.c
r1320 r1356 73 73 { 2, KEY_LEFT_SOFT , 0x00000080 }, 74 74 { 2, KEY_LEFT , 0x00000100 }, 75 { 2, KEY_SHOOT_FULL , 0x00002002 }, 76 { 2, KEY_SHOOT_FULL_ONLY , 0x00000002 }, 75 77 { 2, KEY_SHOOT_HALF , 0x00002000 }, 76 { 2, KEY_SHOOT_FULL , 0x00002002 },77 78 78 79 { 1, KEY_PLAYBACK , 0x00200000 }, -
branches/philmoz/platform/sx230hs/kbd.c
r1333 r1356 70 70 { 2, KEY_LEFT_SOFT , 0x00000080 }, 71 71 { 2, KEY_LEFT , 0x00000100 }, 72 { 2, KEY_SHOOT_FULL , 0x00002002 }, 73 { 2, KEY_SHOOT_FULL_ONLY, 0x00000002 }, 72 74 { 2, KEY_SHOOT_HALF , 0x00002000 }, 73 { 2, KEY_SHOOT_FULL , 0x00002002 },74 75 { 0, 0, 0 } 75 76 }; -
branches/philmoz/platform/sx30/platform_camera.h
r1346 r1356 113 113 #define CAM_LOAD_CUSTOM_COLORS 1 // Enable loading CHDK colors into the camera palette memory/hardware 114 114 #define CHDK_COLOR_BASE 0xB3 // Start color index for CHDK colors loaded into camera palette. 115 #define CAM_USE_COLORED_ICONS 1 // Enable using the CHDK-DE colored icons. 115 116 116 117 //---------------------------------------------------------- -
branches/philmoz/platform/tx1/kbd.c
r1031 r1356 431 431 {1, KEY_RIGHT , 0x00000004 }, 432 432 {1, KEY_SET , 0x00000010 }, 433 {2, KEY_SHOOT_FULL, 0x00003000 }, // note 3 here! 434 {2, KEY_SHOOT_FULL_ONLY, 0x00002000 }, 433 435 {2, KEY_SHOOT_HALF, 0x00001000 }, 434 {2, KEY_SHOOT_FULL, 0x00003000 }, // note 3 here!435 436 {1, KEY_ZOOM_IN , 0x00040000 }, 436 437 {1, KEY_ZOOM_OUT , 0x00010000 },
Note: See TracChangeset
for help on using the changeset viewer.