root/platform/ixus130_sd1400/sub/100a/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 R43 (DRYOS version 2.3, release #0043)
   6 //   Firmware Ver GM1.00A   // Found @ 0xff88b250, "GM1.00A" @ 0xff88b25d
   7 //   Firmware build timestamp: Dec  3 2009 20:03:45
   8 //   Canon IXUS 130
   9 
  10 // Values for makefile.inc
  11 //   PLATFORMOSVER = 43
  12 //   PLATFORMID = 12787 (0x31f3) // Found @ 0xfffe0130
  13 //   MAXRAMADDR = 0x03ffffff
  14 //   MEMISOSTART = 0x0014fe20
  15 //   KEYSYS = d4a                // Found @ 0xffff3568
  16 //   NEED_ENCODED_DISKBOOT = 4   // Found @ 0xffff3578
  17 //   ARAM_HEAP_START = 0x38e000  // Found @ 0xff9688d4
  18 //   ARAM_HEAP_SIZE  = 0x32000   // Found @ 0xff968894
  19 
  20 // Detected address ranges:
  21 // ROM      0xff810000 - 0xffffffff (8323072 bytes)
  22 // RAM data 0x00001900 - 0x0000ebd0 copied from 0xffbf837c (  53968 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(kbd_pwr_off                          ,0xff85fb28) //  2 64%    *** != 0x00000000
  27 
  28 // Check of modemap from 'platform/CAMERA/shooting.c':
  29 // Firmware modemap table found @ffaa2a80 -> ffbd0aa8
  30 // Mode 33320 in firmware but not in current modemap
  31 // Mode 33322 in firmware but not in current modemap
  32 
  33 // Values below can be overridden in 'stubs_min.S':
  34 DEF(physw_status                            ,0x00032800) // Found @0xff83459c
  35 DEF(physw_run                               ,0x00001c2c) // Found @0xff834200
  36 DEF(physw_sleep_delay                       ,0x00001c34) // Found @0xff834200
  37 DEF(levent_table                            ,0xffb7a2d0) // Found @0xffb7a2d0
  38 DEF(FlashParamsTable                        ,0xffbd0cac) // Found @0xffbd0cac
  39 DEF(movie_status                            ,0x00006430) // Found @0xff95a250
  40 DEF(video_compression_rate                  ,0x0000646c) // Found @0xff95a4bc
  41 DEF(full_screen_refresh                     ,0x00008dcc) // Found @0xff9f6b8c
  42 DEF(canon_menu_active                       ,0x00002f60) // Found @0xff88cdc4
  43 DEF(canon_shoot_menu_active                 ,0x000077c5) // Found @0xff997e10
  44 DEF(playrec_mode                            ,0x00002c98) // Found @0xff87f1f4
  45 DEF(zoom_status                             ,0x0000c6c4) // Found @0xffaa5f6c
  46 DEF(some_flag_for_af_scan                   ,0x000067e8) // Found @0xff95d114
  47 // focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c).
  48 // each entry contains 3 int value(s), the first is the zoom focus length.
  49 // there are 8 entries in the table - set NUM_FL to 8
  50 DEF(focus_len_table                         ,0xfffe2aa0) // Found @0xfffe2aa0
  51 DEF(zoom_busy                               ,0x00006390) // Found @0xff955ea4
  52 DEF(focus_busy                              ,0x00006234) // Found @0xff951764
  53 DEF(recreview_hold                          ,0x000035c0) // Found @0xff89a95c
  54 DEF(viewport_buffers                        ,0xffb3da8c) // Found @0xff84f0cc
  55 DEF(active_viewport_buffer                  ,0x00002040) // Found @0xff84ee8c
  56 // Camera appears to have only 1 RAW buffer @ 0x41db3b80 (Found @0xffb03e54)
  57 DEF(fileio_semaphore                        ,0x00002950) // Found @0xff86d9ac
  58 DEF(exmem_alloc_table                       ,0x00039ac8) // Found @0xff886720
  59 DEF(exmem_types_table                       ,0xffbf982c) // Found @0x00002db0
  60 DEF_CONST(exmem_type_count                  ,0x00000012)
  61 DEF(imager_active                           ,0x00001f84) // Found @0xff84b980 (0x1f80 + 4)
  62 DEF_CONST(uiprop_count                      ,0x00000074) // Found @0xff98574c
  63 
  64 // Values below go in 'lib.c':
  65 //void *vid_get_bitmap_fb()        { return (void*)0x40431000; }             // Found @0xff859828
  66 //void *vid_get_viewport_fb()      { return (void*)0x40547700; }             // Found @0xffb00ae4
  67 DEF(viewport_fb_d                           ,0x000029f8) // Found 0x29a0 (@0xff870cc0) + 0x58 (@0xff870cf8)
  68 //void *vid_get_viewport_fb_d()    { return (void*)(*(int*)(0x29a0+0x58)); } // Found @0xff870cc0 & 0xff870cf8
  69 DEF(jpeg_count_str                          ,0x0009eb4c) // Found @0xff9eac18
  70 //char *camera_jpeg_count_str()    { return (char*)0x0009eb4c; }             // Found @0xff9eac18
  71 //int get_flash_params_count(void) { return 0x94; }                          // Found @0xff986190
  72 
  73 // Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c).
  74 //#define SD_READONLY_FLAG    0x00020000 // Found @0xffb3ea70, levent 0x90a
  75 //#define SD_READONLY_IDX     2
  76 //#define USB_MASK            0x00080000 // Found @0xffb3ea88, levent 0x902
  77 //#define USB_IDX             2
  78 //#define BATTCOVER_FLAG      0x00008000 // Found @0xffb3ea58, levent 0x905
  79 //#define BATTCOVER_IDX       2
  80 //#define ANALOG_AV_FLAG      0x00040000 // Found @0xffb3ea7c, levent 0x900 (non-inverted logic)
  81 //#define ANALOG_AV_IDX       2
  82 
  83 // Keymap values for kbd.c. Additional keys may be present, only common values included here.
  84 //static KeyMap keymap[] = {
  85 //    { 0, KEY_SET             ,0x00000004 }, // Found @0xffb3e9b0, levent 0x08
  86 //    { 0, KEY_DISPLAY         ,0x00000008 }, // Found @0xffb3e9bc, levent 0x0a
  87 //    { 2, KEY_MENU            ,0x00000001 }, // Found @0xffb3e9d4, levent 0x09
  88 //    { 2, KEY_ZOOM_IN         ,0x00000004 }, // Found @0xffb3e9e0, levent 0x02
  89 //    { 2, KEY_ZOOM_OUT        ,0x00000008 }, // Found @0xffb3e9ec, levent 0x03
  90 //    { 2, KEY_LEFT            ,0x00000010 }, // Found @0xffb3e9f8, levent 0x06
  91 //    { 2, KEY_RIGHT           ,0x00000020 }, // Found @0xffb3ea04, levent 0x07
  92 //    { 2, KEY_DOWN            ,0x00000040 }, // Found @0xffb3ea10, levent 0x05
  93 //    { 2, KEY_UP              ,0x00000080 }, // Found @0xffb3ea1c, levent 0x04
  94 //    { 2, KEY_SHOOT_FULL      ,0x00000300 }, // Found @0xffb3ea34, levent 0x01
  95 //    { 2, KEY_SHOOT_FULL_ONLY ,0x00000200 }, // Found @0xffb3ea34, levent 0x01
  96 //    { 2, KEY_SHOOT_HALF      ,0x00000100 }, // Found @0xffb3ea28, levent 0x00
  97 //    { 2, KEY_POWER           ,0x00000400 }, // Found @0xffb3ea40, levent 0x600
  98 //    { 2, KEY_PLAYBACK        ,0x00000800 }, // Found @0xffb3ea4c, levent 0x601
  99 //    { 0, 0, 0 }
 100 //};
 101 
 102 // Values below go in 'platform_camera.h':
 103 //#define CAM_DRYOS         1
 104 //#define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher
 105 //#define CAM_RAW_ROWPIX    4416 // Found @0xff92e1c8
 106 //#define CAM_RAW_ROWS      3296 // Found @0xff92e1d0
 107 //#undef  CAM_UNCACHED_BIT
 108 //#define CAM_UNCACHED_BIT  0x40000000 // Found @0xff83a1f8
 109 //#define CAM_DATE_FOLDER_NAMING 0x100 // Found @0xffa5d3cc (pass as 3rd param to GetImageFolder)
 110 //#define PARAM_CAMERA_NAME 4 // Found @0xffbd31d4
 111 
 112 // Known propcases
 113 // //      PROPCASE_AFSTEP 13
 114 // #define PROPCASE_FOCUS_STATE 18
 115 // #define PROPCASE_AV 23
 116 // #define PROPCASE_BV 34
 117 // //      PROPCASE_DELTA_DIGITALGAIN 77
 118 // #define PROPCASE_DELTA_SV 79
 119 // //      PROPCASE_DELTA_ND 80
 120 // #define PROPCASE_EV_CORRECTION_2 209
 121 // #define PROPCASE_ORIENTATION_SENSOR 221
 122 // #define PROPCASE_SV_MARKET 248
 123 // //      PROPCASE_SVFIX 249
 124 // #define PROPCASE_TV 264
 125 // Guessed propset: 3
 126 
 127 // Misc stuff
 128 DEF(ctypes, 0xffb3d52a)
 129 
 130 // EXMEM types:
 131 // EXMEM_RAMDISK        0
 132 // EXMEM_COM            1
 133 // EXMEM_FORMATTER      2
 134 // EXMEM_SHADING        3
 135 // EXMEM_FAMODE         4
 136 // EXMEM_FIRMUP         5
 137 // EXMEM_FIRMUP_VRAM    6
 138 // EXMEM_FIRMUP_INFLATE 7
 139 // EXMEM_DVLPWORK       8
 140 // EXMEM_EVF            9
 141 // EXMEM_SCRIPT         10
 142 // EXMEM_FILESTORE      11
 143 // EXMEM_MOVIE_REC      12
 144 // EXMEM_MOVIE_PLY      13
 145 // EXMEM_WIDE           14
 146 // EXMEM_NARROW         15
 147 // EXMEM_CRAW_REC       16
 148 // EXMEM_PCEVF          17
 149 
 150 // ISR flag: 0x1964, pointer to current task's control block: 0x1960
 151 // pointer to TCB area: 0x19ec, found @ 0xff816908
 152 
 153 // LED table init @ 0xff90dfa0
 154 // LED #1: 0xc0223030, offset 0x1d8
 155 // LED #2: 0xc0220130, offset 0x4
 156 // LED #3: 0xc0220134, offset 0x38
 157 
 158 // For capt_seq.c
 159 DEF(_nrflag,0x67c0) // Found @ ff95f0f8 (0x67c8) & ff95f118 (-0x08)
 160 //static long *nrflag = (long*)(0x67c8-0x08);  // Found @ ff95f0f8 & ff95f114
 161 
 162 // Stubs below matched 100%.
 163 //    Name                                     Address                Comp to stubs_entry_2.S
 164 NHSTUB(AllocateUncacheableMemory              ,0xff83a1b4) //112
 165 NHSTUB(Close                                  ,0xff836b78) //120
 166 NHSTUB(CreateBinarySemaphore                  ,0xff839994) //115
 167 NHSTUB(CreateTask                             ,0xff81e83c) //120
 168 NHSTUB(DebugAssert                            ,0xff81eb14) //107
 169 NHSTUB(DeleteDirectory_Fut                    ,0xff8365d4) //116
 170 NHSTUB(DeleteFile_Fut                         ,0xff8364f0) //112
 171 NHSTUB(DoAELock                               ,0xff838280) //120
 172 NHSTUB(DoAFLock                               ,0xff83809c) //120
 173 NHSTUB(EnterToCompensationEVF                 ,0xff8381e8) //104
 174 NHSTUB(ExecuteEventProcedure                  ,0xff8884e8) //104
 175 NHSTUB(ExitFromCompensationEVF                ,0xff83822c) //104
 176 NHSTUB(ExitTask                               ,0xff81eacc) //120
 177 NHSTUB(ExpCtrlTool_StartContiAE               ,0xff845e30) //104
 178 NHSTUB(ExpCtrlTool_StopContiAE                ,0xff845f08) //104
 179 NHSTUB(Fclose_Fut                             ,0xff83666c) //120
 180 NHSTUB(Feof_Fut                               ,0xff836858) //  1
 181 NHSTUB(Fflush_Fut                             ,0xff836894) //  1
 182 NHSTUB(Fgets_Fut                              ,0xff8367c0) //  1
 183 NHSTUB(Fopen_Fut                              ,0xff83662c) //120
 184 NHSTUB(Fread_Fut                              ,0xff836718) //120
 185 NHSTUB(FreeUncacheableMemory                  ,0xff83a1f4) //112
 186 NHSTUB(Fseek_Fut                              ,0xff83680c) //120
 187 NHSTUB(Fwrite_Fut                             ,0xff83676c) //120
 188 NHSTUB(GetBatteryTemperature                  ,0xff862d18) //102
 189 NHSTUB(GetCCDTemperature                      ,0xff862ca4) //102
 190 NHSTUB(GetCurrentAvValue                      ,0xff953154) //120
 191 NHSTUB(GetCurrentShutterSpeed                 ,0xff8a9f24) //120
 192 NHSTUB(GetDrive_ClusterSize                   ,0xff86f4b0) //122
 193 NHSTUB(GetDrive_FreeClusters                  ,0xff86f510) //  4
 194 NHSTUB(GetDrive_TotalClusters                 ,0xff86f4e4) //  3
 195 NHSTUB(GetFocusLensSubjectDistance            ,0xff9523e4) //102
 196 NHSTUB(GetFocusLensSubjectDistanceFromLens    ,0xff95282c) //  3
 197 NHSTUB(GetImageFolder                         ,0xff935238) //122
 198 NHSTUB(GetKbdState                            ,0xff85fb10) //109
 199 NHSTUB(GetMemInfo                             ,0xff81a16c) //115
 200 NHSTUB(GetOpticalTemperature                  ,0xff862d8c) //120
 201 NHSTUB(GetParameterData                       ,0xff986150) //101
 202 NHSTUB(GetPropertyCase                        ,0xff88c1f4) //102
 203 NHSTUB(GetSystemTime                          ,0xffa92ac4) //120
 204 NHSTUB(GetVRAMHPixelsSize                     ,0xff85079c) //120
 205 NHSTUB(GetVRAMVPixelsSize                     ,0xff8507a8) //120
 206 NHSTUB(GetZoomLensCurrentPoint                ,0xff95621c) //120
 207 NHSTUB(GetZoomLensCurrentPosition             ,0xffa86134) //102
 208 NHSTUB(GiveSemaphore                          ,0xff839bd0) //120
 209 NHSTUB(IsStrobeChargeCompleted                ,0xff8d0bc0) //102
 210 NHSTUB(LEDDrive                               ,0xff85ef6c) //120
 211 NHSTUB(LocalTime                              ,0xff885ddc) //115
 212 NHSTUB(LockMainPower                          ,0xff890c50) //120
 213 NHSTUB(MakeDirectory_Fut                      ,0xff836564) //116
 214 NHSTUB(MoveFocusLensToDistance                ,0xffafd4c8) //102
 215 NHSTUB(MoveIrisWithAv                         ,0xffa90824) //120
 216 NHSTUB(MoveZoomLensWithPoint                  ,0xffa90db4) //120
 217 NHSTUB(Open                                   ,0xff836b0c) //120
 218 NHSTUB(PB2Rec                                 ,0xff893b90) //104
 219 NHSTUB(PT_MoveDigitalZoomToWide               ,0xff877bb4) //120
 220 NHSTUB(PT_MoveOpticalZoomAt                   ,0xff877b8c) //120
 221 NHSTUB(PT_PlaySound                           ,0xff880e64) //122
 222 NHSTUB(PostLogicalEventForNotPowerType        ,0xff890480) //120
 223 NHSTUB(PostLogicalEventToUI                   ,0xff8904cc) //120
 224 NHSTUB(PutInNdFilter                          ,0xffa90c18) //102
 225 NHSTUB(PutOutNdFilter                         ,0xffa90c3c) //102
 226 NHSTUB(Read                                   ,0xff81ac7c) //120
 227 NHSTUB(ReadFastDir                            ,0xffa75154) //  4
 228 NHSTUB(Rec2PB                                 ,0xff893bd0) //104
 229 NHSTUB(RefreshPhysicalScreen                  ,0xff9f77c8) //104
 230 NHSTUB(RenameFile_Fut                         ,0xff83645c) //116
 231 NHSTUB(Restart                                ,0xff83b994) //122
 232 NHSTUB(ScreenLock                             ,0xff9f89f8) //117
 233 NHSTUB(ScreenUnlock                           ,0xff9f8a3c) //117
 234 NHSTUB(SetAE_ShutterSpeed                     ,0xffaffc58) //102
 235 NHSTUB(SetAutoShutdownTime                    ,0xff890cc4) //120
 236 NHSTUB(SetCurrentCaptureModeType              ,0xff897dcc) //120
 237 NHSTUB(SetFileAttributes                      ,0xff836e70) //  3
 238 NHSTUB(SetFileTimeStamp                       ,0xff836e14) //  4
 239 NHSTUB(SetLogicalEventActive                  ,0xff8909c8) //120
 240 NHSTUB(SetParameterData                       ,0xff9860c0) //101
 241 NHSTUB(SetPropertyCase                        ,0xff88c0c4) //102
 242 NHSTUB(SetScriptMode                          ,0xff890a18) //120
 243 NHSTUB(SleepTask                              ,0xff839e38) //120
 244 NHSTUB(TakeSemaphore                          ,0xff839b00) //120
 245 NHSTUB(TurnOffBackLight                       ,0xff89dee0) //104
 246 NHSTUB(TurnOnBackLight                        ,0xff89dec8) //104
 247 NHSTUB(TurnOnDisplay                          ,0xff859b70) //120
 248 NHSTUB(TurnOffDisplay                         ,0xff859b80) //120
 249 NHSTUB(UIFS_WriteFirmInfoToFile               ,0xff973418) //120
 250 NHSTUB(UnlockAE                               ,0xff8382a4) //120
 251 NHSTUB(UnlockAF                               ,0xff838120) //120
 252 NHSTUB(UnlockMainPower                        ,0xff890ba4) //120
 253 NHSTUB(UnsetZoomForMovie                      ,0xff98c3a4) //104
 254 NHSTUB(UpdateMBROnFlash                       ,0xff86f330) //105
 255 NHSTUB(VbattGet                               ,0xff832f14) //120
 256 NHSTUB(Write                                  ,0xff836c08) //120
 257 NHSTUB(WriteSDCard                            ,0xff942aa0) //108
 258 NHSTUB(_log                                   ,0xffb3ae74) //111
 259 NHSTUB(_log10                                 ,0xffb39db8) //112
 260 NHSTUB(_pow                                   ,0xffb39f28) //121
 261 NHSTUB(_sqrt                                  ,0xffb3c240) //  1
 262 NHSTUB(add_ptp_handler                        ,0xffa33428) //121
 263 NHSTUB(apex2us                                ,0xff9fc26c) //121
 264 NHSTUB(close                                  ,0xff81aa94) //109
 265 NHSTUB(err_init_task                          ,0xff815f4c) //111
 266 NHSTUB(exmem_alloc                            ,0xff886d1c) //103
 267 NHSTUB(exmem_free                             ,0xff886d94) //103
 268 NHSTUB(free                                   ,0xff81415c) //112
 269 NHSTUB(get_nd_value                           ,0xffa84408) //123
 270 NHSTUB(get_current_nd_value                   ,0xffa843c4) //122
 271 NHSTUB(kbd_p1_f                               ,0xff834614) //109
 272 NHSTUB(kbd_p1_f_cont                          ,0xff834620) //109
 273 NHSTUB(kbd_p2_f                               ,0xff833ecc) //109
 274 NHSTUB(kbd_read_keys                          ,0xff83459c) //109
 275 NHSTUB(kbd_read_keys_r2                       ,0xff85f4cc) //109
 276 NHSTUB(lseek                                  ,0xff836c94) //120
 277 NHSTUB(malloc                                 ,0xff814100) //112
 278 NHSTUB(memcmp                                 ,0xff82066c) //120
 279 NHSTUB(memcpy                                 ,0xff83f81c) //120
 280 NHSTUB(memset                                 ,0xff9fb2a4) //120
 281 NHSTUB(mkdir                                  ,0xff837014) //109
 282 NHSTUB(mktime_ext                             ,0xff8a5a84) //  1
 283 NHSTUB(open                                   ,0xff81a9e4) //109
 284 NHSTUB(OpenFastDir                            ,0xffa75000) //  4
 285 NHSTUB(closedir                               ,0xffa74fb0) //121
 286 NHSTUB(get_fstype                             ,0xff86f534) //122
 287 NHSTUB(qsort                                  ,0xffae5444) //  4
 288 NHSTUB(rand                                   ,0xff820774) //121
 289 NHSTUB(realloc                                ,0xff9fb320) //115
 290 NHSTUB(reboot_fw_update                       ,0xffa7a598) //106
 291 NHSTUB(set_control_event                      ,0xff8906e8) //111
 292 NHSTUB(srand                                  ,0xff820768) //122
 293 NHSTUB(stat                                   ,0xff836cdc) //109
 294 NHSTUB(strcat                                 ,0xff8a5240) //  1
 295 NHSTUB(strchr                                 ,0xff813fe4) //  1
 296 NHSTUB(strcmp                                 ,0xff820628) //120
 297 NHSTUB(strcpy                                 ,0xff820610) //120
 298 NHSTUB(strftime                               ,0xff8a548c) //113
 299 NHSTUB(strlen                                 ,0xff814030) //120
 300 NHSTUB(strncmp                                ,0xff813f98) //  1
 301 NHSTUB(strncpy                                ,0xff813f5c) //  1
 302 NHSTUB(strrchr                                ,0xff814008) //  1
 303 NHSTUB(strtol                                 ,0xff83fafc) //101
 304 NHSTUB(strtolx                                ,0xff83f900) //109
 305    DEF(task_CaptSeq                           ,0xff87a2c0) //120
 306    DEF(task_DvlpSeqTask                       ,0xff87b85c) //120
 307    DEF(task_ExpDrv                            ,0xff8baad8) //120
 308    DEF(task_FileWrite                         ,0xffa6fc2c) //120
 309    DEF(task_InitFileModules                   ,0xff89467c) //120
 310    DEF(task_MovieRecord                       ,0xff95a538) //120
 311    DEF(task_PhySw                             ,0xff8341fc) //120
 312 NHSTUB(time                                   ,0xff8863bc) //109
 313 NHSTUB(vsprintf                               ,0xff8205d4) //115
 314 NHSTUB(EngDrvRead                             ,0xff835468) //102
 315 NHSTUB(PTM_GetCurrentItem                     ,0xff891684) //105
 316 NHSTUB(DisableISDriveError                    ,0xffa915e8) //120
 317 NHSTUB(CancelHPTimer                          ,0xff887bd0) //119
 318 NHSTUB(SetHPTimerAfterNow                     ,0xff887ac8) //119
 319 NHSTUB(PT_MFOn                                ,0xff877c44) //120
 320 NHSTUB(PT_MFOff                               ,0xff877c54) //120
 321 NHSTUB(GetAdChValue                           ,0xff85b248) //120
 322 NHSTUB(EnableHDMIPower                        ,0xff85e954) //123
 323 NHSTUB(DisableHDMIPower                       ,0xff85e968) //123
 324 NHSTUB(get_ptp_buf_size                       ,0xff8f71fc) //122
 325 NHSTUB(get_ptp_file_buf                       ,0xffa34e18) //121

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