root/platform/sx400is/sub/100b/stubs_entry.S

/* [<][>][^][v][top][bottom][index][help] */
   1 // !!! THIS FILE IS GENERATED. DO NOT EDIT. !!!
   2 #include "stubs_asm.h"
   3 
   4 // Camera info:
   5 //   DRYOS R55 (DRYOS version 2.3, release #0055+p6)
   6 //   Firmware Ver GM1.00B   // Found @ 0xff89f678, "GM1.00B" @ 0xff89f685
   7 //   Firmware build timestamp: Jun 12 2014 14:22:20
   8 //   Canon PowerShot SX400 IS
   9 
  10 // Values for makefile.inc
  11 //   DIGIC = 41# DIGIC 4+
  12 //   PLATFORMOSVER = 55
  13 //   PLATFORMID = 12956# (0x329c) Found @ 0xffff0040
  14 //   MAXRAMADDR = 0x07ffffff
  15 //   MEMISOSTART = 0x001bade8
  16 //   KEYSYS = d4h# Found @ 0xff81287c
  17 //   NEED_ENCODED_DISKBOOT = 14# Found @ 0xff81288c
  18 //   ARAM_HEAP_START = 0x60e000# Found @ 0xff9bd628
  19 //   ARAM_HEAP_SIZE  = 0x22000# Found @ 0xff9bd5e8
  20 
  21 // Detected address ranges:
  22 // ROM      0xff810000 - 0xffffffff (8323072 bytes)
  23 // RAM code 0x006b1000 - 0x006be81c copied from 0xffd56848 (  55324 bytes)
  24 // RAM data 0x00001900 - 0x000113d0 copied from 0xffd46d78 (  64208 bytes)
  25 
  26 // Stubs below should be checked. Stub not matched 100%, or difference found to current 'stubs_entry_2.S'
  27 //    Name                                     Address      Rule  %  Comp to stubs_entry_2.S
  28 NHSTUB(DeleteFile_Fut                         ,0xff8274a0) //  1 90%
  29 NHSTUB(GetFocusLensSubjectDistanceFromLens    ,0xff99a034) //  3 95%
  30 // ERROR: MakeDirectory_Fut is not found.                  //--- ---    *** != 0xff827fb0
  31 // ERROR: RefreshPhysicalScreen is not found.              //--- ---    *** != 0x00000000
  32 
  33 // Check of modemap from 'platform/CAMERA/shooting.c':
  34 // Firmware modemap table found @ffb085e4 -> ffd00ad4
  35 // No problems found with modemap table.
  36 
  37 // Values below can be overridden in 'stubs_min.S':
  38 DEF(physw_status                            ,0x00012184) // Found @0xff82dd34
  39 DEF(physw_run                               ,0x00001c94) // Found @0xff82d858
  40 DEF(physw_sleep_delay                       ,0x00001c9c) // Found @0xff82d858
  41 DEF(levent_table                            ,0xffc45dfc) // Found @0xffc45dfc
  42 DEF(FlashParamsTable                        ,0xffd00e0c) // Found @0xffd00e0c
  43 DEF(movie_status                            ,0x0000757c) // Found @0xff9a7100
  44 //DEF(video_compression_rate                  ,0x0000752c) // Found @0xff9a7dc8, ** != ** stubs_min = 0x000075ac (0x75AC)
  45 DEF(full_screen_refresh                     ,0x00008414) // Found @0xff9d1544
  46 DEF(canon_menu_active                       ,0x00003b68) // Found @0xff8a7990
  47 DEF(canon_shoot_menu_active                 ,0x00009dad) // Found @0xffa3756c
  48 DEF(playrec_mode                            ,0x00003658) // Found @0xff895f44
  49 DEF(zoom_status                             ,0x0000b8d8) // Found @0xffa9bf90
  50 // focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c).
  51 // each entry contains 2 int value(s), the first is the zoom focus length.
  52 // there are 127 entries in the table - set NUM_FL to 127
  53 DEF(focus_len_table                         ,0xffffae94) // Found @0xffffae94
  54 DEF(zoom_busy                               ,0x00007264) // Found @0xff99e748
  55 DEF(focus_busy                              ,0x00007064) // Found @0xff998a2c
  56 // Palette colour tables  found @ 0xffc49af0
  57 // Camera appears to have only 1 RAW buffer @ 0x42fb5130 (Found @0xffba36b0)
  58 DEF(fileio_semaphore                        ,0x00001d0c) // Found @0xff830304
  59 DEF(exmem_alloc_table                       ,0x000134dc) // Found @0xff834d04
  60 DEF(exmem_types_table                       ,0xffd4721c) // Found @0x00001da4
  61 DEF_CONST(exmem_type_count                  ,0x0000001e)
  62 DEF(imager_active                           ,0x0000203c) // Found @0xff84bb7c (0x2038 + 4)
  63 DEF_CONST(uiprop_count                      ,0x000000c6) // Found @0xff9c7430
  64 
  65 // Values below go in 'lib.c':
  66 //void *vid_get_bitmap_fb()        { return (void*)0x40711000; }             // Found @0xff865754
  67 //void *vid_get_viewport_fb()      { return (void*)0x40866b80; }             // Found @0xffba1ce8
  68 DEF(jpeg_count_str                          ,0x0010ab00) // Found @0xffa22718
  69 //char *camera_jpeg_count_str()    { return (char*)0x0010ab00; }             // Found @0xffa22718
  70 //int get_flash_params_count(void) { return 0xd4; }                          // Found @0xff9c7eb4
  71 
  72 // Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c).
  73 //#define SD_READONLY_FLAG    0x02000000 // Found @0xffbf4c44, levent 0x20a
  74 //#define SD_READONLY_IDX     2
  75 //#define USB_MASK            0x10000000 // Found @0xffbf4c54, levent 0x202
  76 //#define USB_IDX             2
  77 //#define BATTCOVER_FLAG      0x04000000 // Found @0xffbf4c4c, levent 0x205
  78 //#define BATTCOVER_IDX       2
  79 //#define ANALOG_AV_FLAG      0x00000080 // Found @0xffbf4bdc, levent 0x200 (non-inverted logic)
  80 //#define ANALOG_AV_IDX       2
  81 
  82 // Keymap values for kbd.c. Additional keys may be present, only common values included here.
  83 //static KeyMap keymap[] = {
  84 //    { 2, KEY_SET             ,0x00000001 }, // Found @0xffbf4ba4, levent 0x0a
  85 //    { 2, KEY_UP              ,0x00000002 }, // Found @0xffbf4bac, levent 0x06
  86 //    { 2, KEY_RIGHT           ,0x00000004 }, // Found @0xffbf4bb4, levent 0x09
  87 //    { 2, KEY_DOWN            ,0x00000008 }, // Found @0xffbf4bbc, levent 0x07
  88 //    { 2, KEY_LEFT            ,0x00000010 }, // Found @0xffbf4bc4, levent 0x08
  89 //    { 2, KEY_SHOOT_FULL      ,0x00000060 }, // Found @0xffbf4bd4, levent 0x01
  90 //    { 2, KEY_SHOOT_FULL_ONLY ,0x00000040 }, // Found @0xffbf4bd4, levent 0x01
  91 //    { 2, KEY_SHOOT_HALF      ,0x00000020 }, // Found @0xffbf4bcc, levent 0x00
  92 //    { 2, KEY_POWER           ,0x00000100 }, // Found @0xffbf4be4, levent 0x100
  93 //    { 2, KEY_PLAYBACK        ,0x00000200 }, // Found @0xffbf4bec, levent 0x101
  94 //    { 2, KEY_HELP            ,0x00000400 }, // Found @0xffbf4bf4, levent 0x0d
  95 //    { 2, KEY_MENU            ,0x00001000 }, // Found @0xffbf4c04, levent 0x14
  96 //    { 2, KEY_VIDEO           ,0x00002000 }, // Found @0xffbf4c0c, levent 0x02
  97 //    { 0, 0, 0 }
  98 //};
  99 
 100 // Values below go in 'platform_camera.h':
 101 //#define CAM_DRYOS         1
 102 //#define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher
 103 //#define CAM_DRYOS_2_3_R47 1 // Defined for cameras with DryOS version R47 or higher
 104 //#define CAM_RAW_ROWPIX    4704 // Found @0xff970830
 105 //#define CAM_RAW_ROWS      3504 // Found @0xff97083c
 106 //#undef  CAM_UNCACHED_BIT
 107 //#define CAM_UNCACHED_BIT  0x40000000 // Found @0xff826234
 108 //#define CAM_DATE_FOLDER_NAMING 0x080 // Found @0xffac9420 (pass as 3rd param to GetImageFolder)
 109 //#define PARAM_CAMERA_NAME 3 // Found @0xffcffab4
 110 //#define CAM_3ARG_DebugAssert 1
 111 
 112 // Below goes in 'filewrite.c' or 'platform_camera.h':
 113 //#define MAX_CHUNKS_FOR_FWT 7 // Found @0xffae0b78
 114 
 115 // Known propcases
 116 // //      PROPCASE_AFSTEP 13
 117 // #define PROPCASE_FOCUS_STATE 18
 118 // #define PROPCASE_AV 23
 119 // #define PROPCASE_BV 34
 120 // //      PROPCASE_DELTA_DIGITALGAIN 77
 121 // #define PROPCASE_DELTA_SV 79
 122 // //      PROPCASE_DELTA_ND 80
 123 // #define PROPCASE_EV_CORRECTION_2 210
 124 // #define PROPCASE_ORIENTATION_SENSOR 222
 125 // #define PROPCASE_SV_MARKET 249
 126 // //      PROPCASE_SVFIX 250
 127 // #define PROPCASE_TV 265
 128 // Guessed propset: 6
 129 
 130 // Misc stuff
 131 DEF(ctypes, 0xffbf07a8)
 132 
 133 // EXMEM types:
 134 // EXMEM_RAMDISK        0
 135 // EXMEM_COM            1
 136 // EXMEM_FORMATTER      2
 137 // EXMEM_SHADING        3
 138 // EXMEM_FAMODE         4
 139 // EXMEM_FIRMUP         5
 140 // EXMEM_FIRMUP_VRAM    6
 141 // EXMEM_FIRMUP_INFLATE 7
 142 // EXMEM_FIRMUP_PICTURESTYLE 8
 143 // EXMEM_DVLPWORK       9
 144 // EXMEM_EVF            10
 145 // EXMEM_SCRIPT         11
 146 // EXMEM_GPS            12
 147 // EXMEM_FACEAUTH       13
 148 // EXMEM_OHYEARLOG      14
 149 // EXMEM_WIFI           15
 150 // EXMEM_LENS_FIRMUP    16
 151 // EXMEM_LENS_COMPENSATION 17
 152 // EXMEM_FILESTORE      18
 153 // EXMEM_MOVIE_REC      19
 154 // EXMEM_MOVIE_PLY      20
 155 // EXMEM_WIFI_RESIZE    21
 156 // EXMEM_PCEVF          22
 157 // EXMEM_WIDE           23
 158 // EXMEM_NARROW         24
 159 // EXMEM_AUTO_GIS_MODE  25
 160 // EXMEM_NP_GIS_MODE    26
 161 // EXMEM_TRIPODHDR_MODE 27
 162 // EXMEM_HSHQ_MODE      28
 163 // EXMEM_CRAW_REC       29
 164 
 165 // ISR flag: 0x1944, pointer to current task's control block: 0x1940
 166 // pointer to TCB area: 0x19c4, found @ 0xffd57df0
 167 
 168 // LED table init @ 0xff94c5d0
 169 // LED #1: 0xc022d200 (#98 in GPIO table), offset 0x98
 170 // LED #2: 0xc022d1fc (#97 in GPIO table), offset 0x8
 171 // GPIO table @ 0xffbf4620
 172 
 173 // Stubs below matched 100%.
 174 //    Name                                     Address                Comp to stubs_entry_2.S
 175 NHSTUB(AllocateUncacheableMemory              ,0xff8261f0) //112
 176 NHSTUB(Close                                  ,0xff827b14) //120
 177 NHSTUB(CreateBinarySemaphore                  ,0xff8262c8) //115
 178 NHSTUB(CreateTask                             ,0xff824a2c) //120
 179 NHSTUB(DebugAssert                            ,0xff824dd8) //107
 180 NHSTUB(DeleteDirectory_Fut                    ,0xff827514) //116
 181 NHSTUB(DoAELock                               ,0xff83394c) //120
 182 NHSTUB(DoAFLock                               ,0xff833610) //120
 183 NHSTUB(EnterToCompensationEVF                 ,0xff8338b0) //104
 184 NHSTUB(ExecuteEventProcedure                  ,0xff8357e8) //104
 185 NHSTUB(ExitFromCompensationEVF                ,0xff8338f8) //104
 186 NHSTUB(ExitTask                               ,0xff824d74) //120
 187 NHSTUB(ExpCtrlTool_StartContiAE               ,0xff84457c) //104
 188 NHSTUB(ExpCtrlTool_StopContiAE                ,0xff844714) //104
 189 NHSTUB(Fclose_Fut                             ,0xff8275ac) //120
 190 NHSTUB(Feof_Fut                               ,0xff827798) //  1
 191 NHSTUB(Fflush_Fut                             ,0xff8277d4) //  1
 192 NHSTUB(Fgets_Fut                              ,0xff827700) //  6
 193 NHSTUB(Fopen_Fut                              ,0xff82756c) //120
 194 NHSTUB(Fread_Fut                              ,0xff827658) //120
 195 NHSTUB(FreeUncacheableMemory                  ,0xff82622c) //112
 196 NHSTUB(Fseek_Fut                              ,0xff82774c) //120
 197 NHSTUB(Fwrite_Fut                             ,0xff8276ac) //120
 198 NHSTUB(GetBatteryTemperature                  ,0xff86e628) //102
 199 NHSTUB(GetCCDTemperature                      ,0xff86e5b0) //102
 200 NHSTUB(GetCurrentAvValue                      ,0xff88861c) //120
 201 NHSTUB(GetCurrentShutterSpeed                 ,0xff8c9a3c) //120
 202 NHSTUB(GetUsableMaxAv                         ,0xff9710d8) //120
 203 NHSTUB(GetUsableMinAv                         ,0xff9710bc) //120
 204 NHSTUB(GetDrive_ClusterSize                   ,0xff83199c) //122
 205 NHSTUB(GetDrive_FreeClusters                  ,0xff8321a8) //119
 206 NHSTUB(GetDrive_TotalClusters                 ,0xff83217c) //122
 207 NHSTUB(GetFocusLensSubjectDistance            ,0xff999c50) //102
 208 NHSTUB(GetImageFolder                         ,0xff9787b0) //122
 209 NHSTUB(GetKbdState                            ,0xff86ae4c) //109
 210 NHSTUB(GetMemInfo                             ,0xff8233fc) //115
 211 NHSTUB(GetOpticalTemperature                  ,0xff86e6a0) //120
 212 NHSTUB(GetParameterData                       ,0xff9c7e70) //101
 213 NHSTUB(GetPropertyCase                        ,0xff8a0f88) //101
 214 NHSTUB(GetSystemTime                          ,0xffb05920) //120
 215 NHSTUB(GetVRAMHPixelsSize                     ,0xff850780) //120
 216 NHSTUB(GetVRAMVPixelsSize                     ,0xff85078c) //120
 217 NHSTUB(GetZoomLensCurrentPoint                ,0xff99ebd0) //120
 218 NHSTUB(GetZoomLensCurrentPosition             ,0xffaf8008) //102
 219 NHSTUB(GiveSemaphore                          ,0xff826548) //120
 220 NHSTUB(IsStrobeChargeCompleted                ,0xff8e8d2c) //102
 221 NHSTUB(LEDDrive                               ,0xff9aeef4) //120
 222 NHSTUB(LocalTime                              ,0xff83ecf4) //115
 223 NHSTUB(LockMainPower                          ,0xff8a3934) //120
 224 NHSTUB(MakeSDCardBootable                     ,0xff832570) //105
 225 NHSTUB(MoveFocusLensToDistance                ,0xffba58a4) //102
 226 NHSTUB(MoveIrisWithAv                         ,0xffb006b4) //120
 227 NHSTUB(MoveZoomLensWithPoint                  ,0xffb01114) //120
 228 NHSTUB(MoveOpticalZoomAt                      ,0xff83309c) //109
 229 NHSTUB(Open                                   ,0xff827a4c) //120
 230 NHSTUB(PB2Rec                                 ,0xff85b140) //104
 231 NHSTUB(PT_MoveDigitalZoomToWide               ,0xff9b0098) //102
 232 NHSTUB(PT_MoveOpticalZoomAt                   ,0xff9b0068) //102
 233 NHSTUB(PT_PlaySound                           ,0xff8b3d44) //122
 234 NHSTUB(PostLogicalEventForNotPowerType        ,0xff8a2e20) //120
 235 NHSTUB(PostLogicalEventToUI                   ,0xff8a2e6c) //120
 236 NHSTUB(PutInNdFilter                          ,0xffba5d18) //102
 237 NHSTUB(PutOutNdFilter                         ,0xffba5d54) //102
 238 NHSTUB(Read                                   ,0xff823eb8) //120
 239 NHSTUB(ReadFastDir                            ,0xffae5310) //115
 240 NHSTUB(Rec2PB                                 ,0xff859564) //104
 241 NHSTUB(RenameFile_Fut                         ,0xff82740c) //116
 242 NHSTUB(Restart                                ,0xff838894) //122
 243 NHSTUB(ScreenLock                             ,0xff8a72b4) //117
 244 NHSTUB(ScreenUnlock                           ,0xff8a7310) //117
 245 NHSTUB(SetAE_ShutterSpeed                     ,0xffba0b24) //102
 246 NHSTUB(SetAutoShutdownTime                    ,0xff8a39a8) //120
 247 NHSTUB(SetCurrentCaptureModeType              ,0xff8b0bf4) //120
 248 NHSTUB(SetDate                                ,0xffba299c) //120
 249 NHSTUB(SetFileAttributes                      ,0xff827f18) //  6
 250 NHSTUB(SetFileTimeStamp                       ,0xff827ea0) //  6
 251 NHSTUB(SetLogicalEventActive                  ,0xff8a3518) //120
 252 NHSTUB(SetParameterData                       ,0xff9c7dd4) //101
 253 NHSTUB(SetPropertyCase                        ,0xff8a0db0) //101
 254 NHSTUB(SetScriptMode                          ,0xff8a35b0) //120
 255 NHSTUB(SleepTask                              ,0xff82a75c) //120
 256 NHSTUB(TakeSemaphore                          ,0xff826470) //120
 257 NHSTUB(TurnOffBackLight                       ,0xff8b344c) //104
 258 NHSTUB(TurnOnBackLight                        ,0xff8b3434) //104
 259 NHSTUB(TurnOnDisplay                          ,0xff865b34) //120
 260 NHSTUB(TurnOffDisplay                         ,0xff865b44) //120
 261 NHSTUB(UIFS_WriteFirmInfoToFile               ,0xff9e5a3c) //120
 262 NHSTUB(UnlockAE                               ,0xff833970) //120
 263 NHSTUB(UnlockAF                               ,0xff833640) //120
 264 NHSTUB(UnlockMainPower                        ,0xff8a388c) //120
 265 NHSTUB(VbattGet                               ,0xff82cb40) //120
 266 NHSTUB(Write                                  ,0xff827b68) //120
 267 NHSTUB(WriteSDCard                            ,0xff880fe0) //108
 268 NHSTUB(_log                                   ,0x006bb308) //111
 269 NHSTUB(_log10                                 ,0x006bb848) //112
 270 NHSTUB(_pow                                   ,0x006bb9c0) //121
 271 NHSTUB(_sqrt                                  ,0x006bd5e4) //  6
 272 NHSTUB(add_ptp_handler                        ,0xffa9562c) //121
 273 NHSTUB(apex2us                                ,0xffa45070) //121
 274 NHSTUB(close                                  ,0xff823d14) //109
 275 NHSTUB(err_init_task                          ,0xff824794) //111
 276 NHSTUB(exmem_alloc                            ,0xff8353d0) //101
 277 NHSTUB(exmem_ualloc                           ,0xff83523c) //101
 278 NHSTUB(exmem_ufree                            ,0xff83537c) //101
 279 NHSTUB(free                                   ,0xff825624) //112
 280 NHSTUB(kbd_p1_f                               ,0xff82dd84) //109
 281 NHSTUB(kbd_p1_f_cont                          ,0xff82dd90) //109
 282 NHSTUB(kbd_p2_f                               ,0xff82d4f0) //109
 283 NHSTUB(kbd_read_keys                          ,0xff82dd34) //109
 284 NHSTUB(kbd_read_keys_r2                       ,0xff86a7e8) //109
 285 NHSTUB(lseek                                  ,0xff827d30) //120
 286 NHSTUB(malloc                                 ,0xff8255cc) //112
 287 NHSTUB(memcmp                                 ,0xff8253a4) //120
 288 NHSTUB(memcpy                                 ,0xff8b7bb0) //120
 289 NHSTUB(memset                                 ,0xffa3f03c) //120
 290 NHSTUB(mkdir                                  ,0xff827fb0) //121
 291 NHSTUB(mktime_ext                             ,0xff8b7438) //  1
 292 NHSTUB(open                                   ,0xff823c64) //109
 293 NHSTUB(OpenFastDir                            ,0xffae51bc) //115
 294 NHSTUB(closedir                               ,0xffae516c) //121
 295 NHSTUB(get_fstype                             ,0xff831914) //122
 296 NHSTUB(qsort                                  ,0xffb688e0) //  6
 297 NHSTUB(rand                                   ,0xffa3f00c) //121
 298 NHSTUB(realloc                                ,0xffa3f0b8) //115
 299 NHSTUB(reboot_fw_update                       ,0xffb04fd4) //106
 300 NHSTUB(set_control_event                      ,0xff8a3188) //111
 301 NHSTUB(srand                                  ,0xffa3f000) //122
 302 NHSTUB(stat                                   ,0xff827d78) //109
 303 NHSTUB(strcat                                 ,0xff83923c) //  1
 304 NHSTUB(strchr                                 ,0xff8392c4) //  1
 305 NHSTUB(strcmp                                 ,0xff8254a0) //120
 306 NHSTUB(strcpy                                 ,0xff82538c) //120
 307 NHSTUB(strftime                               ,0xff8b7484) //113
 308 NHSTUB(strlen                                 ,0xff8254e4) //120
 309 NHSTUB(strncmp                                ,0xff839278) //  1
 310 NHSTUB(strncpy                                ,0xff8286a8) //  1
 311 NHSTUB(strrchr                                ,0xff8b7cfc) //  1
 312 NHSTUB(strtol                                 ,0xff839228) //101
 313 NHSTUB(strtolx                                ,0xff83902c) //109
 314    DEF(task_CaptSeq                           ,0xff89065c) //120
 315    DEF(task_DvlpSeqTask                       ,0xff9b40d4) //120
 316    DEF(task_ExpDrv                            ,0xff8e0be4) //120
 317    DEF(task_FileWrite                         ,0xffae0b18) //120
 318    DEF(task_InitFileModules                   ,0xff85b9dc) //120
 319    DEF(task_MovieRecord                       ,0xff9a7e94) //120
 320    DEF(task_PhySw                             ,0xff82d854) //120
 321    DEF(hook_CreateTask                        ,0xff824a2c) //105
 322 NHSTUB(time                                   ,0xff82ab0c) //119
 323 NHSTUB(vsprintf                               ,0xff828668) //115
 324 NHSTUB(EngDrvRead                             ,0xff82de94) //102
 325 NHSTUB(PTM_GetCurrentItem                     ,0xff8a5520) //105
 326 NHSTUB(DisableISDriveError                    ,0xffb01c20) //120
 327 NHSTUB(CancelHPTimer                          ,0xff89d6ec) //119
 328 NHSTUB(SetHPTimerAfterNow                     ,0xff89d5e4) //119
 329 NHSTUB(SS_MFOn                                ,0xff9b012c) //120
 330 NHSTUB(SS_MFOff                               ,0xff9b013c) //120
 331 NHSTUB(GetAdChValue                           ,0xff866cd8) //120
 332 NHSTUB(get_ptp_buf_size                       ,0xff928b90) //122
 333 NHSTUB(get_ptp_file_buf                       ,0xffa97288) //121
 334 NHSTUB(SetVideoOutType                        ,0xffba1370) //109
 335 NHSTUB(GetVideoOutType                        ,0xffba12bc) //120

/* [<][>][^][v][top][bottom][index][help] */