root/platform/d20/sub/100b/movie_rec.c

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

DEFINITIONS

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

   1 #include "conf.h"
   2 
   3 void change_video_tables(__attribute__ ((unused))int a, __attribute__ ((unused))int b) {}
   4 
   5 void  set_quality(int *x) {                 // -17 highest; +12 lowest
   6  if (conf.video_mode) *x=12-((conf.video_quality-1)*(12+17)/(99-1));
   7 }
   8 
   9 //** movie_record_task  @ 0xFF17CCFC 
  10 
  11 void __attribute__((naked,noinline)) movie_record_task() {
  12 asm volatile (
  13       "STMFD   SP!, {R2-R10,LR}\n"
  14       "LDR     R6, =0xFF17B968\n"
  15       "LDR     R7, =0xFF17C6F0\n" //This function was used to take values for set_quality -->
  16       "LDR     R4, =0x6DB8\n"
  17       "LDR     R9, =0x69B\n"
  18       "LDR     R10, =0x2710\n"
  19       "MOV     R8, #1\n"
  20       "MOV     R5, #0\n"
  21 "loc_FF17CD1C:\n"
  22       "LDR     R0, [R4, #0x24]\n"
  23       "MOV     R2, #0\n"
  24       "ADD     R1, SP, #4\n"
  25       "BL      sub_00477218\n"
  26       "LDR     R0, [R4, #0x2C]\n"
  27       "CMP     R0, #0\n"
  28       "LDRNE   R0, [R4, #0xC]\n"
  29       "CMPNE   R0, #2\n"
  30       "LDRNE   R0, [R4, #0x44]\n"
  31       "CMPNE   R0, #6\n"
  32       "BNE     loc_FF17CE58\n"
  33       "LDR     R0, [SP, #4]\n"
  34       "LDR     R1, [R0]\n"
  35       "SUB     R1, R1, #2\n"
  36       "CMP     R1, #0xD\n"
  37       "ADDCC   PC, PC, R1, LSL #2\n"
  38       "B       loc_FF17CE58\n"
  39       "B       loc_FF17CDF8\n" //(01)
  40       "B       loc_FF17CE1C\n" //(02)
  41       "B       loc_FF17CE2C\n" //(03)
  42       "B       loc_FF17CE34\n" //(04)
  43       "B       loc_FF17CE3C\n" //(05)
  44       "B       loc_FF17CE44\n" //(06)
  45       "B       loc_FF17CE00\n" //(07)
  46       "B       loc_FF17CE4C\n" //(08)
  47       "B       loc_FF17CE0C\n" //(09)
  48       "B       loc_FF17CE58\n" //(10)
  49       "B       loc_FF17CE54\n" //(11)
  50       "B       loc_FF17CDC4\n" //(12)
  51       "B       loc_FF17CD94\n" //(13)
  52 "loc_FF17CD94:\n" //Jump Table entry 13
  53       "STR     R5, [R4, #0x40]\n"
  54       "STR     R5, [R4, #0x30]\n"
  55       "STR     R5, [R4, #0x34]\n"
  56       "STRH    R5, [R4, #6]\n"
  57       "STR     R6, [R4, #0xD8]\n"
  58       "STR     R7, [R4, #0xF4]\n"
  59       "LDR     R0, [R4, #0xC]\n"
  60       "ADD     R0, R0, #1\n"
  61       "STR     R0, [R4, #0xC]\n"
  62       "MOV     R0, #6\n"
  63       "STR     R0, [R4, #0x44]\n"
  64       "B       loc_FF17CDE4\n"
  65 "loc_FF17CDC4:\n" //Jump Table entry 12
  66       "STR     R5, [R4, #0x40]\n"
  67       "STR     R5, [R4, #0x30]\n"
  68       "STR     R6, [R4, #0xD8]\n"
  69       "STR     R7, [R4, #0xF4]\n"
  70       "LDR     R0, [R4, #0xC]\n"
  71       "ADD     R0, R0, #1\n"
  72       "STR     R0, [R4, #0xC]\n"
  73       "STR     R8, [R4, #0x44]\n"
  74 "loc_FF17CDE4:\n"
  75       "LDR     R2, =0xFF17AE60\n"
  76       "LDR     R1, =0xB7A5C\n"
  77       "LDR     R0, =0xFF17AF74\n"
  78       "BL      sub_FF03BB2C\n"
  79       "B       loc_FF17CE58\n"
  80 "loc_FF17CDF8:\n" //Jump Table entry 01
  81       "BL      unlock_optical_zoom \n" //added
  82 //begin patch
  83       "BL      sub_FF17C2B8\n" //original
  84 //      "BL     movie_time\n"     //patch
  85 // "label_A:\n"
  86 //end patchd
  87 
  88       "B       loc_FF17CE58\n"
  89 "loc_FF17CE00:\n"
  90       "LDR     R1, [R4, #0xF4]\n"
  91       "BLX     R1\n"
  92 //begin patch
  93       "LDR         R0, =0x6E3C \n"              // added, 0x6E40-0x4 taken near to "loc_FF17CBE4:" see commented function below.
  94       "BL      set_quality \n"   // added
  95 //end patch
  96       "B       loc_FF17CE58\n"
  97 "loc_FF17CE0C:\n" //Jump Table entry 09
  98       "LDR     R1, [R0, #0x18]\n"
  99       "LDR     R0, [R0, #4]\n"
 100       "BL      sub_FF2E284C\n"
 101       "B       loc_FF17CE58\n"
 102 "loc_FF17CE1C:\n" //Jump Table entry 02
 103       "LDR     R0, [R4, #0x44]\n"
 104       "CMP     R0, #5\n"
 105       "STRNE   R8, [R4, #0x34]\n"
 106       "B       loc_FF17CE58\n"
 107 "loc_FF17CE2C:\n" //Jump Table entry 03
 108       "BL      sub_FF17B5DC\n"
 109       "B       loc_FF17CE58\n"
 110 "loc_FF17CE34:\n" //Jump Table entry 04
 111       "BL      sub_FF17B2C0\n"
 112       "B       loc_FF17CE58\n"
 113 "loc_FF17CE3C:\n" //Jump Table entry 05
 114       "BL      sub_FF17AFD8\n"
 115       "B       loc_FF17CE58\n"
 116 "loc_FF17CE44:\n" //Jump Table entry 06
 117       "BL      sub_FF17AB88\n"
 118       "B       loc_FF17CE58\n"
 119 "loc_FF17CE4C:\n" //Jump Table entry 08
 120       "BL      sub_FF17AB08\n"
 121       "B       loc_FF17CE58\n"
 122 "loc_FF17CE54:\n" //Jump Table entry 11
 123       "BL      sub_FF17D42C\n"
 124 "loc_FF17CE58:\n"
 125       "LDR     R1, [SP, #4]\n"
 126       "LDR     R3, =0xFF17A7A0\n"
 127       "STR     R5, [R1]\n"
 128       "STR     R9, [SP]\n"
 129       "LDR     R0, [R4, #0x28]\n"
 130       "MOV     R2, R10\n"
 131       "BL      sub_00477B90\n"
 132       "B       loc_FF17CD1C\n"
 133         );
 134 }
 135 
 136 /*
 137 void __attribute__((naked,noinline)) movie_time() {
 138     if( (int)conf.ext_video_time == 1 ) {
 139         asm volatile (
 140           "BL     sub_FF17C2B8_my\n"
 141           "B      label_A\n"
 142         );
 143     } else {
 144         asm volatile (
 145           "BL     sub_FF17C2B8\n"
 146           "B      label_A\n"
 147         );
 148     }
 149 }
 150 */
 151 
 152 
 153 
 154 //This function was used to take values for set_quality
 155 //** sub_FF17C6F0_my  @ 0xFF17C6F0 
 156 /*
 157 void __attribute__((naked,noinline)) sub_FF17C6F0_my() {
 158 asm volatile (
 159       "STMFD   SP!, {R4-R11,LR}\n"
 160       "SUB     SP, SP, #0x64\n"
 161       "MOV     R9, #0\n"
 162       "LDR     R8, =0x6DB8\n"
 163       "STR     R9, [SP, #0x54]\n"
 164       "STR     R9, [SP, #0x4C]\n"
 165       "STR     R9, [R8, #0xDC]\n"
 166       "STR     R9, [R8, #0xE0]\n"
 167       "STR     R9, [R8, #0xE4]\n"
 168       "STR     R9, [R8, #0xE8]\n"
 169       "MOV     R4, R0\n"
 170       "STR     R9, [R8, #0xEC]\n"
 171       "LDR     R0, [R8, #0x44]\n"
 172       "MOV     R6, R9\n"
 173       "CMP     R0, #3\n"
 174       "MOVEQ   R0, #4\n"
 175       "STREQ   R0, [R8, #0x44]\n"
 176       "LDR     R0, [R8, #0xD8]\n"
 177       "MOV     R5, #1\n"
 178       "MOV     R7, R9\n"
 179       "BLX     R0\n"
 180       "LDR     R0, [R8, #0x44]\n"
 181       "CMP     R0, #6\n"
 182       "BEQ     loc_FF17C764\n"
 183       "LDR     R1, [R8, #0xC]\n"
 184       "CMP     R1, #2\n"
 185       "BNE     loc_FF17C78C\n"
 186       "CMP     R0, #5\n"
 187       "BEQ     loc_FF17C79C\n"
 188 "loc_FF17C764:\n"
 189       "LDR     R2, =0xFF17C5C4\n"
 190       "LDR     R1, =0xFF17C628\n"
 191       "LDR     R0, =0xFF17C68C\n"
 192       "MOV     R7, #1\n"
 193       "ADD     R3, SP, #0x30\n"
 194       "BL      sub_FF03C9E8\n"
 195       "LDR     R0, [R8, #0x44]\n"
 196       "CMP     R0, #4\n"
 197       "MOVNE   R5, #0\n"
 198       "B       loc_FF17C7AC\n"
 199 "loc_FF17C78C:\n"
 200       "CMP     R0, #4\n"
 201       "BEQ     loc_FF17C7AC\n"
 202       "CMP     R1, #2\n"
 203       "BNE     loc_FF17C7A4\n"
 204 "loc_FF17C79C:\n"
 205       "MOV     R0, #0\n"
 206       "BL      sub_FF03CA54\n"
 207 "loc_FF17C7A4:\n"
 208       "ADD     SP, SP, #0x64\n"
 209       "LDMFD   SP!, {R4-R11,PC}\n"
 210 "loc_FF17C7AC:\n"
 211       "LDRH    R0, [R8, #6]\n"
 212       "CMP     R0, #3\n"
 213       "BNE     loc_FF17C7E0\n"
 214       "LDR     R0, [R8, #0xF0]\n"
 215       "CMP     R0, #0\n"
 216       "LDREQ   R1, =0x8E8\n"
 217       "LDREQ   R0, =0xFF17A7A0\n"
 218       "BLEQ    _DebugAssert\n"
 219       "LDR     R0, [R8, #0x6C]\n"
 220       "LDR     R1, [R8, #0xF0]\n"
 221       "BL      sub_0047C934\n"
 222       "CMP     R1, #0\n"
 223       "MOVNE   R5, #0\n"
 224 "loc_FF17C7E0:\n"
 225       "LDR     R0, [R8, #0x44]\n"
 226       "CMP     R0, #6\n"
 227       "CMPNE   R0, #1\n"
 228       "CMPNE   R0, #3\n"
 229       "BNE     loc_FF17C824\n"
 230       "CMP     R7, #1\n"
 231       "CMPEQ   R5, #0\n"
 232       "BNE     loc_FF17C824\n"
 233       "BL      sub_FF03CA0C\n"
 234       "LDR     R0, [R8, #0x18]\n"
 235       "MOV     R1, #0x3E8\n"
 236       "BL      _TakeSemaphore\n"
 237       "CMP     R0, #9\n"
 238       "BNE     loc_FF17CC60\n"
 239       "MOV     R0, #0x90000\n"
 240       "BL      sub_FF0261C4\n"
 241       "B       loc_FF17C7A4\n"
 242 "loc_FF17C824:\n"
 243       "CMP     R5, #1\n"
 244       "MOV     R10, #1\n"
 245       "BNE     loc_FF17C84C\n"
 246       "ADD     R3, SP, #0x4C\n"
 247       "ADD     R2, SP, #0x50\n"
 248       "ADD     R1, SP, #0x54\n"
 249       "ADD     R0, SP, #0x58\n"
 250       "BL      sub_FF2E298C\n"
 251       "MOVS    R9, R0\n"
 252       "BNE     loc_FF17C868\n"
 253 "loc_FF17C84C:\n"
 254       "LDR     R0, [R8, #0x34]\n"
 255       "CMP     R0, #1\n"
 256       "BNE     loc_FF17C9B4\n"
 257       "LDR     R0, [R8, #0x6C]\n"
 258       "LDR     R1, [R8, #0x48]\n"
 259       "CMP     R0, R1\n"
 260       "BCC     loc_FF17C9B4\n"
 261 "loc_FF17C868:\n"
 262       "MOV     R0, R9\n"
 263       "BL      sub_FF17BAE4\n"
 264       "LDR     R0, [R8, #0xC]\n"
 265       "CMP     R0, #2\n"
 266       "BNE     loc_FF17C8D4\n"
 267       "LDR     R0, =0xFF17C5B8\n"
 268       "MOV     R1, #0\n"
 269       "BL      sub_FF29AB98\n"
 270       "LDR     R1, [R8, #0x64]\n"
 271       "LDR     R2, =0xB7AA8\n"
 272       "ADD     R3, SP, #0x5C\n"
 273       "ADD     R0, SP, #0x30\n"
 274       "STRD    R0, [SP, #0x10]\n"
 275       "STRD    R2, [SP, #0x18]\n"
 276       "LDR     R1, [R8, #0x84]\n"
 277       "LDR     R2, [R8, #0x88]\n"
 278       "MVN     R3, #1\n"
 279       "ADD     R0, SP, #0x60\n"
 280       "STMEA   SP, {R0-R3}\n"
 281       "MOV     R3, #0\n"
 282       "LDR     R0, =0xB7B08\n"
 283       "MOV     R2, R3\n"
 284       "MOV     R1, #0x40\n"
 285       "BL      sub_FF29AAEC\n"
 286       "B       loc_FF17C92C\n"
 287 "loc_FF17C8CC:\n"
 288       "MOV     R1, #1\n"
 289       "B       loc_FF17CBA4\n"
 290 "loc_FF17C8D4:\n"
 291       "BL      sub_FF17D504\n"
 292       "LDR     R2, [R8, #0x64]\n"
 293       "ADD     R3, SP, #0x5C\n"
 294       "MVN     R1, #1\n"
 295       "MOV     R0, #0\n"
 296       "ADD     R5, SP, #0x1C\n"
 297       "STMIA   R5, {R0-R3}\n"
 298       "LDR     R3, [R4, #0x1C]\n"
 299       "LDR     R1, [R8, #0x84]\n"
 300       "LDR     R2, [R8, #0x88]\n"
 301       "ADD     R0, SP, #0x60\n"
 302       "ADD     R4, SP, #0xC\n"
 303       "STMIA   R4, {R0-R3}\n"
 304       "MOV     R3, #0\n"
 305       "MOV     R1, #0x40\n"
 306       "STMEA   SP, {R1,R3}\n"
 307       "MOV     R2, #0\n"
 308       "STR     R3, [SP, #8]\n"
 309       "LDR     R3, =0xB7B08\n"
 310       "MOV     R1, R2\n"
 311       "MOV     R0, R2\n"
 312       "BL      sub_FF299428\n"
 313 "loc_FF17C92C:\n"
 314       "LDR     R0, [R8, #0x18]\n"
 315       "LDR     R1, [R8, #0x60]\n"
 316       "BL      _TakeSemaphore\n"
 317       "CMP     R0, #9\n"
 318       "BEQ     loc_FF17C8CC\n"
 319       "LDR     R0, [SP, #0x5C]\n"
 320       "CMP     R0, #0\n"
 321       "BEQ     loc_FF17C954\n"
 322 "loc_FF17C94C:\n"
 323       "MOV     R1, #1\n"
 324       "B       loc_FF17CBBC\n"
 325 "loc_FF17C954:\n"
 326       "LDR     R0, [R8, #0xC]\n"
 327       "MOV     R4, #5\n"
 328       "CMP     R0, #2\n"
 329       "MOV     R0, #1\n"
 330       "BNE     loc_FF17C9A0\n"
 331       "BL      sub_FF29AB60\n"
 332       "BL      sub_FF29AB7C\n"
 333       "BL      sub_FF03CA30\n"
 334       "MOV     R0, #0\n"
 335       "BL      sub_FF03CA54\n"
 336       "BL      sub_FF03CA84\n"
 337       "STR     R4, [R8, #0x44]\n"
 338       "LDR     R0, [R8, #0x64]\n"
 339       "CMP     R0, #1\n"
 340       "BLEQ    sub_FF29B6EC\n"
 341       "BL      sub_FF17D504\n"
 342       "BL      sub_FF03CAE0\n"
 343       "STR     R10, [R8, #0x44]\n"
 344       "B       loc_FF17C9AC\n"
 345 "loc_FF17C9A0:\n"
 346       "BL      sub_FF2994D4\n"
 347       "BL      sub_FF29951C\n"
 348       "STR     R4, [R8, #0x44]\n"
 349 "loc_FF17C9AC:\n"
 350       "STR     R6, [R8, #0x34]\n"
 351       "B       loc_FF17C7A4\n"
 352 "loc_FF17C9B4:\n"
 353       "CMP     R5, #1\n"
 354       "BNE     loc_FF17CC58\n"
 355       "STR     R10, [R8, #0x38]\n"
 356       "LDR     R0, [R8, #0x6C]\n"
 357       "LDR     R11, [R4, #0xC]\n"
 358       "CMP     R0, #0\n"
 359       "LDRNE   R9, [SP, #0x58]\n"
 360       "LDRNE   R10, [SP, #0x54]\n"
 361       "BNE     loc_FF17CADC\n"
 362       "LDR     R0, [R8, #0xC]\n"
 363       "CMP     R0, #2\n"
 364       "BNE     loc_FF17CA34\n"
 365       "LDR     R0, =0xFF17C5B8\n"
 366       "MOV     R1, #0\n"
 367       "BL      sub_FF29AB98\n"
 368       "LDR     R1, [R8, #0x64]\n"
 369       "LDR     R2, =0xB7AA8\n"
 370       "ADD     R3, SP, #0x5C\n"
 371       "ADD     R0, SP, #0x30\n"
 372       "STRD    R0, [SP, #0x10]\n"
 373       "STRD    R2, [SP, #0x18]\n"
 374       "LDR     R1, [R8, #0x84]\n"
 375       "LDR     R2, [R8, #0x88]\n"
 376       "MVN     R3, #0\n"
 377       "ADD     R0, SP, #0x60\n"
 378       "STMEA   SP, {R0-R3}\n"
 379       "LDR     R0, [SP, #0x58]\n"
 380       "LDR     R1, [SP, #0x54]\n"
 381       "LDR     R2, [SP, #0x50]\n"
 382       "LDR     R3, [SP, #0x4C]\n"
 383       "BL      sub_FF29AAEC\n"
 384       "B       loc_FF17CA88\n"
 385 "loc_FF17CA34:\n"
 386       "LDR     R0, [R4, #0x20]\n"
 387       "LDR     R2, [R8, #0x64]\n"
 388       "ADD     R3, SP, #0x5C\n"
 389       "MVN     R1, #0\n"
 390       "ADD     R9, SP, #0x1C\n"
 391       "STMIA   R9, {R0-R3}\n"
 392       "LDR     R3, [R4, #0x1C]\n"
 393       "LDR     R1, [R8, #0x84]\n"
 394       "LDR     R2, [R8, #0x88]\n"
 395       "ADD     R0, SP, #0x60\n"
 396       "ADD     R9, SP, #0xC\n"
 397       "STMIA   R9, {R0-R3}\n"
 398       "LDR     R1, [SP, #0x50]\n"
 399       "LDR     R2, [SP, #0x54]\n"
 400       "LDR     R3, [SP, #0x4C]\n"
 401       "STMFA   SP, {R1,R3}\n"
 402       "STR     R2, [SP]\n"
 403       "LDMIB   R4, {R0,R1}\n"
 404       "LDR     R3, [SP, #0x58]\n"
 405       "MOV     R2, R11\n"
 406       "BL      sub_FF299428\n"
 407 "loc_FF17CA88:\n"
 408       "LDR     R0, [R8, #0x18]\n"
 409       "LDR     R1, [R8, #0x60]\n"
 410       "BL      _TakeSemaphore\n"
 411       "CMP     R0, #9\n"
 412       "BEQ     loc_FF17C8CC\n"
 413       "LDR     R0, [SP, #0x5C]\n"
 414       "CMP     R0, #0\n"
 415       "BNE     loc_FF17C94C\n"
 416       "LDR     R0, [R8, #0xC]\n"
 417       "CMP     R0, #2\n"
 418       "MOV     R0, #1\n"
 419       "BNE     loc_FF17CAC0\n"
 420       "BL      sub_FF29AB60\n"
 421       "B       loc_FF17CAC4\n"
 422 "loc_FF17CAC0:\n"
 423       "BL      sub_FF2994D4\n"
 424 "loc_FF17CAC4:\n"
 425       "STR     R6, [R8, #0xE8]\n"
 426       "LDR     R0, [SP, #0x60]\n"
 427       "LDR     R1, [SP, #0x58]\n"
 428       "ADD     R9, R1, R0\n"
 429       "LDR     R1, [SP, #0x54]\n"
 430       "SUB     R10, R1, R0\n"
 431 "loc_FF17CADC:\n"
 432       "LDR     R0, [R8, #0xC]\n"
 433       "CMP     R0, #2\n"
 434       "BNE     loc_FF17CB3C\n"
 435       "LDR     R0, =0xFF17BA44\n"
 436       "MOV     R1, #0\n"
 437       "BL      sub_FF29AB98\n"
 438       "LDR     R1, [R8, #0x64]\n"
 439       "LDR     R2, =0xB7AA8\n"
 440       "ADD     R0, SP, #0x30\n"
 441       "ADD     R3, SP, #0x5C\n"
 442       "STRD    R0, [SP, #0x10]\n"
 443       "STRD    R2, [SP, #0x18]\n"
 444       "LDR     R1, [R8, #0x84]\n"
 445       "LDR     R2, [R8, #0x88]\n"
 446       "LDR     R3, [R8, #0x68]\n"
 447       "ADD     R0, SP, #0x60\n"
 448       "STMEA   SP, {R0-R3}\n"
 449       "LDR     R2, [SP, #0x50]\n"
 450       "LDR     R3, [SP, #0x4C]\n"
 451       "MOV     R1, R10\n"
 452       "MOV     R0, R9\n"
 453       "BL      sub_FF29AAEC\n"
 454       "BL      sub_FF03CA0C\n"
 455       "B       loc_FF17CB8C\n"
 456 "loc_FF17CB3C:\n"
 457       "LDR     R0, [R4, #0x20]\n"
 458       "LDR     R1, [R8, #0x68]\n"
 459       "LDR     R2, [R8, #0x64]\n"
 460       "ADD     R3, SP, #0x5C\n"
 461       "ADD     R12, SP, #0x1C\n"
 462       "STMIA   R12, {R0-R3}\n"
 463       "LDR     R3, [R4, #0x1C]\n"
 464       "LDR     R1, [R8, #0x84]\n"
 465       "LDR     R2, [R8, #0x88]\n"
 466       "ADD     R0, SP, #0x60\n"
 467       "ADD     R12, SP, #0xC\n"
 468       "STMIA   R12, {R0-R3}\n"
 469       "LDR     R2, [SP, #0x50]\n"
 470       "LDR     R3, [SP, #0x4C]\n"
 471       "STMFA   SP, {R2,R3}\n"
 472       "STR     R10, [SP]\n"
 473       "LDMIB   R4, {R0,R1}\n"
 474       "MOV     R3, R9\n"
 475       "MOV     R2, R11\n"
 476       "BL      sub_FF299428\n"
 477 "loc_FF17CB8C:\n"
 478       "LDR     R0, [R8, #0x18]\n"
 479       "LDR     R1, [R8, #0x60]\n"
 480       "BL      _TakeSemaphore\n"
 481       "CMP     R0, #9\n"
 482       "BNE     loc_FF17CBAC\n"
 483       "MOV     R1, #0\n"
 484 "loc_FF17CBA4:\n"
 485       "MOV     R0, #0x90000\n"
 486       "B       loc_FF17CBC0\n"
 487 "loc_FF17CBAC:\n"
 488       "LDR     R0, [SP, #0x5C]\n"
 489       "CMP     R0, #0\n"
 490       "BEQ     loc_FF17CBC8\n"
 491       "MOV     R1, #0\n"
 492 "loc_FF17CBBC:\n"
 493       "MOV     R0, #0xA0000\n"
 494 "loc_FF17CBC0:\n"
 495       "BL      sub_FF17BED0\n"
 496       "B       loc_FF17C7A4\n"
 497 "loc_FF17CBC8:\n"
 498       "LDR     R0, [R8, #0xC]\n"
 499       "CMP     R0, #2\n"
 500       "MOV     R0, #0\n"
 501       "BNE     loc_FF17CBE0\n"
 502       "BL      sub_FF29AB60\n"
 503       "B       loc_FF17CBE4\n"
 504 "loc_FF17CBE0:\n"
 505       "BL      sub_FF2994D4\n"
 506 "loc_FF17CBE4:\n"
 507       "LDR     R0, [SP, #0x58]\n"
 508       "LDR     R1, [SP, #0x60]\n"
 509       "BL      sub_FF2E2C20\n"
 510       "LDR     R0, [R8, #0x68]\n"
 511       "LDR     R3, =0x6E40\n"        // <- 0x6E40
 512       "ADD     R1, R0, #1\n"
 513       "STR     R1, [R8, #0x68]\n"
 514       "LDR     R0, [SP, #0x60]\n"
 515       "SUB     R2, R3, #4\n"         // <- -4
 516       "BL      sub_FF2DED00\n"
 517 #if 0
 518       "LDR         R0, =0x6E3C \n"              // added, 0x6E40-0x4
 519       "BL      set_quality \n"          // added
 520 #endif
 521       "LDR     R0, [R8, #0x64]\n"
 522       "CMP     R0, #1\n"
 523       "BNE     loc_FF17CC58\n"
 524       "ADD     R0, SP, #0x48\n"
 525       "BL      sub_FF29B74C\n"
 526       "LDR     R1, =0xB7A78\n"
 527       "LDR     R0, [R1, #4]\n"
 528       "LDR     R1, [R1]\n"
 529       "SUB     R2, R0, #0x400\n"
 530       "SUBS    R2, R2, #0x38\n"
 531       "ADDEQ   R0, R0, #8\n"
 532       "MOV     R1, R1, LSR #4\n"
 533       "MOV     R0, R0, LSR #4\n"
 534       "MUL     R1, R0, R1\n"
 535       "LDR     R0, [SP, #0x48]\n"
 536       "BL      sub_0047C934\n"
 537       "LDR     R1, =0xB7AA8\n"
 538       "STR     R0, [SP, #0x48]\n"
 539       "BL      sub_FF2DF038\n"
 540 "loc_FF17CC58:\n"
 541       "CMP     R7, #1\n"
 542       "BNE     loc_FF17CC6C\n"
 543 "loc_FF17CC60:\n"
 544       "BL      sub_FF03CA30\n"
 545       "MOV     R0, #1\n"
 546       "BL      sub_FF03CA54\n"
 547 "loc_FF17CC6C:\n"
 548       "CMP     R5, #1\n"
 549       "LDRNEH  R0, [R8, #6]\n"
 550       "CMPNE   R0, #3\n"
 551       "BNE     loc_FF17C7A4\n"
 552       "LDR     R0, [R8, #0x6C]\n"
 553       "ADD     R0, R0, #1\n"
 554       "STR     R0, [R8, #0x6C]\n"
 555       "LDRH    R1, [R8, #6]\n"
 556       "CMP     R1, #3\n"
 557       "LDRNE   R1, [R8, #0x54]\n"
 558       "MULNE   R0, R1, R0\n"
 559       "LDRNE   R1, [R8, #0x50]\n"
 560       "BNE     loc_FF17CCBC\n"
 561       "LDR     R1, [R8, #0x58]\n"
 562       "CMP     R1, #0x19\n"
 563       "LDRNE   R1, =0x3E9\n"
 564       "MOVEQ   R1, #0x3E8\n"
 565       "MUL     R0, R1, R0\n"
 566       "LDRNE   R1, =0x1770\n"
 567       "LDREQ   R1, =0x1388\n"
 568 "loc_FF17CCBC:\n"
 569       "BL      sub_0047C934\n"
 570       "MOV     R4, R0\n"
 571       "BL      sub_FF2E32E8\n"
 572       "LDR     R0, [R8, #0x8C]\n"
 573       "CMP     R0, R4\n"
 574       "BNE     loc_FF17CCE0\n"
 575       "LDR     R0, [R8, #0x3C]\n"
 576       "CMP     R0, #1\n"
 577       "BNE     loc_FF17CCF4\n"
 578 "loc_FF17CCE0:\n"
 579       "LDR     R1, [R8, #0xBC]\n"
 580       "MOV     R0, R4\n"
 581       "BLX     R1\n"
 582       "STR     R4, [R8, #0x8C]\n"
 583       "STR     R6, [R8, #0x3C]\n"
 584 "loc_FF17CCF4:\n"
 585       "STR     R6, [R8, #0x38]\n"
 586       "B       loc_FF17C7A4\n"
 587         );
 588 }
 589 */

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