Changeset 691


Ignore:
Timestamp:
01/24/09 19:10:09 (4 years ago)
Author:
EWAVR
Message:

+ S5IS, IXUS600: added video parameters menu
+ SX100IS: added menus "swap partitions" and "create card with two partitions"

Location:
trunk
Files:
4 added
23 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/camera.h

    r685 r691  
    848848    #define CAM_DRAW_EXPOSITION             1 
    849849    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1 
    850     #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 
    851850    #define CAM_FEATURE_FEATHER         1 
    852851 
    853852//    #define CAM_CONSOLE_LOG_ENABLED     1  //100a won't compile if this is defined ("undefined reference to `_iosDevFind'") 
    854853    #undef  CAM_HAS_IS 
    855     #undef  CAM_CHDK_HAS_EXT_VIDEO_MENU 
    856854    #define DNG_SUPPORT                 1 
    857855    // pattern 
     
    14171415    #undef  CAM_CAN_SD_OVER_NOT_IN_MF 
    14181416    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 
    1419     #undef  CAM_CHDK_HAS_EXT_VIDEO_MENU 
    14201417    #define  CAM_HAS_VIDEO_BUTTON       1 
    14211418    #define DNG_SUPPORT                 1 
     
    15171514 
    15181515    #define DNG_EXT_FROM ".CR2" 
     1516    #define CAM_MULTIPART               1 
    15191517 
    15201518 
  • trunk/platform/generic/wrappers.c

    r685 r691  
    656656 
    657657#define SECTOR_SIZE 512 
    658 char *mbr_buf; 
     658static char *mbr_buf=(void*)0; 
    659659static unsigned long drive_sectors; 
    660660 
    661661int mbr_read(char* mbr_sector, unsigned long drive_total_sectors, unsigned long *part_start_sector,  unsigned long *part_length){ 
    662662// return value: 1 - success, 0 - fail 
     663// called only in VxWorks 
    663664  
    664665 int offset=0x10; // points to partition #2 
     
    691692 
    692693 
    693  
    694  
    695  
    696  
     694int mbr_read_dryos(unsigned long drive_total_sectors, char* mbr_sector ){ 
     695// Called only in DRYOS 
     696 mbr_buf=_AllocateUncacheableMemory(SECTOR_SIZE); 
     697 _memcpy(mbr_buf,mbr_sector,SECTOR_SIZE); 
     698 drive_sectors=drive_total_sectors; 
     699 return drive_total_sectors; 
     700} 
    697701 
    698702int get_part_count(void){ 
  • trunk/platform/ixus60_sd600/sub/100a/Makefile

    r515 r691  
    11topdir=../../../../ 
    22 
    3 OBJS=boot.o stubs_min.o stubs_auto.o stubs_entry.o lib.o stubs_entry_2.o capt_seq.o 
    4 STUBS_AUTO_DEPS=boot.c capt_seq.c 
     3OBJS=boot.o stubs_min.o stubs_auto.o stubs_entry.o lib.o stubs_entry_2.o capt_seq.o movie_rec.o 
     4STUBS_AUTO_DEPS=boot.c capt_seq.c movie_rec.c 
    55 
    66include $(topdir)/platform/makefile_sub.inc 
  • trunk/platform/ixus60_sd600/sub/100a/lib.c

    r515 r691  
    8686} 
    8787 
    88 int movie_status = 0; 
    89  
    9088long vid_get_bitmap_buffer_width() { return 360; } 
    9189 
  • trunk/platform/ixus60_sd600/sub/100a/stubs_auto.S

    r515 r691  
    2020STUB(FF81FE80) 
    2121STUB(FF8203FC) 
     22STUB(FF820814) 
     23STUB(FF820FA8) 
     24STUB(FF821190) 
    2225STUB(FF821958) 
    2326STUB(FF824A78) 
     27STUB(FF89665C) 
     28STUB(FF8967C8) 
    2429STUB(FF89E17C) 
    2530STUB(FF89E63C) 
     31STUB(FF954B14) 
     32STUB(FF954CC8) 
     33STUB(FF95509C) 
     34STUB(FF9552AC) 
     35STUB(FF955334) 
     36STUB(FF955384) 
     37STUB(FF9554AC) 
     38STUB(FF9554D0) 
     39STUB(FF955558) 
     40STUB(FF955640) 
     41STUB(FF955804) 
     42STUB(FF955B60) 
     43STUB(FF956770) 
     44STUB(FF956CA4) 
     45STUB(FF956F80) 
    2646STUB(FF95CE98) 
    2747STUB(FF95D378) 
     
    5878STUB(FF967440) 
    5979STUB(FF967454) 
     80STUB(FF969EB0) 
     81STUB(FF96E3EC) 
    6082STUB(FF9A0088) 
    6183STUB(FFAF84FC) 
     84STUB(FFAFF5B0) 
     85STUB(FFAFFC40) 
    6286STUB(FFB05214) 
    6387STUB(FFB05714) 
  • trunk/platform/ixus60_sd600/sub/100a/stubs_min.S

    r635 r691  
    3333//DEF(canon_shoot_menu_active, 0x6CBC) 
    3434 
     35DEF(movie_status, 0x6EB44) 
    3536 
    3637canon_menu_active_prev: 
  • trunk/platform/ixus60_sd600/sub/100d/Makefile

    r515 r691  
    11topdir=../../../../ 
    22 
    3 OBJS=boot.o stubs_min.o stubs_auto.o stubs_entry.o lib.o stubs_entry_2.o capt_seq.o 
    4 STUBS_AUTO_DEPS=boot.c capt_seq.c 
     3OBJS=boot.o stubs_min.o stubs_auto.o stubs_entry.o lib.o stubs_entry_2.o capt_seq.o movie_rec.o 
     4STUBS_AUTO_DEPS=boot.c capt_seq.c movie_rec.c 
    55 
    66include $(topdir)/platform/makefile_sub.inc 
  • trunk/platform/ixus60_sd600/sub/100d/lib.c

    r515 r691  
    8686} 
    8787 
    88 int movie_status = 0; 
    89  
    9088long vid_get_bitmap_buffer_width() { return 360; } 
    9189 
  • trunk/platform/ixus60_sd600/sub/100d/stubs_auto.S

    r515 r691  
    2020STUB(FF81FE80) 
    2121STUB(FF8203FC) 
     22STUB(FF820814) 
     23STUB(FF820FA8) 
     24STUB(FF821190) 
    2225STUB(FF821958) 
    2326STUB(FF824A78) 
     27STUB(FF89665C) 
     28STUB(FF8967C8) 
    2429STUB(FF89E17C) 
    2530STUB(FF89E63C) 
     31STUB(FF95560C) 
     32STUB(FF9557C0) 
     33STUB(FF955B94) 
     34STUB(FF955DA4) 
     35STUB(FF955E2C) 
     36STUB(FF955E7C) 
     37STUB(FF955FA4) 
     38STUB(FF955FC8) 
     39STUB(FF956050) 
     40STUB(FF956138) 
     41STUB(FF9562FC) 
     42STUB(FF956658) 
     43STUB(FF957268) 
     44STUB(FF95779C) 
     45STUB(FF957A78) 
    2646STUB(FF95D990) 
    2747STUB(FF95DE70) 
     
    5878STUB(FF967F38) 
    5979STUB(FF967F4C) 
     80STUB(FF96A9A8) 
     81STUB(FF96EEE4) 
    6082STUB(FF9A0B80) 
    6183STUB(FFAF90DC) 
     84STUB(FFB00190) 
     85STUB(FFB00820) 
    6286STUB(FFB05DF4) 
    6387STUB(FFB062F4) 
  • trunk/platform/ixus60_sd600/sub/100d/stubs_min.S

    r635 r691  
    3333//DEF(canon_shoot_menu_active, 0x6CBC) 
    3434 
     35DEF(movie_status, 0x6EBBC) 
    3536 
    3637canon_menu_active_prev: 
  • trunk/platform/s5is/main.c

    r515 r691  
    127127} 
    128128 
    129 void change_video_tables(int a, int b){ 
    130         // Shuts up the compiler until video overrides are fixed for DryOS 
    131  
    132 } 
  • trunk/platform/s5is/sub/101a/Makefile

    r515 r691  
    11topdir=../../../../ 
    22 
    3 OBJS=boot.o stubs_min.o stubs_auto.o stubs_entry.o lib.o stubs_entry_2.o capt_seq.o 
    4 STUBS_AUTO_DEPS=boot.c capt_seq.c 
     3OBJS=boot.o stubs_min.o stubs_auto.o stubs_entry.o lib.o stubs_entry_2.o capt_seq.o movie_rec.o 
     4STUBS_AUTO_DEPS=boot.c capt_seq.c movie_rec.c 
    55 
    66include $(topdir)/platform/makefile_sub.inc 
  • trunk/platform/s5is/sub/101a/boot.c

    r521 r691  
    1717void __attribute__((naked,noinline)) task_blinker(); 
    1818void dump_chdk(); 
     19 
     20void taskCreateHook(int *p) {  
     21 p-=16; 
     22 if (p[0]==0xFF862F10)  p[0]=(int)movie_record_task; 
     23} 
    1924 
    2025//////////////////////////////////////////////////////////////////////////////// 
     
    139144 
    140145void __attribute__((naked,noinline)) sub_FF8101B8_my() { 
     146     *(int*)0x1930=(int)taskCreateHook; 
    141147     asm volatile ( 
    142148     "loc_FF8101B8:\n" 
  • trunk/platform/s5is/sub/101a/lib.c

    r515 r691  
    6565        return (char*)0x58304; 
    6666} 
    67 int movie_status = 0; 
    68  
    69  
    7067 
    7168 
  • trunk/platform/s5is/sub/101a/stubs_auto.S

    r515 r691  
    5353STUB(FF82A370) 
    5454STUB(FF82A5C0) 
     55STUB(FF82A6E8) 
    5556STUB(FF82AA98) 
    5657STUB(FF82AC8C) 
     
    7879STUB(FF82E86C) 
    7980STUB(FF82EBCC) 
     81STUB(FF8408F4) 
    8082STUB(FF842464) 
    8183STUB(FF8505BC) 
     
    9395STUB(FF861FF0) 
    9496STUB(FF862008) 
     97STUB(FF862070) 
     98STUB(FF86222C) 
     99STUB(FF862560) 
     100STUB(FF8626D0) 
     101STUB(FF862814) 
     102STUB(FF8629CC) 
     103STUB(FF862CB8) 
     104STUB(FF863168) 
     105STUB(FF863278) 
     106STUB(FF863354) 
    95107STUB(FF864270) 
    96108STUB(FF864C5C) 
     
    126138STUB(FF8761C8) 
    127139STUB(FF877B44) 
     140STUB(FF8781F0) 
    128141STUB(FF878A9C) 
    129142STUB(FF878E50) 
     
    201214STUB(FF8BA544) 
    202215STUB(FF8BA5C4) 
     216STUB(FF918428) 
     217STUB(FF9184EC) 
    203218STUB(FF91C114) 
    204219STUB(FF9275B4) 
     
    206221STUB(FF933D88) 
    207222STUB(FF9445D4) 
     223STUB(FF95BB1C) 
     224STUB(FF95DA18) 
     225STUB(FF95DD5C) 
     226STUB(FF95DFB4) 
     227STUB(FF95DFE4) 
    208228STUB(FF95EF2C) 
    209229STUB(FF95F15C) 
     
    249269STUB(FFA40388) 
    250270STUB(FFA92D04) 
     271STUB(FFA945B4) 
  • trunk/platform/s5is/sub/101a/stubs_min.S

    r643 r691  
    2626DEF(some_f_for_dng, 0x9B94) 
    2727DEF(second_ext_for_dng, 0x9BB8) 
     28DEF(movie_status,0x5868 + 0x38) 
  • trunk/platform/s5is/sub/101b/Makefile

    r515 r691  
    11topdir=../../../../ 
    22 
    3 OBJS=boot.o stubs_min.o stubs_auto.o stubs_entry.o lib.o stubs_entry_2.o capt_seq.o 
    4 STUBS_AUTO_DEPS=boot.c capt_seq.c 
     3OBJS=boot.o stubs_min.o stubs_auto.o stubs_entry.o lib.o stubs_entry_2.o capt_seq.o movie_rec.o 
     4STUBS_AUTO_DEPS=boot.c capt_seq.c movie_rec.c 
    55 
    66include $(topdir)/platform/makefile_sub.inc 
  • trunk/platform/s5is/sub/101b/boot.c

    r521 r691  
    1717void __attribute__((naked,noinline)) task_blinker(); 
    1818void dump_chdk(); 
     19 
     20void taskCreateHook(int *p) {  
     21 p-=16; 
     22 if (p[0]==0xFF862E48)  p[0]=(int)movie_record_task; 
     23} 
    1924 
    2025//////////////////////////////////////////////////////////////////////////////// 
     
    141146 
    142147void __attribute__((naked,noinline)) sub_FF8101B8_my() { 
     148     *(int*)0x1930=(int)taskCreateHook; 
    143149     asm volatile ( 
    144150     "loc_FF8101B8:\n" 
  • trunk/platform/s5is/sub/101b/stubs_auto.S

    r515 r691  
    5353STUB(FF82A2A8) 
    5454STUB(FF82A4F8) 
     55STUB(FF82A620) 
    5556STUB(FF82A9D0) 
    5657STUB(FF82ABC4) 
     
    7879STUB(FF82E7A4) 
    7980STUB(FF82EB04) 
     81STUB(FF84082C) 
    8082STUB(FF84239C) 
    8183STUB(FF8504F4) 
     
    9395STUB(FF861F28) 
    9496STUB(FF861F40) 
     97STUB(FF861FA8) 
     98STUB(FF862164) 
     99STUB(FF862498) 
     100STUB(FF862608) 
     101STUB(FF86274C) 
     102STUB(FF862904) 
     103STUB(FF862BF0) 
     104STUB(FF8630A0) 
     105STUB(FF8631B0) 
     106STUB(FF86328C) 
    95107STUB(FF8641A8) 
    96108STUB(FF864B94) 
     
    126138STUB(FF876100) 
    127139STUB(FF877A7C) 
     140STUB(FF878128) 
    128141STUB(FF8789D4) 
    129142STUB(FF878D88) 
     
    201214STUB(FF8BA47C) 
    202215STUB(FF8BA4FC) 
     216STUB(FF918360) 
     217STUB(FF918424) 
    203218STUB(FF91C04C) 
    204219STUB(FF9274EC) 
     
    206221STUB(FF933CC0) 
    207222STUB(FF94450C) 
     223STUB(FF95BA54) 
     224STUB(FF95D950) 
     225STUB(FF95DC94) 
     226STUB(FF95DEEC) 
     227STUB(FF95DF1C) 
    208228STUB(FF95EE64) 
    209229STUB(FF95F094) 
     
    249269STUB(FFA402C0) 
    250270STUB(FFA92C10) 
     271STUB(FFA944C0) 
  • trunk/platform/sx100is/sub/100b/boot.c

    r596 r691  
    13711371                 "BL    sub_FFCFF884\n"                 // Add FAT32 autodetect-code after this line\n" 
    13721372 
    1373 // Start of DataGhost's FAT32 autodetection code 
     1373                 "MOV   R1, R4\n"           //  pointer to MBR in R1 
     1374                 "BL    mbr_read_dryos\n"   //  total sectors count in R0 before and after call 
     1375 
     1376                 // Start of DataGhost's FAT32 autodetection code 
    13741377// Policy: If there is a partition which has type W95 FAT32, use the first one of those for image storage 
    13751378// According to the code below, we can use R1, R2, R3 and R12. 
  • trunk/platform/sx100is/sub/100b/stubs_entry_2.S

    r681 r691  
    182182NHSTUB(DoAFLock, 0xffc16f5c) 
    183183NHSTUB(UnlockAF, 0xffc16fc8) 
     184NHSTUB(WriteSDCard, 0xFFCFF4E8) 
  • trunk/platform/sx100is/sub/100c/boot.c

    r596 r691  
    13711371                 "BL    sub_FFCFF8B8\n"                 // Add FAT32 autodetect-code after this line\n" 
    13721372 
     1373                 "MOV   R1, R4\n"           //  pointer to MBR in R1 
     1374                 "BL    mbr_read_dryos\n"   //  total sectors count in R0 before and after call 
     1375 
    13731376// Start of DataGhost's FAT32 autodetection code 
    13741377// Policy: If there is a partition which has type W95 FAT32, use the first one of those for image storage 
  • trunk/platform/sx100is/sub/100c/stubs_entry_2.S

    r681 r691  
    183183NHSTUB(DoAFLock, 0xffc16f5c) 
    184184NHSTUB(UnlockAF, 0xffc16fc8) 
     185NHSTUB(WriteSDCard, 0xFFCFF51C) 
Note: See TracChangeset for help on using the changeset viewer.