root/platform/sx130is/sub/101d/movie_rec.c

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

DEFINITIONS

This source file includes following definitions.
  1. set_quality
  2. change_video_tables
  3. movie_record_task

   1 #include "conf.h"
   2 
   3 //int *video_quality = &conf.video_quality;
   4 //int *video_mode    = &conf.video_mode;
   5 
   6 
   7 /*----------------------------------------------------------------------
   8         set_quality()
   9 -----------------------------------------------------------------------*/
  10 // TODO - check this
  11 void  set_quality (int *x)  // -17 highest; +12 lowest
  12 {
  13         if (conf.video_mode)
  14                 *x = 12 - ((conf.video_quality-1) * (12+17) / (99-1));
  15 }
  16 
  17 
  18 /*----------------------------------------------------------------------
  19         change_video_tables()
  20 -----------------------------------------------------------------------*/
  21 void change_video_tables(__attribute__ ((unused))int a, __attribute__ ((unused))int b) {}
  22 
  23 
  24 /*----------------------------------------------------------------------
  25         movie_record_task()
  26 -----------------------------------------------------------------------*/
  27 void __attribute__((naked,noinline)) movie_record_task()
  28 {
  29         //FF969BC8
  30         asm volatile (
  31 
  32 "               STMFD   SP!, {R2-R8,LR} \n"
  33 "               LDR     R8, =0x2710 \n"
  34 "               LDR     R4, =0x6B68 \n"
  35 "               MOV     R7, #1 \n"
  36 //"             ADR     R6, nullsub_277 \n"
  37 "               LDR     R6, =0xFF9698B8 \n"
  38 "               MOV     R5, #0 \n"
  39 "loc_FF969BE0: \n"
  40 "               LDR     R0, [R4,#0x24] \n"
  41 "               MOV     R2, #0 \n"
  42 "               ADD     R1, SP, #0x4 \n"
  43 "               BL      sub_FF839B8C \n"
  44 "               LDR     R0, [R4,#0x2C] \n"
  45 "               CMP     R0, #0 \n"
  46 "               LDRNE   R0, [R4,#0xC] \n"
  47 "               CMPNE   R0, #2 \n"
  48 "               LDRNE   R0, [R4,#0x44] \n"
  49 "               CMPNE   R0, #6 \n"
  50 "               BNE     loc_FF969CF8 \n"
  51 "               LDR     R0, [SP,#0x4] \n"
  52 "               LDR     R1, [R0] \n"
  53 "               SUB     R1, R1, #2 \n"
  54 "               CMP     R1, #0xA \n"
  55 "               ADDLS   PC, PC, R1,LSL#2 \n"
  56 "               B       loc_FF969CF8 \n"
  57 "loc_FF969C24: \n"
  58 "               B       loc_FF969CAC \n"
  59 "loc_FF969C28: \n"
  60 "               B       loc_FF969CCC \n"
  61 "loc_FF969C2C: \n"
  62 "               B       loc_FF969CDC \n"
  63 "loc_FF969C30: \n"
  64 "               B       loc_FF969CE4 \n"
  65 "loc_FF969C34: \n"
  66 "               B       loc_FF969CB4 \n"
  67 "loc_FF969C38: \n"
  68 "               B       loc_FF969CEC \n"
  69 "loc_FF969C3C: \n"
  70 "               B       loc_FF969CBC \n"
  71 "loc_FF969C40: \n"
  72 "               B       loc_FF969CF8 \n"
  73 "loc_FF969C44: \n"
  74 "               B       loc_FF969CF4 \n"
  75 "loc_FF969C48: \n"
  76 "               B       loc_FF969C7C \n"
  77 "loc_FF969C4C: \n"
  78 "               B       loc_FF969C50 \n"
  79 "loc_FF969C50: \n"
  80 // jumptable FF969C1C entry 10
  81 "               STR     R5, [R4,#0x40] \n"
  82 "               STR     R5, [R4,#0x30] \n"
  83 "               STR     R5, [R4,#0x34] \n"
  84 "               STRH    R5, [R4,#6] \n"
  85 "               STR     R6, [R4,#0xB4] \n"
  86 "               LDR     R0, [R4,#0xC] \n"
  87 "               ADD     R0, R0, #1 \n"
  88 "               STR     R0, [R4,#0xC] \n"
  89 "               MOV     R0, #6 \n"
  90 "               STR     R0, [R4,#0x44] \n"
  91 "               B       loc_FF969C98 \n"
  92 "loc_FF969C7C: \n"
  93 // jumptable FF969C1C entry 9
  94 "               STR     R5, [R4,#0x40] \n"
  95 "               STR     R5, [R4,#0x30] \n"
  96 "               STR     R6, [R4,#0xB4] \n"
  97 "               LDR     R0, [R4,#0xC] \n"
  98 "               ADD     R0, R0, #1 \n"
  99 "               STR     R0, [R4,#0xC] \n"
 100 "               STR     R7, [R4,#0x44] \n"
 101 "loc_FF969C98: \n"
 102 "               LDR     R2, =0xFF968AD0 \n"
 103 "               LDR     R1, =0xAC9B0 \n"
 104 "               LDR     R0, =0xFF968BCC \n"
 105 "               BL      sub_FF851604 \n"
 106 "               B       loc_FF969CF8 \n"
 107 "loc_FF969CAC: \n"
 108 // jumptable FF969C1C entry 0
 109 "               BL      sub_FF9699E0 \n"
 110 "               B       loc_FF969CF8 \n"
 111 "loc_FF969CB4: \n"
 112 // jumptable FF969C1C entry 4
 113 "               BL      sub_FF969320 \n"
 114 //"             BL      sub_FF969320_my \n"             // patched --------->
 115 
 116 "               LDR     R0, =0x6BEC \n"                 // Added (6BF0 - 4)
 117 "               BL      set_quality \n"                 // Added ----------->
 118 
 119 "               B       loc_FF969CF8 \n"
 120 "loc_FF969CBC: \n"
 121 // jumptable FF969C1C entry 6
 122 "               LDR     R1, [R0,#0x18] \n"
 123 "               LDR     R0, [R0,#4] \n"
 124 "               BL      sub_FFAA9A74 \n"
 125 "               B       loc_FF969CF8 \n"
 126 "loc_FF969CCC: \n"
 127 // jumptable FF969C1C entry 1
 128 "               LDR     R0, [R4,#0x44] \n"
 129 "               CMP     R0, #5 \n"
 130 "               STRNE   R7, [R4,#0x34] \n"
 131 "               B       loc_FF969CF8 \n"
 132 "loc_FF969CDC: \n"
 133 // jumptable FF969C1C entry 2
 134 "               BL      sub_FF968F68 \n"
 135 "               B       loc_FF969CF8 \n"
 136 "loc_FF969CE4: \n"
 137 // jumptable FF969C1C entry 3
 138 "               BL      sub_FF968C18 \n"
 139 "               B       loc_FF969CF8 \n"
 140 "loc_FF969CEC: \n"
 141 // jumptable FF969C1C entry 5
 142 "               BL      sub_FF968A5C \n"
 143 "               B       loc_FF969CF8 \n"
 144 "loc_FF969CF4: \n"
 145 // jumptable FF969C1C entry 8
 146 "               BL      sub_FF96A128 \n"
 147 "loc_FF969CF8: \n"
 148 // jumptable FF969C1C default entry
 149 // jumptable FF969C1C entry 7
 150 "               LDR     R1, [SP,#0x4] \n"
 151 "               MOV     R3, #0x5F0 \n"
 152 "               STR     R5, [R1] \n"
 153 "               STR     R3, [SP] \n"
 154 "               LDR     R0, [R4,#0x28] \n"
 155 "               LDR     R3, =0xFF9688C0 \n" // "MovieRecorder.c"
 156 "               MOV     R2, R8 \n"
 157 "               BL      sub_FF83A4E0 \n"
 158 "               B       loc_FF969BE0 \n"
 159 
 160         );
 161 }
 162 
 163 // void __attribute__((naked,noinline)) sub_FF969320_my()
 164 // {
 165         // asm volatile (
 166 
 167 // "            STMFD   SP!, {R4-R11,LR} \n"
 168 // "            SUB     SP, SP, #0x64 \n"
 169 // "            MOV     R8, #0 \n"
 170 // "            LDR     R6, =0x6B68 \n"
 171 // "            MOV     R4, R0 \n"
 172 // "            STR     R8, [SP,#0x54] \n"
 173 // "            STR     R8, [SP,#0x4C] \n"
 174 // "            LDR     R0, [R6,#0x44] \n"
 175 // "            MOV     R11, #4 \n"
 176 // "            CMP     R0, #3 \n"
 177 // "            STREQ   R11, [R6,#0x44] \n"
 178 // "            LDR     R0, [R6,#0xB4] \n"
 179 // "            MOV     R9, #0 \n"
 180 // "            MOV     R7, #0 \n"
 181 // "            MOV     R5, #1 \n"
 182 // "            BLX     R0 \n"
 183 // "            LDR     R0, [R6,#0x44] \n"
 184 // "            CMP     R0, #6 \n"
 185 // "            BEQ     loc_FF969380 \n"
 186 // "            LDR     R1, [R6,#0xC] \n"
 187 // "            CMP     R1, #2 \n"
 188 // "            BNE     loc_FF9693A0 \n"
 189 // "            CMP     R0, #5 \n"
 190 // "            BEQ     loc_FF969418 \n"
 191 // "loc_FF969380: \n"
 192 // "            LDR     R1, =0x7F2 \n"
 193 // "            MOV     R7, #1 \n"
 194 // //"          ADR     R0, aMovierecorder_ // "MovieRecorder.c" \n"
 195 // "            LDR     R0, =0xFF9688C0 \n"
 196 // "            BL      _DebugAssert \n"
 197 // "            LDR     R0, [R6,#0x44] \n"
 198 // "            CMP     R0, #4 \n"
 199 // "            MOVNE   R5, #0 \n"
 200 // "            B       loc_FF9693A8 \n"
 201 // "loc_FF9693A0: \n"
 202 // "            CMP     R0, #4 \n"
 203 // "            BNE     loc_FF969418 \n"
 204 // "loc_FF9693A8: \n"
 205 // "            LDRH    R0, [R6,#6] \n"
 206 // "            CMP     R0, #1 \n"
 207 // "            LDREQ   R1, =0x809 \n"
 208 // "            LDREQ   R0, =0xFF9688C0 \n" // "MovieRecorder.c"
 209 // "            BLEQ    _DebugAssert \n"
 210 // "            LDRH    R0, [R6,#6] \n"
 211 // "            CMP     R0, #3 \n"
 212 // "            BNE     loc_FF9693DC \n"
 213 // "            LDR     R0, [R6,#0x6C] \n"
 214 // "            LDR     R1, [R6,#0xB8] \n"
 215 // "            BL      sub_FFB4BCC8 \n"
 216 // "            CMP     R1, #0 \n"
 217 // "            MOVNE   R5, #0 \n"
 218 // "loc_FF9693DC: \n"
 219 // "            LDR     R0, [R6,#0x44] \n"
 220 // "            CMP     R0, #6 \n"
 221 // "            CMPNE   R0, #1 \n"
 222 // "            CMPNE   R0, #3 \n"
 223 // "            BNE     loc_FF969420 \n"
 224 // "            CMP     R7, #1 \n"
 225 // "            CMPEQ   R5, #0 \n"
 226 // "            BNE     loc_FF969420 \n"
 227 // "            LDR     R0, [R6,#0x18] \n"
 228 // "            MOV     R1, #0x3E8 \n"
 229 // "            BL      sub_FF839FA8 \n" // eventproc_export_TakeSemaphore
 230 // "            CMP     R0, #9 \n"
 231 // "            BNE     loc_FF969840 \n"
 232 // "            MOV     R0, #0x90000 \n"
 233 // "            BL      sub_FF89428C \n" // eventproc_export_HardwareDefect
 234 // "loc_FF969418: \n"
 235 // "            ADD     SP, SP, #0x64 \n"
 236 // "            LDMFD   SP!, {R4-R11,PC} \n"
 237 // "loc_FF969420: \n"
 238 // "            CMP     R5, #1 \n"
 239 // "            MOV     R10, #1 \n"
 240 // "            BNE     loc_FF969448 \n"
 241 // "            ADD     R3, SP, #0x4C \n"
 242 // "            ADD     R2, SP, #0x50 \n"
 243 // "            ADD     R1, SP, #0x54 \n"
 244 // "            ADD     R0, SP, #0x58 \n"
 245 // "            BL      sub_FFAA9B34 \n"
 246 // "            MOVS    R9, R0 \n"
 247 // "            BNE     loc_FF969464 \n"
 248 // "loc_FF969448: \n"
 249 // "            LDR     R0, [R6,#0x34] \n"
 250 // "            CMP     R0, #1 \n"
 251 // "            BNE     loc_FF9695C0 \n"
 252 // "            LDR     R0, [R6,#0x6C] \n"
 253 // "            LDR     R1, [R6,#0x48] \n"
 254 // "            CMP     R0, R1 \n"
 255 // "            BCC     loc_FF9695C0 \n"
 256 // "loc_FF969464: \n"
 257 // "            CMP     R9, #0x80000001 \n"
 258 // "            STREQ   R11, [R6,#0x70] \n"
 259 // "            BEQ     loc_FF96949C \n"
 260 // "            CMP     R9, #0x80000003 \n"
 261 // "            STREQ   R10, [R6,#0x70] \n"
 262 // "            BEQ     loc_FF96949C \n"
 263 // "            CMP     R9, #0x80000005 \n"
 264 // "            MOVEQ   R0, #2 \n"
 265 // "            BEQ     loc_FF969498 \n"
 266 // "            CMP     R9, #0x80000007 \n"
 267 // "            STRNE   R8, [R6,#0x70] \n"
 268 // "            BNE     loc_FF96949C \n"
 269 // "            MOV     R0, #3 \n"
 270 // "loc_FF969498: \n"
 271 // "            STR     R0, [R6,#0x70] \n"
 272 // "loc_FF96949C: \n"
 273 // "            LDR     R0, [R6,#0xC] \n"
 274 // "            CMP     R0, #2 \n"
 275 // "            BNE     loc_FF969504 \n"
 276 // "            MOV     R1, #0 \n"
 277 // //"          ADR     R0, sub_FF969314 \n"
 278 // "            LDR     R0, =0xFF969314 \n"
 279 // "            BL      sub_FFA66B38 \n"
 280 // "            LDR     R2, [R6,#0x64] \n"
 281 // "            ADD     R3, SP, #0x5C \n"
 282 // "            STRD    R2, [SP,#0x28] \n"
 283 // "            MOV     R2, #0x18 \n"
 284 // "            ADD     R1, SP, #0x34 \n"
 285 // "            ADD     R0, SP, #0x10 \n"
 286 // "            BL      sub_FFB4A07C \n"
 287 // "            LDR     R1, [R6,#0x84] \n"
 288 // "            LDR     R2, [R6,#0x88] \n"
 289 // "            MOV     R3, #0xFFFFFFFE \n"
 290 // "            ADD     R0, SP, #0x60 \n"
 291 // "            STMEA   SP, {R0-R3} \n"
 292 // "            LDR     R0, =0xAC9F8 \n"
 293 // "            MOV     R3, #0 \n"
 294 // "            MOV     R2, #0 \n"
 295 // "            MOV     R1, #0x40 \n"
 296 // "            BL      sub_FFA66A90 \n"
 297 // "            B       loc_FF969558 \n"
 298 // "loc_FF9694FC: \n"
 299 // "            MOV     R1, #1 \n"
 300 // "            B       loc_FF9697CC \n"
 301 // "loc_FF969504: \n"
 302 // "            BL      sub_FF96A1D4 \n"
 303 // "            LDR     R2, [R6,#0x64] \n"
 304 // "            ADD     R3, SP, #0x5C \n"
 305 // "            MOV     R1, #0xFFFFFFFE \n"
 306 // "            MOV     R0, #0 \n"
 307 // "            ADD     R5, SP, #0x1C \n"
 308 // "            STMIA   R5, {R0-R3} \n"
 309 // "            LDR     R3, [R4,#0x1C] \n"
 310 // "            LDR     R1, [R6,#0x84] \n"
 311 // "            LDR     R2, [R6,#0x88] \n"
 312 // "            ADD     R4, SP, #0xC \n"
 313 // "            ADD     R0, SP, #0x60 \n"
 314 // "            STMIA   R4, {R0-R3} \n"
 315 // "            MOV     R3, #0 \n"
 316 // "            MOV     R1, #0x40 \n"
 317 // "            MOV     R2, #0 \n"
 318 // "            STMEA   SP, {R1-R3} \n"
 319 // "            LDR     R3, =0xAC9F8 \n"
 320 // "            MOV     R1, #0 \n"
 321 // "            MOV     R0, #0 \n"
 322 // "            BL      sub_FFA65900 \n"
 323 // "loc_FF969558: \n"
 324 // "            LDR     R0, [R6,#0x18] \n"
 325 // "            LDR     R1, [R6,#0x60] \n"
 326 // "            BL      sub_FF839FA8 \n" // eventproc_export_TakeSemaphore
 327 // "            CMP     R0, #9 \n"
 328 // "            BEQ     loc_FF9694FC \n"
 329 // "            LDR     R0, [SP,#0x5C] \n"
 330 // "            CMP     R0, #0 \n"
 331 // "            BEQ     loc_FF969580 \n"
 332 // "loc_FF969578: \n"
 333 // "            MOV     R1, #1 \n"
 334 // "            B       loc_FF9697E4 \n"
 335 // "loc_FF969580: \n"
 336 // "            LDR     R0, [R6,#0xC] \n"
 337 // "            MOV     R4, #5 \n"
 338 // "            CMP     R0, #2 \n"
 339 // "            MOV     R0, #1 \n"
 340 // "            BNE     loc_FF9695AC \n"
 341 // "            BL      sub_FFA66AF8 \n"
 342 // "            BL      sub_FFA66B20 \n"
 343 // "            STR     R4, [R6,#0x44] \n"
 344 // "            BL      sub_FF96A1D4 \n"
 345 // "            STR     R10, [R6,#0x44] \n"
 346 // "            B       loc_FF9695B8 \n"
 347 // "loc_FF9695AC: \n"
 348 // "            BL      sub_FFA659B4 \n"
 349 // "            BL      sub_FFA65A14 \n"
 350 // "            STR     R4, [R6,#0x44] \n"
 351 // "loc_FF9695B8: \n"
 352 // "            STR     R8, [R6,#0x34] \n"
 353 // "            B       loc_FF969418 \n"
 354 // "loc_FF9695C0: \n"
 355 // "            CMP     R5, #1 \n"
 356 // "            BNE     loc_FF969840 \n"
 357 // "            STR     R10, [R6,#0x38] \n"
 358 // "            LDR     R0, [R6,#0x6C] \n"
 359 // "            LDR     R11, [R4,#0xC] \n"
 360 // "            CMP     R0, #0 \n"
 361 // "            LDRNE   R9, [SP,#0x58] \n"
 362 // "            LDRNE   R10, [SP,#0x54] \n"
 363 // "            BNE     loc_FF969708 \n"
 364 // "            LDR     R0, [R6,#0xC] \n"
 365 // "            CMP     R0, #2 \n"
 366 // "            BNE     loc_FF969664 \n"
 367 // "            MOV     R1, #0 \n"
 368 // //"          ADR     R0, sub_FF969314 \n"
 369 // "            LDR     R0, =0xFF969314 \n"
 370 // "            BL      sub_FFA66B38 \n"
 371 // "            LDR     R2, [R6,#0x64] \n"
 372 // "            ADD     R3, SP, #0x5C \n"
 373 // "            STRD    R2, [SP,#0x28] \n"
 374 // "            MOV     R2, #0x18 \n"
 375 // "            ADD     R1, SP, #0x34 \n"
 376 // "            ADD     R0, SP, #0x10 \n"
 377 // "            BL      sub_FFB4A07C \n"
 378 // "            LDR     R1, [R6,#0x84] \n"
 379 // "            LDR     R2, [R6,#0x88] \n"
 380 // "            MOV     R3, #0xFFFFFFFF \n"
 381 // "            ADD     R0, SP, #0x60 \n"
 382 // "            STMEA   SP, {R0-R3} \n"
 383 // "            LDR     R0, [SP,#0x58] \n"
 384 // "            LDR     R1, [SP,#0x54] \n"
 385 // "            LDR     R2, [SP,#0x50] \n"
 386 // "            LDR     R3, [SP,#0x4C] \n"
 387 // "            BL      sub_FFA66A90 \n"
 388 // "            LDR     R0, [R6,#0x18] \n"
 389 // "            LDR     R1, [R6,#0x60] \n"
 390 // "            BL      sub_FF839FA8 \n" // eventproc_export_TakeSemaphore
 391 // "            CMP     R0, #9 \n"
 392 // "            BEQ     loc_FF9694FC \n"
 393 // "            MOV     R1, #0 \n"
 394 // //"          ADR     R0, sub_FF969308 \n"
 395 // "            LDR     R0, =0xFF969314 \n"
 396 // "            BL      sub_FFA66B38 \n"
 397 // "            B       loc_FF9696CC \n"
 398 // "loc_FF969664: \n"
 399 // "            LDR     R0, [R4,#0x20] \n"
 400 // "            LDR     R2, [R6,#0x64] \n"
 401 // "            ADD     R3, SP, #0x5C \n"
 402 // "            MOV     R1, #0xFFFFFFFF \n"
 403 // "            ADD     R9, SP, #0x1C \n"
 404 // "            STMIA   R9, {R0-R3} \n"
 405 // "            LDR     R3, [R4,#0x1C] \n"
 406 // "            LDR     R1, [R6,#0x84] \n"
 407 // "            LDR     R2, [R6,#0x88] \n"
 408 // "            ADD     R0, SP, #0x60 \n"
 409 // "            ADD     R9, SP, #0xC \n"
 410 // "            STMIA   R9, {R0-R3} \n"
 411 // "            LDR     R1, [SP,#0x50] \n"
 412 // "            LDR     R2, [SP,#0x54] \n"
 413 // "            LDR     R3, [SP,#0x4C] \n"
 414 // "            STMFA   SP, {R1,R3} \n"
 415 // "            STR     R2, [SP] \n"
 416 // "            LDMIB   R4, {R0,R1} \n"
 417 // "            LDR     R3, [SP,#0x58] \n"
 418 // "            MOV     R2, R11 \n"
 419 // "            BL      sub_FFA65900 \n"
 420 // "            LDR     R0, [R6,#0x18] \n"
 421 // "            LDR     R1, [R6,#0x60] \n"
 422 // "            BL      sub_FF839FA8 \n" // eventproc_export_TakeSemaphore
 423 // "            CMP     R0, #9 \n"
 424 // "            BEQ     loc_FF9694FC \n"
 425 // "loc_FF9696CC: \n"
 426 // "            LDR     R0, [SP,#0x5C] \n"
 427 // "            CMP     R0, #0 \n"
 428 // "            BNE     loc_FF969578 \n"
 429 // "            LDR     R0, [R6,#0xC] \n"
 430 // "            CMP     R0, #2 \n"
 431 // "            MOV     R0, #1 \n"
 432 // "            BNE     loc_FF9696F0 \n"
 433 // "            BL      sub_FFA66AF8 \n"
 434 // "            B       loc_FF9696F4 \n"
 435 // "loc_FF9696F0: \n"
 436 // "            BL      sub_FFA659B4 \n"
 437 // "loc_FF9696F4: \n"
 438 // "            LDR     R0, [SP,#0x60] \n"
 439 // "            LDR     R1, [SP,#0x58] \n"
 440 // "            ADD     R9, R1, R0 \n"
 441 // "            LDR     R1, [SP,#0x54] \n"
 442 // "            SUB     R10, R1, R0 \n"
 443 // "loc_FF969708: \n"
 444 // "            LDR     R0, [R6,#0xC] \n"
 445 // "            LDR     R2, [R6,#0x64] \n"
 446 // "            CMP     R0, #2 \n"
 447 // "            ADD     R3, SP, #0x5C \n"
 448 // "            BNE     loc_FF96975C \n"
 449 // "            STRD    R2, [SP,#0x28] \n"
 450 // "            MOV     R2, #0x18 \n"
 451 // "            ADD     R1, SP, #0x34 \n"
 452 // "            ADD     R0, SP, #0x10 \n"
 453 // "            BL      sub_FFB4A07C \n"
 454 // "            LDR     R1, [R6,#0x84] \n"
 455 // "            LDR     R2, [R6,#0x88] \n"
 456 // "            LDR     R3, [R6,#0x68] \n"
 457 // "            ADD     R0, SP, #0x60 \n"
 458 // "            STMEA   SP, {R0-R3} \n"
 459 // "            LDR     R2, [SP,#0x50] \n"
 460 // "            LDR     R3, [SP,#0x4C] \n"
 461 // "            MOV     R1, R10 \n"
 462 // "            MOV     R0, R9 \n"
 463 // "            BL      sub_FFA66A90 \n"
 464 // "            B       loc_FF9697B4 \n"
 465 // "loc_FF96975C: \n"
 466 // "            LDR     R1, [R6,#0x68] \n"
 467 // "            LDR     R0, [R4,#0x20] \n"
 468 // "            STR     R1, [SP,#0x20] \n"
 469 // "            STR     R0, [SP,#0x1C] \n"
 470 // "            STR     R2, [SP,#0x24] \n"
 471 // "            STR     R3, [SP,#0x28] \n"
 472 // "            LDR     R3, [R4,#0x1C] \n"
 473 // "            LDR     R1, [R6,#0x84] \n"
 474 // "            LDR     R2, [R6,#0x88] \n"
 475 // "            ADD     R0, SP, #0x60 \n"
 476 // "            STR     R2, [SP,#0x14] \n"
 477 // "            LDR     R2, [SP,#0x50] \n"
 478 // "            STR     R1, [SP,#0x10] \n"
 479 // "            STR     R3, [SP,#0x18] \n"
 480 // "            LDR     R3, [SP,#0x4C] \n"
 481 // "            STR     R0, [SP,#0xC] \n"
 482 // "            STMFA   SP, {R2,R3} \n"
 483 // "            STR     R10, [SP] \n"
 484 // "            LDMIB   R4, {R0,R1} \n"
 485 // "            MOV     R3, R9 \n"
 486 // "            MOV     R2, R11 \n"
 487 // "            BL      sub_FFA65900 \n"
 488 // "loc_FF9697B4: \n"
 489 // "            LDR     R0, [R6,#0x18] \n"
 490 // "            LDR     R1, [R6,#0x60] \n"
 491 // "            BL      sub_FF839FA8 \n" // eventproc_export_TakeSemaphore
 492 // "            CMP     R0, #9 \n"
 493 // "            BNE     loc_FF9697D4 \n"
 494 // "            MOV     R1, #0 \n"
 495 // "loc_FF9697CC: \n"
 496 // "            MOV     R0, #0x90000 \n"
 497 // "            B       loc_FF9697E8 \n"
 498 // "loc_FF9697D4: \n"
 499 // "            LDR     R0, [SP,#0x5C] \n"
 500 // "            CMP     R0, #0 \n"
 501 // "            BEQ     loc_FF9697F0 \n"
 502 // "            MOV     R1, #0 \n"
 503 // "loc_FF9697E4: \n"
 504 // "            MOV     R0, #0xA0000 \n"
 505 // "loc_FF9697E8: \n"
 506 // "            BL      sub_FF9692A8 \n"
 507 // "            B       loc_FF969418 \n"
 508 // "loc_FF9697F0: \n"
 509 // "            LDR     R0, [R6,#0xC] \n"
 510 // "            CMP     R0, #2 \n"
 511 // "            MOV     R0, #0 \n"
 512 // "            BNE     loc_FF969808 \n"
 513 // "            BL      sub_FFA66AF8 \n"
 514 // "            B       loc_FF96980C \n"
 515 // "loc_FF969808: \n"
 516 // "            BL      sub_FFA659B4 \n"
 517 // "loc_FF96980C: \n"
 518 // "            LDR     R0, [SP,#0x58] \n"
 519 // "            LDR     R1, [SP,#0x60] \n"
 520 // "            BL      sub_FFAA9D6C \n"
 521 // "            LDR     R0, [R6,#0x68] \n"
 522 
 523 // "            LDR     R3, =0x6BF0 \n"                 // 6BF0
 524 // "            ADD     R1, R0, #1 \n"
 525 // "            STR     R1, [R6,#0x68] \n"
 526 // "            STR     R3, [SP] \n"
 527 // "            LDR     R0, [R6,#0x64] \n"
 528 // "            SUB     R3, R3, #4 \n"                  // 4
 529 // "            AND     R2, R0, #0xFF \n"
 530 // "            LDR     R0, [SP,#0x60] \n"
 531 // "            BL      sub_FFAA78BC \n"
 532 
 533 // "            LDR     R0, =0x6BEC \n"                 // Added (6BF0 - 4)
 534 // "            BL      set_quality \n"                 // Added ----------->
 535 
 536 // "loc_FF969840: \n"
 537 // "            CMP     R5, #1 \n"
 538 // "            LDRNEH  R0, [R6,#6] \n"
 539 // "            CMPNE   R0, #3 \n"
 540 // "            BNE     loc_FF969418 \n"
 541 // "            LDR     R0, [R6,#0x6C] \n"
 542 // "            ADD     R0, R0, #1 \n"
 543 // "            STR     R0, [R6,#0x6C] \n"
 544 // "            LDRH    R1, [R6,#6] \n"
 545 // "            CMP     R1, #3 \n"
 546 // "            LDRNE   R1, [R6,#0x54] \n"
 547 // "            LDREQ   R1, =0x3E9 \n"
 548 // "            MUL     R0, R1, R0 \n"
 549 // "            LDREQ   R1, =0x1770 \n"
 550 // "            LDRNE   R1, [R6,#0x50] \n"
 551 // "            BL      sub_FFB4BCC8 \n"
 552 // "            MOV     R4, R0 \n"
 553 // "            BL      sub_FFAAA0E8 \n"
 554 // "            LDR     R0, [R6,#0x8C] \n"
 555 // "            CMP     R0, R4 \n"
 556 // "            BNE     loc_FF96989C \n"
 557 // "            LDR     R0, [R6,#0x3C] \n"
 558 // "            CMP     R0, #1 \n"
 559 // "            BNE     loc_FF9698B0 \n"
 560 // "loc_FF96989C: \n"
 561 // "            LDR     R1, [R6,#0x98] \n"
 562 // "            MOV     R0, R4 \n"
 563 // "            BLX     R1 \n"
 564 // "            STR     R4, [R6,#0x8C] \n"
 565 // "            STR     R8, [R6,#0x3C] \n"
 566 // "loc_FF9698B0: \n"
 567 // "            STR     R8, [R6,#0x38] \n"
 568 // "            B       loc_FF969418 \n"
 569         
 570         // );
 571 // }

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