Changeset 1321


Ignore:
Timestamp:
09/09/11 05:28:51 (21 months ago)
Author:
philmoz
Message:

Work in progress:

  • G12 1.00g
  • IXUS 310
  • New auto-build 'Makefile' setup
  • Overhaul of gui.c
  • Alternate live-view code (using PTP instead of Lua)
Location:
branches/philmoz
Files:
76 added
44 edited

Legend:

Unmodified
Added
Removed
  • branches/philmoz/CHDK/LANG/english.lng

    r1320 r1321  
    598598460 "You need to be in REC-mode\nfor this operation." 
    599599461 "%s disabled in build" 
     600462 "Touchscreen overrides" 
     601463 "Video AE Controls" 
     602464 "<Alt> Shortcut Buttons" 
  • branches/philmoz/Makefile

    r1320 r1321  
    1616distclean: distclean-recursive 
    1717 
     18.PHONY: fir 
    1819fir: version firsub 
    1920 
     
    3132  ifeq ($(PLATFORMOS),vxworks) 
    3233        @echo \-\> PS.FIR 
    33         $(PAKWIF) $(topdir)bin/PS.FIR \ 
    34               $(topdir)bin/main.bin\ 
    35             $(PLATFORMID) 0x01000101 
     34        $(PAKWIF) $(topdir)bin/PS.FIR $(topdir)bin/main.bin $(PLATFORMID) 0x01000101 
    3635  endif 
    3736  ifeq ($(PLATFORMOS),dryos) 
     
    5554        @echo "**** Firmware creation completed successfully" 
    5655 
     56.PHONY: upload 
    5757upload: fir 
    5858        @echo Uploading... 
     
    6161 
    6262infoline: 
    63         @echo "**** GCC $(GCC_VERSION) : BUILDING CHDK-$(VER), #$(BUILD_NUMBER) FOR $(PLATFORM)-$(PLATFORMSUB)" 
     63        @echo "**** GCC $(GCC_VERSION) : BUILDING CHDK-$(VER), #$(BUILD_NUMBER)$(STATE) FOR $(PLATFORM)-$(PLATFORMSUB)" 
    6464 
    6565version: FORCE 
     
    7272 
    7373firzipsub: infoline clean firsub 
    74         @echo \-\> $(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip 
    75         rm -f $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip 
     74        @echo \-\> $(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip 
     75        rm -f $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip 
    7676        LANG=C echo -e "CHDK-$(VER) for $(PLATFORM) fw:$(PLATFORMSUB) build:$(BUILD_NUMBER) date:`date -R`" | \ 
    77             zip -9jz $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)bin/DISKBOOT.BIN > $(DEVNULL) 
     77            zip -9jz $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip $(topdir)bin/DISKBOOT.BIN > $(DEVNULL) 
    7878ifdef PLATFORMOS 
    7979  ifeq ($(PLATFORMOS),vxworks) 
    80         zip -9j $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)bin/PS.FIR > $(DEVNULL) 
     80        zip -9j $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip $(topdir)bin/PS.FIR > $(DEVNULL) 
    8181        rm -f $(topdir)bin/PS.FIR 
    8282  endif 
    8383  ifeq ($(PLATFORMOS),dryos) 
    84   ifdef OPT_FI2 
    85   ifdef FI2KEY 
    86         zip -9j $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)bin/PS.FI2 > $(DEVNULL) 
    87         rm -f $(topdir)bin/PS.FI2 
     84    ifdef OPT_FI2 
     85      ifdef FI2KEY 
     86            zip -9j $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip $(topdir)bin/PS.FI2 > $(DEVNULL) 
     87            rm -f $(topdir)bin/PS.FI2 
     88      endif 
     89    endif 
    8890  endif 
    89   endif 
    90   endif 
     91endif 
     92# if COPY_TO is defined the copy this camera/firmware version to the copied firmware version 
     93ifdef COPY_TO 
     94        cp $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip $(topdir)bin/$(VER)-$(PLATFORM)-$(COPY_TO)-$(BUILD_NUMBER)$(STATE).zip 
    9195endif 
    9296        rm -f $(topdir)bin/DISKBOOT.BIN 
     
    9498 
    9599firzipsubcomplete: infoline clean firsub 
    96         @echo \-\> $(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip 
    97         rm -f $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip 
    98         @echo \-\> $(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip 
    99         rm -f $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip 
    100         LANG=C echo -e "CHDK-$(VER) for $(PLATFORM) fw:$(PLATFORMSUB) build:$(BUILD_NUMBER) date:`date -R`" | \ 
    101         zip -9jz $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)bin/DISKBOOT.BIN > $(DEVNULL) 
    102         LANG=C echo -e "CHDK-$(VER) for $(PLATFORM) fw:$(PLATFORMSUB) build:$(BUILD_NUMBER) date:`date -R`" | \ 
    103         zip -9jz $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)bin/DISKBOOT.BIN > $(DEVNULL) 
    104         zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)CHDK/SYMBOLS/*  > $(DEVNULL) 
    105         zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)CHDK/BOOKS/*  > $(DEVNULL) 
    106         zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)CHDK/CURVES/*  > $(DEVNULL) 
    107         zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)CHDK/DATA/*  > $(DEVNULL) 
    108         zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)CHDK/FONTS/*  > $(DEVNULL) 
    109         zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)CHDK/GAMES/*   > $(DEVNULL) 
    110         zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)CHDK/GRIDS/* > $(DEVNULL) 
    111         zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)CHDK/LANG/*   > $(DEVNULL) 
    112         zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)CHDK/LUALIB/*   > $(DEVNULL) 
    113         zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)CHDK/LUALIB/GEN/*   > $(DEVNULL) 
    114         zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)CHDK/SCRIPTS/*  > $(DEVNULL) 
    115         zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)CHDK/SCRIPTS/EXAM/*     > $(DEVNULL) 
    116         zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)CHDK/SCRIPTS/TEST/*     > $(DEVNULL) 
    117         zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)CHDK/syscurves.CVF      > $(DEVNULL) 
    118         zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)doc/changelog.txt  > $(DEVNULL) 
    119         zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)doc/changelog.txt  > $(DEVNULL) 
    120         zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)tools/vers.req  > $(DEVNULL) 
     100        @echo \-\> $(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip 
     101        rm -f $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip 
     102        @echo \-\> $(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip 
     103        rm -f $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip 
     104        LANG=C echo -e "CHDK-$(VER) for $(PLATFORM) fw:$(PLATFORMSUB) build:$(BUILD_NUMBER)$(STATE) date:`date -R`" | \ 
     105        zip -9jz $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)bin/DISKBOOT.BIN > $(DEVNULL) 
     106        LANG=C echo -e "CHDK-$(VER) for $(PLATFORM) fw:$(PLATFORMSUB) build:$(BUILD_NUMBER)$(STATE) date:`date -R`" | \ 
     107        zip -9jz $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip $(topdir)bin/DISKBOOT.BIN > $(DEVNULL) 
     108        zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/SYMBOLS/*  > $(DEVNULL) 
     109        zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/BOOKS/*  > $(DEVNULL) 
     110        zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/CURVES/*  > $(DEVNULL) 
     111        zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/DATA/*  > $(DEVNULL) 
     112        zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/FONTS/*  > $(DEVNULL) 
     113        zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/GAMES/*   > $(DEVNULL) 
     114        zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/GRIDS/* > $(DEVNULL) 
     115        zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/LANG/*   > $(DEVNULL) 
     116        zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/LUALIB/*   > $(DEVNULL) 
     117        zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/LUALIB/GEN/*   > $(DEVNULL) 
     118        zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/SCRIPTS/*  > $(DEVNULL) 
     119        zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/SCRIPTS/EXAM/*     > $(DEVNULL) 
     120        zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/SCRIPTS/TEST/*     > $(DEVNULL) 
     121        zip -9 $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)CHDK/syscurves.CVF      > $(DEVNULL) 
     122        zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)doc/changelog.txt  > $(DEVNULL) 
     123        zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip $(topdir)doc/changelog.txt  > $(DEVNULL) 
     124        zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)tools/vers.req  > $(DEVNULL) 
    121125        cat $(topdir)doc/1_intro.txt  $(topdir)platform/$(PLATFORM)/notes.txt $(topdir)doc/2_installation.txt $(topdir)doc/3_faq.txt $(topdir)doc/4_urls.txt $(topdir)doc/5_gpl.txt $(topdir)doc/6_ubasic_copyright.txt > $(topdir)doc/readme.txt 
    122         zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)doc/readme.txt  > $(DEVNULL) 
    123         zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)doc/readme.txt  > $(DEVNULL) 
     126        zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)doc/readme.txt  > $(DEVNULL) 
     127        zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip $(topdir)doc/readme.txt  > $(DEVNULL) 
    124128 
    125129ifdef PLATFORMOS 
    126130  ifeq ($(PLATFORMOS),vxworks) 
    127         zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)bin/PS.FIR > $(DEVNULL) 
    128         zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)bin/PS.FIR > $(DEVNULL) 
     131        zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)bin/PS.FIR > $(DEVNULL) 
     132        zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip $(topdir)bin/PS.FIR > $(DEVNULL) 
    129133        rm -f $(topdir)bin/PS.FIR 
    130134  endif 
    131135  ifeq ($(PLATFORMOS),dryos) 
    132         zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)doc/readme.txt  > $(DEVNULL) 
    133         zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)doc/readme.txt  > $(DEVNULL) 
     136#       zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)doc/readme.txt  > $(DEVNULL) 
     137#       zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip $(topdir)doc/readme.txt  > $(DEVNULL) 
    134138ifdef OPT_FI2 
    135139  ifdef FI2KEY 
    136         zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full.zip $(topdir)bin/PS.FI2 > $(DEVNULL) 
    137         zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)bin/PS.FI2 > $(DEVNULL) 
     140        zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)bin/PS.FI2 > $(DEVNULL) 
     141        zip -9j $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip $(topdir)bin/PS.FI2 > $(DEVNULL) 
    138142        rm -f $(topdir)bin/PS.FI2 
    139143  endif 
     
    141145  endif 
    142146endif 
     147# if COPY_TO is defined the copy this camera/firmware version to the copied firmware version 
     148ifdef COPY_TO 
     149        cp $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)-full$(STATE).zip $(topdir)bin/$(PLATFORM)-$(COPY_TO)-$(BUILD_NUMBER)-full$(STATE).zip 
     150        cp $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER)$(STATE).zip $(topdir)bin/$(PLATFORM)-$(COPY_TO)-$(BUILD_NUMBER)$(STATE).zip 
     151endif 
    143152        rm -f $(topdir)bin/DISKBOOT.BIN 
    144153 
    145154 
    146155batch-zip: version 
    147         $(MAKE) -s --no-print-directory PLATFORM=a610 PLATFORMSUB=100e NO_INC_BUILD=1 firzipsub 
    148         $(MAKE) -s --no-print-directory PLATFORM=a610 PLATFORMSUB=100f NO_INC_BUILD=1 firzipsub 
    149         $(MAKE) -s --no-print-directory PLATFORM=a620 PLATFORMSUB=100f NO_INC_BUILD=1 firzipsub 
    150         $(MAKE) -s --no-print-directory PLATFORM=a630 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    151         $(MAKE) -s --no-print-directory PLATFORM=a640 PLATFORMSUB=100b NO_INC_BUILD=1 firzipsub 
    152         $(MAKE) -s --no-print-directory PLATFORM=a700 PLATFORMSUB=100b NO_INC_BUILD=1 firzipsub 
    153         $(MAKE) -s --no-print-directory PLATFORM=a710 PLATFORMSUB=100a NO_INC_BUILD=1 firzipsub 
    154         $(MAKE) -s --no-print-directory PLATFORM=s2is PLATFORMSUB=100e NO_INC_BUILD=1 firzipsub 
    155         $(MAKE) -s --no-print-directory PLATFORM=s2is PLATFORMSUB=100f NO_INC_BUILD=1 firzipsub 
    156         $(MAKE) -s --no-print-directory PLATFORM=s2is PLATFORMSUB=100g NO_INC_BUILD=1 firzipsub 
    157         $(MAKE) -s --no-print-directory PLATFORM=s3is PLATFORMSUB=100a NO_INC_BUILD=1 firzipsub 
    158         $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100e NO_INC_BUILD=1 firzipsub 
    159         $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100g NO_INC_BUILD=1 firzipsub 
    160         $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100i NO_INC_BUILD=1 firzipsub 
    161         $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100j NO_INC_BUILD=1 firzipsub 
    162         $(MAKE) -s --no-print-directory PLATFORM=g9   PLATFORMSUB=100d NO_INC_BUILD=1 firzipsub 
    163         $(MAKE) -s --no-print-directory PLATFORM=g9   PLATFORMSUB=100g NO_INC_BUILD=1 firzipsub 
    164         $(MAKE) -s --no-print-directory PLATFORM=g9   PLATFORMSUB=100i NO_INC_BUILD=1 firzipsub 
    165         $(MAKE) -s --no-print-directory PLATFORM=a530 PLATFORMSUB=100a NO_INC_BUILD=1 firzipsub 
    166         $(MAKE) -s --no-print-directory PLATFORM=a540 PLATFORMSUB=100b NO_INC_BUILD=1 firzipsub 
    167         $(MAKE) -s --no-print-directory PLATFORM=a560 PLATFORMSUB=100a NO_INC_BUILD=1 firzipsub 
    168         $(MAKE) -s --no-print-directory PLATFORM=a570 PLATFORMSUB=100e NO_INC_BUILD=1 firzipsub 
    169         $(MAKE) -s --no-print-directory PLATFORM=a570 PLATFORMSUB=101a NO_INC_BUILD=1 firzipsub 
    170         $(MAKE) -s --no-print-directory PLATFORM=a590 PLATFORMSUB=100e NO_INC_BUILD=1 firzipsub 
    171         $(MAKE) -s --no-print-directory PLATFORM=a590 PLATFORMSUB=101b NO_INC_BUILD=1 firzipsub 
    172         $(MAKE) -s --no-print-directory PLATFORM=a1100 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    173         $(MAKE) -s --no-print-directory PLATFORM=a2000 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    174         #$(MAKE) -s --no-print-directory PLATFORM=s80  PLATFORMSUB=100g NO_INC_BUILD=1 firzipsub 
    175         $(MAKE) -s --no-print-directory PLATFORM=ixus700_sd500   PLATFORMSUB=101a NO_INC_BUILD=1 firzipsub 
    176         $(MAKE) -s --no-print-directory PLATFORM=ixus700_sd500   PLATFORMSUB=101b NO_INC_BUILD=1 firzipsub 
    177         $(MAKE) -s --no-print-directory PLATFORM=ixus800_sd700   PLATFORMSUB=101b NO_INC_BUILD=1 firzipsub 
    178         $(MAKE) -s --no-print-directory PLATFORM=ixus800_sd700   PLATFORMSUB=100b NO_INC_BUILD=1 firzipsub 
    179         $(MAKE) -s --no-print-directory PLATFORM=ixus850_sd800   PLATFORMSUB=100e NO_INC_BUILD=1 firzipsub 
    180         $(MAKE) -s --no-print-directory PLATFORM=ixus860_sd870   PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    181         $(MAKE) -s --no-print-directory PLATFORM=ixus870_sd880   PLATFORMSUB=100e NO_INC_BUILD=1 firzipsub 
    182         $(MAKE) -s --no-print-directory PLATFORM=ixus870_sd880   PLATFORMSUB=101a NO_INC_BUILD=1 firzipsub 
    183         $(MAKE) -s --no-print-directory PLATFORM=ixus870_sd880   PLATFORMSUB=102b NO_INC_BUILD=1 firzipsub 
    184         $(MAKE) -s --no-print-directory PLATFORM=ixus950_sd850   PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    185         $(MAKE) -s --no-print-directory PLATFORM=ixus980_sd990   PLATFORMSUB=100e NO_INC_BUILD=1 firzipsub 
    186         $(MAKE) -s --no-print-directory PLATFORM=ixus980_sd990   PLATFORMSUB=101b NO_INC_BUILD=1 firzipsub 
    187         $(MAKE) -s --no-print-directory PLATFORM=ixus40_sd300    PLATFORMSUB=100k NO_INC_BUILD=1 firzipsub 
    188         $(MAKE) -s --no-print-directory PLATFORM=ixus40_sd300    PLATFORMSUB=100j NO_INC_BUILD=1 firzipsub 
    189         $(MAKE) -s --no-print-directory PLATFORM=ixus50_sd400    PLATFORMSUB=101a NO_INC_BUILD=1 firzipsub 
    190         $(MAKE) -s --no-print-directory PLATFORM=ixus50_sd400    PLATFORMSUB=101b NO_INC_BUILD=1 firzipsub 
    191         $(MAKE) -s --no-print-directory PLATFORM=ixus55_sd450    PLATFORMSUB=100b NO_INC_BUILD=1 firzipsub 
    192         $(MAKE) -s --no-print-directory PLATFORM=ixus55_sd450    PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    193         $(MAKE) -s --no-print-directory PLATFORM=ixus55_sd450    PLATFORMSUB=100d NO_INC_BUILD=1 firzipsub 
    194         $(MAKE) -s --no-print-directory PLATFORM=ixus65_sd630    PLATFORMSUB=100a NO_INC_BUILD=1 firzipsub 
    195         $(MAKE) -s --no-print-directory PLATFORM=ixus70_sd1000   PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    196         $(MAKE) -s --no-print-directory PLATFORM=ixus70_sd1000   PLATFORMSUB=101b NO_INC_BUILD=1 firzipsub 
    197         $(MAKE) -s --no-print-directory PLATFORM=ixus70_sd1000   PLATFORMSUB=102a NO_INC_BUILD=1 firzipsub 
    198         $(MAKE) -s --no-print-directory PLATFORM=ixus75_sd750   PLATFORMSUB=100b NO_INC_BUILD=1 firzipsub 
    199         $(MAKE) -s --no-print-directory PLATFORM=ixus75_sd750   PLATFORMSUB=101a NO_INC_BUILD=1 firzipsub 
    200         $(MAKE) -s --no-print-directory PLATFORM=ixus75_sd750   PLATFORMSUB=102a NO_INC_BUILD=1 firzipsub 
    201         #$(MAKE) -s --no-print-directory PLATFORM=ixusW_sd430     PLATFORMSUB=110a NO_INC_BUILD=1 firzipsub 
    202         $(MAKE) -s --no-print-directory PLATFORM=a720 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    203         $(MAKE) -s --no-print-directory PLATFORM=a650 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsub 
    204         $(MAKE) -s --no-print-directory PLATFORM=a450 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsub 
    205         $(MAKE) -s --no-print-directory PLATFORM=a460 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsub 
    206         $(MAKE) -s --no-print-directory PLATFORM=a550 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    207         $(MAKE) -s --no-print-directory PLATFORM=s5is PLATFORMSUB=101a NO_INC_BUILD=1 firzipsub 
    208         $(MAKE) -s --no-print-directory PLATFORM=s5is PLATFORMSUB=101b NO_INC_BUILD=1 firzipsub 
    209         $(MAKE) -s --no-print-directory PLATFORM=tx1  PLATFORMSUB=100g NO_INC_BUILD=1 firzipsub 
    210         $(MAKE) -s --no-print-directory PLATFORM=tx1  PLATFORMSUB=101b NO_INC_BUILD=1 firzipsub 
    211         $(MAKE) -s --no-print-directory PLATFORM=sx100is  PLATFORMSUB=100b NO_INC_BUILD=1 firzipsub 
    212         $(MAKE) -s --no-print-directory PLATFORM=sx100is  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    213         $(MAKE) -s --no-print-directory PLATFORM=ixus750_sd550  PLATFORMSUB=100f NO_INC_BUILD=1 firzipsub 
    214         $(MAKE) -s --no-print-directory PLATFORM=ixus750_sd550  PLATFORMSUB=100g NO_INC_BUILD=1 firzipsub 
    215         $(MAKE) -s --no-print-directory PLATFORM=ixus750_sd550  PLATFORMSUB=100h NO_INC_BUILD=1 firzipsub 
    216         $(MAKE) -s --no-print-directory PLATFORM=ixus60_sd600  PLATFORMSUB=100a NO_INC_BUILD=1 firzipsub 
    217         $(MAKE) -s --no-print-directory PLATFORM=ixus60_sd600  PLATFORMSUB=100d NO_INC_BUILD=1 firzipsub 
    218         $(MAKE) -s --no-print-directory PLATFORM=ixus960_sd950  PLATFORMSUB=100d NO_INC_BUILD=1 firzipsub 
    219         $(MAKE) -s --no-print-directory PLATFORM=ixus80_sd1100  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    220         $(MAKE) -s --no-print-directory PLATFORM=ixus80_sd1100  PLATFORMSUB=101a NO_INC_BUILD=1 firzipsub 
    221         $(MAKE) -s --no-print-directory PLATFORM=ixusizoom_sd30  PLATFORMSUB=100g NO_INC_BUILD=1 firzipsub 
    222         $(MAKE) -s --no-print-directory PLATFORM=sx10 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    223         $(MAKE) -s --no-print-directory PLATFORM=sx10 PLATFORMSUB=101a NO_INC_BUILD=1 firzipsub 
    224         $(MAKE) -s --no-print-directory PLATFORM=sx10 PLATFORMSUB=101b NO_INC_BUILD=1 firzipsub 
    225         $(MAKE) -s --no-print-directory PLATFORM=sx10 PLATFORMSUB=102b NO_INC_BUILD=1 firzipsub 
    226         $(MAKE) -s --no-print-directory PLATFORM=sx10 PLATFORMSUB=103a NO_INC_BUILD=1 firzipsub 
    227         $(MAKE) -s --no-print-directory PLATFORM=sx1 PLATFORMSUB=200h NO_INC_BUILD=1 firzipsub 
    228         $(MAKE) -s --no-print-directory PLATFORM=sx1 PLATFORMSUB=201a NO_INC_BUILD=1 firzipsub 
    229         $(MAKE) -s --no-print-directory PLATFORM=ixus970_sd890  PLATFORMSUB=100b NO_INC_BUILD=1 firzipsub 
    230         $(MAKE) -s --no-print-directory PLATFORM=ixus970_sd890  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    231         $(MAKE) -s --no-print-directory PLATFORM=ixus970_sd890  PLATFORMSUB=100f NO_INC_BUILD=1 firzipsub 
    232         $(MAKE) -s --no-print-directory PLATFORM=a470  PLATFORMSUB=100e NO_INC_BUILD=1 firzipsub 
    233         $(MAKE) -s --no-print-directory PLATFORM=a470  PLATFORMSUB=101b NO_INC_BUILD=1 firzipsub 
    234         $(MAKE) -s --no-print-directory PLATFORM=a470  PLATFORMSUB=102c NO_INC_BUILD=1 firzipsub 
    235         $(MAKE) -s --no-print-directory PLATFORM=sx110is  PLATFORMSUB=100b NO_INC_BUILD=1 firzipsub 
    236         $(MAKE) -s --no-print-directory PLATFORM=sx130is  PLATFORMSUB=101c NO_INC_BUILD=1 firzipsub 
    237         $(MAKE) -s --no-print-directory PLATFORM=sx130is  PLATFORMSUB=101d NO_INC_BUILD=1 firzipsub 
    238         $(MAKE) -s --no-print-directory PLATFORM=sx130is  PLATFORMSUB=101f NO_INC_BUILD=1 firzipsub 
    239         $(MAKE) -s --no-print-directory PLATFORM=sx200is  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    240         $(MAKE) -s --no-print-directory PLATFORM=sx220hs  PLATFORMSUB=100a NO_INC_BUILD=1 firzipsub 
    241         $(MAKE) -s --no-print-directory PLATFORM=sx220hs  PLATFORMSUB=101a NO_INC_BUILD=1 firzipsub 
    242         $(MAKE) -s --no-print-directory PLATFORM=sx220hs  PLATFORMSUB=101b NO_INC_BUILD=1 firzipsub 
    243         $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    244         $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100d NO_INC_BUILD=1 firzipsub 
    245         $(MAKE) -s --no-print-directory PLATFORM=g11  PLATFORMSUB=100f NO_INC_BUILD=1 firzipsub 
    246         $(MAKE) -s --no-print-directory PLATFORM=g11  PLATFORMSUB=100j NO_INC_BUILD=1 firzipsub 
    247         $(MAKE) -s --no-print-directory PLATFORM=g11  PLATFORMSUB=100l NO_INC_BUILD=1 firzipsub 
    248         $(MAKE) -s --no-print-directory PLATFORM=ixus100_sd780  PLATFORMSUB=100b NO_INC_BUILD=1 firzipsub 
    249         $(MAKE) -s --no-print-directory PLATFORM=ixus100_sd780  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    250         $(MAKE) -s --no-print-directory PLATFORM=ixus120_sd940  PLATFORMSUB=100e NO_INC_BUILD=1 firzipsub 
    251         $(MAKE) -s --no-print-directory PLATFORM=ixus120_sd940  PLATFORMSUB=101a NO_INC_BUILD=1 firzipsub 
    252         $(MAKE) -s --no-print-directory PLATFORM=ixus120_sd940  PLATFORMSUB=102c NO_INC_BUILD=1 firzipsub 
    253         $(MAKE) -s --no-print-directory PLATFORM=ixus120_sd940  PLATFORMSUB=103b NO_INC_BUILD=1 firzipsub 
    254         $(MAKE) -s --no-print-directory PLATFORM=ixus120_sd940  PLATFORMSUB=103c NO_INC_BUILD=1 firzipsub 
    255         $(MAKE) -s --no-print-directory PLATFORM=ixus200_sd980  PLATFORMSUB=101c NO_INC_BUILD=1 firzipsub 
    256         $(MAKE) -s --no-print-directory PLATFORM=ixus200_sd980  PLATFORMSUB=101d NO_INC_BUILD=1 firzipsub 
    257         $(MAKE) -s --no-print-directory PLATFORM=a480  PLATFORMSUB=100b NO_INC_BUILD=1 firzipsub 
    258         $(MAKE) -s --no-print-directory PLATFORM=a490  PLATFORMSUB=100f NO_INC_BUILD=1 firzipsub 
    259         $(MAKE) -s --no-print-directory PLATFORM=a495  PLATFORMSUB=100d NO_INC_BUILD=1 firzipsub 
    260         $(MAKE) -s --no-print-directory PLATFORM=a495  PLATFORMSUB=100e NO_INC_BUILD=1 firzipsub 
    261         $(MAKE) -s --no-print-directory PLATFORM=a495  PLATFORMSUB=100f NO_INC_BUILD=1 firzipsub 
    262         $(MAKE) -s --no-print-directory PLATFORM=s90  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    263         $(MAKE) -s --no-print-directory PLATFORM=s90  PLATFORMSUB=101a NO_INC_BUILD=1 firzipsub 
    264         $(MAKE) -s --no-print-directory PLATFORM=s90  PLATFORMSUB=101c NO_INC_BUILD=1 firzipsub 
    265         $(MAKE) -s --no-print-directory PLATFORM=sx20 PLATFORMSUB=102b NO_INC_BUILD=1 firzipsub 
    266         $(MAKE) -s --no-print-directory PLATFORM=sx20 PLATFORMSUB=102d NO_INC_BUILD=1 firzipsub 
    267         $(MAKE) -s --no-print-directory PLATFORM=ixus85_sd770 PLATFORMSUB=100a NO_INC_BUILD=1 firzipsub 
    268         $(MAKE) -s --no-print-directory PLATFORM=d10 PLATFORMSUB=100a NO_INC_BUILD=1 firzipsub 
    269         $(MAKE) -s --no-print-directory PLATFORM=ixus95_sd1200  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    270         #$(MAKE) -s --no-print-directory PLATFORM=a430 PLATFORMSUB=100b NO_INC_BUILD=1 firzipsub 
    271         $(MAKE) -s --no-print-directory PLATFORM=ixus900_sd900  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    272         $(MAKE) -s --no-print-directory PLATFORM=g12  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    273         $(MAKE) -s --no-print-directory PLATFORM=g12  PLATFORMSUB=100e NO_INC_BUILD=1 firzipsub 
    274         $(MAKE) -s --no-print-directory PLATFORM=g12  PLATFORMSUB=100f NO_INC_BUILD=1 firzipsub 
    275         $(MAKE) -s --no-print-directory PLATFORM=sx30 PLATFORMSUB=100e NO_INC_BUILD=1 firzipsub 
    276         $(MAKE) -s --no-print-directory PLATFORM=sx30 PLATFORMSUB=100h NO_INC_BUILD=1 firzipsub 
    277         $(MAKE) -s --no-print-directory PLATFORM=sx30 PLATFORMSUB=100l NO_INC_BUILD=1 firzipsub 
    278         $(MAKE) -s --no-print-directory PLATFORM=sx30 PLATFORMSUB=100n NO_INC_BUILD=1 firzipsub 
    279         $(MAKE) -s --no-print-directory PLATFORM=sx30 PLATFORMSUB=100p NO_INC_BUILD=1 firzipsub 
    280         $(MAKE) -s --no-print-directory PLATFORM=s95  PLATFORMSUB=100e NO_INC_BUILD=1 firzipsub 
    281         $(MAKE) -s --no-print-directory PLATFORM=s95  PLATFORMSUB=100h NO_INC_BUILD=1 firzipsub 
    282         $(MAKE) -s --no-print-directory PLATFORM=s95  PLATFORMSUB=100i NO_INC_BUILD=1 firzipsub 
    283         $(MAKE) -s --no-print-directory PLATFORM=s95  PLATFORMSUB=100k NO_INC_BUILD=1 firzipsub 
    284         $(MAKE) -s --no-print-directory PLATFORM=ixus300_sd4000 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsub 
    285         @echo "**** All firmwares created successfully" 
    286         @echo "**** Copying duplicate Firmwares" 
    287         cp $(topdir)bin/$(VER)-a610-100e-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-a610-100d-$(BUILD_NUMBER).zip 
    288         cp $(topdir)bin/$(VER)-s2is-100g-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-s2is-100i-$(BUILD_NUMBER).zip 
    289         cp $(topdir)bin/$(VER)-ixus800_sd700-101b-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus800_sd700-101a-$(BUILD_NUMBER).zip 
    290         cp $(topdir)bin/$(VER)-ixus850_sd800-100e-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus850_sd800-100d-$(BUILD_NUMBER).zip 
    291         cp $(topdir)bin/$(VER)-ixus70_sd1000-101b-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus70_sd1000-101a-$(BUILD_NUMBER).zip 
    292         cp $(topdir)bin/$(VER)-ixus75_sd750-101a-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus75_sd750-101b-$(BUILD_NUMBER).zip 
    293         cp $(topdir)bin/$(VER)-ixus80_sd1100-101a-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus80_sd1100-101b-$(BUILD_NUMBER).zip 
    294         cp $(topdir)bin/$(VER)-ixus970_sd890-100c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus970_sd890-100d-$(BUILD_NUMBER).zip 
    295         cp $(topdir)bin/$(VER)-g9-100g-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-g9-100f-$(BUILD_NUMBER).zip 
    296         cp $(topdir)bin/$(VER)-g9-100i-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-g9-100h-$(BUILD_NUMBER).zip 
    297         cp $(topdir)bin/$(VER)-a470-101b-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-a470-101a-$(BUILD_NUMBER).zip 
    298         cp $(topdir)bin/$(VER)-sx200is-100c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx200is-100d-$(BUILD_NUMBER).zip 
    299         cp $(topdir)bin/$(VER)-ixus960_sd950-100d-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus960_sd950-100c-$(BUILD_NUMBER).zip 
    300         cp $(topdir)bin/$(VER)-ixus90_sd790-100d-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus90_sd790-100e-$(BUILD_NUMBER).zip 
    301         cp $(topdir)bin/$(VER)-g11-100j-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-g11-100k-$(BUILD_NUMBER).zip 
    302         cp $(topdir)bin/$(VER)-s90-101c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-s90-101b-$(BUILD_NUMBER).zip 
    303         cp $(topdir)bin/$(VER)-d10-100a-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-d10-100b-$(BUILD_NUMBER).zip 
    304         cp $(topdir)bin/$(VER)-sx30-100l-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx30-100m-$(BUILD_NUMBER).zip 
    305         mv $(topdir)bin/$(VER)-sx1-200h-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx1-200h-$(BUILD_NUMBER)_BETA.zip 
    306         mv $(topdir)bin/$(VER)-sx1-201a-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx1-201a-$(BUILD_NUMBER)_BETA.zip 
    307         mv $(topdir)bin/$(VER)-a1100-100c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-a1100-100c-$(BUILD_NUMBER)_BETA.zip 
    308         mv $(topdir)bin/$(VER)-a2000-100c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-a2000-100c-$(BUILD_NUMBER)_BETA.zip 
    309         mv $(topdir)bin/$(VER)-ixus90_sd790-100c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus90_sd790-100c-$(BUILD_NUMBER)_BETA.zip 
    310         mv $(topdir)bin/$(VER)-ixus90_sd790-100d-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus90_sd790-100d-$(BUILD_NUMBER)_BETA.zip 
    311         mv $(topdir)bin/$(VER)-ixus90_sd790-100e-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus90_sd790-100e-$(BUILD_NUMBER)_BETA.zip 
    312         mv $(topdir)bin/$(VER)-g11-100f-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-g11-100f-$(BUILD_NUMBER)_BETA.zip 
    313         mv $(topdir)bin/$(VER)-g11-100j-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-g11-100j-$(BUILD_NUMBER)_BETA.zip 
    314         mv $(topdir)bin/$(VER)-g11-100k-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-g11-100k-$(BUILD_NUMBER)_BETA.zip 
    315         mv $(topdir)bin/$(VER)-g11-100l-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-g11-100l-$(BUILD_NUMBER)_BETA.zip 
    316         mv $(topdir)bin/$(VER)-s90-100c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-s90-100c-$(BUILD_NUMBER)_BETA.zip 
    317         mv $(topdir)bin/$(VER)-s90-101a-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-s90-101a-$(BUILD_NUMBER)_BETA.zip 
    318         mv $(topdir)bin/$(VER)-s90-101b-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-s90-101b-$(BUILD_NUMBER)_BETA.zip 
    319         mv $(topdir)bin/$(VER)-s90-101c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-s90-101c-$(BUILD_NUMBER)_BETA.zip 
    320         mv $(topdir)bin/$(VER)-ixus100_sd780-100b-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus100_sd780-100b-$(BUILD_NUMBER)_BETA.zip 
    321         mv $(topdir)bin/$(VER)-ixus100_sd780-100c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus100_sd780-100c-$(BUILD_NUMBER)_BETA.zip 
    322         mv $(topdir)bin/$(VER)-ixus120_sd940-100e-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus120_sd940-100e-$(BUILD_NUMBER)_BETA.zip 
    323         mv $(topdir)bin/$(VER)-ixus120_sd940-101a-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus120_sd940-101a-$(BUILD_NUMBER)_BETA.zip 
    324         mv $(topdir)bin/$(VER)-ixus120_sd940-102c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus120_sd940-102c-$(BUILD_NUMBER)_BETA.zip 
    325         mv $(topdir)bin/$(VER)-ixus120_sd940-103b-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus120_sd940-103b-$(BUILD_NUMBER)_BETA.zip 
    326         mv $(topdir)bin/$(VER)-ixus120_sd940-103c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus120_sd940-103c-$(BUILD_NUMBER)_BETA.zip 
    327         mv $(topdir)bin/$(VER)-ixus200_sd980-101c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus200_sd980-101c-$(BUILD_NUMBER)_BETA.zip 
    328         mv $(topdir)bin/$(VER)-ixus200_sd980-101d-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus200_sd980-101d-$(BUILD_NUMBER)_BETA.zip 
    329         mv $(topdir)bin/$(VER)-ixus85_sd770-100a-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus85_sd770-100a-$(BUILD_NUMBER)_BETA.zip 
    330         mv $(topdir)bin/$(VER)-d10-100a-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-d10-100a-$(BUILD_NUMBER)_BETA.zip 
    331         mv $(topdir)bin/$(VER)-d10-100b-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-d10-100b-$(BUILD_NUMBER)_BETA.zip 
    332         mv $(topdir)bin/$(VER)-ixus95_sd1200-100c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus95_sd1200-100c-$(BUILD_NUMBER)_BETA.zip 
    333         #mv $(topdir)bin/$(VER)-a430-100b-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-a430-100b-$(BUILD_NUMBER)_BETA.zip 
    334         mv $(topdir)bin/$(VER)-s95-100e-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-s95-100e-$(BUILD_NUMBER)_BETA.zip 
    335         mv $(topdir)bin/$(VER)-s95-100h-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-s95-100h-$(BUILD_NUMBER)_BETA.zip 
    336         mv $(topdir)bin/$(VER)-s95-100i-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-s95-100i-$(BUILD_NUMBER)_BETA.zip 
    337         mv $(topdir)bin/$(VER)-s95-100k-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-s95-100k-$(BUILD_NUMBER)_BETA.zip 
    338         mv $(topdir)bin/$(VER)-ixus750_sd550-100h-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus750_sd550-100h-$(BUILD_NUMBER)_BETA.zip 
    339         mv $(topdir)bin/$(VER)-a490-100f-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-a490-100f-$(BUILD_NUMBER)_BETA.zip 
    340         mv $(topdir)bin/$(VER)-a495-100d-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-a495-100d-$(BUILD_NUMBER)_BETA.zip 
    341         mv $(topdir)bin/$(VER)-a495-100e-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-a495-100e-$(BUILD_NUMBER)_BETA.zip 
    342         mv $(topdir)bin/$(VER)-a495-100f-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-a495-100f-$(BUILD_NUMBER)_BETA.zip 
    343         mv $(topdir)bin/$(VER)-ixus300_sd4000-100d-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-ixus300_sd4000-100d-$(BUILD_NUMBER)_BETA.zip 
    344         mv $(topdir)bin/$(VER)-sx220hs-100a-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx220hs-100a-$(BUILD_NUMBER)_BETA.zip 
    345         mv $(topdir)bin/$(VER)-sx220hs-101a-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx220hs-101a-$(BUILD_NUMBER)_BETA.zip 
    346         mv $(topdir)bin/$(VER)-sx220hs-101b-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx220hs-101b-$(BUILD_NUMBER)_BETA.zip 
    347         mv $(topdir)bin/$(VER)-sx130is-101c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx130is-101c-$(BUILD_NUMBER)_BETA.zip 
    348         mv $(topdir)bin/$(VER)-sx130is-101d-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx130is-101d-$(BUILD_NUMBER)_BETA.zip 
    349         mv $(topdir)bin/$(VER)-sx130is-101f-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx130is-101f-$(BUILD_NUMBER)_BETA.zip 
    350         @echo "**** Done Copying duplicate Firmwares" 
     156        $(MAKE) -f makefile.cam VER=$(VER) ACTION=firzipsub batch 
    351157        @echo "**** Summary of memisosizes" 
    352158        cat $(topdir)bin/caminfo.txt 
     
    355161 
    356162batch-zip-complete: version 
    357         $(MAKE) -s --no-print-directory PLATFORM=a610 PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
    358         $(MAKE) -s --no-print-directory PLATFORM=a610 PLATFORMSUB=100f NO_INC_BUILD=1 firzipsubcomplete 
    359         $(MAKE) -s --no-print-directory PLATFORM=a620 PLATFORMSUB=100f NO_INC_BUILD=1 firzipsubcomplete 
    360         $(MAKE) -s --no-print-directory PLATFORM=a630 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    361         $(MAKE) -s --no-print-directory PLATFORM=a640 PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
    362         $(MAKE) -s --no-print-directory PLATFORM=a700 PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
    363         $(MAKE) -s --no-print-directory PLATFORM=a710 PLATFORMSUB=100a NO_INC_BUILD=1 firzipsubcomplete 
    364         $(MAKE) -s --no-print-directory PLATFORM=s2is PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
    365         $(MAKE) -s --no-print-directory PLATFORM=s2is PLATFORMSUB=100f NO_INC_BUILD=1 firzipsubcomplete 
    366         $(MAKE) -s --no-print-directory PLATFORM=s2is PLATFORMSUB=100g NO_INC_BUILD=1 firzipsubcomplete 
    367         $(MAKE) -s --no-print-directory PLATFORM=s3is PLATFORMSUB=100a NO_INC_BUILD=1 firzipsubcomplete 
    368         $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
    369         $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100g NO_INC_BUILD=1 firzipsubcomplete 
    370         $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100i NO_INC_BUILD=1 firzipsubcomplete 
    371         $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100j NO_INC_BUILD=1 firzipsubcomplete 
    372         $(MAKE) -s --no-print-directory PLATFORM=g9   PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
    373         $(MAKE) -s --no-print-directory PLATFORM=g9   PLATFORMSUB=100g NO_INC_BUILD=1 firzipsubcomplete 
    374         $(MAKE) -s --no-print-directory PLATFORM=g9   PLATFORMSUB=100i NO_INC_BUILD=1 firzipsubcomplete 
    375         $(MAKE) -s --no-print-directory PLATFORM=a530 PLATFORMSUB=100a NO_INC_BUILD=1 firzipsubcomplete 
    376         $(MAKE) -s --no-print-directory PLATFORM=a540 PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
    377         $(MAKE) -s --no-print-directory PLATFORM=a560 PLATFORMSUB=100a NO_INC_BUILD=1 firzipsubcomplete 
    378         $(MAKE) -s --no-print-directory PLATFORM=a570 PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
    379         $(MAKE) -s --no-print-directory PLATFORM=a570 PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
    380         $(MAKE) -s --no-print-directory PLATFORM=a590 PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
    381         $(MAKE) -s --no-print-directory PLATFORM=a590 PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
    382         $(MAKE) -s --no-print-directory PLATFORM=a1100 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    383         $(MAKE) -s --no-print-directory PLATFORM=a2000 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    384         #$(MAKE) -s --no-print-directory PLATFORM=s80  PLATFORMSUB=100g NO_INC_BUILD=1 firzipsubcomplete 
    385         $(MAKE) -s --no-print-directory PLATFORM=ixus700_sd500   PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
    386         $(MAKE) -s --no-print-directory PLATFORM=ixus700_sd500   PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
    387         $(MAKE) -s --no-print-directory PLATFORM=ixus800_sd700   PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
    388         $(MAKE) -s --no-print-directory PLATFORM=ixus800_sd700   PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
    389         $(MAKE) -s --no-print-directory PLATFORM=ixus850_sd800   PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
    390         $(MAKE) -s --no-print-directory PLATFORM=ixus860_sd870   PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    391         $(MAKE) -s --no-print-directory PLATFORM=ixus870_sd880   PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
    392         $(MAKE) -s --no-print-directory PLATFORM=ixus870_sd880   PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
    393         $(MAKE) -s --no-print-directory PLATFORM=ixus870_sd880   PLATFORMSUB=102b NO_INC_BUILD=1 firzipsubcomplete 
    394         $(MAKE) -s --no-print-directory PLATFORM=ixus950_sd850   PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    395         $(MAKE) -s --no-print-directory PLATFORM=ixus980_sd990   PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
    396         $(MAKE) -s --no-print-directory PLATFORM=ixus980_sd990   PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
    397         $(MAKE) -s --no-print-directory PLATFORM=ixus40_sd300    PLATFORMSUB=100k NO_INC_BUILD=1 firzipsubcomplete 
    398         $(MAKE) -s --no-print-directory PLATFORM=ixus40_sd300    PLATFORMSUB=100j NO_INC_BUILD=1 firzipsubcomplete 
    399         $(MAKE) -s --no-print-directory PLATFORM=ixus50_sd400    PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
    400         $(MAKE) -s --no-print-directory PLATFORM=ixus50_sd400    PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
    401         $(MAKE) -s --no-print-directory PLATFORM=ixus55_sd450    PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
    402         $(MAKE) -s --no-print-directory PLATFORM=ixus55_sd450    PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    403         $(MAKE) -s --no-print-directory PLATFORM=ixus55_sd450    PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
    404         $(MAKE) -s --no-print-directory PLATFORM=ixus65_sd630    PLATFORMSUB=100a NO_INC_BUILD=1 firzipsubcomplete 
    405         $(MAKE) -s --no-print-directory PLATFORM=ixus70_sd1000   PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    406         $(MAKE) -s --no-print-directory PLATFORM=ixus70_sd1000   PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
    407         $(MAKE) -s --no-print-directory PLATFORM=ixus70_sd1000   PLATFORMSUB=102a NO_INC_BUILD=1 firzipsubcomplete 
    408         $(MAKE) -s --no-print-directory PLATFORM=ixus75_sd750   PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
    409         $(MAKE) -s --no-print-directory PLATFORM=ixus75_sd750   PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
    410         $(MAKE) -s --no-print-directory PLATFORM=ixus75_sd750   PLATFORMSUB=102a NO_INC_BUILD=1 firzipsubcomplete 
    411         #$(MAKE) -s --no-print-directory PLATFORM=ixusW_sd430     PLATFORMSUB=110a NO_INC_BUILD=1 firzipsubcomplete 
    412         $(MAKE) -s --no-print-directory PLATFORM=a720 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    413         $(MAKE) -s --no-print-directory PLATFORM=a650 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
    414         $(MAKE) -s --no-print-directory PLATFORM=a450 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
    415         $(MAKE) -s --no-print-directory PLATFORM=a460 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
    416         $(MAKE) -s --no-print-directory PLATFORM=a550 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    417         $(MAKE) -s --no-print-directory PLATFORM=s5is PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
    418         $(MAKE) -s --no-print-directory PLATFORM=s5is PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
    419         $(MAKE) -s --no-print-directory PLATFORM=tx1  PLATFORMSUB=100g NO_INC_BUILD=1 firzipsubcomplete 
    420         $(MAKE) -s --no-print-directory PLATFORM=tx1  PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
    421         $(MAKE) -s --no-print-directory PLATFORM=sx100is  PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
    422         $(MAKE) -s --no-print-directory PLATFORM=sx100is  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    423         $(MAKE) -s --no-print-directory PLATFORM=ixus750_sd550  PLATFORMSUB=100f NO_INC_BUILD=1 firzipsubcomplete 
    424         $(MAKE) -s --no-print-directory PLATFORM=ixus750_sd550  PLATFORMSUB=100g NO_INC_BUILD=1 firzipsubcomplete 
    425         $(MAKE) -s --no-print-directory PLATFORM=ixus750_sd550  PLATFORMSUB=100h NO_INC_BUILD=1 firzipsubcomplete 
    426         $(MAKE) -s --no-print-directory PLATFORM=ixus60_sd600  PLATFORMSUB=100a NO_INC_BUILD=1 firzipsubcomplete 
    427         $(MAKE) -s --no-print-directory PLATFORM=ixus60_sd600  PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
    428         $(MAKE) -s --no-print-directory PLATFORM=ixus960_sd950  PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
    429         $(MAKE) -s --no-print-directory PLATFORM=ixus80_sd1100  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    430         $(MAKE) -s --no-print-directory PLATFORM=ixus80_sd1100  PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
    431         $(MAKE) -s --no-print-directory PLATFORM=ixusizoom_sd30  PLATFORMSUB=100g NO_INC_BUILD=1 firzipsubcomplete 
    432         $(MAKE) -s --no-print-directory PLATFORM=sx10 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    433         $(MAKE) -s --no-print-directory PLATFORM=sx10 PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
    434         $(MAKE) -s --no-print-directory PLATFORM=sx10 PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
    435         $(MAKE) -s --no-print-directory PLATFORM=sx10 PLATFORMSUB=102b NO_INC_BUILD=1 firzipsubcomplete 
    436         $(MAKE) -s --no-print-directory PLATFORM=sx10 PLATFORMSUB=103a NO_INC_BUILD=1 firzipsubcomplete 
    437         $(MAKE) -s --no-print-directory PLATFORM=sx1 PLATFORMSUB=200h NO_INC_BUILD=1 firzipsubcomplete 
    438         $(MAKE) -s --no-print-directory PLATFORM=sx1 PLATFORMSUB=201a NO_INC_BUILD=1 firzipsubcomplete 
    439         $(MAKE) -s --no-print-directory PLATFORM=ixus970_sd890  PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
    440         $(MAKE) -s --no-print-directory PLATFORM=ixus970_sd890  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    441         $(MAKE) -s --no-print-directory PLATFORM=ixus970_sd890  PLATFORMSUB=100f NO_INC_BUILD=1 firzipsubcomplete 
    442         $(MAKE) -s --no-print-directory PLATFORM=a470  PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
    443         $(MAKE) -s --no-print-directory PLATFORM=a470  PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
    444         $(MAKE) -s --no-print-directory PLATFORM=a470  PLATFORMSUB=102c NO_INC_BUILD=1 firzipsubcomplete 
    445         $(MAKE) -s --no-print-directory PLATFORM=sx110is  PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
    446         $(MAKE) -s --no-print-directory PLATFORM=sx130is  PLATFORMSUB=101c NO_INC_BUILD=1 firzipsubcomplete 
    447         $(MAKE) -s --no-print-directory PLATFORM=sx130is  PLATFORMSUB=101d NO_INC_BUILD=1 firzipsubcomplete 
    448         $(MAKE) -s --no-print-directory PLATFORM=sx130is  PLATFORMSUB=101f NO_INC_BUILD=1 firzipsubcomplete 
    449         $(MAKE) -s --no-print-directory PLATFORM=sx200is  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    450         $(MAKE) -s --no-print-directory PLATFORM=sx220hs  PLATFORMSUB=100a NO_INC_BUILD=1 firzipsubcomplete      
    451         $(MAKE) -s --no-print-directory PLATFORM=sx220hs  PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
    452         $(MAKE) -s --no-print-directory PLATFORM=sx220hs  PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete      
    453         $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    454         $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
    455         $(MAKE) -s --no-print-directory PLATFORM=g11  PLATFORMSUB=100f NO_INC_BUILD=1 firzipsubcomplete 
    456         $(MAKE) -s --no-print-directory PLATFORM=g11  PLATFORMSUB=100j NO_INC_BUILD=1 firzipsubcomplete 
    457         $(MAKE) -s --no-print-directory PLATFORM=g11  PLATFORMSUB=100l NO_INC_BUILD=1 firzipsubcomplete 
    458         $(MAKE) -s --no-print-directory PLATFORM=ixus100_sd780  PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
    459         $(MAKE) -s --no-print-directory PLATFORM=ixus100_sd780  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    460         $(MAKE) -s --no-print-directory PLATFORM=ixus120_sd940  PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
    461         $(MAKE) -s --no-print-directory PLATFORM=ixus120_sd940  PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
    462         $(MAKE) -s --no-print-directory PLATFORM=ixus120_sd940  PLATFORMSUB=102c NO_INC_BUILD=1 firzipsubcomplete 
    463         $(MAKE) -s --no-print-directory PLATFORM=ixus120_sd940  PLATFORMSUB=103b NO_INC_BUILD=1 firzipsubcomplete 
    464         $(MAKE) -s --no-print-directory PLATFORM=ixus120_sd940  PLATFORMSUB=103c NO_INC_BUILD=1 firzipsubcomplete 
    465         $(MAKE) -s --no-print-directory PLATFORM=ixus200_sd980  PLATFORMSUB=101c NO_INC_BUILD=1 firzipsubcomplete 
    466         $(MAKE) -s --no-print-directory PLATFORM=ixus200_sd980  PLATFORMSUB=101d NO_INC_BUILD=1 firzipsubcomplete 
    467         $(MAKE) -s --no-print-directory PLATFORM=a480  PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
    468         $(MAKE) -s --no-print-directory PLATFORM=a490  PLATFORMSUB=100f NO_INC_BUILD=1 firzipsubcomplete 
    469         $(MAKE) -s --no-print-directory PLATFORM=a495  PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
    470         $(MAKE) -s --no-print-directory PLATFORM=a495  PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
    471         $(MAKE) -s --no-print-directory PLATFORM=a495  PLATFORMSUB=100f NO_INC_BUILD=1 firzipsubcomplete 
    472         $(MAKE) -s --no-print-directory PLATFORM=s90  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    473         $(MAKE) -s --no-print-directory PLATFORM=s90  PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
    474         $(MAKE) -s --no-print-directory PLATFORM=s90  PLATFORMSUB=101c NO_INC_BUILD=1 firzipsubcomplete 
    475         $(MAKE) -s --no-print-directory PLATFORM=sx20 PLATFORMSUB=102b NO_INC_BUILD=1 firzipsubcomplete 
    476         $(MAKE) -s --no-print-directory PLATFORM=sx20 PLATFORMSUB=102d NO_INC_BUILD=1 firzipsubcomplete 
    477         $(MAKE) -s --no-print-directory PLATFORM=ixus85_sd770 PLATFORMSUB=100a NO_INC_BUILD=1 firzipsubcomplete 
    478         $(MAKE) -s --no-print-directory PLATFORM=d10 PLATFORMSUB=100a NO_INC_BUILD=1 firzipsubcomplete 
    479         $(MAKE) -s --no-print-directory PLATFORM=ixus95_sd1200  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    480         #$(MAKE) -s --no-print-directory PLATFORM=a430 PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
    481         $(MAKE) -s --no-print-directory PLATFORM=ixus900_sd900  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    482         $(MAKE) -s --no-print-directory PLATFORM=g12  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    483         $(MAKE) -s --no-print-directory PLATFORM=g12  PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
    484         $(MAKE) -s --no-print-directory PLATFORM=g12  PLATFORMSUB=100f NO_INC_BUILD=1 firzipsubcomplete 
    485         $(MAKE) -s --no-print-directory PLATFORM=sx30  PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
    486         $(MAKE) -s --no-print-directory PLATFORM=sx30  PLATFORMSUB=100h NO_INC_BUILD=1 firzipsubcomplete 
    487         $(MAKE) -s --no-print-directory PLATFORM=sx30  PLATFORMSUB=100l NO_INC_BUILD=1 firzipsubcomplete 
    488         $(MAKE) -s --no-print-directory PLATFORM=sx30  PLATFORMSUB=100n NO_INC_BUILD=1 firzipsubcomplete 
    489         $(MAKE) -s --no-print-directory PLATFORM=sx30  PLATFORMSUB=100p NO_INC_BUILD=1 firzipsubcomplete 
    490         $(MAKE) -s --no-print-directory PLATFORM=s95  PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
    491         $(MAKE) -s --no-print-directory PLATFORM=s95  PLATFORMSUB=100h NO_INC_BUILD=1 firzipsubcomplete 
    492         $(MAKE) -s --no-print-directory PLATFORM=s95  PLATFORMSUB=100i NO_INC_BUILD=1 firzipsubcomplete 
    493         $(MAKE) -s --no-print-directory PLATFORM=s95  PLATFORMSUB=100k NO_INC_BUILD=1 firzipsubcomplete 
    494         $(MAKE) -s --no-print-directory PLATFORM=ixus300_sd4000 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
    495         @echo "**** All zipfiles including firmwares and extra stuff created successfully" 
    496         @echo "**** Copying duplicate Firmwares" 
    497         cp $(topdir)bin/a610-100e-$(BUILD_NUMBER)-full.zip $(topdir)bin/a610-100d-$(BUILD_NUMBER)-full.zip 
    498         cp $(topdir)bin/a610-100e-$(BUILD_NUMBER).zip $(topdir)bin/a610-100d-$(BUILD_NUMBER).zip 
    499         cp $(topdir)bin/s2is-100g-$(BUILD_NUMBER)-full.zip $(topdir)bin/s2is-100i-$(BUILD_NUMBER)-full.zip 
    500         cp $(topdir)bin/s2is-100g-$(BUILD_NUMBER).zip $(topdir)bin/s2is-100i-$(BUILD_NUMBER).zip 
    501         cp $(topdir)bin/ixus800_sd700-101b-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus800_sd700-101a-$(BUILD_NUMBER)-full.zip 
    502         cp $(topdir)bin/ixus800_sd700-101b-$(BUILD_NUMBER).zip $(topdir)bin/ixus800_sd700-101a-$(BUILD_NUMBER).zip 
    503         cp $(topdir)bin/ixus850_sd800-100e-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus850_sd800-100d-$(BUILD_NUMBER)-full.zip 
    504         cp $(topdir)bin/ixus850_sd800-100e-$(BUILD_NUMBER).zip $(topdir)bin/ixus850_sd800-100d-$(BUILD_NUMBER).zip 
    505         cp $(topdir)bin/ixus70_sd1000-101b-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus70_sd1000-101a-$(BUILD_NUMBER)-full.zip 
    506         cp $(topdir)bin/ixus70_sd1000-101b-$(BUILD_NUMBER).zip $(topdir)bin/ixus70_sd1000-101a-$(BUILD_NUMBER).zip 
    507         cp $(topdir)bin/ixus75_sd750-101a-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus75_sd750-101b-$(BUILD_NUMBER)-full.zip 
    508         cp $(topdir)bin/ixus75_sd750-101a-$(BUILD_NUMBER).zip $(topdir)bin/ixus75_sd750-101b-$(BUILD_NUMBER).zip 
    509         cp $(topdir)bin/ixus80_sd1100-101a-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus80_sd1100-101b-$(BUILD_NUMBER)-full.zip 
    510         cp $(topdir)bin/ixus80_sd1100-101a-$(BUILD_NUMBER).zip $(topdir)bin/ixus80_sd1100-101b-$(BUILD_NUMBER).zip 
    511         cp $(topdir)bin/ixus970_sd890-100c-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus970_sd890-100d-$(BUILD_NUMBER)-full.zip 
    512         cp $(topdir)bin/ixus970_sd890-100c-$(BUILD_NUMBER).zip $(topdir)bin/ixus970_sd890-100d-$(BUILD_NUMBER).zip 
    513         cp $(topdir)bin/g9-100g-$(BUILD_NUMBER)-full.zip $(topdir)bin/g9-100f-$(BUILD_NUMBER)-full.zip 
    514         cp $(topdir)bin/g9-100g-$(BUILD_NUMBER).zip $(topdir)bin/g9-100f-$(BUILD_NUMBER).zip 
    515         cp $(topdir)bin/g9-100i-$(BUILD_NUMBER)-full.zip $(topdir)bin/g9-100h-$(BUILD_NUMBER)-full.zip 
    516         cp $(topdir)bin/g9-100i-$(BUILD_NUMBER).zip $(topdir)bin/g9-100h-$(BUILD_NUMBER).zip 
    517         cp $(topdir)bin/a470-101b-$(BUILD_NUMBER)-full.zip $(topdir)bin/a470-101a-$(BUILD_NUMBER)-full.zip 
    518         cp $(topdir)bin/a470-101b-$(BUILD_NUMBER).zip $(topdir)bin/a470-101a-$(BUILD_NUMBER).zip 
    519         cp $(topdir)bin/sx200is-100c-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx200is-100d-$(BUILD_NUMBER)-full.zip 
    520         cp $(topdir)bin/sx200is-100c-$(BUILD_NUMBER).zip $(topdir)bin/sx200is-100d-$(BUILD_NUMBER).zip 
    521         cp $(topdir)bin/ixus960_sd950-100d-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus960_sd950-100c-$(BUILD_NUMBER)-full.zip 
    522         cp $(topdir)bin/ixus960_sd950-100d-$(BUILD_NUMBER).zip $(topdir)bin/ixus960_sd950-100c-$(BUILD_NUMBER).zip 
    523         cp $(topdir)bin/ixus90_sd790-100d-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus90_sd790-100e-$(BUILD_NUMBER)-full.zip 
    524         cp $(topdir)bin/ixus90_sd790-100d-$(BUILD_NUMBER).zip $(topdir)bin/ixus90_sd790-100e-$(BUILD_NUMBER).zip 
    525         cp $(topdir)bin/g11-100j-$(BUILD_NUMBER)-full.zip $(topdir)bin/g11-100k-$(BUILD_NUMBER)-full.zip 
    526         cp $(topdir)bin/g11-100j-$(BUILD_NUMBER).zip $(topdir)bin/g11-100k-$(BUILD_NUMBER).zip 
    527         cp $(topdir)bin/s90-101c-$(BUILD_NUMBER).zip $(topdir)bin/s90-101b-$(BUILD_NUMBER).zip 
    528         cp $(topdir)bin/s90-101c-$(BUILD_NUMBER)-full.zip $(topdir)bin/s90-101b-$(BUILD_NUMBER)-full.zip 
    529         cp $(topdir)bin/d10-100a-$(BUILD_NUMBER).zip $(topdir)bin/d10-100b-$(BUILD_NUMBER).zip 
    530         cp $(topdir)bin/d10-100a-$(BUILD_NUMBER)-full.zip $(topdir)bin/d10-100b-$(BUILD_NUMBER)-full.zip 
    531         cp $(topdir)bin/sx30-100l-$(BUILD_NUMBER).zip $(topdir)bin/sx30-100m-$(BUILD_NUMBER).zip 
    532         cp $(topdir)bin/sx30-100l-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx30-100m-$(BUILD_NUMBER)-full.zip 
    533         mv $(topdir)bin/sx1-200h-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx1-200h-$(BUILD_NUMBER)-full_BETA.zip 
    534         mv $(topdir)bin/sx1-200h-$(BUILD_NUMBER).zip $(topdir)bin/sx1-200h-$(BUILD_NUMBER)_BETA.zip 
    535         mv $(topdir)bin/sx1-201a-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx1-201a-$(BUILD_NUMBER)-full_BETA.zip 
    536         mv $(topdir)bin/sx1-201a-$(BUILD_NUMBER).zip $(topdir)bin/sx1-201a-$(BUILD_NUMBER)_BETA.zip 
    537         mv $(topdir)bin/a1100-100c-$(BUILD_NUMBER)-full.zip $(topdir)bin/a1100-100c-$(BUILD_NUMBER)-full_BETA.zip 
    538         mv $(topdir)bin/a1100-100c-$(BUILD_NUMBER).zip $(topdir)bin/a1100-100c-$(BUILD_NUMBER)_BETA.zip 
    539         mv $(topdir)bin/a2000-100c-$(BUILD_NUMBER)-full.zip $(topdir)bin/a2000-100c-$(BUILD_NUMBER)-full_BETA.zip 
    540         mv $(topdir)bin/a2000-100c-$(BUILD_NUMBER).zip $(topdir)bin/a2000-100c-$(BUILD_NUMBER)_BETA.zip 
    541         mv $(topdir)bin/ixus90_sd790-100c-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus90_sd790-100c-$(BUILD_NUMBER)-full_BETA.zip 
    542         mv $(topdir)bin/ixus90_sd790-100c-$(BUILD_NUMBER).zip $(topdir)bin/ixus90_sd790-100c-$(BUILD_NUMBER)_BETA.zip 
    543         mv $(topdir)bin/ixus90_sd790-100d-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus90_sd790-100d-$(BUILD_NUMBER)-full_BETA.zip 
    544         mv $(topdir)bin/ixus90_sd790-100d-$(BUILD_NUMBER).zip $(topdir)bin/ixus90_sd790-100d-$(BUILD_NUMBER)_BETA.zip 
    545         mv $(topdir)bin/ixus90_sd790-100e-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus90_sd790-100e-$(BUILD_NUMBER)-full_BETA.zip 
    546         mv $(topdir)bin/ixus90_sd790-100e-$(BUILD_NUMBER).zip $(topdir)bin/ixus90_sd790-100e-$(BUILD_NUMBER)_BETA.zip 
    547         mv $(topdir)bin/g11-100f-$(BUILD_NUMBER)-full.zip $(topdir)bin/g11-100f-$(BUILD_NUMBER)-full_BETA.zip 
    548         mv $(topdir)bin/g11-100f-$(BUILD_NUMBER).zip $(topdir)bin/g11-100f-$(BUILD_NUMBER)_BETA.zip 
    549         mv $(topdir)bin/g11-100j-$(BUILD_NUMBER)-full.zip $(topdir)bin/g11-100j-$(BUILD_NUMBER)-full_BETA.zip 
    550         mv $(topdir)bin/g11-100j-$(BUILD_NUMBER).zip $(topdir)bin/g11-100j-$(BUILD_NUMBER)_BETA.zip 
    551         mv $(topdir)bin/g11-100k-$(BUILD_NUMBER)-full.zip $(topdir)bin/g11-100k-$(BUILD_NUMBER)-full_BETA.zip 
    552         mv $(topdir)bin/g11-100k-$(BUILD_NUMBER).zip $(topdir)bin/g11-100k-$(BUILD_NUMBER)_BETA.zip 
    553         mv $(topdir)bin/g11-100l-$(BUILD_NUMBER)-full.zip $(topdir)bin/g11-100l-$(BUILD_NUMBER)-full_BETA.zip 
    554         mv $(topdir)bin/g11-100l-$(BUILD_NUMBER).zip $(topdir)bin/g11-100l-$(BUILD_NUMBER)_BETA.zip 
    555         mv $(topdir)bin/ixus100_sd780-100b-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus100_sd780-100b-$(BUILD_NUMBER)-full_BETA.zip 
    556         mv $(topdir)bin/ixus100_sd780-100b-$(BUILD_NUMBER).zip $(topdir)bin/ixus100_sd780-100b-$(BUILD_NUMBER)_BETA.zip 
    557         mv $(topdir)bin/ixus100_sd780-100c-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus100_sd780-100c-$(BUILD_NUMBER)-full_BETA.zip 
    558         mv $(topdir)bin/ixus100_sd780-100c-$(BUILD_NUMBER).zip $(topdir)bin/ixus100_sd780-100c-$(BUILD_NUMBER)_BETA.zip 
    559         mv $(topdir)bin/ixus120_sd940-100e-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus120_sd940-100e-$(BUILD_NUMBER)-full_BETA.zip 
    560         mv $(topdir)bin/ixus120_sd940-100e-$(BUILD_NUMBER).zip $(topdir)bin/ixus120_sd940-100e-$(BUILD_NUMBER)_BETA.zip 
    561         mv $(topdir)bin/ixus120_sd940-101a-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus120_sd940-101a-$(BUILD_NUMBER)-full_BETA.zip 
    562         mv $(topdir)bin/ixus120_sd940-101a-$(BUILD_NUMBER).zip $(topdir)bin/ixus120_sd940-101a-$(BUILD_NUMBER)_BETA.zip 
    563         mv $(topdir)bin/ixus120_sd940-102c-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus120_sd940-102c-$(BUILD_NUMBER)-full_BETA.zip 
    564         mv $(topdir)bin/ixus120_sd940-102c-$(BUILD_NUMBER).zip $(topdir)bin/ixus120_sd940-102c-$(BUILD_NUMBER)_BETA.zip 
    565         mv $(topdir)bin/ixus120_sd940-103b-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus120_sd940-103b-$(BUILD_NUMBER)-full_BETA.zip 
    566         mv $(topdir)bin/ixus120_sd940-103b-$(BUILD_NUMBER).zip $(topdir)bin/ixus120_sd940-103b-$(BUILD_NUMBER)_BETA.zip 
    567         mv $(topdir)bin/ixus120_sd940-103c-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus120_sd940-103c-$(BUILD_NUMBER)-full_BETA.zip 
    568         mv $(topdir)bin/ixus120_sd940-103c-$(BUILD_NUMBER).zip $(topdir)bin/ixus120_sd940-103c-$(BUILD_NUMBER)_BETA.zip 
    569         mv $(topdir)bin/ixus200_sd980-101c-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus200_sd980-101c-$(BUILD_NUMBER)-full_BETA.zip 
    570         mv $(topdir)bin/ixus200_sd980-101c-$(BUILD_NUMBER).zip $(topdir)bin/ixus200_sd980-101c-$(BUILD_NUMBER)_BETA.zip 
    571         mv $(topdir)bin/ixus200_sd980-101d-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus200_sd980-101d-$(BUILD_NUMBER)-full_BETA.zip 
    572         mv $(topdir)bin/ixus200_sd980-101d-$(BUILD_NUMBER).zip $(topdir)bin/ixus200_sd980-101d-$(BUILD_NUMBER)_BETA.zip 
    573         mv $(topdir)bin/s90-100c-$(BUILD_NUMBER)-full.zip $(topdir)bin/s90-100c-$(BUILD_NUMBER)-full_BETA.zip 
    574         mv $(topdir)bin/s90-100c-$(BUILD_NUMBER).zip $(topdir)bin/s90-100c-$(BUILD_NUMBER)_BETA.zip 
    575         mv $(topdir)bin/s90-101a-$(BUILD_NUMBER)-full.zip $(topdir)bin/s90-101a-$(BUILD_NUMBER)-full_BETA.zip 
    576         mv $(topdir)bin/s90-101a-$(BUILD_NUMBER).zip $(topdir)bin/s90-101a-$(BUILD_NUMBER)_BETA.zip 
    577         mv $(topdir)bin/s90-101b-$(BUILD_NUMBER)-full.zip $(topdir)bin/s90-101b-$(BUILD_NUMBER)-full_BETA.zip 
    578         mv $(topdir)bin/s90-101b-$(BUILD_NUMBER).zip $(topdir)bin/s90-101b-$(BUILD_NUMBER)_BETA.zip 
    579         mv $(topdir)bin/s90-101c-$(BUILD_NUMBER)-full.zip $(topdir)bin/s90-101c-$(BUILD_NUMBER)-full_BETA.zip 
    580         mv $(topdir)bin/s90-101c-$(BUILD_NUMBER).zip $(topdir)bin/s90-101c-$(BUILD_NUMBER)_BETA.zip 
    581         mv $(topdir)bin/ixus85_sd770-100a-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus85_sd770-100a-$(BUILD_NUMBER)-full_BETA.zip 
    582         mv $(topdir)bin/ixus85_sd770-100a-$(BUILD_NUMBER).zip $(topdir)bin/ixus85_sd770-100a-$(BUILD_NUMBER)_BETA.zip 
    583         mv $(topdir)bin/d10-100a-$(BUILD_NUMBER)-full.zip $(topdir)bin/d10-100a-$(BUILD_NUMBER)-full_BETA.zip 
    584         mv $(topdir)bin/d10-100a-$(BUILD_NUMBER).zip $(topdir)bin/d10-100a-$(BUILD_NUMBER)_BETA.zip 
    585         mv $(topdir)bin/d10-100b-$(BUILD_NUMBER)-full.zip $(topdir)bin/d10-100b-$(BUILD_NUMBER)-full_BETA.zip 
    586         mv $(topdir)bin/d10-100b-$(BUILD_NUMBER).zip $(topdir)bin/d10-100b-$(BUILD_NUMBER)_BETA.zip 
    587         mv $(topdir)bin/ixus95_sd1200-100c-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus95_sd1200-100c-$(BUILD_NUMBER)-full_BETA.zip 
    588         mv $(topdir)bin/ixus95_sd1200-100c-$(BUILD_NUMBER).zip $(topdir)bin/ixus95_sd1200-100c-$(BUILD_NUMBER)_BETA.zip 
    589         #mv $(topdir)bin/a430-100b-$(BUILD_NUMBER)-full.zip $(topdir)bin/a430-100b-$(BUILD_NUMBER)-full_BETA.zip 
    590         #mv $(topdir)bin/a430-100b-$(BUILD_NUMBER).zip $(topdir)bin/a430-100b-$(BUILD_NUMBER)_BETA.zip 
    591         mv $(topdir)bin/s95-100e-$(BUILD_NUMBER)-full.zip $(topdir)bin/s95-100e-$(BUILD_NUMBER)-full_BETA.zip 
    592         mv $(topdir)bin/s95-100e-$(BUILD_NUMBER).zip $(topdir)bin/s95-100e-$(BUILD_NUMBER)_BETA.zip 
    593         mv $(topdir)bin/s95-100h-$(BUILD_NUMBER)-full.zip $(topdir)bin/s95-100h-$(BUILD_NUMBER)-full_BETA.zip 
    594         mv $(topdir)bin/s95-100h-$(BUILD_NUMBER).zip $(topdir)bin/s95-100h-$(BUILD_NUMBER)_BETA.zip 
    595         mv $(topdir)bin/s95-100i-$(BUILD_NUMBER)-full.zip $(topdir)bin/s95-100i-$(BUILD_NUMBER)-full_BETA.zip 
    596         mv $(topdir)bin/s95-100i-$(BUILD_NUMBER).zip $(topdir)bin/s95-100i-$(BUILD_NUMBER)_BETA.zip 
    597         mv $(topdir)bin/s95-100k-$(BUILD_NUMBER)-full.zip $(topdir)bin/s95-100k-$(BUILD_NUMBER)-full_BETA.zip 
    598         mv $(topdir)bin/s95-100k-$(BUILD_NUMBER).zip $(topdir)bin/s95-100k-$(BUILD_NUMBER)_BETA.zip 
    599         mv $(topdir)bin/ixus750_sd550-100h-$(BUILD_NUMBER).zip $(topdir)bin/ixus750_sd550-100h-$(BUILD_NUMBER)_BETA.zip 
    600         mv $(topdir)bin/ixus750_sd550-100h-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus750_sd550-100h-$(BUILD_NUMBER)-full_BETA.zip 
    601         mv $(topdir)bin/a490-100f-$(BUILD_NUMBER).zip $(topdir)bin/a490-100f-$(BUILD_NUMBER)_BETA.zip 
    602         mv $(topdir)bin/a495-100d-$(BUILD_NUMBER).zip $(topdir)bin/a495-100d-$(BUILD_NUMBER)_BETA.zip 
    603         mv $(topdir)bin/a495-100e-$(BUILD_NUMBER).zip $(topdir)bin/a495-100e-$(BUILD_NUMBER)_BETA.zip 
    604         mv $(topdir)bin/a495-100f-$(BUILD_NUMBER).zip $(topdir)bin/a495-100f-$(BUILD_NUMBER)_BETA.zip 
    605         mv $(topdir)bin/a490-100f-$(BUILD_NUMBER)-full.zip $(topdir)bin/a490-100f-$(BUILD_NUMBER)-full_BETA.zip 
    606         mv $(topdir)bin/a495-100d-$(BUILD_NUMBER)-full.zip $(topdir)bin/a495-100d-$(BUILD_NUMBER)-full_BETA.zip 
    607         mv $(topdir)bin/a495-100e-$(BUILD_NUMBER)-full.zip $(topdir)bin/a495-100e-$(BUILD_NUMBER)-full_BETA.zip 
    608         mv $(topdir)bin/a495-100f-$(BUILD_NUMBER)-full.zip $(topdir)bin/a495-100f-$(BUILD_NUMBER)-full_BETA.zip 
    609         mv $(topdir)bin/ixus300_sd4000-100d-$(BUILD_NUMBER).zip $(topdir)bin/ixus300_sd4000-100d-$(BUILD_NUMBER)_BETA.zip 
    610         mv $(topdir)bin/ixus300_sd4000-100d-$(BUILD_NUMBER)-full.zip $(topdir)bin/ixus300_sd4000-100d-$(BUILD_NUMBER)-full_BETA.zip 
    611         mv $(topdir)bin/sx220hs-100a-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx220hs-100a-$(BUILD_NUMBER)-full_BETA.zip 
    612         mv $(topdir)bin/sx220hs-100a-$(BUILD_NUMBER).zip $(topdir)bin/sx220hs-100a-$(BUILD_NUMBER)_BETA.zip 
    613         mv $(topdir)bin/sx220hs-101a-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx220hs-101a-$(BUILD_NUMBER)-full_BETA.zip 
    614         mv $(topdir)bin/sx220hs-101a-$(BUILD_NUMBER).zip $(topdir)bin/sx220hs-101a-$(BUILD_NUMBER)_BETA.zip 
    615         mv $(topdir)bin/sx220hs-101b-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx220hs-101b-$(BUILD_NUMBER)-full_BETA.zip 
    616         mv $(topdir)bin/sx220hs-101b-$(BUILD_NUMBER).zip $(topdir)bin/sx220hs-101b-$(BUILD_NUMBER)_BETA.zip 
    617         mv $(topdir)bin/sx130is-101c-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx130is-101c-$(BUILD_NUMBER)-full_BETA.zip 
    618         mv $(topdir)bin/sx130is-101c-$(BUILD_NUMBER).zip $(topdir)bin/sx130is-101c-$(BUILD_NUMBER)_BETA.zip 
    619         mv $(topdir)bin/sx130is-101d-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx130is-101d-$(BUILD_NUMBER)-full_BETA.zip 
    620         mv $(topdir)bin/sx130is-101d-$(BUILD_NUMBER).zip $(topdir)bin/sx130is-101d-$(BUILD_NUMBER)_BETA.zip 
    621         mv $(topdir)bin/sx130is-101f-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx130is-101f-$(BUILD_NUMBER)-full_BETA.zip 
    622         mv $(topdir)bin/sx130is-101f-$(BUILD_NUMBER).zip $(topdir)bin/sx130is-101f-$(BUILD_NUMBER)_BETA.zip 
    623         @echo "**** Done Copying duplicate Firmwares" 
     163        $(MAKE) -f makefile.cam VER=$(VER) ACTION=firzipsubcomplete batch 
    624164        @echo "**** Summary of memisosizes" 
    625165        cat $(topdir)bin/caminfo.txt 
     
    628168 
    629169batch-clean: 
    630         $(MAKE) -s --no-print-directory PLATFORM=a610 PLATFORMSUB=100e NO_INC_BUILD=1 clean 
    631         $(MAKE) -s --no-print-directory PLATFORM=a610 PLATFORMSUB=100f NO_INC_BUILD=1 clean 
    632         $(MAKE) -s --no-print-directory PLATFORM=a620 PLATFORMSUB=100f NO_INC_BUILD=1 clean 
    633         $(MAKE) -s --no-print-directory PLATFORM=a630 PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    634         $(MAKE) -s --no-print-directory PLATFORM=a640 PLATFORMSUB=100b NO_INC_BUILD=1 clean 
    635         $(MAKE) -s --no-print-directory PLATFORM=a700 PLATFORMSUB=100b NO_INC_BUILD=1 clean 
    636         $(MAKE) -s --no-print-directory PLATFORM=a710 PLATFORMSUB=100a NO_INC_BUILD=1 clean 
    637         $(MAKE) -s --no-print-directory PLATFORM=s2is PLATFORMSUB=100e NO_INC_BUILD=1 clean 
    638         $(MAKE) -s --no-print-directory PLATFORM=s2is PLATFORMSUB=100f NO_INC_BUILD=1 clean 
    639         $(MAKE) -s --no-print-directory PLATFORM=s2is PLATFORMSUB=100g NO_INC_BUILD=1 clean 
    640         $(MAKE) -s --no-print-directory PLATFORM=s3is PLATFORMSUB=100a NO_INC_BUILD=1 clean 
    641         $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100e NO_INC_BUILD=1 clean 
    642         $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100g NO_INC_BUILD=1 clean 
    643         $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100i NO_INC_BUILD=1 clean 
    644         $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100j NO_INC_BUILD=1 clean 
    645         $(MAKE) -s --no-print-directory PLATFORM=g9   PLATFORMSUB=100d NO_INC_BUILD=1 clean 
    646         $(MAKE) -s --no-print-directory PLATFORM=g9   PLATFORMSUB=100g NO_INC_BUILD=1 clean 
    647         $(MAKE) -s --no-print-directory PLATFORM=g9   PLATFORMSUB=100i NO_INC_BUILD=1 clean 
    648         $(MAKE) -s --no-print-directory PLATFORM=a530 PLATFORMSUB=100a NO_INC_BUILD=1 clean 
    649         $(MAKE) -s --no-print-directory PLATFORM=a540 PLATFORMSUB=100b NO_INC_BUILD=1 clean 
    650         $(MAKE) -s --no-print-directory PLATFORM=a560 PLATFORMSUB=100a NO_INC_BUILD=1 clean 
    651         $(MAKE) -s --no-print-directory PLATFORM=a570 PLATFORMSUB=100e NO_INC_BUILD=1 clean 
    652         $(MAKE) -s --no-print-directory PLATFORM=a570 PLATFORMSUB=101a NO_INC_BUILD=1 clean 
    653         $(MAKE) -s --no-print-directory PLATFORM=a590 PLATFORMSUB=100e NO_INC_BUILD=1 clean 
    654         $(MAKE) -s --no-print-directory PLATFORM=a590 PLATFORMSUB=101b NO_INC_BUILD=1 clean 
    655         $(MAKE) -s --no-print-directory PLATFORM=a1100 PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    656         $(MAKE) -s --no-print-directory PLATFORM=a2000 PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    657         #$(MAKE) -s --no-print-directory PLATFORM=s80  PLATFORMSUB=100g NO_INC_BUILD=1 clean 
    658         $(MAKE) -s --no-print-directory PLATFORM=ixus700_sd500   PLATFORMSUB=101a NO_INC_BUILD=1 clean 
    659         $(MAKE) -s --no-print-directory PLATFORM=ixus700_sd500   PLATFORMSUB=101b NO_INC_BUILD=1 clean 
    660         $(MAKE) -s --no-print-directory PLATFORM=ixus800_sd700   PLATFORMSUB=101b NO_INC_BUILD=1 clean 
    661         $(MAKE) -s --no-print-directory PLATFORM=ixus800_sd700   PLATFORMSUB=100b NO_INC_BUILD=1 clean 
    662         $(MAKE) -s --no-print-directory PLATFORM=ixus850_sd800   PLATFORMSUB=100e NO_INC_BUILD=1 clean 
    663         $(MAKE) -s --no-print-directory PLATFORM=ixus860_sd870   PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    664         $(MAKE) -s --no-print-directory PLATFORM=ixus870_sd880   PLATFORMSUB=100e NO_INC_BUILD=1 clean 
    665         $(MAKE) -s --no-print-directory PLATFORM=ixus870_sd880   PLATFORMSUB=101a NO_INC_BUILD=1 clean 
    666         $(MAKE) -s --no-print-directory PLATFORM=ixus870_sd880   PLATFORMSUB=102b NO_INC_BUILD=1 clean 
    667         $(MAKE) -s --no-print-directory PLATFORM=ixus950_sd850   PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    668         $(MAKE) -s --no-print-directory PLATFORM=ixus980_sd990   PLATFORMSUB=100e NO_INC_BUILD=1 clean 
    669         $(MAKE) -s --no-print-directory PLATFORM=ixus980_sd990   PLATFORMSUB=101b NO_INC_BUILD=1 clean 
    670         $(MAKE) -s --no-print-directory PLATFORM=ixus40_sd300    PLATFORMSUB=100k NO_INC_BUILD=1 clean 
    671         $(MAKE) -s --no-print-directory PLATFORM=ixus40_sd300    PLATFORMSUB=100j NO_INC_BUILD=1 clean 
    672         $(MAKE) -s --no-print-directory PLATFORM=ixus50_sd400    PLATFORMSUB=101a NO_INC_BUILD=1 clean 
    673         $(MAKE) -s --no-print-directory PLATFORM=ixus50_sd400    PLATFORMSUB=101b NO_INC_BUILD=1 clean 
    674         $(MAKE) -s --no-print-directory PLATFORM=ixus55_sd450    PLATFORMSUB=100b NO_INC_BUILD=1 clean 
    675         $(MAKE) -s --no-print-directory PLATFORM=ixus55_sd450    PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    676         $(MAKE) -s --no-print-directory PLATFORM=ixus55_sd450    PLATFORMSUB=100d NO_INC_BUILD=1 clean 
    677         $(MAKE) -s --no-print-directory PLATFORM=ixus65_sd630    PLATFORMSUB=100a NO_INC_BUILD=1 clean 
    678         $(MAKE) -s --no-print-directory PLATFORM=ixus70_sd1000   PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    679         $(MAKE) -s --no-print-directory PLATFORM=ixus70_sd1000   PLATFORMSUB=101b NO_INC_BUILD=1 clean 
    680         $(MAKE) -s --no-print-directory PLATFORM=ixus70_sd1000   PLATFORMSUB=102a NO_INC_BUILD=1 clean 
    681         $(MAKE) -s --no-print-directory PLATFORM=ixus75_sd750   PLATFORMSUB=100b NO_INC_BUILD=1 clean 
    682         $(MAKE) -s --no-print-directory PLATFORM=ixus75_sd750   PLATFORMSUB=101a NO_INC_BUILD=1 clean 
    683         $(MAKE) -s --no-print-directory PLATFORM=ixus75_sd750   PLATFORMSUB=102a NO_INC_BUILD=1 clean 
    684         #$(MAKE) -s --no-print-directory PLATFORM=ixusW_sd430     PLATFORMSUB=110a NO_INC_BUILD=1 clean 
    685         $(MAKE) -s --no-print-directory PLATFORM=a720 PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    686         $(MAKE) -s --no-print-directory PLATFORM=a650 PLATFORMSUB=100d NO_INC_BUILD=1 clean 
    687         $(MAKE) -s --no-print-directory PLATFORM=a450 PLATFORMSUB=100d NO_INC_BUILD=1 clean 
    688         $(MAKE) -s --no-print-directory PLATFORM=a460 PLATFORMSUB=100d NO_INC_BUILD=1 clean 
    689         $(MAKE) -s --no-print-directory PLATFORM=a550 PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    690         $(MAKE) -s --no-print-directory PLATFORM=s5is PLATFORMSUB=101a NO_INC_BUILD=1 clean 
    691         $(MAKE) -s --no-print-directory PLATFORM=s5is PLATFORMSUB=101b NO_INC_BUILD=1 clean 
    692         $(MAKE) -s --no-print-directory PLATFORM=tx1  PLATFORMSUB=100g NO_INC_BUILD=1 clean 
    693         $(MAKE) -s --no-print-directory PLATFORM=tx1  PLATFORMSUB=101b NO_INC_BUILD=1 clean 
    694         $(MAKE) -s --no-print-directory PLATFORM=sx100is  PLATFORMSUB=100b NO_INC_BUILD=1 clean 
    695         $(MAKE) -s --no-print-directory PLATFORM=sx100is  PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    696         $(MAKE) -s --no-print-directory PLATFORM=ixus750_sd550  PLATFORMSUB=100f NO_INC_BUILD=1 clean 
    697         $(MAKE) -s --no-print-directory PLATFORM=ixus750_sd550  PLATFORMSUB=100g NO_INC_BUILD=1 clean 
    698         $(MAKE) -s --no-print-directory PLATFORM=ixus750_sd550  PLATFORMSUB=100h NO_INC_BUILD=1 clean 
    699         $(MAKE) -s --no-print-directory PLATFORM=ixus60_sd600  PLATFORMSUB=100a NO_INC_BUILD=1 clean 
    700         $(MAKE) -s --no-print-directory PLATFORM=ixus60_sd600  PLATFORMSUB=100d NO_INC_BUILD=1 clean 
    701         $(MAKE) -s --no-print-directory PLATFORM=ixus960_sd950  PLATFORMSUB=100d NO_INC_BUILD=1 clean 
    702         $(MAKE) -s --no-print-directory PLATFORM=ixus80_sd1100  PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    703         $(MAKE) -s --no-print-directory PLATFORM=ixus80_sd1100  PLATFORMSUB=101a NO_INC_BUILD=1 clean 
    704         $(MAKE) -s --no-print-directory PLATFORM=ixusizoom_sd30  PLATFORMSUB=100g NO_INC_BUILD=1 clean 
    705         $(MAKE) -s --no-print-directory PLATFORM=sx10 PLATFORMSUB=101a NO_INC_BUILD=1 clean 
    706         $(MAKE) -s --no-print-directory PLATFORM=sx10 PLATFORMSUB=102b NO_INC_BUILD=1 clean 
    707         $(MAKE) -s --no-print-directory PLATFORM=sx1 PLATFORMSUB=200h NO_INC_BUILD=1 clean 
    708         $(MAKE) -s --no-print-directory PLATFORM=sx1 PLATFORMSUB=201a NO_INC_BUILD=1 clean 
    709         $(MAKE) -s --no-print-directory PLATFORM=ixus970_sd890  PLATFORMSUB=100b NO_INC_BUILD=1 clean 
    710         $(MAKE) -s --no-print-directory PLATFORM=ixus970_sd890  PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    711         $(MAKE) -s --no-print-directory PLATFORM=ixus970_sd890  PLATFORMSUB=100f NO_INC_BUILD=1 clean 
    712         $(MAKE) -s --no-print-directory PLATFORM=a470  PLATFORMSUB=101b NO_INC_BUILD=1 clean 
    713         $(MAKE) -s --no-print-directory PLATFORM=a470  PLATFORMSUB=102c NO_INC_BUILD=1 clean 
    714         $(MAKE) -s --no-print-directory PLATFORM=sx110is  PLATFORMSUB=100b NO_INC_BUILD=1 clean 
    715         $(MAKE) -s --no-print-directory PLATFORM=sx130is  PLATFORMSUB=101c NO_INC_BUILD=1 clean 
    716         $(MAKE) -s --no-print-directory PLATFORM=sx130is  PLATFORMSUB=101d NO_INC_BUILD=1 clean 
    717         $(MAKE) -s --no-print-directory PLATFORM=sx130is  PLATFORMSUB=101f NO_INC_BUILD=1 clean 
    718         $(MAKE) -s --no-print-directory PLATFORM=sx200is  PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    719         $(MAKE) -s --no-print-directory PLATFORM=sx220hs  PLATFORMSUB=100a NO_INC_BUILD=1 clean 
    720         $(MAKE) -s --no-print-directory PLATFORM=sx220hs  PLATFORMSUB=101a NO_INC_BUILD=1 clean 
    721         $(MAKE) -s --no-print-directory PLATFORM=sx220hs  PLATFORMSUB=101b NO_INC_BUILD=1 clean 
    722         $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    723         $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100d NO_INC_BUILD=1 clean 
    724         $(MAKE) -s --no-print-directory PLATFORM=g11  PLATFORMSUB=100f NO_INC_BUILD=1 clean 
    725         $(MAKE) -s --no-print-directory PLATFORM=g11  PLATFORMSUB=100j NO_INC_BUILD=1 clean 
    726         $(MAKE) -s --no-print-directory PLATFORM=g11  PLATFORMSUB=100l NO_INC_BUILD=1 clean 
    727         $(MAKE) -s --no-print-directory PLATFORM=ixus100_sd780  PLATFORMSUB=100b NO_INC_BUILD=1 clean 
    728         $(MAKE) -s --no-print-directory PLATFORM=ixus100_sd780  PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    729         $(MAKE) -s --no-print-directory PLATFORM=ixus120_sd940  PLATFORMSUB=100e NO_INC_BUILD=1 clean 
    730         $(MAKE) -s --no-print-directory PLATFORM=ixus120_sd940  PLATFORMSUB=101a NO_INC_BUILD=1 clean 
    731         $(MAKE) -s --no-print-directory PLATFORM=ixus120_sd940  PLATFORMSUB=102c NO_INC_BUILD=1 clean 
    732         $(MAKE) -s --no-print-directory PLATFORM=ixus120_sd940  PLATFORMSUB=103b NO_INC_BUILD=1 clean 
    733         $(MAKE) -s --no-print-directory PLATFORM=ixus120_sd940  PLATFORMSUB=103c NO_INC_BUILD=1 clean 
    734         $(MAKE) -s --no-print-directory PLATFORM=ixus200_sd980  PLATFORMSUB=101c NO_INC_BUILD=1 clean 
    735         $(MAKE) -s --no-print-directory PLATFORM=ixus200_sd980  PLATFORMSUB=101d NO_INC_BUILD=1 clean 
    736         $(MAKE) -s --no-print-directory PLATFORM=a480  PLATFORMSUB=100b NO_INC_BUILD=1 clean 
    737         $(MAKE) -s --no-print-directory PLATFORM=a490  PLATFORMSUB=100f NO_INC_BUILD=1 clean 
    738         $(MAKE) -s --no-print-directory PLATFORM=a495  PLATFORMSUB=100d NO_INC_BUILD=1 clean 
    739         $(MAKE) -s --no-print-directory PLATFORM=a495  PLATFORMSUB=100e NO_INC_BUILD=1 clean 
    740         $(MAKE) -s --no-print-directory PLATFORM=a495  PLATFORMSUB=100f NO_INC_BUILD=1 clean 
    741         $(MAKE) -s --no-print-directory PLATFORM=s90  PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    742         $(MAKE) -s --no-print-directory PLATFORM=s90  PLATFORMSUB=101a NO_INC_BUILD=1 clean 
    743         $(MAKE) -s --no-print-directory PLATFORM=s90  PLATFORMSUB=101c NO_INC_BUILD=1 clean 
    744         $(MAKE) -s --no-print-directory PLATFORM=sx20 PLATFORMSUB=102b NO_INC_BUILD=1 clean 
    745         $(MAKE) -s --no-print-directory PLATFORM=sx20 PLATFORMSUB=102d NO_INC_BUILD=1 clean 
    746         $(MAKE) -s --no-print-directory PLATFORM=ixus85_sd770 PLATFORMSUB=100a NO_INC_BUILD=1 clean 
    747         $(MAKE) -s --no-print-directory PLATFORM=d10 PLATFORMSUB=100a NO_INC_BUILD=1 clean 
    748         $(MAKE) -s --no-print-directory PLATFORM=ixus95_sd1200 PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    749         #$(MAKE) -s --no-print-directory PLATFORM=a430 PLATFORMSUB=100b NO_INC_BUILD=1 clean 
    750         $(MAKE) -s --no-print-directory PLATFORM=ixus900_sd900  PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    751         $(MAKE) -s --no-print-directory PLATFORM=g12 PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    752         $(MAKE) -s --no-print-directory PLATFORM=g12 PLATFORMSUB=100e NO_INC_BUILD=1 clean 
    753         $(MAKE) -s --no-print-directory PLATFORM=g12 PLATFORMSUB=100f NO_INC_BUILD=1 clean 
    754         $(MAKE) -s --no-print-directory PLATFORM=sx30 PLATFORMSUB=100e NO_INC_BUILD=1 clean 
    755         $(MAKE) -s --no-print-directory PLATFORM=sx30 PLATFORMSUB=100h NO_INC_BUILD=1 clean 
    756         $(MAKE) -s --no-print-directory PLATFORM=sx30 PLATFORMSUB=100l NO_INC_BUILD=1 clean 
    757         $(MAKE) -s --no-print-directory PLATFORM=sx30 PLATFORMSUB=100n NO_INC_BUILD=1 clean 
    758         $(MAKE) -s --no-print-directory PLATFORM=sx30 PLATFORMSUB=100p NO_INC_BUILD=1 clean 
    759         $(MAKE) -s --no-print-directory PLATFORM=s95  PLATFORMSUB=100e NO_INC_BUILD=1 clean 
    760         $(MAKE) -s --no-print-directory PLATFORM=s95  PLATFORMSUB=100h NO_INC_BUILD=1 clean 
    761         $(MAKE) -s --no-print-directory PLATFORM=s95  PLATFORMSUB=100i NO_INC_BUILD=1 clean 
    762         $(MAKE) -s --no-print-directory PLATFORM=s95  PLATFORMSUB=100k NO_INC_BUILD=1 clean 
    763         $(MAKE) -s --no-print-directory PLATFORM=ixus300_sd4000  PLATFORMSUB=100d NO_INC_BUILD=1 clean 
    764         .PHONY: fir upload 
     170        $(MAKE) -f makefile.cam VER=$(VER) ACTION=clean batch 
  • branches/philmoz/core/Makefile

    r1033 r1321  
    6565# in top level 
    6666#CFLAGS+=-DOPT_PTP 
    67 OPT_OBJS+=ptp.o  
     67OPT_OBJS+=ptp.o live_view.o 
    6868endif  
    6969ifdef OPT_EXMEM_MALLOC 
  • branches/philmoz/core/conf.c

    r1245 r1321  
    402402        CONF_INFO(242, conf.edge_overlay_show,     CONF_DEF_VALUE, i:0, NULL), 
    403403    CONF_INFO(243, conf.edge_overlay_pano_overlap,   CONF_DEF_VALUE, i:30, NULL), 
     404 
     405    // Touch screen U/I overrides 
     406    CONF_INFO(244, conf.touchscreen_disable_video_controls, CONF_DEF_VALUE, i:0, NULL), 
     407    CONF_INFO(245, conf.touchscreen_disable_shortcut_controls, CONF_DEF_VALUE, i:0, NULL), 
    404408    }; 
    405409#define CONF_NUM (sizeof(conf_info)/sizeof(conf_info[0])) 
  • branches/philmoz/core/gui.c

    r1320 r1321  
    204204        static void gui_load_curve(int arg); 
    205205#endif 
    206 static const char* gui_histo_show_enum(int change, int arg); 
     206      const char* gui_histo_show_enum(int change, int arg); 
    207207static const char* gui_histo_mode_enum(int change, int arg); 
    208208static const char* gui_temp_mode_enum(int change, int arg); 
     
    254254static const char* gui_iso_exposure_order_enum(int change, int arg); 
    255255*/ 
    256 static const char* gui_nd_filter_state_enum(int change, int arg); 
     256      const char* gui_nd_filter_state_enum(int change, int arg); 
    257257//static const char* gui_tv_enum(int change, int arg); 
    258258const char* gui_user_menu_show_enum(int change, int arg); 
     
    269269static const char* gui_video_af_key_enum(int change, int arg); 
    270270static const char* gui_show_movie_time(int change, int arg); 
    271 static const char* gui_override_disable_enum(int change, int arg); 
     271      const char* gui_override_disable_enum(int change, int arg); 
    272272#ifdef OPT_CURVES 
    273273        static const char* gui_conf_curve_enum(int change, int arg); 
     
    767767static CMenu raw_state_submenu = {0x24,LANG_MENU_OSD_RAW_STATE_PARAMS_TITLE, NULL, raw_state_submenu_items }; 
    768768 
     769#ifdef  CAM_TOUCHSCREEN_UI 
     770static const char* gui_touchscreen_disable_video_enum(int change, int arg); 
     771static const char* gui_touchscreen_disable_shortcuts_enum(int change, int arg); 
     772static CMenuItem touchscreen_submenu_items[] = { 
     773    {0x5f,LANG_MENU_TS_VIDEO_AE_DISABLE,     MENUITEM_ENUM,    (int*)gui_touchscreen_disable_video_enum }, 
     774    {0x5f,LANG_MENU_TS_ALT_SHORTCUTS_DISABLE,MENUITEM_ENUM,    (int*)gui_touchscreen_disable_shortcuts_enum }, 
     775    {0x51,LANG_MENU_BACK,                    MENUITEM_UP }, 
     776    {0} 
     777}; 
     778static CMenu touchscreen_submenu = {0x28,LANG_MENU_TOUCHSCREEN_VALUES, /*cb_values_menu_change*/ NULL, touchscreen_submenu_items }; 
     779#endif 
    769780 
    770781static CMenuItem osd_submenu_items[] = { 
     
    792803    {0x5c,LANG_MENU_MAIN_SAVE_OPTIONS,       MENUITEM_PROC,      (int*)gui_menuproc_save }, 
    793804#endif 
     805#ifdef  CAM_TOUCHSCREEN_UI 
     806    {0x22,LANG_MENU_TOUCHSCREEN_VALUES,          MENUITEM_SUBMENU,   (int*)&touchscreen_submenu }, 
     807#endif 
    794808    {0x51,LANG_MENU_BACK,                    MENUITEM_UP }, 
    795809    {0} 
     
    12331247        return gui_change_simple_enum(&conf.sub_batch_ext,change,img_exts,NUM_IMG_EXTS); 
    12341248} 
     1249 
     1250//------------------------------------------------------------------- 
     1251#ifdef  CAM_TOUCHSCREEN_UI 
     1252 
     1253const char* gui_on_off_enum(int change, int *conf_val) 
     1254{ 
     1255    static const char* modes[]={ "Off", "On"}; 
     1256        return gui_change_simple_enum(conf_val,change,modes,sizeof(modes)/sizeof(modes[0])); 
     1257} 
     1258 
     1259const char* gui_touchscreen_disable_video_enum(int change, int arg) { 
     1260    static const char* modes[]={ "Enable", "Disable" }; 
     1261        return gui_change_simple_enum(&conf.touchscreen_disable_video_controls,change,modes,sizeof(modes)/sizeof(modes[0])); 
     1262} 
     1263 
     1264const char* gui_touchscreen_disable_shortcuts_enum(int change, int arg) { 
     1265    static const char* modes[]={ "Enable", "Disable" }; 
     1266        return gui_change_simple_enum(&conf.touchscreen_disable_shortcut_controls,change,modes,sizeof(modes)/sizeof(modes[0])); 
     1267} 
     1268 
     1269#endif 
    12351270 
    12361271//------------------------------------------------------------------- 
     
    18191854void gui_init() 
    18201855{ 
    1821  
    1822     gui_mode = GUI_MODE_NONE; 
     1856    gui_set_mode(GUI_MODE_NONE); 
    18231857    gui_restore = 0; 
    18241858    gui_in_redraw = 0; 
     
    18811915//------------------------------------------------------------------- 
    18821916void gui_set_mode(enum Gui_Mode mode) { 
     1917#ifdef CAM_TOUCHSCREEN_UI 
     1918    if (((gui_mode == 0) != (mode == 0)) ||                         // Change from GUI_MODE_NONE to any other or vice-versa 
     1919        ((gui_mode > GUI_MODE_MENU) != (mode > GUI_MODE_MENU)))     // Switch in & out of menu mode 
     1920        redraw_buttons = 1; 
     1921#endif 
    18831922    gui_mode = mode; 
    18841923} 
     
    19301969 
    19311970//------------------------------------------------------------------- 
     1971#ifdef OPTIONS_AUTOSAVE 
     1972 
     1973static void conf_store_old_settings() { 
     1974    old_conf=conf; 
     1975} 
     1976 
     1977static int conf_save_new_settings_if_changed() { 
     1978    if (memcmp(&old_conf, &conf, sizeof(Conf)) != 0) { 
     1979                user_menu_save(); 
     1980        conf_save(); 
     1981        conf_store_old_settings(); 
     1982        return 1; 
     1983    } 
     1984    return 0; 
     1985} 
     1986 
     1987#endif 
     1988 
     1989//------------------------------------------------------------------- 
     1990void gui_chdk_draw() 
     1991{ 
     1992    static int show_md_grid=0; 
     1993 
     1994    gui_draw_osd(); 
     1995 
     1996#ifdef CAM_DISP_ALT_TEXT 
     1997    draw_txt_string(20, 14, "<ALT>", MAKE_COLOR(COLOR_ALT_BG, COLOR_FG)); 
     1998#endif 
     1999 
     2000#ifdef OPT_SCRIPTING 
     2001    if ((mode_get()&MODE_MASK) == MODE_REC) 
     2002    { 
     2003        draw_txt_string(0, 14, script_title, MAKE_COLOR(COLOR_ALT_BG, COLOR_FG)); 
     2004        if (state_kbd_script_run) show_md_grid=5; 
     2005        if (show_md_grid) 
     2006        { 
     2007            --show_md_grid; 
     2008            md_draw_grid(); 
     2009        } 
     2010    } 
     2011#endif 
     2012 
     2013    console_draw(); 
     2014} 
     2015 
     2016//------------------------------------------------------------------- 
     2017// Handler for Menu button press default - enter Menu mode 
     2018void gui_default_kbd_process_menu_btn() 
     2019{ 
     2020    gui_set_mode(GUI_MODE_MENU); 
     2021    draw_restore(); 
     2022} 
     2023 
     2024// Change SD override factor, direction = 1 to increase, -1 to decrease 
     2025// Only applies if camera has a Zoom lever 
     2026#if CAM_HAS_ZOOM_LEVER 
     2027static void sd_override_koef(int direction) 
     2028{ 
     2029    gui_subj_dist_override_koef_enum(direction,0); 
     2030#if !CAM_HAS_MANUAL_FOCUS 
     2031    if (conf.subj_dist_override_koef==0) conf.subj_dist_override_koef=1; 
     2032#endif 
     2033    shooting_set_focus(shooting_get_subject_distance_override_value(), SET_NOW); 
     2034} 
     2035#endif 
     2036 
     2037// Change SD override by factor amount, direction = 1 to increase (zoom in), -1 to decrease (zoom out) 
     2038static void sd_override(int direction) 
     2039{ 
     2040    gui_subj_dist_override_value_enum(direction,0); 
     2041    shooting_set_focus(shooting_get_subject_distance_override_value(),SET_NOW); 
     2042} 
     2043 
     2044// Main button processing for CHDK Alt mode (not in MENU mode) 
     2045// This needs to be cleaned up, re-organised and commented !!!! 
     2046void gui_chdk_kbd_process() 
     2047{ 
     2048#if !CAM_HAS_ERASE_BUTTON && CAM_CAN_SD_OVERRIDE        // ALT RAW toggle kbd processing if camera has SD override but no erase button 
     2049    if (kbd_is_key_clicked(SHORTCUT_TOGGLE_RAW)) 
     2050    { 
     2051        if (conf.debug_shortcut_action > 0) 
     2052        { 
     2053#ifdef OPT_DEBUGGING 
     2054            gui_debug_shortcut(); 
     2055#endif 
     2056        } 
     2057        // Check in manual focus mode 
     2058        else if (!shooting_get_common_focus_mode()) 
     2059        { 
     2060            // Not manual focus mode so just update RAW save setting 
     2061            conf.save_raw = !conf.save_raw; 
     2062            draw_restore(); 
     2063        } 
     2064        else 
     2065        { 
     2066            // In manual focus mode so update shooting distance 
     2067#if CAM_HAS_ZOOM_LEVER 
     2068            conf.subj_dist_override_value=MAX_DIST; 
     2069            shooting_set_focus(shooting_get_subject_distance_override_value(), SET_NOW); 
     2070#else 
     2071            if (conf.subj_dist_override_koef==4) 
     2072                gui_subj_dist_override_koef_enum(-3,0); 
     2073            else 
     2074                gui_subj_dist_override_koef_enum(1,0); 
     2075#endif 
     2076        } 
     2077    } 
     2078#else                                                   // ALT RAW toggle kbd processing if can't SD override or has erase button 
     2079    if (kbd_is_key_clicked(SHORTCUT_TOGGLE_RAW)) 
     2080    { 
     2081        if (conf.debug_shortcut_action > 0) 
     2082        { 
     2083#ifdef OPT_DEBUGGING 
     2084            gui_debug_shortcut(); 
     2085#endif 
     2086        } 
     2087        else 
     2088        { 
     2089            // Change RAW save state 
     2090            conf.save_raw = !conf.save_raw; 
     2091            draw_restore(); 
     2092        } 
     2093    } 
     2094#endif 
     2095#ifdef OPT_SCRIPTING                                    // ALT Set button processing if scripting enabled - open script menu 
     2096    else if (kbd_is_key_clicked(KEY_SET)) 
     2097    { 
     2098        gui_menu_init(&script_submenu); 
     2099        gui_default_kbd_process_menu_btn(); 
     2100    } 
     2101#endif 
     2102#if CAM_CAN_SD_OVERRIDE                                 // ALT button processing if camera has SD override 
     2103    else 
     2104    { 
     2105#if !CAM_HAS_MANUAL_FOCUS 
     2106        if (kbd_is_key_clicked(SHORTCUT_MF_TOGGLE))     // Camera does not have manual focus 
     2107        { 
     2108            if (conf.subj_dist_override_koef>0) 
     2109                conf.subj_dist_override_koef=0; 
     2110            else conf.subj_dist_override_koef=1; 
     2111            draw_restore(); 
     2112        } 
     2113        else 
     2114#endif 
     2115        if (shooting_get_common_focus_mode())           // Check in manual focus mode 
     2116        { 
     2117#if CAM_HAS_ZOOM_LEVER                                  // Camera has zoom lever, use left & right to change factor,up to set infinity 
     2118            if (kbd_is_key_clicked(KEY_RIGHT)) 
     2119            { 
     2120                sd_override_koef(1); 
     2121            } 
     2122            else if (kbd_is_key_clicked(KEY_LEFT)) 
     2123            { 
     2124                sd_override_koef(-1); 
     2125            } 
     2126            else if (kbd_is_key_clicked(SHORTCUT_SET_INFINITY)) 
     2127            { 
     2128                conf.subj_dist_override_value=MAX_DIST; 
     2129                shooting_set_focus(shooting_get_subject_distance_override_value(), SET_NOW); 
     2130            } 
     2131            else 
     2132#endif 
     2133            if (kbd_is_key_clicked(SHORTCUT_SET_HYPERFOCAL))    // Set hyperfocal distance if down pressed 
     2134            { 
     2135                int m=mode_get()&MODE_SHOOTING_MASK; 
     2136                if ((m==MODE_M) || (m==MODE_AV)) 
     2137                     conf.subj_dist_override_value=(int)shooting_get_hyperfocal_distance_f(shooting_get_aperture_from_av96(shooting_get_user_av96()),get_focal_length(lens_get_zoom_point())); 
     2138                else conf.subj_dist_override_value=(int)shooting_get_hyperfocal_distance(); 
     2139                shooting_set_focus(shooting_get_subject_distance_override_value(), SET_NOW); 
     2140            } 
     2141            else 
     2142            { 
     2143                switch (kbd_get_autoclicked_key()) 
     2144                { 
     2145#if CAM_HAS_ZOOM_LEVER 
     2146                case KEY_ZOOM_IN: 
     2147#else 
     2148                case KEY_RIGHT: 
     2149#endif 
     2150                    sd_override(1); 
     2151                    break; 
     2152#if CAM_HAS_ZOOM_LEVER 
     2153                case KEY_ZOOM_OUT: 
     2154#else 
     2155                case KEY_LEFT: 
     2156#endif 
     2157                    sd_override(-1); 
     2158                    break; 
     2159                } 
     2160            } 
     2161        } 
     2162    } 
     2163#endif 
     2164} 
     2165 
     2166//------------------------------------------------------------------- 
     2167// Handler for Menu button press in CHDK Alt mode (not in Menu mode) 
     2168// Enter main menu or user menu based on configuration 
     2169void gui_chdk_kbd_process_menu_btn() 
     2170{ 
     2171    if (conf.user_menu_as_root && (conf.user_menu_enable != 0)) { 
     2172        if (kbd_is_key_pressed(KEY_SHOOT_HALF)) 
     2173            gui_menu_init(&root_menu); 
     2174        else 
     2175            gui_menu_init(&user_submenu); 
     2176    } 
     2177    else { 
     2178        if ((conf.user_menu_enable != 0) && kbd_is_key_pressed(KEY_SHOOT_HALF)) 
     2179            gui_menu_init(&user_submenu); 
     2180        else 
     2181            gui_menu_init(&root_menu); 
     2182    } 
     2183    gui_default_kbd_process_menu_btn(); 
     2184} 
     2185 
     2186// Menu button handled for text reader 
     2187#ifdef OPT_TEXTREADER 
     2188void gui_read_kbd_process_menu_btn() 
     2189{ 
     2190    gui_read_kbd_process(); 
     2191    gui_default_kbd_process_menu_btn(); 
     2192} 
     2193#endif 
     2194 
     2195// Menu button handled for Menu mode 
     2196void gui_menu_kbd_process_menu_btn() 
     2197{ 
     2198#ifdef OPTIONS_AUTOSAVE 
     2199    conf_save_new_settings_if_changed(); 
     2200#endif 
     2201    if (gui_user_menu_flag) 
     2202    { 
     2203        gui_set_mode(GUI_MODE_MENU); 
     2204        gui_user_menu_flag = 0; 
     2205        gui_menu_init(&root_menu); 
     2206    } 
     2207    else 
     2208        gui_set_mode(GUI_MODE_ALT); 
     2209    draw_restore(); 
     2210} 
     2211 
     2212//------------------------------------------------------------------- 
     2213// Structure to store gui redraw and kbd process handlers for each mode 
     2214typedef struct 
     2215{ 
     2216    void (*redraw)(void);                   // Called to redraw screen 
     2217    void (*kbd_process)(void);              // Main button handler for mode 
     2218    void (*kbd_process_menu_btn)(void);     // Menu button handler for mode 
     2219} gui_handler; 
     2220 
     2221// GUI handler table (entries must be in the same order and have the same number of entries as Gui_Mode enum) 
     2222gui_handler guiHandlers[] = 
     2223{ 
     2224    /*GUI_MODE_NONE*/           { gui_draw_osd,         0,                          0 }, 
     2225    /*GUI_MODE_ALT*/            { gui_chdk_draw,        gui_chdk_kbd_process,       gui_chdk_kbd_process_menu_btn }, 
     2226    /*GUI_MODE_MENU*/           { gui_menu_draw,        gui_menu_kbd_process,       gui_menu_kbd_process_menu_btn }, 
     2227    /*GUI_MODE_PALETTE*/        { gui_palette_draw,     gui_palette_kbd_process,    gui_default_kbd_process_menu_btn }, 
     2228    /*GUI_MODE_MBOX*/           { gui_mbox_draw,        gui_mbox_kbd_process,       0 }, 
     2229#ifdef OPT_GAME_REVERSI 
     2230    /*GUI_MODE_REVERSI*/        { gui_reversi_draw,     gui_reversi_kbd_process,    gui_default_kbd_process_menu_btn }, 
     2231#else 
     2232                                { 0, 0, 0 }, 
     2233#endif 
     2234#ifdef OPT_GAME_SOKOBAN 
     2235    /*GUI_MODE_SOKOBAN*/        { gui_sokoban_draw,     gui_sokoban_kbd_process,    gui_default_kbd_process_menu_btn }, 
     2236#else 
     2237                                { 0, 0, 0 }, 
     2238#endif 
     2239#ifdef OPT_DEBUGGING 
     2240    /*GUI_MODE_DEBUG*/          { gui_debug_draw,       gui_debug_kbd_process,      gui_default_kbd_process_menu_btn }, 
     2241#else 
     2242                                { 0, 0, 0 }, 
     2243#endif 
     2244    /*GUI_MODE_FSELECT*/        { gui_fselect_draw,     gui_fselect_kbd_process,    gui_fselect_kbd_process }, 
     2245#ifdef OPT_TEXTREADER 
     2246    /*GUI_MODE_READ*/           { gui_read_draw,        gui_read_kbd_process,       gui_read_kbd_process_menu_btn }, 
     2247#else 
     2248                                { 0, 0, 0 }, 
     2249#endif 
     2250    /*GUI_MODE_OSD*/            { gui_osd_draw,         gui_osd_kbd_process,        gui_default_kbd_process_menu_btn }, 
     2251#ifdef OPT_CALENDAR 
     2252    /*GUI_MODE_CALENDAR*/       { gui_calendar_draw,    gui_calendar_kbd_process,   gui_default_kbd_process_menu_btn }, 
     2253#else 
     2254                                { 0, 0, 0 }, 
     2255#endif 
     2256#ifdef OPT_DEBUGGING 
     2257    /*GUI_MODE_BENCH*/          { gui_bench_draw,       gui_bench_kbd_process,      gui_default_kbd_process_menu_btn }, 
     2258#else 
     2259                                { 0, 0, 0 }, 
     2260#endif 
     2261    /*GUI_MODE_MPOPUP*/         { gui_mpopup_draw,      gui_mpopup_kbd_process,     0 }, 
     2262#ifdef OPT_GAME_CONNECT4 
     2263    /*GUI_MODE_4WINS*/          { gui_4wins_draw,       gui_4wins_kbd_process,      gui_default_kbd_process_menu_btn }, 
     2264#else 
     2265                                { 0, 0, 0 }, 
     2266#endif 
     2267#ifdef OPT_GAME_MASTERMIND 
     2268    /*GUI_MODE_MASTERMIND*/     { gui_mastermind_draw,  gui_mastermind_kbd_process, gui_default_kbd_process_menu_btn }, 
     2269#else 
     2270                                { 0, 0, 0 }, 
     2271#endif 
     2272}; 
     2273 
     2274//------------------------------------------------------------------- 
     2275// Main GUI redraw function, perform common initialisation then calls the redraw handler for the mode 
    19322276void gui_redraw() 
    19332277{ 
    19342278    enum Gui_Mode gui_mode_old; 
    1935     static int show_md_grid=0; 
    19362279 
    19372280#ifdef CAM_DETECT_SCREEN_ERASE 
     
    19412284        gui_menu_force_redraw(); 
    19422285        gui_fselect_force_redraw(); 
     2286#ifdef CAM_TOUCHSCREEN_UI 
     2287        extern int redraw_buttons; 
     2288        redraw_buttons = 1; 
     2289#endif 
    19432290    } 
    19442291#endif 
     
    19492296    gui_mode_old = gui_mode; 
    19502297 
    1951     #if CAM_USES_ASPECT_CORRECTION //nandoide sept-2009 
     2298#if CAM_USES_ASPECT_CORRECTION //nandoide sept-2009 
    19522299    //the different modes arises because games are designed on a 360x240 basis and are difficult to downscale to 320x240 
    19532300    if (gui_mode == GUI_MODE_REVERSI || gui_mode == GUI_MODE_SOKOBAN || gui_mode == GUI_MODE_4WINS || gui_mode == GUI_MODE_MASTERMIND) { 
    19542301      draw_set_environment(aspect_xcorrection_games_360, aspect_ycorrection_games_360, GAMES_SCREEN_WIDTH, GAMES_SCREEN_HEIGHT); 
    19552302   } else { //default 
    1956 //      draw_set_environment(NULL, NULL, SCREENX, SCREENY); 
    19572303      draw_set_environment(NULL, NULL, vid_get_bitmap_screen_width(), vid_get_bitmap_screen_height()); 
    19582304   } 
    1959     #endif 
    1960     switch (gui_mode) { 
    1961         case GUI_MODE_MENU: 
    1962             gui_menu_draw(); 
    1963 //            draw_txt_string(20, 14, "<CNF>", MAKE_COLOR(COLOR_ALT_BG, COLOR_FG)); 
    1964             break; 
    1965         case GUI_MODE_ALT: 
    1966             gui_draw_osd(); 
    1967             draw_txt_string(20, 14, "<ALT>", MAKE_COLOR(COLOR_ALT_BG, COLOR_FG)); 
    1968 #ifdef OPT_SCRIPTING 
    1969             if ((mode_get()&MODE_MASK) == MODE_REC) { 
    1970                 draw_txt_string(0, 14, script_title, MAKE_COLOR(COLOR_ALT_BG, COLOR_FG)); 
    1971                 if (state_kbd_script_run) show_md_grid=5; 
    1972                 if (show_md_grid) { 
    1973                     --show_md_grid; 
    1974                     md_draw_grid(); 
    1975                 } 
    1976             } 
    1977 #endif 
    1978             console_draw(); 
    1979             break; 
    1980         case GUI_MODE_NONE: 
    1981             gui_draw_osd(); 
    1982             break; 
    1983         case GUI_MODE_PALETTE: 
    1984             gui_palette_draw(); 
    1985             break; 
    1986         case GUI_MODE_MBOX: 
    1987             gui_mbox_draw(); 
    1988             break; 
    1989 #ifdef OPT_GAME_REVERSI 
    1990         case GUI_MODE_REVERSI: 
    1991             gui_reversi_draw(); 
    1992             break; 
    1993 #endif 
    1994 #ifdef OPT_GAME_SOKOBAN 
    1995         case GUI_MODE_SOKOBAN: 
    1996             gui_sokoban_draw(); 
    1997             break; 
    1998 #endif 
    1999 #ifdef OPT_GAME_CONNECT4 
    2000         case GUI_MODE_4WINS: 
    2001             gui_4wins_draw(); 
    2002             break; 
    2003 #endif 
    2004 #ifdef OPT_GAME_MASTERMIND 
    2005         case GUI_MODE_MASTERMIND: 
    2006             gui_mastermind_draw(); 
    2007             break; 
    2008 #endif 
    2009 #ifdef OPT_DEBUGGING 
    2010         case GUI_MODE_DEBUG: 
    2011             gui_debug_draw(); 
    2012             break; 
    2013 #endif 
    2014         case GUI_MODE_FSELECT: 
    2015             gui_fselect_draw(); 
    2016             break; 
    2017 #ifdef OPT_TEXTREADER 
    2018         case GUI_MODE_READ: 
    2019             gui_read_draw(); 
    2020             break; 
    2021 #endif 
    2022         case GUI_MODE_OSD: 
    2023             gui_osd_draw(); 
    2024 //            draw_txt_string(20, 14, "<OSD>", MAKE_COLOR(COLOR_ALT_BG, COLOR_FG)); 
    2025             break; 
    2026 #ifdef OPT_CALENDAR 
    2027         case GUI_MODE_CALENDAR: 
    2028             gui_calendar_draw(); 
    2029             break; 
    2030 #endif 
    2031 #ifdef OPT_DEBUGGING 
    2032         case GUI_MODE_BENCH: 
    2033             gui_bench_draw(); 
    2034             break; 
    2035 #endif 
    2036         case GUI_MODE_MPOPUP: 
    2037             gui_mpopup_draw(); 
    2038             break; 
    2039         default: 
    2040             break; 
    2041     } 
    2042  
     2305#endif 
     2306 
     2307#ifdef CAM_TOUCHSCREEN_UI 
     2308    extern void virtual_buttons(); 
     2309    virtual_buttons(); 
     2310#endif 
     2311 
     2312    // Call redraw handler 
     2313    if (guiHandlers[gui_mode].redraw) guiHandlers[gui_mode].redraw(); 
     2314 
     2315    // Forced redraw if needed 
    20432316    gui_in_redraw = 0; 
    20442317    if ((gui_mode_old != gui_mode && (gui_mode_old != GUI_MODE_NONE && gui_mode_old != GUI_MODE_ALT) && (gui_mode != GUI_MODE_MBOX && gui_mode != GUI_MODE_MPOPUP)) || gui_restore) { 
     
    20502323} 
    20512324 
    2052 #ifdef OPTIONS_AUTOSAVE 
    2053 //------------------------------------------------------------------- 
    2054 static inline void conf_store_old_settings() { 
    2055     old_conf=conf; 
    2056 } 
    2057  
    2058 //------------------------------------------------------------------- 
    2059 static inline int conf_save_new_settings_if_changed() { 
    2060     if (memcmp(&old_conf, &conf, sizeof(Conf)) != 0) { 
    2061                 user_menu_save(); 
    2062         conf_save(); 
    2063         conf_store_old_settings(); 
    2064         return 1; 
    2065     } 
    2066     return 0; 
    2067 } 
    2068 #endif 
    2069  
    2070  
    2071 //------------------------------------------------------------------- 
     2325//------------------------------------------------------------------- 
     2326// Main kbd processing for GUI modes 
    20722327void gui_kbd_process() 
    20732328{ 
    2074     int clicked_key; 
    2075  
    2076     if (kbd_is_key_clicked(KEY_MENU)){ 
    2077         switch (gui_mode) { 
    2078             case GUI_MODE_ALT: 
    2079                                 if (conf.user_menu_as_root && (conf.user_menu_enable != 0)) { 
    2080                                 if (kbd_is_key_pressed(KEY_SHOOT_HALF)) 
    2081                                         gui_menu_init(&root_menu); 
    2082                                 else 
    2083                 gui_menu_init(&user_submenu); 
    2084                                 } 
    2085                                 else { 
    2086                                 if ((conf.user_menu_enable != 0) && kbd_is_key_pressed(KEY_SHOOT_HALF)) 
    2087                                         gui_menu_init(&user_submenu); 
    2088                                 else 
    2089                 gui_menu_init(&root_menu); 
    2090                                 } 
    2091                 gui_mode = GUI_MODE_MENU; 
    2092                 draw_restore(); 
    2093                 break; 
    2094             case GUI_MODE_MENU: 
    2095 #ifdef OPTIONS_AUTOSAVE 
    2096                 conf_save_new_settings_if_changed(); 
    2097 #endif 
    2098                                 if (gui_user_menu_flag) { 
    2099                         gui_mode = GUI_MODE_MENU; 
    2100                                         gui_user_menu_flag = 0; 
    2101                                         gui_menu_init(&root_menu); 
    2102                                 } 
    2103                                 else 
    2104                 gui_mode = GUI_MODE_ALT; 
    2105                 draw_restore(); 
    2106                 break; 
    2107             case GUI_MODE_PALETTE: 
    2108             case GUI_MODE_REVERSI: 
    2109             case GUI_MODE_SOKOBAN: 
    2110             case GUI_MODE_4WINS: 
    2111                         case GUI_MODE_MASTERMIND: 
    2112 #ifdef OPT_DEBUGGING 
    2113             case GUI_MODE_DEBUG: 
    2114 #endif 
    2115             case GUI_MODE_OSD: 
    2116 #ifdef OPT_CALENDAR 
    2117             case GUI_MODE_CALENDAR: 
    2118 #endif 
    2119             case GUI_MODE_BENCH: 
    2120                 draw_restore(); 
    2121                 gui_mode = GUI_MODE_MENU; 
    2122                 break; 
    2123             case GUI_MODE_FSELECT: 
    2124                 gui_fselect_kbd_process(); 
    2125                 break; 
    2126 #ifdef OPT_TEXTREADER 
    2127             case GUI_MODE_READ: 
    2128                 gui_read_kbd_process(); 
    2129                 draw_restore(); 
    2130                 gui_mode = GUI_MODE_MENU; 
    2131                 break; 
    2132 #endif 
    2133             default: 
    2134                 break; 
    2135         } 
     2329    // Call menu button handler if menu button pressed 
     2330    if (kbd_is_key_clicked(KEY_MENU)) 
     2331    { 
     2332        if (guiHandlers[gui_mode].kbd_process_menu_btn) guiHandlers[gui_mode].kbd_process_menu_btn(); 
    21362333        return; 
    21372334    } 
    21382335 
    2139     switch (gui_mode) { 
    2140         case GUI_MODE_ALT: 
    2141             if (kbd_is_key_clicked(SHORTCUT_TOGGLE_RAW)) { 
    2142                 if (conf.debug_shortcut_action > 0) { 
    2143 #ifdef OPT_DEBUGGING 
    2144                                         gui_debug_shortcut(); 
    2145 #endif 
    2146 } 
    2147 #if !CAM_HAS_ERASE_BUTTON && CAM_CAN_SD_OVERRIDE 
    2148                 else if (!shooting_get_common_focus_mode()) 
    2149 #else 
    2150                                 else 
    2151 #endif 
    2152                                    {conf.save_raw = !conf.save_raw; 
    2153                     draw_restore(); 
    2154                    } 
    2155 #if !CAM_HAS_ERASE_BUTTON && CAM_CAN_SD_OVERRIDE 
    2156                                 else { 
    2157    #if CAM_HAS_ZOOM_LEVER 
    2158                conf.subj_dist_override_value=MAX_DIST; 
    2159                shooting_set_focus(shooting_get_subject_distance_override_value(), SET_NOW); 
    2160    #else 
    2161                if (conf.subj_dist_override_koef==4) 
    2162                   gui_subj_dist_override_koef_enum(-3,0); 
    2163                else 
    2164                   gui_subj_dist_override_koef_enum(1,0); 
    2165    #endif 
    2166                                 } 
    2167 #endif 
    2168 #ifdef OPT_SCRIPTING 
    2169             } else if (kbd_is_key_clicked(KEY_SET)) { 
    2170                 gui_menu_init(&script_submenu); 
    2171                 gui_mode = GUI_MODE_MENU; 
    2172                 draw_restore(); 
    2173 #endif 
    2174             } else { 
    2175 #if !CAM_HAS_MANUAL_FOCUS && CAM_CAN_SD_OVERRIDE 
    2176                         if (kbd_is_key_clicked(SHORTCUT_MF_TOGGLE)) { 
    2177                               if (conf.subj_dist_override_koef>0) 
    2178                                      conf.subj_dist_override_koef=0; 
    2179                               else conf.subj_dist_override_koef=1; 
    2180                               draw_restore(); 
    2181                              } 
    2182                 else if (shooting_get_common_focus_mode()) 
    2183 #elif CAM_CAN_SD_OVERRIDE 
    2184                if (shooting_get_common_focus_mode()) 
    2185 #endif 
    2186  
    2187 #if CAM_CAN_SD_OVERRIDE 
    2188                           { 
    2189   #if CAM_HAS_ZOOM_LEVER 
    2190                                 if (kbd_is_key_clicked(KEY_RIGHT)) { 
    2191                                   gui_subj_dist_override_koef_enum(1,0); 
    2192     #if !CAM_HAS_MANUAL_FOCUS 
    2193                   if (conf.subj_dist_override_koef==0) conf.subj_dist_override_koef=1; 
    2194     #endif 
    2195                   shooting_set_focus(shooting_get_subject_distance_override_value(), SET_NOW); 
    2196                                   } 
    2197                                 else if (kbd_is_key_clicked(KEY_LEFT)) 
    2198                                   { 
    2199                                   gui_subj_dist_override_koef_enum(-1,0); 
    2200     #if !CAM_HAS_MANUAL_FOCUS 
    2201                   if (conf.subj_dist_override_koef==0) conf.subj_dist_override_koef=1; 
    2202     #endif 
    2203                   shooting_set_focus(shooting_get_subject_distance_override_value(), SET_NOW); 
    2204                                   } 
    2205                                 else if (kbd_is_key_clicked(SHORTCUT_SET_INFINITY)) 
    2206                                   { 
    2207                                   conf.subj_dist_override_value=MAX_DIST; 
    2208                   shooting_set_focus(shooting_get_subject_distance_override_value(), SET_NOW); 
    2209                                   } 
    2210                                 else 
    2211   #endif 
    2212                                 if (kbd_is_key_clicked(SHORTCUT_SET_HYPERFOCAL)) 
    2213                                   { 
    2214                                   int m=mode_get()&MODE_SHOOTING_MASK; 
    2215                                   if ((m==MODE_M) || (m==MODE_AV)) 
    2216                                     conf.subj_dist_override_value=(int)shooting_get_hyperfocal_distance_f(shooting_get_aperture_from_av96(shooting_get_user_av96()),get_focal_length(lens_get_zoom_point())); 
    2217                                   else conf.subj_dist_override_value=(int)shooting_get_hyperfocal_distance(); 
    2218                   shooting_set_focus(shooting_get_subject_distance_override_value(), SET_NOW); 
    2219                                   } 
    2220                                 else 
    2221                   switch (kbd_get_autoclicked_key()) { 
    2222   #if CAM_HAS_ZOOM_LEVER 
    2223                     case KEY_ZOOM_IN: 
    2224   #else 
    2225                     case KEY_RIGHT: 
    2226   #endif 
    2227                         gui_subj_dist_override_value_enum(1,0); 
    2228                         shooting_set_focus(shooting_get_subject_distance_override_value(),SET_NOW); 
    2229                         break; 
    2230   #if CAM_HAS_ZOOM_LEVER 
    2231                     case KEY_ZOOM_OUT: 
    2232   #else 
    2233                     case KEY_LEFT: 
    2234   #endif 
    2235                         gui_subj_dist_override_value_enum(-1,0); 
    2236                         shooting_set_focus(shooting_get_subject_distance_override_value(), SET_NOW); 
    2237                         break; 
    2238                   } 
    2239               } 
    2240 #endif 
    2241             } 
    2242             break; 
    2243         case GUI_MODE_MENU: 
    2244             gui_menu_kbd_process(); 
    2245             break; 
    2246         case GUI_MODE_PALETTE: 
    2247             gui_palette_kbd_process(); 
    2248             break; 
    2249         case GUI_MODE_MBOX: 
    2250             gui_mbox_kbd_process(); 
    2251             break; 
    2252 #ifdef OPT_GAME_REVERSI 
    2253         case GUI_MODE_REVERSI: 
    2254             gui_reversi_kbd_process(); 
    2255             break; 
    2256 #endif 
    2257 #ifdef OPT_GAME_SOKOBAN 
    2258         case GUI_MODE_SOKOBAN: 
    2259             gui_sokoban_kbd_process(); 
    2260             break; 
    2261 #endif 
    2262 #ifdef OPT_GAME_CONNECT4 
    2263         case GUI_MODE_4WINS: 
    2264             gui_4wins_kbd_process(); 
    2265             break; 
    2266 #endif 
    2267 #ifdef OPT_GAME_MASTERMIND 
    2268         case GUI_MODE_MASTERMIND: 
    2269             gui_mastermind_kbd_process(); 
    2270             break; 
    2271 #endif 
    2272 #ifdef OPT_DEBUGGING 
    2273         case GUI_MODE_DEBUG: 
    2274             gui_debug_kbd_process(); 
    2275             break; 
    2276 #endif 
    2277         case GUI_MODE_FSELECT: 
    2278             gui_fselect_kbd_process(); 
    2279             break; 
    2280 #ifdef OPT_TEXTREADER 
    2281         case GUI_MODE_READ: 
    2282             gui_read_kbd_process(); 
    2283             break; 
    2284 #endif 
    2285         case GUI_MODE_OSD: 
    2286             gui_osd_kbd_process(); 
    2287             break; 
    2288 #ifdef OPT_CALENDAR 
    2289         case GUI_MODE_CALENDAR: 
    2290             gui_calendar_kbd_process(); 
    2291             break; 
    2292 #endif 
    2293 #ifdef OPT_DEBUGGING 
    2294         case GUI_MODE_BENCH: 
    2295             gui_bench_kbd_process(); 
    2296             break; 
    2297 #endif 
    2298         case GUI_MODE_MPOPUP: 
    2299             gui_mpopup_kbd_process(); 
    2300              break; 
    2301         default: 
    2302             break; 
    2303     } 
     2336    // Call mode handler for other buttons 
     2337    if (guiHandlers[gui_mode].kbd_process) guiHandlers[gui_mode].kbd_process(); 
    23042338} 
    23052339 
     
    23112345    conf_store_old_settings(); 
    23122346#endif 
    2313     gui_mode = GUI_MODE_ALT; 
     2347    gui_set_mode(GUI_MODE_ALT); 
    23142348 
    23152349        conf_update_prevent_shutdown(); 
     
    23202354        if (conf.user_menu_enable == 2) { 
    23212355                gui_menu_init(&user_submenu); 
    2322                 gui_mode = GUI_MODE_MENU; 
     2356                gui_set_mode(GUI_MODE_MENU); 
    23232357                draw_restore(); 
    23242358                gui_user_menu_flag = 1; 
     
    23422376    rbf_set_codepage(FONT_CP_WIN); 
    23432377    vid_turn_on_updates(); 
    2344     gui_mode = GUI_MODE_NONE; 
     2378    gui_set_mode(GUI_MODE_NONE); 
    23452379 
    23462380        conf_update_prevent_shutdown(); 
     
    23812415 
    23822416#if CAM_EV_IN_VIDEO 
    2383  if ((movie_status==VIDEO_RECORD_IN_PROGRESS) && !kbd_is_key_pressed(KEY_SHOOT_HALF)){ 
    2384   #if CAM_HAS_ERASE_BUTTON 
    2385   if (kbd_is_key_clicked(KEY_ERASE)){ 
    2386   #else 
    2387   #if !defined (CAMERA_a480) 
    2388   if (kbd_is_key_clicked(KEY_DISPLAY)){ 
    2389   #else 
    2390   if (kbd_is_key_clicked(KEY_MENU)){ 
    2391   #endif 
    2392   #endif 
    2393    set_ev_video_avail(!get_ev_video_avail()); 
    2394   } 
    2395   if (get_ev_video_avail()) { 
    2396    if (kbd_is_key_clicked(KEY_LEFT)) { 
    2397     set_ev_video(get_ev_video()-1); 
    2398    } 
    2399    if (kbd_is_key_clicked(KEY_RIGHT)){ 
    2400     set_ev_video(get_ev_video()+1); 
    2401    } 
    2402   } 
    2403  } 
     2417    if ((movie_status==VIDEO_RECORD_IN_PROGRESS) && !kbd_is_key_pressed(KEY_SHOOT_HALF)){ 
     2418#if CAM_HAS_ERASE_BUTTON 
     2419        if (kbd_is_key_clicked(KEY_ERASE)){ 
     2420#else 
     2421#if !defined (CAMERA_a480) 
     2422        if (kbd_is_key_clicked(KEY_DISPLAY)){ 
     2423#else 
     2424        if (kbd_is_key_clicked(KEY_MENU)){ 
     2425#endif 
     2426#endif 
     2427            set_ev_video_avail(!get_ev_video_avail()); 
     2428#ifdef CAM_TOUCHSCREEN_UI 
     2429            redraw_buttons = 1; 
     2430#endif 
     2431        } 
     2432        if (get_ev_video_avail()) { 
     2433            if (kbd_is_key_clicked(KEY_LEFT)) { 
     2434                set_ev_video(get_ev_video()-1); 
     2435            } 
     2436            if (kbd_is_key_clicked(KEY_RIGHT)){ 
     2437                set_ev_video(get_ev_video()+1); 
     2438            } 
     2439        } 
     2440    } 
    24042441#endif 
    24052442} 
     
    24092446 
    24102447#if defined(OPT_EXMEM_TESTING) 
    2411         // If defined the exmem memory is allocated; but not used for CHDK. 
    2412         // It is filled with a guard value (see wrappers.c) which is checked here 
    2413     // Any corruption is reported, otherwise 'OK' is displayed on screen (along with the exmem memory start address). 
    2414         extern void *exmem_start, *exmem_end; 
    2415         // check exmem allocated memory for corruption 
    2416         unsigned long* p = (unsigned long*)exmem_start; 
    2417         unsigned long *f = 0, *l = 0; 
    2418         long cnt = 0; 
    2419         while (p < (unsigned long*)exmem_end) 
    2420         { 
    2421                 if (p[0] != 0xDEADBEEF) 
    2422                 { 
    2423                         l = p; 
    2424                         if (f == 0) f = p; 
    2425                         cnt++; 
    2426                 } 
    2427                 p++; 
    2428         } 
    2429         if (cnt != 0) 
    2430         { 
    2431                 sprintf(osd_buf, "s:%8x e:%8x", exmem_start, exmem_end); 
    2432                 draw_txt_string(2, 12, osd_buf, conf.osd_color); 
    2433                 sprintf(osd_buf, "f:%8x l:%8x c:%d", f, l, cnt); 
    2434         } 
    2435         else 
    2436         { 
    2437                 sprintf(osd_buf, "OK 0x%x", exmem_start); 
    2438         } 
    2439         draw_txt_string(2, 13, osd_buf, conf.osd_color); 
    2440         // end of check  
     2448    // Only do memory corruption testing if not recording video 
     2449    if (!MODE_IS_VIDEO(mode_get())) 
     2450    { 
     2451            // If defined the exmem memory is allocated; but not used for CHDK. 
     2452            // It is filled with a guard value (see wrappers.c) which is checked here 
     2453        // Any corruption is reported, otherwise 'OK' is displayed on screen (along with the exmem memory start address). 
     2454            extern void *exmem_start, *exmem_end; 
     2455            // check exmem allocated memory for corruption 
     2456            unsigned long* p = (unsigned long*)exmem_start; 
     2457            unsigned long *f = 0, *l = 0; 
     2458            long cnt = 0; 
     2459            while (p < (unsigned long*)exmem_end) 
     2460            { 
     2461                    if (p[0] != 0xDEADBEEF) 
     2462                    { 
     2463                            l = p; 
     2464                            if (f == 0) f = p; 
     2465                            cnt++; 
     2466                    } 
     2467                    p++; 
     2468            } 
     2469            if (cnt != 0) 
     2470            { 
     2471                    sprintf(osd_buf, "s:%8x e:%8x", exmem_start, exmem_end); 
     2472                    draw_txt_string(2, 12, osd_buf, conf.osd_color); 
     2473                    sprintf(osd_buf, "f:%8x l:%8x c:%d", f, l, cnt); 
     2474            } 
     2475            else 
     2476            { 
     2477                    sprintf(osd_buf, "OK 0x%x", exmem_start); 
     2478            } 
     2479            draw_txt_string(2, 13, osd_buf, conf.osd_color); 
     2480            // end of check      
     2481    } 
    24412482#endif 
    24422483 
     
    27512792    draw_restore(); 
    27522793    gui_palette_init(PALETTE_MODE_DEFAULT, 0x00, NULL); 
    2753     gui_mode = GUI_MODE_PALETTE; 
     2794    gui_set_mode(GUI_MODE_PALETTE); 
    27542795} 
    27552796 
     
    27912832      draw_set_environment(aspect_xcorrection_games_360, aspect_ycorrection_games_360, GAMES_SCREEN_WIDTH, GAMES_SCREEN_HEIGHT); 
    27922833    #endif 
    2793     gui_mode = GUI_MODE_REVERSI; 
     2834    gui_set_mode(GUI_MODE_REVERSI); 
    27942835    gui_reversi_init(); 
    27952836} 
     
    28082849    #endif 
    28092850    if ( gui_sokoban_init() ) 
    2810         gui_mode = GUI_MODE_SOKOBAN; 
     2851        gui_set_mode(GUI_MODE_SOKOBAN); 
    28112852} 
    28122853#endif 
     
    28232864    #endif 
    28242865    if ( gui_4wins_init() ) 
    2825         gui_mode = GUI_MODE_4WINS; 
     2866        gui_set_mode(GUI_MODE_4WINS); 
    28262867} 
    28272868#endif 
     
    28382879    #endif 
    28392880   if ( gui_mastermind_init() ) 
    2840         gui_mode = GUI_MODE_MASTERMIND; 
     2881        gui_set_mode(GUI_MODE_MASTERMIND); 
    28412882} 
    28422883#endif 
     
    28542895#ifdef OPT_DEBUGGING 
    28552896void gui_draw_bench(int arg) { 
    2856     gui_mode = GUI_MODE_BENCH; 
     2897    gui_set_mode(GUI_MODE_BENCH); 
    28572898    gui_bench_init(); 
    28582899} 
     
    29432984//------------------------------------------------------------------- 
    29442985void gui_draw_osd_le(int arg) { 
    2945     gui_mode = GUI_MODE_OSD; 
     2986    gui_set_mode(GUI_MODE_OSD); 
    29462987    gui_osd_init(); 
    29472988} 
     
    29542995            rbf_load_from_8x16(current_font); 
    29552996        rbf_set_codepage(conf.reader_codepage); 
    2956         gui_mode = GUI_MODE_READ; 
     2997        gui_set_mode(GUI_MODE_READ); 
    29572998        gui_read_init(fn); 
    29582999    } 
     
    29893030void gui_menuproc_mkbootdisk(int arg) { 
    29903031    mark_filesystem_bootable(); 
     3032    gui_mbox_init(LANG_INFORMATION, LANG_CONSOLE_TEXT_FINISHED, MBOX_BTN_OK|MBOX_TEXT_CENTER, NULL); 
    29913033} 
    29923034 
     
    30213063#ifdef OPT_CALENDAR 
    30223064void gui_draw_calendar(int arg) { 
    3023     gui_mode = GUI_MODE_CALENDAR; 
     3065    gui_set_mode(GUI_MODE_CALENDAR); 
    30243066    gui_calendar_init(); 
    30253067} 
    30263068#endif 
    30273069//------------------------------------------------------------------- 
     3070#ifdef OPT_TEXTREADER 
    30283071static void gui_draw_rbf_selected(const char *fn) { 
    30293072    if (fn) { 
     
    30313074    } 
    30323075} 
    3033 #ifdef OPT_TEXTREADER 
    30343076void gui_draw_load_rbf(int arg) { 
    30353077    DIR   *d; 
  • branches/philmoz/core/gui_draw.c

    r1320 r1321  
    317317    draw_rectangle(x1,y1,x2,y2,cl&0xff,1); 
    318318}  
     319 
     320void draw_round_rect_thick(coord x1, coord y1, coord x2, coord y2, color cl, int thickness) {  
     321    int i; 
     322    cl = cl & 0xff; 
     323    draw_rectangle(x1,y1,x2,y2,cl,1); 
     324    for (i=1; i<thickness; i++) 
     325    { 
     326        draw_rectangle(x1+i,y1+i,x2-i,y2-i,cl,0); 
     327    } 
     328}  
    319329//------------------------------------------------------------------- 
    320330static void fill_rect(color cl) { 
     
    344354void draw_filled_round_rect(coord x1, coord y1, coord x2, coord y2, color cl) {  
    345355    draw_round_rect(x1, y1, x2, y2, cl);  
     356    fill_rect(cl); 
     357}  
     358 
     359void draw_filled_round_rect_thick(coord x1, coord y1, coord x2, coord y2, color cl, int thickness) {  
     360    draw_round_rect_thick(x1, y1, x2, y2, cl, thickness);  
    346361    fill_rect(cl); 
    347362}  
     
    418433#ifdef CAM_DETECT_SCREEN_ERASE 
    419434    draw_set_guard(); 
     435#ifdef CAM_TOUCHSCREEN_UI 
     436    extern int redraw_buttons; 
     437    redraw_buttons = 1; 
     438#endif 
    420439#endif 
    421440} 
  • branches/philmoz/core/gui_draw.h

    r1320 r1321  
    366366#define COLOR_HISTO_RG_PLAY COLOR_YELLOW 
    367367 
     368#elif CAM_BITMAP_PALETTE==12    //(IXUS 310) 
     369#define COLOR_TRANSPARENT   0x00 
     370#define COLOR_WHITE         0x01 
     371#define COLOR_RED           0x1e 
     372#define COLOR_GREY          0x1a 
     373#define COLOR_GREEN         0x17 
     374#define COLOR_BLUE_LT       0x10 
     375#define COLOR_BLUE          0x14 
     376#define COLOR_YELLOW        0x16 
     377#define COLOR_BLACK         0xFF 
     378#define COLOR_BG            0x1b 
     379#define COLOR_FG            COLOR_WHITE 
     380#define COLOR_SELECTED_BG   0x0e 
     381#define COLOR_SELECTED_FG   COLOR_BLACK 
     382#define COLOR_ALT_BG        COLOR_BG 
     383#define COLOR_SPLASH_RED    COLOR_RED 
     384#define COLOR_SPLASH_PINK   0x1e                        // Orange 
     385#define COLOR_SPLASH_GREY   0x16 
     386#define COLOR_HISTO_R       0x7a 
     387#define COLOR_HISTO_R_PLAY  0x8f 
     388#define COLOR_HISTO_B       0x7b 
     389#define COLOR_HISTO_B_PLAY  0x90 
     390#define COLOR_HISTO_G       0x7d 
     391#define COLOR_HISTO_G_PLAY      0x91 
     392#define COLOR_HISTO_BG      COLOR_BLUE_LT 
     393#define COLOR_HISTO_RG      COLOR_YELLOW 
     394#define COLOR_HISTO_RB      COLOR_RED 
     395#define COLOR_HISTO_RB_PLAY COLOR_HISTO_RB 
     396#define COLOR_HISTO_BG_PLAY COLOR_BLUE_LT 
     397#define COLOR_HISTO_RG_PLAY COLOR_YELLOW 
     398#undef SCREEN_COLOR 
     399#define SCREEN_COLOR            0x1D 
     400 
    368401#else 
    369402#error CAM_BITMAP_PALETTE not defined 
     
    398431extern void draw_rect_shadow(coord x1, coord y1, coord x2, coord y2, color cl, int thickness); 
    399432extern void draw_round_rect(coord x1, coord y1, coord x2, coord y2, color cl); 
     433extern void draw_round_rect_thick(coord x1, coord y1, coord x2, coord y2, color cl, int thickness); 
    400434// color: hi_byte - BG; lo_byte - FG 
    401435extern void draw_filled_rect(coord x1, coord y1, coord x2, coord y2, color cl); 
    402436extern void draw_filled_rect_thick(coord x1, coord y1, coord x2, coord y2, color cl, int thickness); 
    403437extern void draw_filled_round_rect(coord x1, coord y1, coord x2, coord y2, color cl); 
     438extern void draw_filled_round_rect_thick(coord x1, coord y1, coord x2, coord y2, color cl, int thickness); 
    404439 
    405440extern void draw_char(coord x, coord y, const char ch, color cl); 
  • branches/philmoz/core/gui_lang.c

    r1045 r1321  
    583583"460 \"You need to be in REC-mode\\nfor this operation.\"\n" 
    584584"461 \"%s disabled in build\"\n" 
     585 
     586// Touch screen 
     587"462 \"Touchscreen overrides\"\n" 
     588"463 \"Video AE Controls\"\n" 
     589"464 \"<Alt> Shortcut Buttons\"\n" 
    585590; 
    586591 
  • branches/philmoz/core/gui_lang.h

    r1045 r1321  
    571571#define LANG_MENU_BADPIXEL_CREATE  459 
    572572#define LANG_MSG_RECMODE_REQUIRED  460 
    573 #define LANG_CONSOLE_SCRIPT_DISABLED_IN_BUILD  461 
     573#define LANG_CONSOLE_SCRIPT_DISABLED_IN_BUILD 461 
    574574//------------------------------------------------------------------- 
    575  
    576 #define GUI_LANG_ITEMS                  461 
     575// Touch screen 
     576#define LANG_MENU_TOUCHSCREEN_VALUES        462 
     577#define LANG_MENU_TS_VIDEO_AE_DISABLE       463 
     578#define LANG_MENU_TS_ALT_SHORTCUTS_DISABLE  464 
     579//------------------------------------------------------------------- 
     580 
     581#define GUI_LANG_ITEMS                  464 
    577582 
    578583//------------------------------------------------------------------- 
  • branches/philmoz/core/gui_palette.c

    r1234 r1321  
    6565 
    6666void gui_palette_draw() { 
    67     unsigned int x, y; 
     67    unsigned int x, y, xl, xr; 
    6868    char f=0; 
    6969    color c; 
    7070    static char buf[64]; 
    7171 
     72    xl = CAM_TS_BUTTON_BORDER; 
     73    xr = screen_width - CAM_TS_BUTTON_BORDER; 
     74 
    7275    if (gui_palette_redraw) 
    7376    { 
    7477        // Draw top text line - current color + instructions 
    75         draw_string(screen_width-29*FONT_WIDTH, 0, "    Use \x18\x19\x1b\x1a to change color ", MAKE_COLOR(COLOR_BLACK, COLOR_WHITE)); 
     78        draw_string(xr-29*FONT_WIDTH, 0, "    Use \x18\x19\x1b\x1a to change color ", MAKE_COLOR(COLOR_BLACK, COLOR_WHITE)); 
    7679        sprintf(buf, " %s: 0x%02hX    ", lang_str(LANG_PALETTE_TEXT_COLOR), (unsigned char)cl); 
    77         draw_txt_string(0, 0, buf, MAKE_COLOR(COLOR_BLACK, COLOR_WHITE)); 
     80        draw_string(xl, 0, buf, MAKE_COLOR(COLOR_BLACK, COLOR_WHITE)); 
    7881 
    7982        // Draw Palette color boxes 
     
    8386            for (x=DISP_LEFT; x<DISP_RIGHT; x+=CELL_SIZE, c+=0x0100) 
    8487            { 
    85                 draw_filled_rect(x, y, x+CELL_SIZE, y+CELL_SIZE, c); 
     88                draw_filled_rect(xl+x, y, xl+x+CELL_SIZE, y+CELL_SIZE, c); 
    8689            } 
    8790        } 
    8891 
    8992        // Draw gray borders 
    90         draw_rect_thick(0, DISP_TOP-BORDER_SIZE, screen_width-1, screen_height-1, COLOR_GREY, BORDER_SIZE); // outer border 
    91         draw_filled_rect(DISP_RIGHT+1, DISP_TOP, DISP_RIGHT+BORDER_SIZE, DISP_BOTTOM, MAKE_COLOR(COLOR_GREY, COLOR_GREY)); //middle 
     93        draw_rect_thick(xl, DISP_TOP-BORDER_SIZE, xr-1, screen_height-1, COLOR_GREY, BORDER_SIZE); // outer border 
     94        draw_filled_rect(xl+DISP_RIGHT+1, DISP_TOP, xl+DISP_RIGHT+BORDER_SIZE, DISP_BOTTOM, MAKE_COLOR(COLOR_GREY, COLOR_GREY)); //middle 
    9295 
    93         // Co-ordintate of selected color 
     96        // Co-ordinate of selected color 
    9497        y = DISP_TOP + ((cl>>4)&0x0F) * CELL_SIZE; 
    9598        x = DISP_LEFT + (cl&0x0F) * CELL_SIZE; 
    9699 
    97100        // Highlight selected color 
    98         draw_filled_rect_thick(x-CELL_ZOOM, y-CELL_ZOOM, x+CELL_SIZE+CELL_ZOOM, y+CELL_SIZE+CELL_ZOOM, MAKE_COLOR(cl, COLOR_RED), 2); 
     101        draw_filled_rect_thick(xl+x-CELL_ZOOM, y-CELL_ZOOM, xl+x+CELL_SIZE+CELL_ZOOM, y+CELL_SIZE+CELL_ZOOM, MAKE_COLOR(cl, COLOR_RED), 2); 
    99102 
    100103        // Fill 'sample' area with selected color 
    101         draw_filled_rect(DISP_RIGHT+BORDER_SIZE+1, DISP_TOP, screen_width-BORDER_SIZE-1, DISP_BOTTOM, MAKE_COLOR(cl, COLOR_WHITE)); 
     104        draw_filled_rect(xl+DISP_RIGHT+BORDER_SIZE+1, DISP_TOP, xr-BORDER_SIZE-1, DISP_BOTTOM, MAKE_COLOR(cl, COLOR_WHITE)); 
    102105 
    103106        gui_palette_redraw = 0; 
  • branches/philmoz/core/kbd.c

    r1320 r1321  
    9292static int nTxtbl[]={0,2,4,6,8,10,12,13}; 
    9393#endif 
    94 // ------ add by Masuji SUTO (end)   -------------- 
     94 
    9595#if defined(CAMERA_sx100is) || defined(CAMERA_sx110is) 
    9696#define ZSTEP_TABLE_SIZE 8 
     
    112112static int nTxtbl[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13}; 
    113113#endif 
     114 
     115#if defined(CAMERA_ixus310_elph500hs) 
     116#define ZSTEP_TABLE_SIZE 9 
     117static int nTxtbl[]={0,8,16,24,32,40,48,56,64}; 
     118#endif 
     119 
    114120#if defined(CAMERA_s90) || defined(CAMERA_s95) 
    115121#define ZSTEP_TABLE_SIZE 10 
    116122static int nTxtbl[]={0,1,2,3,4,5,6,7,8,9}; 
    117123#endif 
     124// ------ add by Masuji SUTO (end)   -------------- 
    118125 
    119126#ifdef OPT_SCRIPTING 
     
    209216        return 1; 
    210217    } 
     218 
     219#ifdef CAM_TOUCHSCREEN_UI 
     220    extern int ts_process_touch(); 
     221    if (ts_process_touch()) 
     222    { 
     223        extern void draw_restore(); 
     224        draw_restore(); 
     225    } 
     226#endif 
    211227 
    212228    // deals with the rest 
  • branches/philmoz/core/luascript.c

    r1320 r1321  
    14391439  return switch_mode_usb(mode); 
    14401440} 
    1441   
    1442 #ifdef CAM_CHDK_PTP 
    1443 // PTP Live View functions 
    1444  
    1445 // Function used to get viewport, bitmap and palette data via PTP 
    1446 // Address of this function sent back to client program which then 
    1447 // calls this with options to determine what to transfer 
    1448 static int handle_video_transfer(ptp_data *data, int flags, int arg2) 
    1449 { 
    1450     int total_size;             // Calculated total size of data to transfer to client 
    1451  
    1452     // Structure containing the info for the current live view frame 
    1453     // This information may change across calls 
    1454     struct { 
    1455         int vp_xoffset;             // Viewport X offset in pixels (for cameras with variable image size) 
    1456         int vp_yoffset;             // Viewpoer Y offset in pixels (for cameras with variable image size) 
    1457         int vp_width;               // Actual viewport width in pixels (for cameras with variable image size) 
    1458         int vp_height;              // Actual viewport height in pixels (for cameras with variable image size) 
    1459         int vp_buffer_start;        // Offset in data transferred where the viewport data starts 
    1460         int vp_buffer_size;         // Size of viewport data sent (in bytes) 
    1461         int bm_buffer_start;        // Offset in data transferred where the bitmap data starts 
    1462         int bm_buffer_size;         // Size of bitmap data sent (in bytes) 
    1463         int palette_type;           // Camera palette type  
    1464                                     // (0 = no palette, 1 = 16 x 4 byte AYUV values, 2 = 16 x 4 byte AYUV values with A = 0..3, 3 = 256 x 4 byte AYUV values with A = 0..3) 
    1465         int palette_buffer_start;   // Offset in data transferred where the palette data starts 
    1466         int palette_buffer_size;    // Size of palette data sent (in bytes) 
    1467     } vid_info; 
    1468  
    1469     // Populate the above structure with the current default details 
    1470     vid_info.vp_xoffset = vid_get_viewport_xoffset_proper(); 
    1471     vid_info.vp_yoffset = vid_get_viewport_yoffset_proper(); 
    1472     vid_info.vp_width = vid_get_viewport_width_proper(); 
    1473     vid_info.vp_height = vid_get_viewport_height_proper(); 
    1474     vid_info.vp_buffer_start = 0; 
    1475     vid_info.vp_buffer_size = 0; 
    1476     vid_info.bm_buffer_start = 0; 
    1477     vid_info.bm_buffer_size = 0; 
    1478     vid_info.palette_type = vid_get_palette_type(); 
    1479     vid_info.palette_buffer_start = 0; 
    1480     vid_info.palette_buffer_size = 0; 
    1481  
    1482     total_size = sizeof(vid_info); 
    1483  
    1484     // Add viewport details if requested 
    1485     if ( flags & 0x1 ) // live buffer 
    1486     { 
    1487         vid_info.vp_buffer_start = total_size; 
    1488         vid_info.vp_buffer_size = (vid_get_viewport_buffer_width_proper()*vid_get_viewport_max_height()*6)/4; 
    1489         total_size += vid_info.vp_buffer_size; 
    1490     } 
    1491  
    1492     // Add bitmap details if requested 
    1493     if ( flags & 0x4 ) // bitmap buffer 
    1494     { 
    1495         vid_info.bm_buffer_start = total_size; 
    1496         vid_info.bm_buffer_size = vid_get_bitmap_buffer_width()*vid_get_bitmap_screen_height(); 
    1497         total_size += vid_info.bm_buffer_size; 
    1498     } 
    1499  
    1500     // Add palette detals if requested 
    1501     if ( flags & 0x8 ) // bitmap palette 
    1502     { 
    1503         vid_info.palette_buffer_start = total_size; 
    1504         vid_info.palette_buffer_size = vid_get_palette_size(); 
    1505         total_size += vid_info.palette_buffer_size; 
    1506     } 
    1507  
    1508     // Send header structure (along with total size to be sent) 
    1509     data->send_data(data->handle,(char*)&vid_info,sizeof(vid_info),total_size,0,0,0); 
    1510  
    1511     // Send viewport data if requested 
    1512     if ( flags & 0x1 ) 
    1513     { 
    1514         data->send_data(data->handle,vid_get_viewport_active_buffer(),vid_info.vp_buffer_size,0,0,0,0); 
    1515     } 
    1516  
    1517     // Send bitmap data if requested 
    1518     if ( flags & 0x4 ) 
    1519     { 
    1520         data->send_data(data->handle,vid_get_bitmap_active_buffer(),vid_info.bm_buffer_size,0,0,0,0); 
    1521     } 
    1522  
    1523     // Send palette data if requested 
    1524     if ( flags & 0x8 ) 
    1525     { 
    1526         data->send_data(data->handle,vid_get_bitmap_active_palette(),vid_info.palette_buffer_size,0,0,0,0); 
    1527     } 
    1528  
    1529     return 0; 
    1530 } 
    1531  
    1532 // Lua function to return base info for PTP live view, including address of above transfer function 
    1533 static int luaCB_get_video_details( lua_State* L ) 
    1534 { 
    1535     // Structure to popualate with live view details 
    1536     // These details are static and only need to be retrieved once 
    1537     struct { 
    1538         int transfer_function;      // Address of transfer function above 
    1539         int vp_max_width;           // Maximum viewport width (in pixels) 
    1540         int vp_max_height;          // Maximum viewport height (in pixels) 
    1541         int vp_buffer_width;        // Viewport buffer width in case buffer is wider than visible viewport (in pixels) 
    1542         int bm_max_width;           // Maximum width of bitmap (in pixels) 
    1543         int bm_max_height;          // Maximum height of bitmap (in pixels) 
    1544         int bm_buffer_width;        // Bitmap buffer width in case buffer is wider than visible bitmap (in pixels) 
    1545         int lcd_aspect_ratio;       // 0 = 4:3, 1 = 16:9 
    1546     } details; 
    1547  
    1548     // Populate structure info 
    1549     details.transfer_function = (int) handle_video_transfer; 
    1550     details.vp_max_width = vid_get_viewport_max_width(); 
    1551     details.vp_max_height = vid_get_viewport_max_height(); 
    1552     details.vp_buffer_width = vid_get_viewport_buffer_width_proper(); 
    1553 #if CAM_USES_ASPECT_CORRECTION 
    1554     details.bm_max_width = ASPECT_XCORRECTION(vid_get_bitmap_screen_width()); 
    1555 #else 
    1556     details.bm_max_width = vid_get_bitmap_screen_width(); 
    1557 #endif 
    1558     details.bm_max_height = vid_get_bitmap_screen_height(); 
    1559     details.bm_buffer_width = vid_get_bitmap_buffer_width(); 
    1560     details.lcd_aspect_ratio = vid_get_aspect_ratio(); 
    1561  
    1562     // Send data back to client 
    1563     lua_pushlstring( L, (char *) &details, sizeof(details) ); 
    1564  
    1565     return 1; 
    1566 } 
    1567 #endif 
    15681441 
    15691442/* 
     
    19981871   FUNC(set_record) 
    19991872   FUNC(switch_mode_usb) 
    2000 #ifdef CAM_CHDK_PTP 
    2001    FUNC(get_video_details) 
    2002 #endif 
    20031873 
    20041874#ifdef OPT_LUA_CALL_NATIVE 
  • branches/philmoz/core/ptp.c

    r1320 r1321  
    88 
    99#include "core.h" 
    10    
     10#include "live_view.h" 
     11 
    1112static int buf_size=0; 
    1213 
     
    289290 
    290291    case PTP_CHDK_CallFunction: 
    291       if ( (param2 & 0x1) == 0 ) 
    292292      { 
    293293        int s; 
     
    311311 
    312312        free(buf); 
    313         break; 
    314       } else { // if ( (param2 & 0x1) != 0 ) 
    315         ptp.num_param = 1; 
    316         ptp.param1 = ((int (*)(ptp_data*,int,int)) param3)(data,param4,param5); 
    317313        break; 
    318314      } 
     
    623619#endif 
    624620 
     621    case PTP_CHDK_GetHandler: 
     622// Define which handler function to return the address of 
     623        ptp.num_param = 1; 
     624        ptp.param1 = 0; 
     625        switch (param2) 
     626        { 
     627        case PTP_CHDK_LIVE_VIEW_HANDLER_ID: 
     628            ptp.param1 = (int) live_view_data_handler; 
     629            break; 
     630        } 
     631        break; 
     632 
     633    case PTP_CHDK_CallHandler: 
     634        ptp.num_param = 1; 
     635        ptp.param1 = ((int (*)(ptp_data*,int,int)) param2)(data,param3,param4); 
     636        break; 
     637 
    625638    default: 
    626639      ptp.code = PTP_RC_ParameterNotSupported; 
  • branches/philmoz/core/ptp.h

    r1320 r1321  
    22#define __CHDK_PTP_H 
    33#define PTP_CHDK_VERSION_MAJOR 2  // increase only with backwards incompatible changes (and reset minor) 
    4 #define PTP_CHDK_VERSION_MINOR 1  // increase with extensions of functionality 
     4#define PTP_CHDK_VERSION_MINOR 2  // increase with extensions of functionality 
    55/* 
    66protocol version history 
     
    3131                            // param3 is size (in bytes) 
    3232                            // data is new memory block 
    33   PTP_CHDK_CallFunction,    // param2 are flags: 0x1 means use rest of params for pointer and args to allow function to send back data 
    34                             // (return) data is either: 
    35                             //   - array of function pointer and (long) arguments if flag 0x1 is not set  (max: 10 args) 
    36                             //   - return data provided by called function if flag 0x1 is set 
     33  PTP_CHDK_CallFunction,    // data is array of function pointer and (long) arguments  (max: 10 args) 
    3734                            // return param1 is return value 
    3835  PTP_CHDK_TempData,        // data is data to be stored for later 
     
    6764                            // input messages do not have type or subtype, they are always a string destined for the script (similar to USER/string) 
    6865                            // output param1 is ptp_chdk_script_msg_status 
     66  PTP_CHDK_GetHandler,      // Get the function address of a custom handler. 
     67                            //   param2 = ID of custom handler to return 
     68                            //   output param1 = custom handler address (0 if not implemented 
     69  PTP_CHDK_CallHandler,     // Call a custom handler function 
     70                            //   param2 = handler address to call 
     71                            //   param3 & param4 = parameters to pass to handler function 
     72                            //   output param1 = return value from handler function 
    6973}; 
    7074 
     
    121125    PTP_CHDK_S_MSGSTATUS_BADID,  // specified ID is not running 
    122126}; 
     127 
     128// function handler id 
     129enum ptp_chdk_handler_id { 
     130    PTP_CHDK_LIVE_VIEW_HANDLER_ID = 1,  // Live View handler 
     131}; 
    123132#endif // __CHDK_PTP_H 
  • branches/philmoz/core/raw.c

    r1247 r1321  
    117117    int i; 
    118118    if (gamma[255]) return; 
    119 #if defined(CAMERA_sx30) || defined(CAMERA_g12) 
     119#if defined(CAMERA_sx30) || defined(CAMERA_g12) || defined(CAMERA_ixus310_elph500hs) 
    120120    for (i=0; i<12; i++) gamma[i]=255*pow(i/255.0, 0.5); 
    121121    for (i=12; i<64; i++) gamma[i]=255*pow(i/255.0, 0.4); 
  • branches/philmoz/include/camera.h

    r1320 r1321  
    6363                                                // The guard pixel is the first pixel of the top row in the screen bitmap. 
    6464 
     65#undef  CAM_TOUCHSCREEN_UI                      // Define to enable touch screen U/I (e.g. IXUS 310 HS) 
     66#define CAM_TS_BUTTON_BORDER        0           // Define this to leave a border on each side of the OSD display for touch screen buttons. 
     67                                                // Used on the IXUS 310 to stop the OSD from overlapping the on screen buttons on each side 
     68#define CAM_DISP_ALT_TEXT           1           // Display the '<ALT>' message at the bottom of the screen in ALT mode (IXUS 310 changes button color instead) 
     69 
    6570#undef  CAM_AF_SCAN_DURING_VIDEO_RECORD         // CHDK can make single AF scan during video record 
    6671#undef  CAM_HAS_VIDEO_BUTTON                    // Camera can take stills in video mode, and vice versa 
  • branches/philmoz/include/conf.h

    r1245 r1321  
    278278    int flash_manual_override; 
    279279    int flash_video_override_power; 
     280 
     281    // Overrides to disable touchscreen U/I components (IXUS 310) 
     282    int touchscreen_disable_video_controls; 
     283    int touchscreen_disable_shortcut_controls; 
    280284} Conf; 
    281285 
  • branches/philmoz/include/gui.h

    r1034 r1321  
    77#define MAKE_COLOR(bg, fg)    ((color)((((char)(bg))<<8)|((char)(fg)))) 
    88 
     9// Don't delete or re-order entries unless guiHandlers (gui.c) table is updated to match  
    910enum Gui_Mode { 
    1011    GUI_MODE_NONE = 0, 
  • branches/philmoz/include/keyboard.h

    r1320 r1321  
    5656extern void other_kbd_process(); 
    5757 
     58#ifdef CAM_TOUCHSCREEN_UI 
     59extern int redraw_buttons; 
    5860#endif 
     61 
     62#endif 
  • branches/philmoz/include/lolevel.h

    r1320 r1321  
    263263extern int some_flag_for_af_scan; 
    264264extern int parameter_for_af_scan; 
    265 extern void _SetAE_ShutterSpeed(short* tv); 
     265extern short _SetAE_ShutterSpeed(short* tv); 
    266266 
    267267extern void _EnterToCompensationEVF(void); 
  • branches/philmoz/include/modelist.h

    r1232 r1321  
    114114    MODE_SCN_WINK_SELF_TIMER, // sx30/g12 (Smart Shutter, Wink Self Timer mode) 
    115115    MODE_SCN_FACE_SELF_TIMER, // sx30/g12 (Smart Shutter, Face Self Timer mode) 
     116    MODE_VIDEO_SUPER_SLOW   ,   // IXUS 310 HS Super Slow Motion Movie 
    116117}; 
    117118 
  • branches/philmoz/include/platform.h

    r1320 r1321  
    589589#endif 
    590590 
    591 #endif 
     591#ifdef CAM_TOUCHSCREEN_UI 
     592extern unsigned short  touch_screen_x, touch_screen_y; 
     593extern int touch_screen_active; 
     594#endif 
     595 
     596#endif 
  • branches/philmoz/makefile.inc

    r1320 r1321  
    384384-include $(topdir)localbuildconf.inc 
    385385include $(topdir)version.inc 
     386-include $(topdir)platform/$(PLATFORM)/platform_conf.inc 
    386387include $(topdir)platform/$(PLATFORM)/sub/$(PLATFORMSUB)/makefile.inc 
    387388 
  • branches/philmoz/platform/a470/sub/101b/makefile.inc

    r801 r1321  
    1414NEED_ENCODED_DISKBOOT=1 
    1515KEYSYS=d3enc 
     16 
     17#Possible firmware versions that are created from this one as copies 
     18COPY_TO=101a 
  • branches/philmoz/platform/a610/sub/100e/makefile.inc

    r634 r1321  
    1212PLFLAGS=-DMEMBASEADDR=$(MEMBASEADDR) -DMEMISOSTART=$(MEMISOSTART) -DMEMISOSIZE=$(MEMISOSIZE) 
    1313PLFLAGS+=-DRESTARTSTART=$(RESTARTSTART) 
     14 
     15#Possible firmware versions that are created from this one as copies 
     16COPY_TO=100d 
  • branches/philmoz/platform/d10/sub/100a/makefile.inc

    r1220 r1321  
    2828KEYSYS=d4 
    2929 
     30#Possible firmware versions that are created from this one as copies 
     31COPY_TO=100b 
  • branches/philmoz/platform/g11/sub/100j/makefile.inc

    r1173 r1321  
    1616override OPT_FI2= 
    1717KEYSYS=d4 
     18 
     19#Possible firmware versions that are created from this one as copies 
     20COPY_TO=100k 
  • branches/philmoz/platform/g9/sub/100g/makefile.inc

    r801 r1321  
    1414 
    1515KEYSYS=d3 
     16 
     17#Possible firmware versions that are created from this one as copies 
     18COPY_TO=100f 
  • branches/philmoz/platform/g9/sub/100i/makefile.inc

    r821 r1321  
    1414 
    1515KEYSYS=d3 
     16 
     17#Possible firmware versions that are created from this one as copies 
     18COPY_TO=100h 
  • branches/philmoz/platform/ixus70_sd1000/sub/101b/makefile.inc

    r634 r1321  
    1212PLFLAGS=-DMEMBASEADDR=$(MEMBASEADDR) -DMEMISOSTART=$(MEMISOSTART) -DMEMISOSIZE=$(MEMISOSIZE) 
    1313PLFLAGS+=-DRESTARTSTART=$(RESTARTSTART) 
     14 
     15#Possible firmware versions that are created from this one as copies 
     16COPY_TO=101a 
  • branches/philmoz/platform/ixus75_sd750/sub/101a/makefile.inc

    r634 r1321  
    1313PLFLAGS=-DMEMBASEADDR=$(MEMBASEADDR) -DMEMISOSTART=$(MEMISOSTART) -DMEMISOSIZE=$(MEMISOSIZE) 
    1414PLFLAGS+=-DRESTARTSTART=$(RESTARTSTART) 
     15 
     16#Possible firmware versions that are created from this one as copies 
     17COPY_TO=101b 
  • branches/philmoz/platform/ixus800_sd700/sub/101b/makefile.inc

    r634 r1321  
    1212PLFLAGS=-DMEMBASEADDR=$(MEMBASEADDR) -DMEMISOSTART=$(MEMISOSTART) -DMEMISOSIZE=$(MEMISOSIZE) 
    1313PLFLAGS+=-DRESTARTSTART=$(RESTARTSTART) 
     14 
     15#Possible firmware versions that are created from this one as copies 
     16COPY_TO=101a 
  • branches/philmoz/platform/ixus80_sd1100/sub/101a/makefile.inc

    r801 r1321  
    1717NEED_ENCODED_DISKBOOT=1 
    1818KEYSYS=d3enc 
     19 
     20#Possible firmware versions that are created from this one as copies 
     21COPY_TO=101b 
  • branches/philmoz/platform/ixus850_sd800/sub/100e/makefile.inc

    r634 r1321  
    1212PLFLAGS=-DMEMBASEADDR=$(MEMBASEADDR) -DMEMISOSTART=$(MEMISOSTART) -DMEMISOSIZE=$(MEMISOSIZE) 
    1313PLFLAGS+=-DRESTARTSTART=$(RESTARTSTART) 
     14 
     15#Possible firmware versions that are created from this one as copies 
     16COPY_TO=100d 
  • branches/philmoz/platform/ixus90_sd790/sub/100d/makefile.inc

    r866 r1321  
    1919include  $(topdir)platform/fi2.inc 
    2020endif 
     21 
     22#Possible firmware versions that are created from this one as copies 
     23COPY_TO=100e 
  • branches/philmoz/platform/ixus960_sd950/sub/100d/makefile.inc

    r801 r1321  
    1414 
    1515KEYSYS=d3 
     16 
     17#Possible firmware versions that are created from this one as copies 
     18COPY_TO=100c 
  • branches/philmoz/platform/ixus970_sd890/sub/100c/makefile.inc

    r821 r1321  
    1616 
    1717KEYSYS=d3enc 
     18 
     19#Possible firmware versions that are created from this one as copies 
     20COPY_TO=100d 
  • branches/philmoz/platform/s2is/sub/100g/makefile.inc

    r634 r1321  
    1212PLFLAGS=-DMEMBASEADDR=$(MEMBASEADDR) -DMEMISOSTART=$(MEMISOSTART) -DMEMISOSIZE=$(MEMISOSIZE) 
    1313PLFLAGS+=-DRESTARTSTART=$(RESTARTSTART) 
     14 
     15#Possible firmware versions that are created from this one as copies 
     16COPY_TO=100i 
  • branches/philmoz/platform/s90/sub/101c/makefile.inc

    r888 r1321  
    1414 
    1515KEYSYS=d4 
     16 
     17#Possible firmware versions that are created from this one as copies 
     18COPY_TO=101b 
  • branches/philmoz/platform/sx20/sub/102b/stubs_entry.S

    r1320 r1321  
    55// DRYOS R39 (DRYOS version 2.3, release #0039) 
    66// Firmware Ver GM1.02B 
    7 // Possible corrupt firmware dump - file size to small for start address 0xff810000 
    8 //   file size = 4.0MB, should be 7.9MB 
     7// Canon PowerShot SX20 IS 
    98 
    109// Stubs below should be checked. Stub not matched 100%, or difference found to current 'stubs_entry_2.S' 
    1110//    Name                                     Address      Rule  %  Comp to stubs_entry_2.S 
    1211//NSTUB(DoAFLock                              ,0xff836a9c) //102        *** != 0xff8796b4 
    13 NSTUB(GetCurrentAvValue                       ,0xff95251c) //  1 96% 
    14 NSTUB(GetFocusLensSubjectDistance             ,0xff950a10) //  1 81% 
    15 NSTUB(MoveFocusLensToDistance                 ,0xffaff554) //  1 90% 
    1612//NSTUB(SetFileTimeStamp                      ,0xff835508) //  3        *** != 0xff810b04 
    1713//NSTUB(TurnOffBackLight                      ,0xff8a5ae0) //104        *** != 0xff89b6a4 
     
    2420//NSTUB(readfastdir                           ,0xffa7d518) //  3        *** != 0xdeadc0de 
    2521//NSTUB(rename                                ,0xff834b74) //  4        *** != 0xdeadc0de 
    26 //NSTUB(write                                 ,0xff83530c) //101        *** != 0xff81abd8 
    2722 
    2823// Check of modemap from 'platform/CAMERA/shooting.c': 
     
    4439 
    4540// Values below go in 'lib.c': 
     41//void *vid_get_bitmap_fb()        { return (void*)0x403f1000; } // Found @0xff859684 
    4642//void *vid_get_viewport_fb()      { return (void*)0x41020120; } // Found @0xffb0328c 
    4743//char *camera_jpeg_count_str()    { return (char*)0x00072dfc; } // Found @0xff9f71ac 
     
    10399//NSTUB(GetBatteryTemperature                 ,0xff862744) //102            == 0xff862744 
    104100//NSTUB(GetCCDTemperature                     ,0xff8626d0) //102            == 0xff8626d0 
     101NSTUB(GetCurrentAvValue                       ,0xff95251c) //102 
    105102NSTUB(GetDrive_ClusterSize                    ,0xff86f1c8) //  3 
    106103NSTUB(GetDrive_FreeClusters                   ,0xff86f228) //  3 
    107104NSTUB(GetDrive_TotalClusters                  ,0xff86f1fc) //  3 
     105NSTUB(GetFocusLensSubjectDistance             ,0xff950a10) //102 
    108106NSTUB(GetFocusLensSubjectDistanceFromLens     ,0xff950e44) //  3 
    109107NSTUB(GetImageFolder                          ,0xff933518) //106 
     
    123121//NSTUB(Lseek                                 ,0xff835398) //101            == 0xff835398 
    124122NSTUB(MakeDirectory_Fut                       ,0xff834c7c) //  1 
     123NSTUB(MoveFocusLensToDistance                 ,0xffaff554) //102 
    125124NSTUB(MoveIrisWithAv                          ,0xffa96fec) //102 
    126125NSTUB(MoveZoomLensWithPoint                   ,0xffa97714) //102 
     
    144143NSTUB(ScreenLock                              ,0xffa048e8) //  8 
    145144NSTUB(ScreenUnlock                            ,0xffa0498c) //  8 
    146 NSTUB(SetAE_ShutterSpeed                      ,0xffb02404) //  1 
     145NSTUB(SetAE_ShutterSpeed                      ,0xffb02404) //102 
    147146//NSTUB(SetAutoShutdownTime                   ,0xff896f20) //103            == 0xff896f20 
    148147//NSTUB(SetCurrentCaptureModeType             ,0xff89eb28) //101            == 0xff89eb28 
     
    210209//NSTUB(time                                  ,0xff889434) //  2            == 0xff889434 
    211210NSTUB(vsprintf                                ,0xff820340) //  1 
     211NSTUB(write                                   ,0xff83530c) //101 
  • branches/philmoz/platform/sx20/sub/102d/stubs_entry.S

    r1320 r1321  
    2020//NSTUB(readfastdir                           ,0xffa7d6d4) //  3        *** != 0xdeadc0de 
    2121//NSTUB(rename                                ,0xff834b74) //  4        *** != 0xdeadc0de 
    22 //NSTUB(write                                 ,0xff83530c) //101        *** != 0xff81abd8 
    2322 
    2423// Check of modemap from 'platform/CAMERA/shooting.c': 
     
    210209//NSTUB(time                                  ,0xff889484) //  2            == 0xff889484 
    211210NSTUB(vsprintf                                ,0xff820340) //  1 
     211NSTUB(write                                   ,0xff83530c) //101 
  • branches/philmoz/platform/sx200is/sub/100c/makefile.inc

    r804 r1321  
    1616KEYSYS=d4 
    1717 
     18#Possible firmware versions that are created from this one as copies 
     19COPY_TO=100d 
  • branches/philmoz/platform/sx220hs/sub/101b/stubs_entry.S

    r1320 r1321  
    77// Canon PowerShot SX220 HS 
    88 
    9 // Stubs below should be checked. Stub not matched 100%, or difference 
    10 // found to current 'stubs_entry_2.S' or original 'stubs_entry.S' 
    11 //    Name                                     Address           %   Comp to stubs_entry_2.S  Comp to stubs_entry.S.orig 
    12 //NSTUB(kbd_pwr_off                           ,0xff0565ac) //  2 60%    *** != 0xff000b24              Not Found 
    13 // ERROR: kbd_pwr_on is not found.                         //--- ---    *** != 0xff000b24              Not Found 
    14 //NSTUB(write                                 ,0xff0270d8) //101        *** != 0xff00adb8      *** != 0xff00adb8 @  80% 
     9// Stubs below should be checked. Stub not matched 100%, or difference found to current 'stubs_entry_2.S' 
     10//    Name                                     Address      Rule  %  Comp to stubs_entry_2.S 
     11//NSTUB(kbd_pwr_off                           ,0xff0565ac) //  2 60%    *** != 0xff000b24 
     12// ERROR: kbd_pwr_on is not found.                         //--- ---    *** != 0xff000b24 
     13//NSTUB(write                                 ,0xff0270d8) //101        *** != 0xff00adb8 
    1514 
    1615// Check of modemap from 'platform/CAMERA/shooting.c': 
     
    3938 
    4039// Values below go in 'lib.c': 
    41 //void *vid_get_bitmap_fb()     { return (void*)0x40471000; } // Found @0xff050f20 
    42 //void *vid_get_viewport_fb()   { return (void*)0x405d7980; } // Found @0xff371eb0 
    43 //char *camera_jpeg_count_str() { return (char*)0x000ca790; } // Found @0xff2327fc 
    44 //long hook_raw_size()          { return 0x0123eaf0; }        // Found @0xff3753c4 
     40//void *vid_get_bitmap_fb()        { return (void*)0x40471000; } // Found @0xff050f20 
     41//void *vid_get_viewport_fb()      { return (void*)0x405d7980; } // Found @0xff371eb0 
     42//char *camera_jpeg_count_str()    { return (char*)0x000ca790; } // Found @0xff2327fc 
     43//long hook_raw_size()             { return 0x0123eaf0; }        // Found @0xff3753c4 
     44//int get_flash_params_count(void) { return 0xa0; }              // Found @0xff1b33a0 
    4545 
    4646// Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c). 
    4747//#define SD_READONLY_FLAG    0x00020000 // Found @0xff3b18bc, levent 0x90a 
    48 //#define SD_READONLY_IDX     2          
     48//#define SD_READONLY_IDX     2 
    4949//#define USB_FLAG            0x04000000 // Found @0xff3b18ec, levent 0x902 
    50 //#define USB_IDX             2          
     50//#define USB_IDX             2 
    5151 
    5252// Keymap values for kbd.c. Additional keys may be present, only common values included here. 
     
    6666// Values below go in 'platform_camera.h': 
    6767//#define CAM_DRYOS         1 
    68 //#define CAM_DRYOS_2_3_R39 1 
    69 //#define CAM_RAW_ROWPIX    4168 // Found @0xff152aa4 
    70 //#define CAM_RAW_ROWS      3060 // Found @0xff152aa8 
     68//#define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher 
     69//#define CAM_DRYOS_2_3_R47 1 // Defined for cameras with DryOS version R47 or higher 
     70//#define CAM_RAW_ROWPIX    4168 // Found @0xff15290c 
     71//#define CAM_RAW_ROWS      3060 // Found @0xff152918 
    7172//#undef  CAM_UNCACHED_BIT 
    7273//#define CAM_UNCACHED_BIT  0x40000000 // Found @0xff02b88c 
    7374 
    7475// Stubs below matched 100%. 
    75 //    Name                                     Address           %   Comp to stubs_entry_2.S  Comp to stubs_entry.S.orig 
    76 //NSTUB(AllocateMemory                        ,0xff3075f4) //101            == 0xff3075f4          != 0xff3075d0 @  82% 
    77 //NSTUB(AllocateUncacheableMemory             ,0xff02b844) //112            == 0xff02b844          == 0xff02b844 @  82% 
    78 //NSTUB(Close                                 ,0xff027084) //101            == 0xff027084              Not Found 
    79 //NSTUB(CreateTask                            ,0xff00e9b0) //101            == 0xff00e9b0          == 0xff00e9b0 @  51% 
    80 //NSTUB(DebugAssert                           ,0xff00ec88) //111            == 0xff00ec88     
    81 //NSTUB(DeleteFile_Fut                        ,0xff02699c) //112            == 0xff02699c          == 0xff02699c @  85% 
    82 //NSTUB(DoAFLock                              ,0xff028bd8) //102            == 0xff028bd8     
    83 //NSTUB(EnterToCompensationEVF                ,0xff028e74) //104            == 0xff028e74              Not Found 
    84 //NSTUB(ExecuteEventProcedure                 ,0xff086bdc) //  1            == 0xff086bdc     
    85 //NSTUB(ExitFromCompensationEVF               ,0xff028eb8) //104            == 0xff028eb8              Not Found 
    86 //NSTUB(ExitTask                              ,0xff00ec40) //101            == 0xff00ec40          == 0xff00ec40 @  57% 
    87 //NSTUB(ExpCtrlTool_StartContiAE              ,0xff037fe4) //104            == 0xff037fe4     
    88 //NSTUB(ExpCtrlTool_StopContiAE               ,0xff0380bc) //104            == 0xff0380bc     
    89 //NSTUB(Fclose_Fut                            ,0xff026b18) //101            == 0xff026b18          == 0xff026b18 @  96% 
    90 //NSTUB(Feof_Fut                              ,0xff026d04) //  1            == 0xff026d04     
    91 //NSTUB(Fflush_Fut                            ,0xff026d40) //  1            == 0xff026d40     
    92 //NSTUB(Fgets_Fut                             ,0xff026c6c) //  6            == 0xff026c6c              Not Found 
    93 //NSTUB(Fopen_Fut                             ,0xff026ad8) //101            == 0xff026ad8          == 0xff026ad8 @  89% 
    94 //NSTUB(Fread_Fut                             ,0xff026bc4) //101            == 0xff026bc4              Not Found 
    95 //NSTUB(FreeMemory                            ,0xff3075ec) //101            == 0xff3075ec          != 0xff3075c8 @  88% 
    96 //NSTUB(FreeUncacheableMemory                 ,0xff02b884) //112            == 0xff02b884          == 0xff02b884 @  83% 
    97 //NSTUB(Fseek_Fut                             ,0xff026cb8) //101            == 0xff026cb8          == 0xff026cb8 @  72% 
    98 //NSTUB(Fwrite_Fut                            ,0xff026c18) //101            == 0xff026c18              Not Found 
    99 //NSTUB(GetBatteryTemperature                 ,0xff05d010) //102            == 0xff05d010          == 0xff05d010 @  52% 
    100 //NSTUB(GetCCDTemperature                     ,0xff05cf9c) //102            == 0xff05cf9c          == 0xff05cf9c @  52% 
    101 //NSTUB(GetCurrentAvValue                     ,0xff17f15c) //102            == 0xff17f15c              Not Found 
    102 //NSTUB(GetDrive_ClusterSize                  ,0xff06adbc) //  6            == 0xff06adbc              Not Found 
    103 //NSTUB(GetDrive_FreeClusters                 ,0xff06ae14) //  6            == 0xff06ae14              Not Found 
    104 //NSTUB(GetDrive_TotalClusters                ,0xff06adec) //  6            == 0xff06adec              Not Found 
    105 //NSTUB(GetFocusLensSubjectDistance           ,0xff17d3ec) //102            == 0xff17d3ec          == 0xff17d3ec @  64% 
    106 //NSTUB(GetFocusLensSubjectDistanceFromLens   ,0xff17d84c) //  3            == 0xff17d84c          == 0xff17d84c @  77% 
    107 //NSTUB(GetImageFolder                        ,0xff1598b8) //  6            == 0xff1598b8     
    108 //NSTUB(GetKbdState                           ,0xff056474) //109            == 0xff056474     
    109 //NSTUB(GetMemInfo                            ,0xff00a29c) //  3            == 0xff00a29c          == 0xff00a29c @  96% 
    110 //NSTUB(GetOpticalTemperature                 ,0xff05d084) //102            == 0xff05d084          == 0xff05d084 @  65% 
    111 //NSTUB(GetParameterData                      ,0xff1b3360) //101            == 0xff1b3360              Not Found 
    112 //NSTUB(GetPropertyCase                       ,0xff08a944) //102            == 0xff08a944          == 0xff08a944 @  65% 
    113 //NSTUB(GetSystemTime                         ,0xff30764c) //101            == 0xff30764c          != 0xff307628 @  59% 
    114 //NSTUB(GetZoomLensCurrentPoint               ,0xff182660) //102            == 0xff182660              Not Found 
    115 //NSTUB(GetZoomLensCurrentPosition            ,0xff2f14cc) //102            == 0xff2f14cc              Not Found 
    116 //NSTUB(GiveSemaphore                         ,0xff02b23c) //112            == 0xff02b23c     
    117 //NSTUB(IsStrobeChargeCompleted               ,0xff0e0cd0) //102            == 0xff0e0cd0          == 0xff0e0cd0 @  54% 
    118 //NSTUB(LEDDrive                              ,0xff0557c0) //101            == 0xff0557c0     
    119 //NSTUB(LocalTime                             ,0xff08446c) //  6            == 0xff08446c              Not Found 
    120 //NSTUB(LockMainPower                         ,0xff091884) //103            == 0xff091884          == 0xff091884 @  82% 
    121 //NSTUB(Lseek                                 ,0xff0272a0) //101            == 0xff0272a0              Not Found 
    122 //NSTUB(MakeDirectory_Fut                     ,0xff026a10) //  6            == 0xff026a10              Not Found 
    123 //NSTUB(MakeSDCardBootable                    ,0xff06b04c) //  6            == 0xff06b04c     
    124 //NSTUB(MoveFocusLensToDistance               ,0xff36e1ac) //102            == 0xff36e1ac          != 0xff36e188 @  61% 
    125 //NSTUB(MoveIrisWithAv                        ,0xff30365c) //102            == 0xff30365c     
    126 //NSTUB(MoveZoomLensWithPoint                 ,0xff303e20) //102            == 0xff303e20              Not Found 
    127 //NSTUB(NewTaskShell                          ,0xff08a38c) //101            == 0xff08a38c          == 0xff08a38c @  51% 
    128 //NSTUB(Open                                  ,0xff026fbc) //101            == 0xff026fbc              Not Found 
    129 //NSTUB(PB2Rec                                ,0xff094a5c) //104            == 0xff094a5c              Not Found 
    130 //NSTUB(PT_MoveDigitalZoomToWide              ,0xff0746e8) //102            == 0xff0746e8     
    131 //NSTUB(PT_MoveOpticalZoomAt                  ,0xff0746c0) //102            == 0xff0746c0     
    132 //NSTUB(PT_PlaySound                          ,0xff07f848) //  6            == 0xff07f848              Not Found 
    133 //NSTUB(PostLogicalEventForNotPowerType       ,0xff08f3a8) //103            == 0xff08f3a8              Not Found 
    134 //NSTUB(PostLogicalEventToUI                  ,0xff08f3f4) //103            == 0xff08f3f4              Not Found 
    135 //NSTUB(PutInNdFilter                         ,0xff36bdf8) //102            == 0xff36bdf8     
    136 //NSTUB(PutOutNdFilter                        ,0xff36be30) //102            == 0xff36be30     
    137 //NSTUB(Read                                  ,0xff00ad58) //101            == 0xff00ad58          == 0xff00ad58 @  80% 
    138 //NSTUB(ReadFastDir                           ,0xff2dd404) //  6            == 0xff2dd404              Not Found 
    139 //NSTUB(Rec2PB                                ,0xff0931fc) //104            == 0xff0931fc              Not Found 
    140 //NSTUB(RefreshPhysicalScreen                 ,0xff0aa058) //104            == 0xff0aa058              Not Found 
    141 //NSTUB(Remove                                ,0xff0271f8) //  6            == 0xff0271f8              Not Found 
    142 //NSTUB(RenameFile_Fut                        ,0xff026908) //  6            == 0xff026908          != 0xff026ad4 @  60% 
    143 //NSTUB(Restart                               ,0xff02d058) //106            == 0xff02d058          != 0xff307134 @  69% 
    144 //NSTUB(ScreenLock                            ,0xff0ab250) //  4            == 0xff0ab250     
    145 //NSTUB(ScreenUnlock                          ,0xff0ab2b4) //  3            == 0xff0ab2b4     
    146 //NSTUB(SetAutoShutdownTime                   ,0xff0918f8) //103            == 0xff0918f8          == 0xff0918f8 @  80% 
    147 //NSTUB(SetCurrentCaptureModeType             ,0xff09ae08) //101            == 0xff09ae08              Not Found 
    148 //NSTUB(SetFileTimeStamp                      ,0xff027410) //  6            == 0xff027410          != 0xff16b670 @  61% 
    149 //NSTUB(SetLogicalEventActive                 ,0xff0915c0) //101            == 0xff0915c0          == 0xff0915c0 @  64% 
    150 //NSTUB(SetParameterData                      ,0xff1b32d0) //101            == 0xff1b32d0          == 0xff1b32d0 @  62% 
    151 //NSTUB(SetPropertyCase                       ,0xff08a828) //102            == 0xff08a828          == 0xff08a828 @  58% 
    152 //NSTUB(SetScriptMode                         ,0xff091610) //101            == 0xff091610     
    153 //NSTUB(SleepTask                             ,0xff02b4e8) //101            == 0xff02b4e8              Not Found 
    154 //NSTUB(TakeSemaphore                         ,0xff02b16c) //101            == 0xff02b16c          == 0xff02b16c @  60% 
    155 //NSTUB(TurnOffBackLight                      ,0xff0a21b8) //104            == 0xff0a21b8              Not Found 
    156 //NSTUB(TurnOnBackLight                       ,0xff0a21a0) //104            == 0xff0a21a0              Not Found 
    157 //NSTUB(UIFS_WriteFirmInfoToFile              ,0xff1a4414) //101            == 0xff1a4414              Not Found 
    158 //NSTUB(UnlockAF                              ,0xff028c10) //102            == 0xff028c10     
    159 //NSTUB(UnlockMainPower                       ,0xff0917d8) //103            == 0xff0917d8          == 0xff0917d8 @  73% 
    160 //NSTUB(VbattGet                              ,0xff023040) //101            == 0xff023040          == 0xff023040 @  85% 
    161 //NSTUB(Write                                 ,0xff0270d8) //101            == 0xff0270d8              Not Found 
    162 //NSTUB(WriteSDCard                           ,0xff16c828) //108            == 0xff16c828     
    163 //NSTUB(_log                                  ,0xff3ac798) //111            == 0xff3ac798              Not Found 
    164 //NSTUB(_log10                                ,0xff3accd8) //112            == 0xff3accd8              Not Found 
    165 //NSTUB(_pow                                  ,0xff3ace50) //114            == 0xff3ace50              Not Found 
    166 //NSTUB(_sqrt                                 ,0xff3aed34) //  6            == 0xff3aed34          != 0xff3aed14 @  66% 
    167 //NSTUB(add_ptp_handler                       ,0xff28aa1c) //  6            == 0xff28aa1c          == 0xff28aa1c @  71% 
    168 //NSTUB(apex2us                               ,0xff246bec) //  4            == 0xff246bec     
    169 //NSTUB(close                                 ,0xff00abb4) //  6            == 0xff00abb4          == 0xff00abb4 @  84% 
    170 //NSTUB(closedir                              ,0xff2dd260) //  4            == 0xff2dd260              Not Found 
    171 //NSTUB(err_init_task                         ,0xff005fd4) //  4            == 0xff005fd4     
    172 //NSTUB(exmem_alloc                           ,0xff085434) //101            == 0xff085434     
    173 //NSTUB(free                                  ,0xff004244) //112            == 0xff004244              Not Found 
    174 //NSTUB(kbd_p1_f                              ,0xff0249dc) //109            == 0xff0249dc              Not Found 
    175 //NSTUB(kbd_p1_f_cont                         ,0xff0249e8) //109            == 0xff0249e8              Not Found 
    176 //NSTUB(kbd_p2_f                              ,0xff0241c4) //109            == 0xff0241c4              Not Found 
    177 //NSTUB(kbd_read_keys                         ,0xff024960) //109            == 0xff024960              Not Found 
    178 //NSTUB(kbd_read_keys_r2                      ,0xff055c78) //109            == 0xff055c78              Not Found 
    179 //NSTUB(lseek                                 ,0xff0272a0) //101            == 0xff0272a0          != 0xff0272ac @  60% 
    180 //NSTUB(malloc                                ,0xff0041ec) //112            == 0xff0041ec          != 0xff0041e8 @  85% 
    181 //NSTUB(memcmp                                ,0xff0108f4) //101            == 0xff0108f4     
    182 //NSTUB(memcpy                                ,0xff030fec) //101            == 0xff030fec              Not Found 
    183 //NSTUB(memset                                ,0xff245bec) //101            == 0xff245bec              Not Found 
    184 //NSTUB(mkdir                                 ,0xff027520) //  6            == 0xff027520              Not Found 
    185 //NSTUB(mktime_ext                            ,0xff0ac0c8) //  1            == 0xff0ac0c8     
    186 //NSTUB(open                                  ,0xff00ab04) //  6            == 0xff00ab04          == 0xff00ab04 @  80% 
    187 //NSTUB(opendir                               ,0xff2dd2b0) //  6            == 0xff2dd2b0          == 0xff2dd2b0 @  59% 
    188 //NSTUB(openfastdir                           ,0xff2dd2b0) //  6            == 0xff2dd2b0              Not Found 
    189 //NSTUB(qsort                                 ,0xff35949c) //  6            == 0xff35949c              Not Found 
    190 //NSTUB(rand                                  ,0xff245d2c) //  6            == 0xff245d2c              Not Found 
    191 //NSTUB(read                                  ,0xff00ad58) //101            == 0xff00ad58          == 0xff00ad58 @  80% 
    192 //NSTUB(readfastdir                           ,0xff2dd404) //  6            == 0xff2dd404              Not Found 
    193 //NSTUB(reboot_fw_update                      ,0xff2e28a0) //  6            == 0xff2e28a0          == 0xff2e28a0 @  58% 
    194 //NSTUB(rename                                ,0xff026908) //  6            == 0xff026908              Not Found 
    195 //NSTUB(set_control_event                     ,0xff0911b8) //111            == 0xff0911b8              Not Found 
    196 //NSTUB(srand                                 ,0xff245d20) //  6            == 0xff245d20              Not Found 
    197 //NSTUB(stat                                  ,0xff0272e8) //  3            == 0xff0272e8          == 0xff0272e8 @  76% 
    198 //NSTUB(strcat                                ,0xff0ab880) //  1            == 0xff0ab880          != 0xff004030 @  61% 
    199 //NSTUB(strchr                                ,0xff0040b8) //  1            == 0xff0040b8          == 0xff0040b8 @  56% 
    200 //NSTUB(strcmp                                ,0xff0108b0) //101            == 0xff0108b0     
    201 //NSTUB(strcpy                                ,0xff010898) //101            == 0xff010898     
    202 //NSTUB(strftime                              ,0xff0abac8) //113            == 0xff0abac8          == 0xff0abac8 @  72% 
    203 //NSTUB(strlen                                ,0xff004104) //101            == 0xff004104          != 0xff0108d0 @  79% 
    204 //NSTUB(strncmp                               ,0xff00406c) //  1            == 0xff00406c     
    205 //NSTUB(strncpy                               ,0xff004030) //  1            == 0xff004030          == 0xff004030 @  73% 
    206 //NSTUB(strrchr                               ,0xff0040dc) //  1            == 0xff0040dc              Not Found 
    207 //NSTUB(strtol                                ,0xff0312ec) //101            == 0xff0312ec              Not Found 
    208 //NSTUB(strtolx                               ,0xff0310f0) //109            == 0xff0310f0              Not Found 
    209 //  DEF(task_CaptSeq                          ,0xff077628) //110            == 0xff077628     
    210 //  DEF(task_ExpDrv                           ,0xff0c3e54) //110            == 0xff0c3e54     
    211 //  DEF(task_InitFileModules                  ,0xff095240) //110            == 0xff095240     
    212 //  DEF(task_MovieRecord                      ,0xff1882f0) //110            == 0xff1882f0     
    213 //  DEF(task_PhySw                            ,0xff0244f0) //110            == 0xff0244f0     
    214 //  DEF(task_RotaryEncoder                    ,0xff05671c) //110            == 0xff05671c     
    215 //NSTUB(time                                  ,0xff084a48) //  6            == 0xff084a48          == 0xff084a48 @  80% 
    216 //NSTUB(vsprintf                              ,0xff010858) //  6            == 0xff010858              Not Found 
     76//    Name                                     Address                Comp to stubs_entry_2.S 
     77//NSTUB(AllocateMemory                        ,0xff3075f4) //101            == 0xff3075f4 
     78//NSTUB(AllocateUncacheableMemory             ,0xff02b844) //112            == 0xff02b844 
     79//NSTUB(Close                                 ,0xff027084) //101            == 0xff027084 
     80//NSTUB(CreateTask                            ,0xff00e9b0) //101            == 0xff00e9b0 
     81//NSTUB(DebugAssert                           ,0xff00ec88) //111            == 0xff00ec88 
     82//NSTUB(DeleteFile_Fut                        ,0xff02699c) //112            == 0xff02699c 
     83//NSTUB(DoAFLock                              ,0xff028bd8) //102            == 0xff028bd8 
     84//NSTUB(EnterToCompensationEVF                ,0xff028e74) //104            == 0xff028e74 
     85//NSTUB(ExecuteEventProcedure                 ,0xff086bdc) //  1            == 0xff086bdc 
     86//NSTUB(ExitFromCompensationEVF               ,0xff028eb8) //104            == 0xff028eb8 
     87//NSTUB(ExitTask                              ,0xff00ec40) //101            == 0xff00ec40 
     88//NSTUB(ExpCtrlTool_StartContiAE              ,0xff037fe4) //104            == 0xff037fe4 
     89//NSTUB(ExpCtrlTool_StopContiAE               ,0xff0380bc) //104            == 0xff0380bc 
     90//NSTUB(Fclose_Fut                            ,0xff026b18) //101            == 0xff026b18 
     91//NSTUB(Feof_Fut                              ,0xff026d04) //  1            == 0xff026d04 
     92//NSTUB(Fflush_Fut                            ,0xff026d40) //  1            == 0xff026d40 
     93//NSTUB(Fgets_Fut                             ,0xff026c6c) //  6            == 0xff026c6c 
     94//NSTUB(Fopen_Fut                             ,0xff026ad8) //101            == 0xff026ad8 
     95//NSTUB(Fread_Fut                             ,0xff026bc4) //101            == 0xff026bc4 
     96//NSTUB(FreeMemory                            ,0xff3075ec) //101            == 0xff3075ec 
     97//NSTUB(FreeUncacheableMemory                 ,0xff02b884) //112            == 0xff02b884 
     98//NSTUB(Fseek_Fut                             ,0xff026cb8) //101            == 0xff026cb8 
     99//NSTUB(Fwrite_Fut                            ,0xff026c18) //101            == 0xff026c18 
     100//NSTUB(GetBatteryTemperature                 ,0xff05d010) //102            == 0xff05d010 
     101//NSTUB(GetCCDTemperature                     ,0xff05cf9c) //102            == 0xff05cf9c 
     102//NSTUB(GetCurrentAvValue                     ,0xff17f15c) //102            == 0xff17f15c 
     103//NSTUB(GetDrive_ClusterSize                  ,0xff06adbc) //  6            == 0xff06adbc 
     104//NSTUB(GetDrive_FreeClusters                 ,0xff06ae14) //  6            == 0xff06ae14 
     105//NSTUB(GetDrive_TotalClusters                ,0xff06adec) //  6            == 0xff06adec 
     106//NSTUB(GetFocusLensSubjectDistance           ,0xff17d3ec) //102            == 0xff17d3ec 
     107//NSTUB(GetFocusLensSubjectDistanceFromLens   ,0xff17d84c) //  3            == 0xff17d84c 
     108//NSTUB(GetImageFolder                        ,0xff1598b8) //  6            == 0xff1598b8 
     109//NSTUB(GetKbdState                           ,0xff056474) //109            == 0xff056474 
     110//NSTUB(GetMemInfo                            ,0xff00a29c) //  3            == 0xff00a29c 
     111//NSTUB(GetOpticalTemperature                 ,0xff05d084) //102            == 0xff05d084 
     112//NSTUB(GetParameterData                      ,0xff1b3360) //101            == 0xff1b3360 
     113//NSTUB(GetPropertyCase                       ,0xff08a944) //102            == 0xff08a944 
     114//NSTUB(GetSystemTime                         ,0xff30764c) //101            == 0xff30764c 
     115//NSTUB(GetZoomLensCurrentPoint               ,0xff182660) //102            == 0xff182660 
     116//NSTUB(GetZoomLensCurrentPosition            ,0xff2f14cc) //102            == 0xff2f14cc 
     117//NSTUB(GiveSemaphore                         ,0xff02b23c) //112            == 0xff02b23c 
     118//NSTUB(IsStrobeChargeCompleted               ,0xff0e0cd0) //102            == 0xff0e0cd0 
     119//NSTUB(LEDDrive                              ,0xff0557c0) //101            == 0xff0557c0 
     120//NSTUB(LocalTime                             ,0xff08446c) //  6            == 0xff08446c 
     121//NSTUB(LockMainPower                         ,0xff091884) //103            == 0xff091884 
     122//NSTUB(Lseek                                 ,0xff0272a0) //101            == 0xff0272a0 
     123//NSTUB(MakeDirectory_Fut                     ,0xff026a10) //  6            == 0xff026a10 
     124//NSTUB(MakeSDCardBootable                    ,0xff06b04c) //  6            == 0xff06b04c 
     125//NSTUB(MoveFocusLensToDistance               ,0xff36e1ac) //102            == 0xff36e1ac 
     126//NSTUB(MoveIrisWithAv                        ,0xff30365c) //102            == 0xff30365c 
     127//NSTUB(MoveZoomLensWithPoint                 ,0xff303e20) //102            == 0xff303e20 
     128//NSTUB(NewTaskShell                          ,0xff08a38c) //101            == 0xff08a38c 
     129//NSTUB(Open                                  ,0xff026fbc) //101            == 0xff026fbc 
     130//NSTUB(PB2Rec                                ,0xff094a5c) //104            == 0xff094a5c 
     131//NSTUB(PT_MoveDigitalZoomToWide              ,0xff0746e8) //102            == 0xff0746e8 
     132//NSTUB(PT_MoveOpticalZoomAt                  ,0xff0746c0) //102            == 0xff0746c0 
     133//NSTUB(PT_PlaySound                          ,0xff07f848) //  6            == 0xff07f848 
     134//NSTUB(PostLogicalEventForNotPowerType       ,0xff08f3a8) //103            == 0xff08f3a8 
     135//NSTUB(PostLogicalEventToUI                  ,0xff08f3f4) //103            == 0xff08f3f4 
     136//NSTUB(PutInNdFilter                         ,0xff36bdf8) //102            == 0xff36bdf8 
     137//NSTUB(PutOutNdFilter                        ,0xff36be30) //102            == 0xff36be30 
     138//NSTUB(Read                                  ,0xff00ad58) //101            == 0xff00ad58 
     139//NSTUB(ReadFastDir                           ,0xff2dd404) //  6            == 0xff2dd404 
     140//NSTUB(Rec2PB                                ,0xff0931fc) //104            == 0xff0931fc 
     141//NSTUB(RefreshPhysicalScreen                 ,0xff0aa058) //104            == 0xff0aa058 
     142//NSTUB(Remove                                ,0xff0271f8) //  6            == 0xff0271f8 
     143//NSTUB(RenameFile_Fut                        ,0xff026908) //  6            == 0xff026908 
     144//NSTUB(Restart                               ,0xff02d058) //106            == 0xff02d058 
     145//NSTUB(ScreenLock                            ,0xff0ab250) //  4            == 0xff0ab250 
     146//NSTUB(ScreenUnlock                          ,0xff0ab2b4) //  3            == 0xff0ab2b4 
     147NSTUB(SetAE_ShutterSpeed                      ,0xff371028) //102 
     148//NSTUB(SetAutoShutdownTime                   ,0xff0918f8) //103            == 0xff0918f8 
     149//NSTUB(SetCurrentCaptureModeType             ,0xff09ae08) //101            == 0xff09ae08 
     150//NSTUB(SetFileTimeStamp                      ,0xff027410) //  6            == 0xff027410 
     151//NSTUB(SetLogicalEventActive                 ,0xff0915c0) //101            == 0xff0915c0 
     152//NSTUB(SetParameterData                      ,0xff1b32d0) //101            == 0xff1b32d0 
     153//NSTUB(SetPropertyCase                       ,0xff08a828) //102            == 0xff08a828 
     154//NSTUB(SetScriptMode                         ,0xff091610) //101            == 0xff091610 
     155//NSTUB(SleepTask                             ,0xff02b4e8) //101            == 0xff02b4e8 
     156//NSTUB(TakeSemaphore                         ,0xff02b16c) //101            == 0xff02b16c 
     157//NSTUB(TurnOffBackLight                      ,0xff0a21b8) //104            == 0xff0a21b8 
     158//NSTUB(TurnOnBackLight                       ,0xff0a21a0) //104            == 0xff0a21a0 
     159//NSTUB(UIFS_WriteFirmInfoToFile              ,0xff1a4414) //101            == 0xff1a4414 
     160//NSTUB(UnlockAF                              ,0xff028c10) //102            == 0xff028c10 
     161//NSTUB(UnlockMainPower                       ,0xff0917d8) //103            == 0xff0917d8 
     162//NSTUB(VbattGet                              ,0xff023040) //101            == 0xff023040 
     163//NSTUB(Write                                 ,0xff0270d8) //101            == 0xff0270d8 
     164//NSTUB(WriteSDCard                           ,0xff16c828) //108            == 0xff16c828 
     165//NSTUB(_log                                  ,0xff3ac798) //111            == 0xff3ac798 
     166//NSTUB(_log10                                ,0xff3accd8) //112            == 0xff3accd8 
     167//NSTUB(_pow                                  ,0xff3ace50) //114            == 0xff3ace50 
     168//NSTUB(_sqrt                                 ,0xff3aed34) //  6            == 0xff3aed34 
     169//NSTUB(add_ptp_handler                       ,0xff28aa1c) //  6            == 0xff28aa1c 
     170//NSTUB(apex2us                               ,0xff246bec) //  4            == 0xff246bec 
     171//NSTUB(close                                 ,0xff00abb4) //  6            == 0xff00abb4 
     172//NSTUB(closedir                              ,0xff2dd260) //  4            == 0xff2dd260 
     173//NSTUB(err_init_task                         ,0xff005fd4) //  4            == 0xff005fd4 
     174//NSTUB(exmem_alloc                           ,0xff085434) //101            == 0xff085434 
     175//NSTUB(free                                  ,0xff004244) //112            == 0xff004244 
     176//NSTUB(kbd_p1_f                              ,0xff0249dc) //109            == 0xff0249dc 
     177//NSTUB(kbd_p1_f_cont                         ,0xff0249e8) //109            == 0xff0249e8 
     178//NSTUB(kbd_p2_f                              ,0xff0241c4) //109            == 0xff0241c4 
     179//NSTUB(kbd_read_keys                         ,0xff024960) //109            == 0xff024960 
     180//NSTUB(kbd_read_keys_r2                      ,0xff055c78) //109            == 0xff055c78 
     181//NSTUB(lseek                                 ,0xff0272a0) //101            == 0xff0272a0 
     182//NSTUB(malloc                                ,0xff0041ec) //112            == 0xff0041ec 
     183//NSTUB(memcmp                                ,0xff0108f4) //101            == 0xff0108f4 
     184//NSTUB(memcpy                                ,0xff030fec) //101            == 0xff030fec 
     185//NSTUB(memset                                ,0xff245bec) //101            == 0xff245bec 
     186//NSTUB(mkdir                                 ,0xff027520) //  6            == 0xff027520 
     187//NSTUB(mktime_ext                            ,0xff0ac0c8) //  1            == 0xff0ac0c8 
     188//NSTUB(open                                  ,0xff00ab04) //  6            == 0xff00ab04 
     189//NSTUB(opendir                               ,0xff2dd2b0) //  6            == 0xff2dd2b0 
     190//NSTUB(openfastdir                           ,0xff2dd2b0) //  6            == 0xff2dd2b0 
     191//NSTUB(qsort                                 ,0xff35949c) //  6            == 0xff35949c 
     192//NSTUB(rand                                  ,0xff245d2c) //  6            == 0xff245d2c 
     193//NSTUB(read                                  ,0xff00ad58) //101            == 0xff00ad58 
     194//NSTUB(readfastdir                           ,0xff2dd404) //  6            == 0xff2dd404 
     195//NSTUB(reboot_fw_update                      ,0xff2e28a0) //  6            == 0xff2e28a0 
     196//NSTUB(rename                                ,0xff026908) //  6            == 0xff026908 
     197//NSTUB(set_control_event                     ,0xff0911b8) //111            == 0xff0911b8 
     198//NSTUB(srand                                 ,0xff245d20) //  6            == 0xff245d20 
     199//NSTUB(stat                                  ,0xff0272e8) //  3            == 0xff0272e8 
     200//NSTUB(strcat                                ,0xff0ab880) //  1            == 0xff0ab880 
     201//NSTUB(strchr                                ,0xff0040b8) //  1            == 0xff0040b8 
     202//NSTUB(strcmp                                ,0xff0108b0) //101            == 0xff0108b0 
     203//NSTUB(strcpy                                ,0xff010898) //101            == 0xff010898 
     204//NSTUB(strftime                              ,0xff0abac8) //113            == 0xff0abac8 
     205//NSTUB(strlen                                ,0xff004104) //101            == 0xff004104 
     206//NSTUB(strncmp                               ,0xff00406c) //  1            == 0xff00406c 
     207//NSTUB(strncpy                               ,0xff004030) //  1            == 0xff004030 
     208//NSTUB(strrchr                               ,0xff0040dc) //  1            == 0xff0040dc 
     209//NSTUB(strtol                                ,0xff0312ec) //101            == 0xff0312ec 
     210//NSTUB(strtolx                               ,0xff0310f0) //109            == 0xff0310f0 
     211//  DEF(task_CaptSeq                          ,0xff077628) //110            == 0xff077628 
     212//  DEF(task_ExpDrv                           ,0xff0c3e54) //110            == 0xff0c3e54 
     213//  DEF(task_InitFileModules                  ,0xff095240) //110            == 0xff095240 
     214//  DEF(task_MovieRecord                      ,0xff1882f0) //110            == 0xff1882f0 
     215//  DEF(task_PhySw                            ,0xff0244f0) //110            == 0xff0244f0 
     216//  DEF(task_RotaryEncoder                    ,0xff05671c) //110            == 0xff05671c 
     217//NSTUB(time                                  ,0xff084a48) //  6            == 0xff084a48 
     218//NSTUB(vsprintf                              ,0xff010858) //  6            == 0xff010858 
  • branches/philmoz/platform/sx30/sub/100l/makefile.inc

    r1124 r1321  
    2626 
    2727KEYSYS=d4b 
     28 
     29#Possible firmware versions that are created from this one as copies 
     30COPY_TO=100m 
Note: See TracChangeset for help on using the changeset viewer.