root/platform/sx280hs/sub/102b/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 //   Main firmware start: 0xfc020000
   6 //   DRYOS R52 (DRYOS version 2.3, release #0052)
   7 //   Firmware Ver GM1.02B   // Found @ 0xfc142888, "GM1.02B" @ 0xfc142895
   8 
   9 // Values for makefile.inc
  10 //   PLATFORMOSVER = 52
  11 //   MEMISOSTART = 0x2bd558
  12 //   MEMBASEADDR = 0x8000
  13 //   ARAM_HEAP_START = 0x005ce000 #  Found @0xfc1abe80
  14 //   ARAM_HEAP_SIZE = 0x00022000 #  Found @0xfc1abe5a
  15 
  16 // Detected address ranges:
  17 // ROM      0xfc000000 - 0xfe000000 (33554432 bytes)
  18 // RAM code 0x010c1000 - 0x010e03c4 copied from 0xfc9538d4 ( 127940 bytes)
  19 // RAM data 0x00008000 - 0x00029460 copied from 0xfc932474 ( 136288 bytes)
  20 
  21 // Zico Xtensa blobs:
  22 // zico_0 0xbff20000 - 0xbff257c8 copied from 0xfc764784 (  22472 bytes)
  23 // zico_1 0x80a00000 - 0x80afd2e8 copied from 0xfc769f60 (1037032 bytes)
  24 
  25 // Values below go in 'platform_camera.h':
  26 //#define CAM_DRYOS         1
  27 //#define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher
  28 //#define CAM_DRYOS_2_3_R47 1 // Defined for cameras with DryOS version R47 or higher
  29 //#undef  CAM_UNCACHED_BIT
  30 //#define CAM_UNCACHED_BIT  0x40000000 // Found @0xfc15a814
  31 //#undef CAM_HAS_ND_FILTER // Camera does not have an ND filter
  32 // Camera has an iris (CAM_HAS_IRIS_DIAPHRAGM default)
  33 
  34 // physw_event_table 0xfc4d3e34 Found @0xfc060920
  35 // Values below go in 'platform_kbd.h':
  36 //#define SD_READONLY_FLAG    0x20000000 // Found @0xfc4d3ef4, levent 0x20a
  37 //#define SD_READONLY_IDX     1
  38 //#define USB_MASK            0x10000000 // Found @0xfc4d3f24, levent 0x202
  39 //#define USB_IDX             2
  40 //#define BATTCOVER_FLAG      0x00000200 // Found @0xfc4d3f04, levent 0x205
  41 //#define BATTCOVER_IDX       2
  42 //#define ANALOG_AV_FLAG      0x00008000 // Found @0xfc4d3edc, levent 0x200 (non-inverted logic)
  43 //#define ANALOG_AV_IDX       1
  44 
  45 // Keymap values for kbd.c. Additional keys may be present, only common values included here.
  46 // WARNING: Values only verified on sx280hs (R52) and g7x (R55p6) errors likely on other cams!
  47 //KeyMap keymap[] = {
  48 //    { 0, KEY_POWER           ,0x00000001 }, // Found @0xfc4d3e34, levent 0x100
  49 //    { 0, KEY_PLAYBACK        ,0x00000002 }, // Found @0xfc4d3e3c, levent 0x101
  50 //    { 0, KEY_SHOOT_FULL      ,0x0000000c }, // Found @0xfc4d3e4c, levent 0x01
  51 //    { 0, KEY_SHOOT_FULL_ONLY ,0x00000008 }, // Found @0xfc4d3e4c, levent 0x01
  52 //    { 0, KEY_SHOOT_HALF      ,0x00000004 }, // Found @0xfc4d3e44, levent 0x00
  53 //    { 0, KEY_VIDEO           ,0x00000100 }, // Found @0xfc4d3e54, levent 0x02
  54 //    { 0, KEY_MENU            ,0x00000200 }, // Found @0xfc4d3e5c, levent 0x0b
  55 //    { 0, KEY_DISPLAY         ,0x00002000 }, // Found @0xfc4d3e64, levent 0x0c
  56 //    { 0, KEY_UP              ,0x00004000 }, // Found @0xfc4d3e6c, levent 0x06
  57 //    { 0, KEY_DOWN            ,0x00008000 }, // Found @0xfc4d3e74, levent 0x07
  58 //    { 0, KEY_RIGHT           ,0x00010000 }, // Found @0xfc4d3e7c, levent 0x09
  59 //    { 0, KEY_LEFT            ,0x00020000 }, // Found @0xfc4d3e84, levent 0x08
  60 //    { 0, KEY_SET             ,0x00040000 }, // Found @0xfc4d3e8c, levent 0x0a
  61 //    { 0, 0, 0 }
  62 //};
  63 
  64 // canon_mode_list 0xfc731150 Found @0xfc10ac10
  65 // Check modemap values from 'platform/CAMERA/shooting.c':
  66 // 33295  0x820f In firmware but not in current modemap
  67 
  68 // Known propcases
  69 // //      PROPCASE_AFSTEP 13
  70 // #define PROPCASE_FOCUS_STATE 18
  71 // #define PROPCASE_AV 23
  72 // #define PROPCASE_BV 34
  73 // //      PROPCASE_DELTA_DIGITALGAIN 77
  74 // #define PROPCASE_DELTA_SV 79
  75 // //      PROPCASE_DELTA_ND 80
  76 // #define PROPCASE_EV_CORRECTION_2 210
  77 // #define PROPCASE_ORIENTATION_SENSOR 222
  78 // #define PROPCASE_SV_MARKET 249
  79 // //      PROPCASE_SVFIX 250
  80 // #define PROPCASE_TV 265
  81 // Guessed propset: 6
  82 
  83 // EXMEM types:
  84 // EXMEM_RAMDISK        0
  85 // EXMEM_COM            1
  86 // EXMEM_FORMATTER      2
  87 // EXMEM_SHADING        3
  88 // EXMEM_FAMODE         4
  89 // EXMEM_FIRMUP         5
  90 // EXMEM_FIRMUP_VRAM    6
  91 // EXMEM_FIRMUP_INFLATE 7
  92 // EXMEM_DVLPWORK       8
  93 // EXMEM_EVF            9
  94 // EXMEM_SCRIPT         10
  95 // EXMEM_GPS            11
  96 // EXMEM_FACEAUTH       12
  97 // EXMEM_OHYEARLOG      13
  98 // EXMEM_WIFI           14
  99 // EXMEM_MULTI_PLY      15
 100 // EXMEM_FILESTORE      16
 101 // EXMEM_MOVIE_REC      17
 102 // EXMEM_MOVIE_PLY      18
 103 // EXMEM_WIDE           19
 104 // EXMEM_NARROW         20
 105 // EXMEM_AUTO_GIS_MODE  21
 106 // EXMEM_NP_GIS_MODE    22
 107 // EXMEM_TRIPODHDR_MODE 23
 108 // EXMEM_HSHQ_MODE      24
 109 // EXMEM_CRAW_REC       25
 110 // EXMEM_PCEVF          26
 111 // EXMEM_WIFI_RESIZE    27
 112 
 113 // Values below can be overridden in 'stubs_min.S':
 114 //DEF(ctypes                            ,0xfc481088),          stubs_min = 0xfc481088 (0xfc481088)
 115 //DEF(physw_run                         ,0x00008328),          stubs_min = 0x00008328 (0x00008328)
 116 //DEF(physw_sleep_delay                 ,0x00008330),          stubs_min = 0x00008330 (0x00008330)
 117 //DEF(physw_status                      ,0x0002ae70),          stubs_min = 0x0002ae70 (0x0002ae70)
 118 //DEF(fileio_semaphore                  ,0x000103b4),          stubs_min = 0x000103b4 (0x000103b4)
 119 //DEF(levent_table                      ,0xfc512594),          stubs_min = 0xfc512594 (0xfc512594)
 120 //DEF(FlashParamsTable                  ,0xfc7313a0),          stubs_min = 0xfc7313a0 (0xfc7313a0)
 121 //DEF(playrec_mode                      ,0x0000a140),          stubs_min = 0x0000a140 (0x0000a140)
 122 //DEF(jpeg_count_str                    ,0x000e4308),          stubs_min = 0x000e4308 (0x000e4308)
 123 //DEF(zoom_busy                         ,0x00010814),          stubs_min = 0x00010814 (0x00010814)
 124 //DEF(focus_busy                        ,0x00010694),          stubs_min = 0x00010694 (0x00010694)
 125 DEF(imager_active                     ,0x00008624) // (0x8620+0x4) Found @0xfc132c7a
 126 DEF(active_bitmap_buffer              ,0x0000ac14) // (0xabdc+0x38) Found @0xfc143c7e
 127 DEF_CONST(uiprop_count                      ,0x00000083) // Found @0xfc090128
 128 DEF(exmem_alloc_table                 ,0x0003280c) // Found @0xfc06225a
 129 DEF(exmem_types_table                 ,0xfc934684) // Found @0xfc06225e
 130 DEF_CONST(exmem_type_count                  ,0x0000001c) // Found @0xfc934684
 131 // focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c).
 132 // each entry contains 2 int value(s), the first is the zoom focus length.
 133 // there are 101 entries in the table - set NUM_FL to 101
 134 //DEF(focus_len_table                         ,0xfdf6ad20) // Found @0xfdf6ad20,          stubs_min = 0xfdf6ad20 (0xfdf6ad20)
 135 
 136 //NHSTUB(EnterToCompensationEVF               ,0x00000000) //  0        *** != 0xfc20deb7
 137 //NHSTUB(ExitFromCompensationEVF              ,0x00000000) //  0        *** != 0xfc20def3
 138 //NHSTUB(ExpCtrlTool_StartContiAE             ,0x00000000) //  0        *** != 0xfc204f97
 139 //NHSTUB(ExpCtrlTool_StopContiAE              ,0x00000000) //  0        *** != 0xfc205077
 140 //NHSTUB(Feof_Fut                             ,0x00000000) //  0        *** != 0xfc28fef1
 141 //NHSTUB(Fflush_Fut                           ,0x00000000) //  0        *** != 0xfc28ff19
 142 //NHSTUB(GetDrive_TotalClusters               ,0x00000000) //  0        *** != 0xfc2a4b67
 143 //NHSTUB(GetFocusLensSubjectDistanceFromLens  ,0x00000000) //  0        *** != 0xfc28c84f
 144 //NHSTUB(GetImageFolder                       ,0x00000000) //  0        *** != 0xfc25d4d9
 145 //NHSTUB(MakeSDCardBootable                   ,0x00000000) //  0        *** != 0xfc2a4f67
 146 //NHSTUB(RefreshPhysicalScreen                ,0x00000000) //  0        *** != 0xfc143599
 147 //NHSTUB(RenameFile_Fut                       ,0x00000000) //  0        *** != 0xfc28fca1
 148 //NHSTUB(Restart                              ,0x00000000) //  0        *** != 0xfc095c41
 149 //NHSTUB(SetFileAttributes                    ,0x00000000) //  0        *** != 0xfc2a5319
 150 //NHSTUB(SetFileTimeStamp                     ,0x00000000) //  0        *** != 0xfc2a52d1
 151 //NHSTUB(SetParameterData                     ,0x00000000) //  0        *** != 0xfc09089f
 152 //NHSTUB(TurnOffBackLight                     ,0xfc136705) //  0        *** != 0xfc0d2997
 153 //NHSTUB(TurnOnBackLight                      ,0xfc1366c7) //  0        *** != 0xfc0d2985
 154 //NHSTUB(WriteSDCard                          ,0x00000000) //  0        *** != 0xfc19bb17
 155 //NHSTUB(apex2us                              ,0x00000000) //  0        *** != 0xfc0a950f
 156 //NHSTUB(err_init_task                        ,0x00000000) //  0        *** != 0xfc04f3b9
 157 //NHSTUB(realloc                              ,0x00000000) //  0        *** != 0xfc42adb1
 158 //NHSTUB(reboot_fw_update                     ,0x00000000) //  0        *** != 0xfc335235
 159 //NHSTUB(CancelHPTimer                        ,0x00000000) //  0        *** != 0xfc1423c9
 160 
 161 NHSTUB(AllocateUncacheableMemory              ,0xfc15a7e5) //  0
 162 NHSTUB(Close                                  ,0xfc2a5085) //  0
 163 NHSTUB(CreateBinarySemaphore                  ,0x010c5915) //  0
 164 NHSTUB(CreateTask                             ,0x010c51fd) //  0
 165 NHSTUB(DebugAssert                            ,0x010c5c3d) //  0
 166 NHSTUB(DeleteDirectory_Fut                    ,0xfc28fd4d) //  0
 167 NHSTUB(DeleteFile_Fut                         ,0xfc28fd03) //  0
 168 NHSTUB(DoAELock                               ,0xfc20df41) //  0
 169 NHSTUB(DoAFLock                               ,0xfc20dc47) //  0
 170 NHSTUB2(ExecuteEventProcedure                  ,0xfc29ab19) //  0
 171 NHSTUB(ExitTask                               ,0x010c5369) //  0
 172 NHSTUB(Fclose_Fut                             ,0xfc28fdaf) //  0
 173 NHSTUB(Fgets_Fut                              ,0xfc28fe8d) //  0
 174 NHSTUB(Fopen_Fut                              ,0xfc28fd87) //  0
 175 NHSTUB(Fread_Fut                              ,0xfc28fe21) //  0
 176 NHSTUB(FreeUncacheableMemory                  ,0xfc15a811) //  0
 177 NHSTUB(Fseek_Fut                              ,0xfc28febf) //  0
 178 NHSTUB(Fwrite_Fut                             ,0xfc28fe57) //  0
 179 NHSTUB(GetBatteryTemperature                  ,0xfc138e15) //  0
 180 NHSTUB(GetCCDTemperature                      ,0xfc138db9) //  0
 181 NHSTUB(GetCurrentAvValue                      ,0xfc19e9b9) //  0
 182 NHSTUB(GetCurrentShutterSpeed                 ,0xfc2a6523) //  0
 183 NHSTUB(GetUsableMaxAv                         ,0xfc197eaf) //  0
 184 NHSTUB(GetUsableMinAv                         ,0xfc197e9d) //  0
 185 NHSTUB(GetDrive_ClusterSize                   ,0xfc2a4637) //  0
 186 NHSTUB(GetDrive_FreeClusters                  ,0xfc2a4b8b) //  0
 187 NHSTUB(GetFocusLensSubjectDistance            ,0xfc28c58b) //  0
 188 NHSTUB(GetKbdState                            ,0xfc05f577) //  0
 189 NHSTUB(GetMemInfo                             ,0xfc12dfb1) //  0
 190 NHSTUB(GetOpticalTemperature                  ,0xfc138e6f) //  0
 191 NHSTUB(GetParameterData                       ,0xfc09091f) //  0
 192 NHSTUB(GetPropertyCase                        ,0xfc297839) //  0
 193 NHSTUB(GetSystemTime                          ,0xfc3b980d) //  0
 194 NHSTUB(GetVRAMHPixelsSize                     ,0xfc134981) //  0
 195 NHSTUB(GetVRAMVPixelsSize                     ,0xfc134989) //  0
 196 NHSTUB(GetZoomLensCurrentPoint                ,0xfc1a0c71) //  0
 197 NHSTUB(GetZoomLensCurrentPosition             ,0xfc1a0c05) //  0
 198 NHSTUB(GiveSemaphore                          ,0x010c5a6d) //  0
 199 NHSTUB(IsStrobeChargeCompleted                ,0xfc17196b) //  0
 200 NHSTUB(LEDDrive                               ,0xfc1a73d9) //  0
 201 NHSTUB(LocalTime                              ,0x010c6239) //  0
 202 NHSTUB(LockMainPower                          ,0xfc142d85) //  0
 203 NHSTUB(MakeDirectory_Fut                      ,0xfc2a536f) //  0
 204 NHSTUB(MoveFocusLensToDistance                ,0xfc3de38b) //  0
 205 NHSTUB(MoveIrisWithAv                         ,0xfc3b7d89) //  0
 206 NHSTUB(MoveZoomLensWithPoint                  ,0xfc3b850f) //  0
 207 NHSTUB(Open                                   ,0xfc2a5001) //  0
 208 NHSTUB(PB2Rec                                 ,0xfc0c0985) //  0
 209 NHSTUB(PT_MoveDigitalZoomToWide               ,0xfc20d741) //  0
 210 NHSTUB(PT_MoveOpticalZoomAt                   ,0xfc1a827d) //  0
 211 NHSTUB(PT_PlaySound                           ,0xfc148f2d) //  0
 212 NHSTUB(PostLogicalEventForNotPowerType        ,0xfc2a60e1) //  0
 213 NHSTUB(PostLogicalEventToUI                   ,0xfc2a610d) //  0
 214 NHSTUB(PutInNdFilter                          ,0xfc3dd8f9) //  0
 215 NHSTUB(PutOutNdFilter                         ,0xfc3dd91f) //  0
 216 NHSTUB(Read                                   ,0xfc0ba575) //  0
 217 NHSTUB(ReadFastDir                            ,0xfc1081d1) //  0
 218 NHSTUB(Rec2PB                                 ,0xfc0c09b7) //  0
 219 NHSTUB(ScreenLock                             ,0xfc143bd3) //  0
 220 NHSTUB(ScreenUnlock                           ,0xfc143c0b) //  0
 221 NHSTUB(SetAE_ShutterSpeed                     ,0xfc3e0505) //  0
 222 NHSTUB(SetAutoShutdownTime                    ,0xfc142dd1) //  0
 223 NHSTUB(SetCurrentCaptureModeType              ,0xfc27666d) //  0
 224 NHSTUB(SetLogicalEventActive                  ,0xfc2b00db) //  0
 225 NHSTUB(SetPropertyCase                        ,0xfc297713) //  0
 226 NHSTUB(SetScriptMode                          ,0xfc2b0113) //  0
 227 NHSTUB(SleepTask                              ,0x010c5179) //  0
 228 NHSTUB(TakeSemaphore                          ,0x010c59f9) //  0
 229 NHSTUB(TurnOnDisplay                          ,0xfc0eb6b5) //  0
 230 NHSTUB(TurnOffDisplay                         ,0xfc0eb6c7) //  0
 231 NHSTUB(UnlockAE                               ,0xfc20df5f) //  0
 232 NHSTUB(UnlockAF                               ,0xfc20dc6f) //  0
 233 NHSTUB(UnlockMainPower                        ,0xfc142d25) //  0
 234 //NHSTUB(UnsetZoomForMovie                    ,0x00000000) //  0            == 0x00000000
 235 NHSTUB(VbattGet                               ,0xfc12ec71) //  0
 236 NHSTUB(Write                                  ,0xfc2a50bd) //  0
 237 NHSTUB(_log                                   ,0x010dbe08) //  0
 238 NHSTUB(_log10                                 ,0x010dc328) //  0
 239 NHSTUB(_pow                                   ,0x010dc490) //  0
 240 NHSTUB(_sqrt                                  ,0x010de238) //  0
 241 NHSTUB(add_ptp_handler                        ,0xfc0df5c3) //  0
 242 NHSTUB(close                                  ,0xfc0ba46f) //  0
 243 NHSTUB(displaybusyonscreen                    ,0xfc14a149) //  0
 244 NHSTUB(exmem_alloc                            ,0xfc062729) //  0
 245 NHSTUB(exmem_free                             ,0xfc062779) //  0
 246 NHSTUB(free                                   ,0xfc2b7eeb) //  0
 247 NHSTUB(kbd_p1_f                               ,0xfc0604e5) //  0
 248 NHSTUB(kbd_p1_f_cont                          ,0xfc0604ed) //  0
 249 NHSTUB(kbd_p2_f                               ,0xfc05ffc1) //  0
 250 NHSTUB(kbd_read_keys                          ,0xfc0604af) //  0
 251 NHSTUB(kbd_read_keys_r2                       ,0xfc06091d) //  0
 252 NHSTUB(lseek                                  ,0xfc2a51e1) //  0
 253 NHSTUB(malloc                                 ,0xfc2b7eb5) //  0
 254 NHSTUB(memcmp                                 ,0xfc2b7f93) //  0
 255 NHSTUB(memcpy                                 ,0xfc0d32e1) //  0
 256 NHSTUB(memset                                 ,0xfc2be999) //  0
 257 NHSTUB(mktime_ext                             ,0xfc14a5dd) //  0
 258 NHSTUB(open                                   ,0xfc0ba3ff) //  0
 259 NHSTUB(OpenFastDir                            ,0xfc108131) //  0
 260 NHSTUB(closedir                               ,0xfc1080f9) //  0
 261 NHSTUB(get_fstype                             ,0xfc2a45d1) //  0
 262 NHSTUB(qsort                                  ,0xfc2be953) //  0
 263 NHSTUB(rand                                   ,0xfc0d32c3) //  0
 264 NHSTUB(set_control_event                      ,0xfc2afe21) //  0
 265 NHSTUB(srand                                  ,0xfc0d32bd) //  0
 266 NHSTUB(stat                                   ,0xfc2a5219) //  0
 267 NHSTUB(strcat                                 ,0xfc14a9c9) //  0
 268 NHSTUB(strchr                                 ,0xfc0d3375) //  0
 269 NHSTUB(strcmp                                 ,0xfc2b7de5) //  0
 270 NHSTUB(strcpy                                 ,0xfc2b7e19) //  0
 271 NHSTUB(strftime                               ,0xfc14a60d) //  0
 272 NHSTUB(strlen                                 ,0xfc2b7e29) //  0
 273 NHSTUB(strncmp                                ,0xfc14aa15) //  0
 274 NHSTUB(strncpy                                ,0xfc2b7df5) //  0
 275 NHSTUB(strrchr                                ,0xfc0d3387) //  0
 276 NHSTUB(strtol                                 ,0xfc09b63b) //  0
 277 NHSTUB(strtolx                                ,0xfc09b4f9) //  0
 278    DEF(task_CaptSeq                           ,0xfc0cdb9f) //  0
 279    DEF(task_DvlpSeqTask                       ,0xfc1aa7fb) //  0
 280    DEF(task_ExpDrv                            ,0xfc1e93c9) //  0
 281    DEF(task_FileWrite                         ,0xfc05509d) //  0
 282    DEF(task_InitFileModules                   ,0xfc088221) //  0
 283    DEF(task_MovieRecord                       ,0xfc1a5d09) //  0
 284    DEF(task_PhySw                             ,0xfc0601f5) //  0
 285    DEF(task_TricInitTask                      ,0xfc373d31) //  0
 286    DEF(hook_CreateTask                        ,0x010c51fc) //  0
 287 NHSTUB(time                                   ,0x010c5ef1) //  0
 288 NHSTUB(vsprintf                               ,0xfc09b4cb) //  0
 289 NHSTUB(undisplaybusyonscreen                  ,0xfc14a27f) //  0
 290 NHSTUB(EngDrvRead                             ,0xfc2b7cab) //  0
 291 NHSTUB(PTM_GetCurrentItem                     ,0xfc2b064f) //  0
 292 NHSTUB(DisableISDriveError                    ,0xfc3b8a9d) //  0
 293 //NHSTUB(SetHPTimerAfterNow                   ,0xfc142331) //  0            == 0xfc142331
 294 NHSTUB(SetEventFlag                           ,0x010c5569) //  0
 295 NHSTUB(transfer_src_overlay                   ,0xfc143345) //  0
 296 NHSTUB(bzero                                  ,0x010da260) //  0
 297 NHSTUB(memset32                               ,0x010da264) //  0
 298 NHSTUB(PT_MFOn                                ,0xfc20ee17) //  0
 299 NHSTUB(PT_MFOff                               ,0xfc20ee47) //  0
 300 NHSTUB(GetAdChValue                           ,0xfc0c33c7) //  0
 301 NHSTUB(EnableHDMIPower                        ,0xfc099f1b) //  0
 302 NHSTUB(DisableHDMIPower                       ,0xfc099f51) //  0

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