root/platform/sx130is/sub/101d/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 R45 (DRYOS version 2.3, release #0045)
   6 //   Firmware Ver GM1.01D   // Found @ 0xff88c80c, "GM1.01D" @ 0xff88c819
   7 //   Firmware build timestamp: Mar  1 2011 15:52:45
   8 //   Canon PowerShot SX130 IS
   9 
  10 // Values for makefile.inc
  11 //   PLATFORMOSVER = 45
  12 //   PLATFORMID = 12817 (0x3211) // Found @ 0xfffe0130
  13 //   MAXRAMADDR = 0x03ffffff
  14 //   MEMISOSTART = 0x00166210  (*** DOES NOT MATCH MAKEFILE VALUE 0x00f00000***)
  15 //   KEYSYS = d4b                // Found @ 0xffff3618
  16 //   NEED_ENCODED_DISKBOOT = 5   // Found @ 0xffff3628
  17 //   ARAM_HEAP_START = 0x34e000  // Found @ 0xff977548
  18 //   ARAM_HEAP_SIZE  = 0x32000   // Found @ 0xff977508
  19 
  20 // Detected address ranges:
  21 // ROM      0xff810000 - 0xffffffff (8323072 bytes)
  22 // RAM data 0x00001900 - 0x0000ee70 copied from 0xffc08418 (  54640 bytes)
  23 
  24 // Stubs below should be checked. Stub not matched 100%, or difference found to current 'stubs_entry_2.S'
  25 //    Name                                     Address      Rule  %  Comp to stubs_entry_2.S
  26 //NHSTUB(DoAFLock                             ,0xff8384d8) //120        *** != 0xff878eec
  27 //NHSTUB(GetBatteryTemperature                ,0xff863050) //102        *** != 0x00000000
  28 //NHSTUB(UnlockAF                             ,0xff838510) //120        *** != 0xff878efc
  29 
  30 // Check of modemap from 'platform/CAMERA/shooting.c':
  31 // Firmware modemap table found @ffac1640 -> ffbe809c
  32 // No problems found with modemap table.
  33 
  34 // Values below can be overridden in 'stubs_min.S':
  35 DEF(physw_status                            ,0x00032b34) // Found @0xff834658
  36 DEF(physw_run                               ,0x00001c3c) // Found @0xff83424c
  37 DEF(physw_sleep_delay                       ,0x00001c44) // Found @0xff83424c
  38 DEF(levent_table                            ,0xffb97a10) // Found @0xffb97a10
  39 DEF(FlashParamsTable                        ,0xffbe829c) // Found @0xffbe829c
  40 DEF(movie_status                            ,0x00006bac) // Found @0xff9698bc
  41 DEF(video_compression_rate                  ,0x00006bec) // Found @0xff969b28
  42 DEF(full_screen_refresh                     ,0x00009458) // Found @0xffa09454
  43 DEF(canon_menu_active                       ,0x00003038) // Found @0xff88e340
  44 DEF(canon_shoot_menu_active                 ,0x00007d89) // Found @0xff9a95b8
  45 DEF(playrec_mode                            ,0x00002d64) // Found @0xff880644
  46 DEF(zoom_status                             ,0x0000ce70) // Found @0xffac4bf0
  47 DEF(some_flag_for_af_scan                   ,0x00006f68) // Found @0xff96cc44
  48 // focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c).
  49 // each entry contains 3 int value(s), the first is the zoom focus length.
  50 // there are 128 entries in the table - set NUM_FL to 128
  51 DEF(focus_len_table                         ,0xfffe94ec) // Found @0xfffe94ec
  52 DEF(zoom_busy                               ,0x00006a94) // Found @0xff963b60
  53 DEF(focus_busy                              ,0x00006978) // Found @0xff95fd2c
  54 //DEF(recreview_hold                          ,0x00003a50) // Found @0xff89d940, ** != ** stubs_min = 0x000079d0 (0x78E4+0xEC)
  55 // Palette colour tables  found @ 0xffbaf974
  56 DEF(palette_control                         ,0x00009458) // Found @0xffa093d0
  57 DEF(active_palette_buffer                   ,0x00009460) // Found @0xffa093d4
  58 DEF(palette_buffer_ptr                      ,0x00009464) // Found @0xffa0977c
  59 DEF(palette_buffer                          ,0x000b3a58) // Found @0xffa0978c
  60 // Offset from start of palette_buffer to color data = 8 (Found @0xffaf7c20)
  61 DEF(viewport_buffers                        ,0xffb4e464) // Found @0xff8502fc
  62 DEF(active_viewport_buffer                  ,0x00002064) // Found @0xff8500ac
  63 // Camera appears to have only 1 RAW buffer @ 0x41f3b020 (Found @0xffb102f0)
  64 DEF(fileio_semaphore                        ,0x00002a20) // Found @0xff86eeac
  65 DEF(exmem_alloc_table                       ,0x00038fd8) // Found @0xff887d2c
  66 DEF(exmem_types_table                       ,0xffc0999c) // Found @0x00002e84
  67 DEF_CONST(exmem_type_count                  ,0x00000013)
  68 DEF(imager_active                           ,0x00001fa8) // Found @0xff84d0c0 (0x1fa4 + 4)
  69 DEF_CONST(uiprop_count                      ,0x00000072) // Found @0xff993084
  70 
  71 // Values below go in 'lib.c':
  72 //void *vid_get_bitmap_fb()        { return (void*)0x403f1000; }             // Found @0xff85b5cc
  73 //void *vid_get_viewport_fb()      { return (void*)0x40507700; }             // Found @0xffb0cec8
  74 DEF(viewport_fb_d                           ,0x00002ac8) // Found 0x2a70 (@0xff872098) + 0x58 (@0xff8720d8)
  75 //void *vid_get_viewport_fb_d()    { return (void*)(*(int*)(0x2a70+0x58)); } // Found @0xff872098 & 0xff8720d8
  76 DEF(jpeg_count_str                          ,0x000b33a4) // Found @0xff9ff42c
  77 //char *camera_jpeg_count_str()    { return (char*)0x000b33a4; }             // Found @0xff9ff42c
  78 //int get_flash_params_count(void) { return 0x9a; }                          // Found @0xff993a48
  79 
  80 // Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c).
  81 //#define SD_READONLY_FLAG    0x00020000 // Found @0xffb4f4d8, levent 0x90a
  82 //#define SD_READONLY_IDX     2
  83 //#define USB_MASK            0x04000000 // Found @0xffb4f4f8, levent 0x902
  84 //#define USB_IDX             2
  85 //#define BATTCOVER_FLAG      0x00080000 // Found @0xffb4f428, levent 0x905
  86 //#define BATTCOVER_IDX       1
  87 //#define ANALOG_AV_FLAG      0x00008000 // Found @0xffb4f420, levent 0x900 (non-inverted logic)
  88 //#define ANALOG_AV_IDX       1
  89 
  90 // Keymap values for kbd.c. Additional keys may be present, only common values included here.
  91 //static KeyMap keymap[] = {
  92 //    { 2, KEY_SHOOT_FULL      ,0x0000000c }, // Found @0xffb4f468, levent 0x01
  93 //    { 2, KEY_SHOOT_FULL_ONLY ,0x00000008 }, // Found @0xffb4f468, levent 0x01
  94 //    { 2, KEY_SHOOT_HALF      ,0x00000004 }, // Found @0xffb4f460, levent 0x00
  95 //    { 2, KEY_ZOOM_IN         ,0x00000010 }, // Found @0xffb4f470, levent 0x02
  96 //    { 2, KEY_ZOOM_OUT        ,0x00000020 }, // Found @0xffb4f478, levent 0x03
  97 //    { 2, KEY_POWER           ,0x00000040 }, // Found @0xffb4f480, levent 0x600 (uses inverted logic in physw_status)
  98 //    { 2, KEY_PLAYBACK        ,0x00000080 }, // Found @0xffb4f488, levent 0x601 (uses inverted logic in physw_status)
  99 //    { 2, KEY_UP              ,0x00000100 }, // Found @0xffb4f490, levent 0x04
 100 //    { 2, KEY_DOWN            ,0x00000200 }, // Found @0xffb4f498, levent 0x05
 101 //    { 2, KEY_RIGHT           ,0x00000400 }, // Found @0xffb4f4a0, levent 0x07
 102 //    { 2, KEY_LEFT            ,0x00000800 }, // Found @0xffb4f4a8, levent 0x06
 103 //    { 2, KEY_SET             ,0x00001000 }, // Found @0xffb4f4b0, levent 0x08
 104 //    { 2, KEY_MENU            ,0x00002000 }, // Found @0xffb4f4b8, levent 0x09
 105 //    { 2, KEY_DISPLAY         ,0x00004000 }, // Found @0xffb4f4c0, levent 0x0a
 106 //    { 0, 0, 0 }
 107 //};
 108 
 109 // Values below go in 'platform_camera.h':
 110 //#define CAM_DRYOS         1
 111 //#define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher
 112 //#define CAM_RAW_ROWPIX    4080 // Found @0xff93a260
 113 //#define CAM_RAW_ROWS      3048 // Found @0xff93a268
 114 //#undef  CAM_UNCACHED_BIT
 115 //#define CAM_UNCACHED_BIT  0x40000000 // Found @0xff83a6a0
 116 //#define CAM_DATE_FOLDER_NAMING 0x400 // Found @0xffa774c8 (pass as 3rd param to GetImageFolder)
 117 //#define PARAM_CAMERA_NAME 4 // Found @0xffbeab60
 118 
 119 // Known propcases
 120 // //      PROPCASE_AFSTEP 13
 121 // #define PROPCASE_FOCUS_STATE 18
 122 // #define PROPCASE_AV 23
 123 // #define PROPCASE_BV 34
 124 // //      PROPCASE_DELTA_DIGITALGAIN 77
 125 // #define PROPCASE_DELTA_SV 79
 126 // //      PROPCASE_DELTA_ND 80
 127 // #define PROPCASE_EV_CORRECTION_2 211
 128 // #define PROPCASE_ORIENTATION_SENSOR 223
 129 // #define PROPCASE_SV_MARKET 250
 130 // //      PROPCASE_SVFIX 251
 131 // #define PROPCASE_TV 266
 132 // Guessed propset: 4, 5
 133 
 134 // Misc stuff
 135 DEF(ctypes, 0xffb4dd7a)
 136 
 137 // EXMEM types:
 138 // EXMEM_RAMDISK        0
 139 // EXMEM_COM            1
 140 // EXMEM_FORMATTER      2
 141 // EXMEM_SHADING        3
 142 // EXMEM_FAMODE         4
 143 // EXMEM_FIRMUP         5
 144 // EXMEM_FIRMUP_VRAM    6
 145 // EXMEM_FIRMUP_INFLATE 7
 146 // EXMEM_DVLPWORK       8
 147 // EXMEM_EVF            9
 148 // EXMEM_SCRIPT         10
 149 // EXMEM_FILESTORE      11
 150 // EXMEM_MOVIE_REC      12
 151 // EXMEM_MOVIE_PLY      13
 152 // EXMEM_WIDE           14
 153 // EXMEM_NARROW         15
 154 // EXMEM_SUPER_NARROW   16
 155 // EXMEM_CRAW_REC       17
 156 // EXMEM_PCEVF          18
 157 
 158 // ISR flag: 0x1968, pointer to current task's control block: 0x1964
 159 // pointer to TCB area: 0x19f0, found @ 0xff816990
 160 
 161 // LED table init @ 0xff91a130
 162 // LED #1: 0xc022000c, offset 0x1d8
 163 // LED #2: 0xc0220014, offset 0x4
 164 // LED #3: 0xc0220010, offset 0x38
 165 
 166 // For capt_seq.c
 167 DEF(_nrflag,0x6fac) // Found @ ff970950 (0x6fa4) & ff970984 (+0x08)
 168 //static long *nrflag = (long*)(0x6fa4+0x08);  // Found @ ff970950 & ff970984
 169 //#define NR_AUTO (0)                          // have to explictly reset value back to 0 to enable auto
 170 
 171 // Stubs below matched 100%.
 172 //    Name                                     Address                Comp to stubs_entry_2.S
 173 NHSTUB(AllocateUncacheableMemory              ,0xff83a65c) //112
 174 NHSTUB(Close                                  ,0xff836cfc) //120
 175 NHSTUB(CreateBinarySemaphore                  ,0xff839e3c) //115
 176 NHSTUB(CreateTask                             ,0xff81e8a0) //120
 177 NHSTUB(DebugAssert                            ,0xff81eb78) //107
 178 NHSTUB(DeleteDirectory_Fut                    ,0xff836758) //116
 179 NHSTUB(DeleteFile_Fut                         ,0xff836674) //112
 180 NHSTUB(DoAELock                               ,0xff838734) //120
 181 NHSTUB(EnterToCompensationEVF                 ,0xff838628) //104
 182 NHSTUB(ExecuteEventProcedure                  ,0xff889a98) //104
 183 NHSTUB(ExitFromCompensationEVF                ,0xff83866c) //104
 184 NHSTUB(ExitTask                               ,0xff81eb30) //120
 185 NHSTUB(ExpCtrlTool_StartContiAE               ,0xff846a84) //104
 186 NHSTUB(ExpCtrlTool_StopContiAE                ,0xff846c14) //104
 187 NHSTUB(Fclose_Fut                             ,0xff8367f0) //120
 188 NHSTUB(Feof_Fut                               ,0xff8369dc) //  1
 189 NHSTUB(Fflush_Fut                             ,0xff836a18) //  1
 190 NHSTUB(Fgets_Fut                              ,0xff836944) //  1
 191 NHSTUB(Fopen_Fut                              ,0xff8367b0) //120
 192 NHSTUB(Fread_Fut                              ,0xff83689c) //120
 193 NHSTUB(FreeUncacheableMemory                  ,0xff83a69c) //112
 194 NHSTUB(Fseek_Fut                              ,0xff836990) //120
 195 NHSTUB(Fwrite_Fut                             ,0xff8368f0) //120
 196 NHSTUB(GetCCDTemperature                      ,0xff862fdc) //102
 197 NHSTUB(GetCurrentAvValue                      ,0xff9625c0) //120
 198 NHSTUB(GetCurrentShutterSpeed                 ,0xff8add4c) //120
 199 NHSTUB(GetUsableMaxAv                         ,0xffb0759c) //120
 200 NHSTUB(GetUsableMinAv                         ,0xffb07584) //120
 201 NHSTUB(GetDrive_ClusterSize                   ,0xff8709b8) //122
 202 NHSTUB(GetDrive_FreeClusters                  ,0xff870a18) //119
 203 NHSTUB(GetDrive_TotalClusters                 ,0xff8709ec) //119
 204 NHSTUB(GetFocusLensSubjectDistance            ,0xff9609ac) //102
 205 NHSTUB(GetFocusLensSubjectDistanceFromLens    ,0xff960df8) //  3
 206 NHSTUB(GetImageFolder                         ,0xff9419ac) //122
 207 NHSTUB(GetKbdState                            ,0xff85fc0c) //109
 208 NHSTUB(GetMemInfo                             ,0xff81a264) //115
 209 NHSTUB(GetOpticalTemperature                  ,0xff8630c8) //120
 210 NHSTUB(GetParameterData                       ,0xff993a0c) //101
 211 NHSTUB(GetPropertyCase                        ,0xff88d7a0) //102
 212 NHSTUB(GetSystemTime                          ,0xffab1a34) //120
 213 NHSTUB(GetVRAMHPixelsSize                     ,0xff8525f4) //120
 214 NHSTUB(GetVRAMVPixelsSize                     ,0xff852600) //120
 215 NHSTUB(GetZoomLensCurrentPoint                ,0xff963fc8) //120
 216 NHSTUB(GetZoomLensCurrentPosition             ,0xffa9fe7c) //102
 217 NHSTUB(GiveSemaphore                          ,0xff83a078) //120
 218 NHSTUB(IsStrobeChargeCompleted                ,0xff8d7004) //102
 219 NHSTUB(LEDDrive                               ,0xff85f0f4) //120
 220 NHSTUB(LocalTime                              ,0xff8873e8) //115
 221 NHSTUB(LockMainPower                          ,0xff893fec) //120
 222 NHSTUB(MakeDirectory_Fut                      ,0xff8366e8) //116
 223 NHSTUB(MoveFocusLensToDistance                ,0xffb0994c) //102
 224 NHSTUB(MoveIrisWithAv                         ,0xffaae374) //120
 225 NHSTUB(MoveZoomLensWithPoint                  ,0xffaaea3c) //120
 226 NHSTUB(Open                                   ,0xff836c90) //120
 227 NHSTUB(PB2Rec                                 ,0xff896f88) //104
 228 NHSTUB(PT_MoveDigitalZoomToWide               ,0xff878e9c) //120
 229 NHSTUB(PT_MoveOpticalZoomAt                   ,0xff878e74) //120
 230 NHSTUB(PT_PlaySound                           ,0xff8824e4) //122
 231 NHSTUB(PostLogicalEventForNotPowerType        ,0xff891d90) //120
 232 NHSTUB(PostLogicalEventToUI                   ,0xff891ddc) //120
 233 NHSTUB(PutInNdFilter                          ,0xffb07608) //102
 234 NHSTUB(PutOutNdFilter                         ,0xffb07640) //102
 235 NHSTUB(Read                                   ,0xff81ad74) //120
 236 NHSTUB(ReadFastDir                            ,0xffa8c488) //  4
 237 NHSTUB(Rec2PB                                 ,0xff896fc8) //104
 238 NHSTUB(RefreshPhysicalScreen                  ,0xff8a788c) //104
 239 NHSTUB(RenameFile_Fut                         ,0xff8365e0) //116
 240 NHSTUB(Restart                                ,0xff83be44) //122
 241 NHSTUB(ScreenLock                             ,0xff8a8a1c) //117
 242 NHSTUB(ScreenUnlock                           ,0xff8a8a80) //117
 243 NHSTUB(SetAE_ShutterSpeed                     ,0xffb0c094) //102
 244 NHSTUB(SetAutoShutdownTime                    ,0xff894060) //120
 245 NHSTUB(SetCurrentCaptureModeType              ,0xff89abfc) //120
 246 NHSTUB(SetFileAttributes                      ,0xff836ff4) //  3
 247 NHSTUB(SetFileTimeStamp                       ,0xff836f98) //  4
 248 NHSTUB(SetLogicalEventActive                  ,0xff893d38) //120
 249 NHSTUB(SetParameterData                       ,0xff993978) //101
 250 NHSTUB(SetPropertyCase                        ,0xff88d678) //102
 251 NHSTUB(SetScriptMode                          ,0xff893d88) //120
 252 NHSTUB(SleepTask                              ,0xff83a2e0) //120
 253 NHSTUB(TakeSemaphore                          ,0xff839fa8) //120
 254 NHSTUB(TurnOffBackLight                       ,0xff8a0584) //104
 255 NHSTUB(TurnOnBackLight                        ,0xff8a056c) //104
 256 NHSTUB(TurnOnDisplay                          ,0xff85b8a8) //120
 257 NHSTUB(TurnOffDisplay                         ,0xff85b8d4) //120
 258 NHSTUB(UIFS_WriteFirmInfoToFile               ,0xff98420c) //120
 259 NHSTUB(UnlockAE                               ,0xff838758) //120
 260 NHSTUB(UnlockMainPower                        ,0xff893f40) //120
 261 NHSTUB(UpdateMBROnFlash                       ,0xff870838) //105
 262 NHSTUB(VbattGet                               ,0xff832fb4) //120
 263 NHSTUB(Write                                  ,0xff836d8c) //120
 264 NHSTUB(WriteSDCard                            ,0xff950268) //108
 265 NHSTUB(_log                                   ,0xffb4b6c4) //111
 266 NHSTUB(_log10                                 ,0xffb4a608) //112
 267 NHSTUB(_pow                                   ,0xffb4a778) //121
 268 NHSTUB(_sqrt                                  ,0xffb4ca90) //  1
 269 NHSTUB(add_ptp_handler                        ,0xffa4c81c) //121
 270 NHSTUB(apex2us                                ,0xffa0e804) //121
 271 NHSTUB(close                                  ,0xff81ab8c) //109
 272 NHSTUB(err_init_task                          ,0xff815fd4) //111
 273 NHSTUB(exmem_alloc                            ,0xff888334) //103
 274 NHSTUB(exmem_free                             ,0xff8883ac) //103
 275 NHSTUB(free                                   ,0xff814244) //112
 276 NHSTUB(kbd_p1_f                               ,0xff8346d0) //109
 277 NHSTUB(kbd_p1_f_cont                          ,0xff8346dc) //109
 278 NHSTUB(kbd_p2_f                               ,0xff833f18) //109
 279 NHSTUB(kbd_read_keys                          ,0xff834658) //109
 280 NHSTUB(kbd_read_keys_r2                       ,0xff85f5c4) //109
 281 NHSTUB(lseek                                  ,0xff836e18) //120
 282 NHSTUB(malloc                                 ,0xff8141e8) //112
 283 NHSTUB(memcmp                                 ,0xff8206d0) //120
 284 NHSTUB(memcpy                                 ,0xff83fd04) //120
 285 NHSTUB(memset                                 ,0xffa0d800) //120
 286 NHSTUB(mkdir                                  ,0xff837198) //109
 287 NHSTUB(mktime_ext                             ,0xff8a9824) //  1
 288 NHSTUB(open                                   ,0xff81aadc) //109
 289 NHSTUB(OpenFastDir                            ,0xffa8c334) //  4
 290 NHSTUB(closedir                               ,0xffa8c2e4) //121
 291 NHSTUB(get_fstype                             ,0xff870a3c) //122
 292 NHSTUB(qsort                                  ,0xffaf8800) //  4
 293 NHSTUB(rand                                   ,0xffa0d940) //121
 294 NHSTUB(realloc                                ,0xffa0d87c) //115
 295 NHSTUB(reboot_fw_update                       ,0xffa918a8) //106
 296 NHSTUB(set_control_event                      ,0xff893928) //111
 297 NHSTUB(srand                                  ,0xffa0d934) //122
 298 NHSTUB(stat                                   ,0xff836e60) //109
 299 NHSTUB(strcat                                 ,0xff8a8fe0) //  1
 300 NHSTUB(strchr                                 ,0xff8140b4) //  1
 301 NHSTUB(strcmp                                 ,0xff82068c) //120
 302 NHSTUB(strcpy                                 ,0xff820674) //120
 303 NHSTUB(strftime                               ,0xff8a922c) //113
 304 NHSTUB(strlen                                 ,0xff814100) //120
 305 NHSTUB(strncmp                                ,0xff814068) //  1
 306 NHSTUB(strncpy                                ,0xff81402c) //  1
 307 NHSTUB(strrchr                                ,0xff8140d8) //  1
 308 NHSTUB(strtol                                 ,0xff83ffe4) //101
 309 NHSTUB(strtolx                                ,0xff83fde8) //109
 310    DEF(task_CaptSeq                           ,0xff87b564) //120
 311    DEF(task_DvlpSeqTask                       ,0xff87cbd4) //120
 312    DEF(task_ExpDrv                            ,0xff8bfa94) //120
 313    DEF(task_FileWrite                         ,0xffa8a35c) //120
 314    DEF(task_InitFileModules                   ,0xff897938) //120
 315    DEF(task_MovieRecord                       ,0xff969bc8) //120
 316    DEF(task_PhySw                             ,0xff834248) //120
 317    DEF(task_RotaryEncoder                     ,0xff85fd80) //120
 318 NHSTUB(time                                   ,0xff8879c8) //109
 319 NHSTUB(vsprintf                               ,0xff820638) //115
 320 NHSTUB(EngDrvRead                             ,0xff835528) //102
 321 NHSTUB(PTM_GetCurrentItem                     ,0xff894930) //105
 322 NHSTUB(DisableISDriveError                    ,0xffaaf290) //120
 323 NHSTUB(CancelHPTimer                          ,0xff889180) //119
 324 NHSTUB(SetHPTimerAfterNow                     ,0xff889078) //119
 325 NHSTUB(PT_MFOn                                ,0xff878f2c) //120
 326 NHSTUB(PT_MFOff                               ,0xff878f3c) //120
 327 NHSTUB(GetAdChValue                           ,0xff85cf4c) //120
 328 NHSTUB(get_ptp_buf_size                       ,0xff904a4c) //122
 329 NHSTUB(get_ptp_file_buf                       ,0xffa4e244) //121

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