root/platform/a610/sub/100e/capt_seq.c

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

DEFINITIONS

This source file includes following definitions.
  1. sub_FFD39620_my
  2. sub_FFD364B0_my
  3. capt_seq_task
  4. exp_drv_task
  5. sub_FFCE1C34_my
  6. sub_FFC976B4_my

   1 #include "lolevel.h"
   2 #include "platform.h"
   3 #include "core.h"
   4 
   5 
   6 static long *nrflag = (long*)0x6CE0;
   7 
   8 #include "../../../generic/capt_seq.c"
   9 
  10 void __attribute__((naked,noinline)) sub_FFD39620_my(long p)
  11 {
  12     (void)p;
  13     asm volatile (
  14                 "STMFD   SP!, {R4,R5,LR}\n"
  15                 "LDR     R3, =0x73D34\n"
  16                 "LDR     R5, =0x6CDC\n"
  17                 "SUB     SP, SP, #4\n"
  18                 "LDR     R1, =0xFFFFFFFF\n"
  19                 "STR     R0, [R5]\n"
  20                 "LDR     R0, [R3]\n"
  21                 "BL      sub_FFC0FA60\n"
  22                 "BL      sub_FFD3F438\n"
  23             "BL      wait_until_remote_button_is_released\n"
  24                 "LDR     R0, [R0,#0x7C]\n"
  25                 "BL      sub_FFD39594\n" // nr
  26 
  27                 "BL      capt_seq_hook_set_nr\n"
  28 
  29                 "LDR     R3, =0x6CE4\n"
  30                 "LDR     R0, [R3]\n"
  31                 "BL      sub_FFC8C088\n"
  32 
  33                 "B       sub_FFD3965C\n" // continue orig. func
  34     );
  35 }
  36 
  37 void __attribute__((naked,noinline)) sub_FFD364B0_my(long p)
  38 {
  39     (void)p;
  40     asm volatile (
  41                 "STMFD   SP!, {R4,R5,LR}\n"
  42                 "LDR     R5, [R0,#0xC]\n"
  43                 "BL      sub_FFD3F1DC\n"
  44                 "CMP     R0, #0\n"
  45                 "BNE     1f\n"
  46                 "BL      sub_FFD3F1E8\n"
  47 
  48 "1:\n"
  49                 "MOV     R0, R5\n"
  50                 "BL      sub_FFD3842C\n"
  51                 "TST     R0, #1\n"
  52                 "MOV     R2, R5\n"
  53                 "MOV     R1, #1\n"
  54                 "BEQ     2f\n"
  55                 "LDMFD   SP!, {R4,R5,LR}\n"
  56                 "B       sub_FFD34A08\n"
  57 
  58 "2:\n"
  59                 "BL      sub_FFD74484\n"
  60                 "BL      sub_FFD33DF4\n"
  61                 "MOV     R4, R0\n"
  62                 "BL      sub_FFC143A4\n"
  63                 "ADD     R3, R5, R5,LSL#1\n"
  64                 "ADD     R4, R4, R3,LSL#5\n"
  65                 "STR     R0, [R4,#4]\n"
  66                 "MOV     R0, R5\n"
  67                 "BL      sub_FFD39E38\n" // ??
  68                 "BL      sub_FFD38970\n" // tv related
  69                 "BL      sub_FFD38910\n" // ??
  70                 "MOV     R0, R5\n"
  71                 "BL      sub_FFD39620_my\n" // make photo
  72 
  73                 "BL      capt_seq_hook_raw_here\n"
  74 
  75                 "MOV     R2, R5\n"
  76                 "MOV     R1, #1\n"
  77                 "BL      sub_FFD34A08\n" // save file ?
  78                 "LDMFD   SP!, {R4,R5,LR}\n"
  79                 "B       sub_FFD39820\n"
  80     );
  81 }
  82 
  83 void __attribute__((naked,noinline)) capt_seq_task()
  84 {
  85         asm volatile (
  86                 "STMFD   SP!, {R4,LR}\n"
  87                 "SUB     SP, SP, #4\n"
  88                 "MOV     R4, SP\n"
  89                 "B       loc_FFD36A08\n"
  90 // ---------------------------------------------------------------------------
  91 
  92 "loc_FFD368B4:\n"
  93                 "LDR     R2, [SP,#0xC-0xC]\n"
  94                 "LDR     R3, [R2]\n"
  95                 "MOV     R0, R2\n"
  96                 "CMP     R3, #0x15\n"
  97                 "LDRLS   PC, [PC,R3,LSL#2]\n"
  98                 "B       loc_FFD369E0\n"
  99 // ---------------------------------------------------------------------------
 100                 ".long loc_FFD36924\n"
 101                 ".long loc_FFD36930\n"
 102                 ".long loc_FFD36938\n"
 103                 ".long loc_FFD36948\n"
 104                 ".long loc_FFD36940\n"
 105                 ".long loc_FFD36950\n"
 106                 ".long loc_FFD36958\n"
 107                 ".long loc_FFD36964\n"
 108                 ".long loc_FFD3696C\n"
 109                 ".long loc_FFD36978\n"
 110                 ".long loc_FFD36980\n"
 111                 ".long loc_FFD36988\n"
 112                 ".long loc_FFD36990\n"
 113                 ".long loc_FFD36998\n"
 114                 ".long loc_FFD369A0\n"
 115                 ".long loc_FFD369AC\n"
 116                 ".long loc_FFD369B4\n"
 117                 ".long loc_FFD369BC\n"
 118                 ".long loc_FFD369C4\n"
 119                 ".long loc_FFD369D0\n"
 120                 ".long loc_FFD369D8\n"
 121                 ".long loc_FFD369F0\n"
 122 // ---------------------------------------------------------------------------
 123 
 124 "loc_FFD36924:\n"
 125                 "BL      sub_FFD38088\n"
 126                 "BL      shooting_expo_param_override\n"  // +
 127                 "BL      sub_FFD34560\n"
 128                 "B       loc_FFD369EC\n"
 129 // ---------------------------------------------------------------------------
 130 
 131 "loc_FFD36930:\n"
 132                 "BL      sub_FFD364B0_my\n"
 133                 "B       loc_FFD369EC\n"
 134 // ---------------------------------------------------------------------------
 135 
 136 "loc_FFD36938:\n"
 137                 "BL      sub_FFD3841C\n"
 138                 "B       loc_FFD369EC\n"
 139 // ---------------------------------------------------------------------------
 140 
 141 "loc_FFD36940:\n"
 142                 "BL      sub_FFD37344\n"
 143                 "B       loc_FFD369EC\n"
 144 // ---------------------------------------------------------------------------
 145 
 146 "loc_FFD36948:\n"
 147                 "BL      sub_FFD373A0\n"
 148                 "B       loc_FFD369EC\n"
 149 // ---------------------------------------------------------------------------
 150 
 151 "loc_FFD36950:\n"
 152                 "BL      sub_FFD37590\n"
 153                 "B       loc_FFD369EC\n"
 154 // ---------------------------------------------------------------------------
 155 
 156 "loc_FFD36958:\n"
 157                 "BL      sub_FFD3817C\n"
 158                 "BL      sub_FFD34560\n"
 159                 "B       loc_FFD369EC\n"
 160 // ---------------------------------------------------------------------------
 161 
 162 "loc_FFD36964:\n"
 163                 "BL      sub_FFD36598\n"
 164                 "B       loc_FFD369EC\n"
 165 // ---------------------------------------------------------------------------
 166 
 167 "loc_FFD3696C:\n"
 168                 "BL      sub_FFD381E4\n"
 169                 "BL      sub_FFD34560\n"
 170                 "B       loc_FFD369EC\n"
 171 // ---------------------------------------------------------------------------
 172 
 173 "loc_FFD36978:\n"
 174                 "BL      sub_FFD373A0\n"
 175                 "B       loc_FFD369EC\n"
 176 // ---------------------------------------------------------------------------
 177 
 178 "loc_FFD36980:\n"
 179                 "BL      sub_FFD38AA8\n"
 180                 "B       loc_FFD369EC\n"
 181 // ---------------------------------------------------------------------------
 182 
 183 "loc_FFD36988:\n"
 184                 "BL      sub_FFD38D30\n"
 185                 "B       loc_FFD369EC\n"
 186 // ---------------------------------------------------------------------------
 187 
 188 "loc_FFD36990:\n"
 189                 "BL      sub_FFD38DBC\n"
 190                 "B       loc_FFD369EC\n"
 191 // ---------------------------------------------------------------------------
 192 
 193 "loc_FFD36998:\n"
 194                 "BL      sub_FFD38E74\n"
 195                 "B       loc_FFD369EC\n"
 196 // ---------------------------------------------------------------------------
 197 
 198 "loc_FFD369A0:\n"
 199                 "MOV     R0, #0\n"
 200                 "BL      sub_FFD38F24\n"
 201                 "B       loc_FFD369EC\n"
 202 // ---------------------------------------------------------------------------
 203 
 204 "loc_FFD369AC:"
 205                 "BL      sub_FFD39074\n"
 206                 "B       loc_FFD369EC\n"
 207 // ---------------------------------------------------------------------------
 208 
 209 "loc_FFD369B4:\n"
 210                 "BL      sub_FFD390E8\n"
 211                 "B       loc_FFD369EC\n"
 212 // ---------------------------------------------------------------------------
 213 
 214 "loc_FFD369BC:\n"
 215                 "BL      sub_FFD391A0\n"
 216                 "B       loc_FFD369EC\n"
 217 // ---------------------------------------------------------------------------
 218 
 219 "loc_FFD369C4:\n"
 220                 "MOV     R0, #1\n"
 221                 "BL      sub_FFD38F24\n"
 222                 "B       loc_FFD369EC\n"
 223 // ---------------------------------------------------------------------------
 224 
 225 "loc_FFD369D0:\n"
 226                 "BL      sub_FFD392A0\n"
 227                 "B       loc_FFD369EC\n"
 228 // ---------------------------------------------------------------------------
 229 
 230 "loc_FFD369D8:\n"
 231                 "BL      sub_FFD392CC\n"
 232                 "B       loc_FFD369EC\n"
 233 // ---------------------------------------------------------------------------
 234 
 235 "loc_FFD369E0:\n"
 236                 "LDR     R0, =0xFFD36234\n"
 237                 "MOV     R1, #0x2DC\n"
 238                 "BL      sub_FFC03AD0\n"
 239 
 240 "loc_FFD369EC:\n"
 241                 "LDR     R2, [SP,#0xC-0xC]\n"
 242 
 243 "loc_FFD369F0:\n"
 244                 "LDR     R3, =0x73CBC\n"
 245                 "LDR     R1, [R2,#4]\n"
 246                 "LDR     R0, [R3]\n"
 247                 "BL      sub_FFC0F8C4\n"
 248                 "LDR     R0, [SP,#0xC-0xC]\n"
 249                 "BL      sub_FFD362B0\n"
 250 
 251 "loc_FFD36A08:\n"
 252                 "LDR     R3, =0x73CC0\n"
 253                 "MOV     R1, R4\n"
 254                 "LDR     R0, [R3]\n"
 255                 "MOV     R2, #0\n"
 256                 "BL      sub_FFC10074\n"
 257                 "TST     R0, #1\n"
 258                 "BEQ     loc_FFD368B4\n"
 259                 "MOV     R1, #0x24C\n"
 260                 "LDR     R0, =0xFFD36234\n"
 261                 "ADD     R1, R1, #1\n"
 262                 "BL      sub_FFC03AD0\n"
 263                 "BL      sub_FFC11610\n"
 264                 "ADD     SP, SP, #4\n"
 265                 "LDMFD   SP!, {R4,PC}\n"
 266 
 267     );
 268 }
 269 
 270 void __attribute__((naked,noinline)) exp_drv_task(){
 271  asm volatile(
 272                 "STMFD   SP!, {R4-R8,LR}\n"
 273                 "SUB     SP, SP, #0x14\n"
 274                 "MOV     R7, SP\n"
 275                 "B       loc_FFCE3148\n"
 276 "loc_FFCE2E64:\n"
 277                 "CMP     R2, #0x19\n"
 278                 "BNE     loc_FFCE2E7C\n"
 279                 "LDR     R0, [R12,#0x34]\n"
 280                 "MOV     LR, PC\n"
 281                 "LDR     PC, [R12,#0x30]\n"
 282                 "B       loc_FFCE2EB4\n"
 283 "loc_FFCE2E7C:\n"
 284                 "SUB     R3, R2, #0x16\n"
 285                 "CMP     R3, #1\n"
 286                 "BHI     loc_FFCE2E94\n"
 287                 "MOV     R0, R12\n"
 288                 "BL      sub_FFCE2DFC\n"
 289                 "B       loc_FFCE2EA4\n"
 290 "loc_FFCE2E94:\n"
 291                 "CMP     R2, #0x18\n"
 292                 "BNE     loc_FFCE2EC0\n"
 293                 "BL      sub_FFC97A1C\n"
 294                 "BL      sub_FFC99894\n"
 295 "loc_FFCE2EA4:\n"
 296                 "LDR     R3, [SP,#0x0]\n"
 297                 "LDR     R0, [R3,#0x34]\n"
 298                 "MOV     LR, PC\n"
 299                 "LDR     PC, [R3,#0x30]\n"
 300 "loc_FFCE2EB4:\n"
 301                 "LDR     R0, [SP,#0x0]\n"
 302                 "BL      sub_FFCE114C\n"
 303                 "B       loc_FFCE3148\n"
 304 "loc_FFCE2EC0:\n"
 305                 "CMP     R2, #0xC\n"
 306                 "MOV     R8, #1\n"
 307                 "BNE     loc_FFCE2F30\n"
 308                 "LDR     R1, [R12,#0x24]\n"
 309                 "ADD     R1, R1, R1,LSL#1\n"
 310                 "ADD     R1, R12, R1,LSL#1\n"
 311                 "ADD     R6, SP, #0xC\n"
 312                 "SUB     R1, R1, #2\n"
 313                 "MOV     R2, #6\n"
 314                 "MOV     R0, R6\n"
 315                 "BL      _memcpy\n"
 316                 "LDR     R0, [SP,#0x0]\n"
 317                 "BL      sub_FFCE2424\n"
 318                 "LDR     R3, [SP,#0x0]\n"
 319                 "LDR     R1, [R3,#0x24]\n"
 320                 "LDR     R2, [R3,#0x34]\n"
 321                 "ADD     R0, R3, #4\n"
 322                 "MOV     LR, PC\n"
 323                 "LDR     PC, [R3,#0x30]\n"
 324                 "LDR     R0, [SP,#0x0]\n"
 325                 "BL      sub_FFCE25A8\n"
 326                 "LDR     R3, [SP,#0x0]\n"
 327                 "ADD     R0, R3, #4\n"
 328                 "LDR     R1, [R3,#0x24]\n"
 329                 "LDR     R2, [R3,#0x3C]\n"
 330                 "MOV     LR, PC\n"
 331                 "LDR     PC, [R3,#0x38]\n"
 332                 "B       loc_FFCE30F8\n"
 333 "loc_FFCE2F30:\n"
 334                 "SUB     R3, R2, #0xD\n"
 335                 "CMP     R3, #1\n"
 336                 "BHI     loc_FFCE2FB0\n"
 337                 "ADD     R6, SP, #0xC\n"
 338                 "ADD     R5, SP, #0x4\n"
 339                 "MOV     R0, R12\n"
 340                 "MOV     R1, R6\n"
 341                 "MOV     R2, R5\n"
 342                 "BL      sub_FFCE2624\n"
 343                 "MOV     R4, R0\n"
 344                 "CMP     R4, #3\n"
 345                 "CMPNE   R4, #1\n"
 346                 "BNE     loc_FFCE2F90\n"
 347                 "LDR     R12, [SP,#0x0]\n"
 348                 "MOV     R0, R5\n"
 349                 "LDR     R1, [R12,#0x24]\n"
 350                 "MOV     R2, R4\n"
 351                 "LDR     R3, [R12,#0x34]\n"
 352                 "MOV     LR, PC\n"
 353                 "LDR     PC, [R12,#0x30]\n"
 354                 "MOV     R1, R4\n"
 355                 "LDR     R0, [SP,#0x0]\n"
 356                 "BL      sub_FFCE2DDC\n"
 357                 "B       loc_FFCE30F8\n"
 358 "loc_FFCE2F90:\n"
 359                 "LDR     R12, [SP,#0x0]\n"
 360                 "MOV     R2, R4\n"
 361                 "ADD     R0, R12, #4\n"
 362                 "LDR     R1, [R12,#0x24]\n"
 363                 "LDR     R3, [R12,#0x34]\n"
 364                 "MOV     LR, PC\n"
 365                 "LDR     PC, [R12,#0x30]\n"
 366                 "B       loc_FFCE30F8\n"
 367 "loc_FFCE2FB0:\n"
 368                 "CMP     R2, #0x14\n"
 369                 "BNE     loc_FFCE3004\n"
 370                 "LDR     R1, [R12,#0x24]\n"
 371                 "ADD     R1, R1, R1,LSL#1\n"
 372                 "ADD     R1, R12, R1,LSL#1\n"
 373                 "ADD     R6, SP, #0xC\n"
 374                 "SUB     R1, R1, #2\n"
 375                 "MOV     R2, #6\n"
 376                 "MOV     R0, R6\n"
 377                 "BL      _memcpy\n"
 378                 "LDR     R0, [SP,#0x0]\n"
 379                 "BL      sub_FFCE1EFC\n"
 380                 "LDR     R3, [SP,#0x0]\n"
 381                 "ADD     R0, R3, #4\n"
 382                 "LDR     R1, [R3,#0x24]\n"
 383                 "LDR     R2, [R3,#0x34]\n"
 384                 "MOV     LR, PC\n"
 385                 "LDR     PC, [R3,#0x30]\n"
 386                 "LDR     R0, [SP,#0x0]\n"
 387                 "BL      sub_FFCE2154\n"
 388                 "B       loc_FFCE30F8\n"
 389 "loc_FFCE3004:\n"
 390                 "ADD     R6, SP, #0xC\n"
 391                 "ADD     R1, R12, #4\n"
 392                 "MOV     R0, R6\n"
 393                 "MOV     R2, #6\n"
 394                 "BL      _memcpy\n"
 395                 "LDR     R12, [SP,#0x0]\n"
 396                 "LDR     R3, [R12]\n"
 397                 "MOV     R0, R12\n"
 398                 "CMP     R3, #0x15\n"
 399                 "LDRLS   PC, [PC,R3,LSL#2]\n"
 400                 "B       loc_FFCE30E4\n"
 401                 ".long loc_FFCE3088\n"
 402                 ".long loc_FFCE3090\n"
 403                 ".long loc_FFCE3098\n"
 404                 ".long loc_FFCE3098\n"
 405                 ".long loc_FFCE3088\n"
 406                 ".long loc_FFCE3090\n"
 407                 ".long loc_FFCE3098\n"
 408                 ".long loc_FFCE3098\n"
 409                 ".long loc_FFCE30B0\n"
 410                 ".long loc_FFCE30B0\n"
 411                 ".long loc_FFCE30D4\n"
 412                 ".long loc_FFCE30DC\n"
 413                 ".long loc_FFCE30E4\n"
 414                 ".long loc_FFCE30E4\n"
 415                 ".long loc_FFCE30E4\n"
 416                 ".long loc_FFCE30A0\n"
 417                 ".long loc_FFCE30A8\n"
 418                 ".long loc_FFCE30BC\n"
 419                 ".long loc_FFCE30C4\n"
 420                 ".long loc_FFCE30C4\n"
 421                 ".long loc_FFCE30E4\n"
 422                 ".long loc_FFCE30CC\n"
 423 "loc_FFCE3088:\n"
 424                 "BL      sub_FFCE1628\n"
 425                 "B       loc_FFCE30E0\n"
 426 "loc_FFCE3090:\n"
 427                 "BL      sub_FFCE1764\n"
 428                 "B       loc_FFCE30E0\n"
 429 "loc_FFCE3098:\n"
 430                 "BL      sub_FFCE1894\n"
 431                 "B       loc_FFCE30E0\n"
 432 "loc_FFCE30A0:\n"
 433                 "BL      sub_FFCE1A68\n"
 434                 "B       loc_FFCE30E0\n"
 435 "loc_FFCE30A8:\n"
 436                 "BL      sub_FFCE1B70\n"
 437                 "B       loc_FFCE30E0\n"
 438 "loc_FFCE30B0:\n"
 439                 "BL      sub_FFCE1C34_my\n"  //---------->
 440                 "MOV     R8, #0\n"
 441                 "B       loc_FFCE30E0\n"
 442 "loc_FFCE30BC:\n"
 443                 "BL      sub_FFCE1CF8\n"
 444                 "B       loc_FFCE30E0\n"
 445 "loc_FFCE30C4:\n"
 446                 "BL      sub_FFCE1DE0\n"
 447                 "B       loc_FFCE30E0\n"
 448 "loc_FFCE30CC:\n"
 449                 "BL      sub_FFCE21E4\n"
 450                 "B       loc_FFCE30E0\n"
 451 "loc_FFCE30D4:\n"
 452                 "BL      sub_FFCE22B8\n"
 453                 "B       loc_FFCE30E0\n"
 454 "loc_FFCE30DC:\n"
 455                 "BL      sub_FFCE23A4\n"
 456 "loc_FFCE30E0:\n"
 457                 "LDR     R12, [SP,#0x0]\n"
 458 "loc_FFCE30E4:\n"
 459                 "ADD     R0, R12, #4\n"
 460                 "LDR     R1, [R12,#0x24]\n"
 461                 "LDR     R2, [R12,#0x34]\n"
 462                 "MOV     LR, PC\n"
 463                 "LDR     PC, [R12,#0x30]\n"
 464 "loc_FFCE30F8:\n"
 465                 "CMP     R8, #1\n"
 466                 "BNE     loc_FFCE3120\n"
 467                 "LDR     R1, [SP,#0x0]\n"
 468                 "LDR     R3, [R1,#0x24]\n"
 469                 "ADD     R3, R3, R3,LSL#1\n"
 470                 "ADD     R1, R1, R3,LSL#1\n"
 471                 "MOV     R0, R6\n"
 472                 "SUB     R1, R1, #2\n"
 473                 "BL      sub_FFCE14E0\n"
 474                 "B       loc_FFCE3140\n"
 475 "loc_FFCE3120:\n"
 476                 "MOV     R0, #1\n"
 477                 "MOV     R1, R0\n"
 478                 "MOV     R2, R0\n"
 479                 "BL      sub_FFCE1484\n"
 480                 "MOV     R0, #1\n"
 481                 "MOV     R1, R0\n"
 482                 "MOV     R2, R0\n"
 483                 "BL      sub_FFCE15A0\n"
 484 "loc_FFCE3140:\n"
 485                 "LDR     R0, [SP,#0x0]\n"
 486                 "BL      sub_FFCE114C\n"
 487 "loc_FFCE3148:\n"
 488                 "LDR     R3, =0x4FB70\n"
 489                 "MOV     R2, #0\n"
 490                 "LDR     R0, [R3]\n"
 491                 "MOV     R1, R7\n"
 492                 "BL      sub_FFC10074\n" //ReceiveMessageQueue
 493                 "LDR     R12, [SP,#0x0]\n"
 494                 "LDR     R2, [R12]\n"
 495                 "CMP     R2, #0x1A\n"
 496                 "BNE     loc_FFCE2E64\n"
 497                 "MOV     R0, R12\n"
 498                 "BL      sub_FFCE114C\n"
 499                 "LDR     R3, =0x4FB6C\n"
 500                 "MOV     R1, #1\n"
 501                 "LDR     R0, [R3]\n"
 502                 "BL      sub_FFC0F8C4\n" //SetEventFlag
 503                 "BL      _ExitTask\n"
 504                 "ADD     SP, SP, #0x14\n"
 505                 "LDMFD   SP!, {R4-R8,PC}\n"
 506  );
 507 }
 508 
 509 void __attribute__((naked,noinline)) sub_FFCE1C34_my(){
 510  asm volatile(
 511                 "STMFD   SP!, {R4,R5,LR}\n"
 512                 "LDR     R3, =0x4FB6C\n"
 513                 "MOV     R4, R0\n"
 514                 "MOV     R1, #0xE\n"
 515                 "LDR     R0, [R3]\n"
 516                 "BL      sub_FFC0FA60\n" //ClearEventFlag
 517                 "MOV     R1, #0\n"
 518                 "LDRSH   R0, [R4,#4]\n"
 519                 "BL      sub_FFCE11EC\n"
 520                 "MOV     R5, R0\n"
 521                 "LDRSH   R0, [R4,#6]\n"
 522                 "BL      sub_FFCE131C\n"
 523                 "LDRSH   R0, [R4,#8]\n"
 524                 "BL      sub_FFCE13B8\n"
 525                 "LDR     R3, [R4]\n"
 526                 "CMP     R3, #9\n"
 527                 "MOVEQ   R5, #0\n"
 528                 "CMP     R5, #1\n"
 529                 "LDR     R1, =0xFFCE117C\n"
 530                 "MOV     R2, #2\n"
 531                 "BNE     loc_FFCE1CA0\n"
 532                 "LDRSH   R0, [R4,#4]\n"
 533                 "BL      sub_FFE5CDA0\n"
 534                 "LDR     R2, =0x4FB98\n"
 535                 "MOV     R3, #0\n"
 536                 "STR     R3, [R2]\n"
 537                 "B       loc_FFCE1CA4\n"
 538 "loc_FFCE1CA0:\n"
 539                 "BL      sub_FFCE1454\n"
 540 "loc_FFCE1CA4:\n"
 541                 "STRH    R0, [R4,#4]\n"
 542                 "LDRSH   R0, [R4,#6]\n"
 543                 "BL      sub_FFC976B4_my\n"  //---------->
 544                 "BL      sub_FFC99638\n"
 545                 "LDRSH   R0, [R4,#8]\n"
 546                 "MOV     R1, #1\n"
 547                 "BL      sub_FFC99454\n"
 548                 "MOV     R1, #0\n"
 549                 "ADD     R0, R4, #8\n"
 550                 "BL      sub_FFC99518\n"
 551                 "CMP     R5, #1\n"
 552                 "MOV     R1, #2\n"
 553                 "MOV     R2, #0\n"
 554                 "LDMNEFD SP!, {R4,R5,PC}\n"
 555                 "LDR     R3, =0x4FB6C\n"
 556                 "LDR     R0, [R3]\n"
 557                 "LDMFD   SP!, {R4,R5,LR}\n"
 558                 "B       sub_FFC0F8B4\n"
 559   );
 560 }
 561 
 562 void __attribute__((naked,noinline)) sub_FFC976B4_my(){
 563  asm volatile(
 564                 "STMFD   SP!, {R4,LR}\n"
 565                 "LDR     R3, =0x5388\n"
 566                 "LDR     R2, [R3]\n"
 567                 "MOV     R3, R0,LSL#16\n"
 568                 "CMP     R2, #1\n"
 569                 "MOV     R1, #0x110\n"
 570                 "LDR     R0, =0xFFC97050\n"  //aShutter_c
 571                 "MOV     R4, R3,ASR#16\n"
 572                 "BEQ     loc_FFC976DC\n"
 573                 "BL      sub_FFC03AD0\n"  //DebugAssert
 574 "loc_FFC976DC:\n"
 575                 "MOV     R1, #0x114\n"
 576                 "CMN     R4, #0xC00\n"
 577                 "LDR     R3, =0x3609E\n"
 578                 "LDR     R0, =0xFFC97050\n"  //aShutter_c
 579                 "ADD     R1, R1, #2\n"
 580                 "LDREQSH R4, [R3]\n"
 581                 "LDRNE   R3, =0x3609E\n"
 582                 "CMN     R4, #0xC00\n"
 583                 "STRH    R4, [R3]\n"
 584                 "BNE     loc_FFC97708\n"
 585                 "BL      sub_FFC03AD0\n"  //DebugAssert
 586 "loc_FFC97708:\n"
 587                 "MOV     R0, R4\n"
 588                 "BL      apex2us\n"  //sub_FFC987EC  //---------->
 589                 "BL      sub_FFC96C44\n"
 590                 "TST     R0, #1\n"
 591                 "MOV     R1, #0x118\n"
 592                 "LDR     R0, =0xFFC97050\n"  //aShutter_c
 593                 "LDMEQFD SP!, {R4,PC}\n"
 594                 "LDMFD   SP!, {R4,LR}\n"
 595                 "B       sub_FFC03AD0\n"  //DebugAssert
 596   );
 597 }

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