root/platform/ixus40_sd300/sub/100k/movie_rec.c

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

DEFINITIONS

This source file includes following definitions.
  1. change_video_tables
  2. movie_record_task
  3. sub_FF936B64_my
  4. sub_FF9384F0_my
  5. sub_FF9374C0_my

   1 
   2 
   3 ///NOTE: this is not from ixus40! needs to be done!
   4 
   5 
   6 #include "conf.h"
   7 
   8 int *video_quality = &conf.video_quality;
   9 int *video_mode    = &conf.video_mode;
  10 
  11 long def_table1[56]={
  12 0x10000,0xC000,0x5800, 0x2000, 0x1C6A, 0x1550,0x9C5,  0x38D,  0x3C45, 0x2D34, 0x14B8, 0x788,  0x5F60, 0x4788,
  13 0x20C9, 0xBE1, 0x8661, 0x64C9, 0x2E31, 0x10CB,0xB21A, 0x8594, 0x3D39, 0x1642, 0xE249, 0xA9B8, 0x4DC9, 0x1C48,
  14 0x117D2,0xD1DF,0x6030, 0x22F9, 0x153D5,0xFEE1,0x74D1, 0x2A79, 0x195F8,0x1307C,0x8B8D, 0x32AA, 0x1E01C,0x16817,
  15 0xA509, 0x3C01,0x2328E,0x1A5ED,0xC160, 0x4637,0x28C99,0x1E975,0xE054, 0x5190, 0x2F08B,0x2346B,0x102AF,0x5E0E
  16 };
  17 
  18 long def_table2[12]={0xE666,0xACCD,0x4F33,0x1CCD,-0x170A,-0x1148,-0x7EB,-0x2E1,-0x2BC6,-0x20D5,-0xF0C,-0x579};
  19 
  20 long table1[56], table2[12];
  21 
  22 void change_video_tables(int a, int b){
  23  int i;
  24  for (i=0;i<56;i++) table1[i]=(def_table1[i]*a)/b;
  25  for (i=0;i<12;i++) table2[i]=(def_table2[i]*a)/b;
  26 }
  27 
  28 long CompressionRateTable[]={0x60, 0x5D, 0x5A, 0x57, 0x54, 0x51, 0x4D, 0x48, 0x42, 0x3B, 0x32, 0x29, 0x22, 0x1D, 0x17, 0x14, 0x10, 0xE, 0xB, 9, 7, 6, 5, 4, 3, 2, 1};
  29 
  30 
  31 void __attribute__((naked,noinline)) movie_record_task(){
  32  asm volatile(
  33         "STMFD   SP!, {R4,LR}\n"
  34         "SUB     SP, SP, #4\n"
  35         "MOV     R4, SP\n"
  36         "B       loc_FF936520\n"
  37     "loc_FF936488:\n"
  38         "LDR     R3, =0x670F0\n"
  39         "LDR     R2, [R3]\n"
  40         "CMP     R2, #0\n"
  41         "BNE     loc_FF93650C\n"
  42         "LDR     R3, [R0]\n"
  43         "SUB     R3, R3, #1\n"
  44         "CMP     R3, #7\n"
  45         "LDRLS   PC, [PC,R3,LSL#2]\n"
  46         "B       loc_FF93650C\n"
  47         ".long loc_FF9364CC\n"
  48         ".long loc_FF9364D4\n"
  49         ".long loc_FF9364EC\n"
  50         ".long loc_FF9364DC\n"
  51         ".long loc_FF9364F4\n"
  52         ".long loc_FF9364E4\n"
  53         ".long loc_FF936504\n"
  54         ".long loc_FF9364FC\n"
  55             
  56     "loc_FF9364CC:\n"
  57         "BL      sub_FF93659C\n"
  58         "B       loc_FF936508\n"
  59     "loc_FF9364D4:\n"
  60         //"BL      unlock_optical_zoom\n"  //----> unset zoom NOTE: sd300 doesnt have this feature :(
  61          
  62         "BL      sub_FF9367B4\n"
  63         "B       loc_FF936508\n"
  64     "loc_FF9364DC:\n"
  65         "BL      sub_FF936B64_my\n"
  66         "B       loc_FF936508\n"
  67     "loc_FF9364E4:\n"
  68         "BL      sub_FF936F10\n"
  69         "B       loc_FF936508\n"
  70     "loc_FF9364EC:\n"
  71         "BL      sub_FF936DB8\n"
  72         "B       loc_FF936508\n"
  73     "loc_FF9364F4:\n"
  74         "BL      sub_FF936FC8\n"
  75         "B       loc_FF936508\n"
  76     "loc_FF9364FC:\n"
  77         "BL      sub_FF937064\n"
  78         "B       loc_FF936508\n"
  79     "loc_FF936504:\n"
  80         "BL      sub_FF936E08\n"
  81     "loc_FF936508:\n"
  82         "LDR     R1, [SP]\n"
  83     "loc_FF93650C:\n"
  84         "LDR     R3, =0x67074\n"
  85         "MOV     R2, #0\n"
  86         "STR     R2, [R1]\n"
  87         "LDR     R0, [R3]\n"
  88         "BL      sub_FF822738\n" //PostMessageQueue
  89     "loc_FF936520:\n"
  90         "LDR     R3, =0x67070\n"
  91         "MOV     R1, R4\n"
  92         "LDR     R0, [R3]\n"
  93         "MOV     R2, #0\n"
  94         "BL      sub_FF822320\n" //ReceiveMessageQueue
  95         "LDR     R0, [SP]\n"
  96         "CMP     R0, #0\n"
  97         "MOV     R1, R0\n"
  98         "BNE     loc_FF936488\n"
  99         "LDR     R3, =0x6706C\n"
 100         "LDR     R0, [R3]\n"
 101         "BL      sub_FF823144\n" //GiveSemaphore
 102         "BL      sub_FF823B44\n" //ExitTask
 103         "ADD     SP, SP, #4\n"
 104         "LDMFD   SP!, {R4,PC}\n"
 105  );
 106 }
 107 
 108 
 109 void __attribute__((naked,noinline)) sub_FF936B64_my(){
 110  asm volatile(
 111         "STMFD   SP!, {R4-R7,LR}\n"
 112         "LDR     R4, =0x67108\n"
 113         "SUB     SP, SP, #0x10\n"
 114         "LDR     R3, [R4]\n"
 115         "CMP     R3, #3\n"
 116         "MOV     R5, R0\n"
 117         "MOVEQ   R3, #4\n"
 118         "STREQ   R3, [R4]\n"
 119         "LDR     R3, =0x67188\n"
 120         "MOV     LR, PC\n"
 121         "LDR     PC, [R3]\n"
 122         "LDR     R2, [R4]\n"
 123         "CMP     R2, #4\n"
 124         "BNE     loc_FF936CC8\n"
 125         "ADD     R0, SP, #0xC\n"
 126         "BL      sub_FF9384F0\n" //--------------> redir to mine!
 127         "CMP     R0, #0\n"
 128         "BNE     loc_FF936BD4\n"
 129         "LDR     R3, =0x670F8\n"
 130         "LDR     R2, [R3]\n"
 131         "CMP     R2, #1\n"
 132         "BNE     loc_FF936BF0\n"
 133         "LDR     R2, =0x67130\n"
 134         "LDR     R1, =0x6710C\n"
 135         "LDR     R12, [R2]\n"
 136         "LDR     R3, [R1]\n"
 137         "CMP     R12, R3\n"
 138         "BCC     loc_FF936BF0\n"
 139 "loc_FF936BD4:\n"
 140         "BL      sub_FF936D08\n"
 141         "LDR     R3, =0x67184\n"
 142         "LDR     R0, [R3]\n"
 143         "BL      sub_FFA449B4\n"
 144         "MOV     R3, #5\n"
 145         "STR     R3, [R4]\n"
 146         "B       loc_FF936CC8\n"
 147 "loc_FF936BF0:\n"
 148         "LDR     R6, =0x67138\n"
 149         "LDR     R7, =0x670FC\n"
 150         "LDR     R0, [R5,#0x4]\n"
 151         "LDR     R1, [SP,#0xC]\n"
 152         "ADD     R12, SP, #0x4\n"
 153         "ADD     R3,  SP, #0x8\n"
 154         "LDR     R2, [R6]\n"
 155         "MOV     R4, #1\n"
 156         "STR     R12, [SP]\n"
 157         "STR     R4, [R7]\n"
 158         "BL      sub_FF8A03D8\n"
 159         "LDR     R3, =0x6706C\n"
 160         "MOV     R1, #0x3E8\n"
 161         "LDR     R0, [R3]\n"
 162         "BL      sub_FF822F5C\n" //TakeSemaphore
 163         "CMP     R0, #9\n"
 164         "BNE     loc_FF936C44\n"
 165         "BL      sub_FF938B2C\n"
 166         "LDR     R3, =0x67108\n"
 167         "LDR     R0, =0xFF936B4C\n" //debug string jpeg error
 168         "B       loc_FF936C5C\n"
 169 "loc_FF936C44:\n"
 170         "LDR     R5, [SP,#4]\n"
 171         "CMP     R5, #0\n"
 172         "BEQ     loc_FF936C68\n"
 173         "BL      sub_FF938B2C\n"
 174         "LDR     R3, =0x67108\n"
 175         "LDR     R0, =0xFF936B58\n" //debug string jpeg error 2
 176 "loc_FF936C5C:\n"
 177         "STR     R4, [R3]\n"
 178         "BL      sub_FF94FA2C\n" //HardwareDefect
 179         "B       loc_FF936CC8\n"
 180 "loc_FF936C68:\n"
 181         "BL      sub_FF8A0434\n" //IsEmptyWriteCache?
 182         "LDR     R0, [SP,#0xC]\n"
 183         "LDR     R1, [SP,#0x8]\n"
 184         "BL      sub_FF9388B4\n"
 185         "LDR     R4, =0x67130\n"
 186         "LDR     R3, [R4]\n"
 187         "ADD     R3, R3, #1\n"
 188         "LDR     R0, [SP,#0x8]\n"
 189         "MOV     R1, R6\n"
 190         "STR     R3, [R4]\n"
 191         "MOV     R2, R5\n"
 192         "BL      sub_FF9374C0\n" //-----------> redir to mine !
 193         "LDR     R3, =0x67118\n"
 194         "LDR     R4, [R4]\n"
 195         "LDR     R1, [R3]\n"
 196         "MOV     R0, R4\n"
 197         "BL      sub_FFAB83DC\n" //umodsi3 ?
 198         "CMP     R0, #0\n"
 199         "BNE     loc_FF936CC4\n"
 200         "MOV     R0, R4\n"
 201         "LDR     R3, =0x67160\n"
 202         "MOV     LR, PC\n"
 203         "LDR     PC, [R3]\n"
 204 "loc_FF936CC4:\n"
 205         "STR     R5, [R7]\n"
 206 "loc_FF936CC8:\n"
 207         "ADD     SP, SP, #0x10\n"
 208         "LDMFD   SP!, {R4-R7,PC}\n"
 209         
 210  );
 211 }
 212 
 213 void __attribute__((naked,noinline)) sub_FF9384F0_my(){
 214  asm volatile(
 215         "STMFD   SP!, {R4-R11,LR}\n"
 216         "LDR     R12, =0x67434\n"
 217         "LDR     R3, =0x6744C\n"
 218         "SUB     SP, SP, #4\n"
 219         "LDR     R2, [R12]\n"
 220         "LDR     R1, [R3]\n"
 221         "ADD     R7, R2, #1\n"
 222         "LDR     R3, =0x674C4\n"
 223         "CMP     R7, R1\n"
 224         "STR     R7, [R12]\n"
 225         "MOV     R9, R0\n"
 226         "LDR     R11, [R3]\n"
 227         "MOVHI   R3, #0\n"
 228         "STRHI   R3, [R9]\n"
 229         "MOVHI   R0, #0x80000001\n"
 230         "BHI     loc_FF938828\n"
 231         "LDR     R3, =0x674A8\n"
 232         "LDR     R4, [R3]\n"
 233         "MOV     R0, R7\n"
 234         "MOV     R1, R4\n"
 235         "BL      sub_FFAB83DC\n" //umodsi3
 236         "CMP     R0, #1\n"
 237         "BNE     loc_FF9386EC\n"
 238         "LDR     R1, =0x674D4\n"
 239         "LDR     R3, =0x674C8\n"
 240         "LDR     R2, [R1]\n"
 241         "LDR     R1, =0x67420\n"
 242         "LDR     R8, [R3]\n"
 243         "LDR     R5, [R1]\n"
 244         "ADD     R2, R8, R2\n"
 245         "CMP     R2, R5\n"
 246         "BNE     loc_FF938590\n"
 247         "MOV     R1, R4\n"
 248         "MOV     R0, R7\n"
 249         "BL      sub_FFAB7D4C\n" //udivsi3
 250         "LDR     R4, =0x67428\n"
 251         "ADD     R0, R0, #1\n"
 252         "AND     R0, R0, #1\n"
 253         "STR     R8, [R4,R0,LSL#2]\n"
 254         "B       loc_FF9385AC\n"
 255 "loc_FF938590:\n"
 256         "MOV     R1, R4\n"
 257         "MOV     R0, R7\n"
 258         "BL      sub_FFAB7D4C\n" //udivsi3
 259         "LDR     R4, =0x67428\n"
 260         "ADD     R0, R0, #1\n"
 261         "AND     R0, R0, #1\n"
 262         "STR     R5, [R4,R0,LSL#2]\n"
 263 "loc_FF9385AC:\n"
 264         "LDR     R3, =0x67434\n"
 265         "LDR     R2, =0x674A8\n"
 266         "LDR     R0, [R3]\n"
 267         "LDR     R1, [R2]\n"
 268         "BL      sub_FFAB7D4C\n" //udivsi3
 269         "LDR     R3, =0x67468\n"
 270         "ADD     R0, R0, #1\n"
 271         "AND     R0, R0, #1\n"
 272         "LDR     R1, =0x674C8\n"
 273         "LDR     R12, =0x674D4\n"
 274         "LDR     LR, [R4,R0,LSL#2]\n"
 275         "LDR     R2, [R3]\n"
 276         "LDR     R0, [R1]\n"
 277         "LDR     R3, [R12]\n"
 278         "ADD     R1, LR, R2\n"
 279         "ADD     R2, R1, #8\n"
 280         "ADD     LR, R0, R3\n"
 281         "CMP     R2, LR\n"
 282         "BLS     loc_FF938610\n"
 283         "ADD     R3, R0, R1\n"
 284         "RSB     R3, LR, R3\n"
 285         "LDR     R2, =0x67420\n"
 286         "ADD     R3, R3, #8\n"
 287         "STR     R3, [R2]\n"
 288         "B       loc_FF938618\n"
 289 "loc_FF938610:\n"
 290         "LDR     R3, =0x67420\n"
 291         "STR     R2, [R3]\n"
 292 "loc_FF938618:\n"
 293         "LDR     R3, =0x67468\n"
 294         "LDR     R0, =0x67480\n"
 295         "LDR     R2, [R3]\n"
 296         "LDR     R3, [R0,#4]\n"
 297         "ADD     R2, R2, #0x18\n"
 298         "MOV     R1, R2\n"
 299         "MOV     R2, #0\n"
 300         "CMP     R2, R3\n"
 301         "BHI     loc_FF9387A8\n"
 302         "BNE     loc_FF93864C\n"
 303         "LDR     R3, [R0]\n"
 304         "CMP     R1, R3\n"
 305         "BHI     loc_FF9387A8\n"
 306 "loc_FF93864C:\n"
 307         "LDR     R3, =0x67468\n"
 308         "LDR     R10, =0x67480\n"
 309         "LDR     R3, [R3]\n"
 310         "LDMIA   R10, {R1,R2}\n"
 311         "STR     R3, [SP]\n"
 312         "LDR     R0, =0x67434\n"
 313         "LDR     R12, =0x674A8\n"
 314         "SUBS    R5, R1, R3\n"
 315         "SBC     R6, R2, #0\n"
 316         "LDR     R8, [R12]\n"
 317         "MVN     R4, #0\n" //=0xFFFFFFFF
 318         "MVN     R3, #0x17\n" //=0xFFFFFFE8
 319         "LDR     R7, [R0]\n"
 320         "ADDS    R5, R5, R3\n"
 321         "ADC     R6, R6, R4\n"
 322         "SUB     R0, R7, #1\n"
 323         "MOV     R1, R8\n"
 324         "STMIA   R10, {R5,R6}\n"
 325         "BL      sub_FFAB7D4C\n" //udivsi3
 326         "CMP     R7, #1\n"
 327         "MLA     R0, R8, R0, R0\n"
 328         "BEQ     loc_FF9386EC\n"
 329         "SUB     R3, R0, #1\n"
 330         "MOV     R3, R3,LSL#4\n"
 331         "ADD     R4, R11, #0x10\n"
 332         "ADD     R5, R11, #0x14\n"
 333         "LDR     R1, [R5,R3]\n"
 334         "LDR     R2, [R4,R3]\n"
 335         "LDR     LR, =0x62773130\n"
 336         "ADD     R2, R2, R1\n"
 337         "MOV     R3, R0,LSL#4\n"
 338         "ADD     R2, R2, #8\n"
 339         "ADD     R12, R11, #0xC\n"
 340         "ADD     R1, R11, #8\n"
 341         "MOV     R0, #0\n"
 342         "STR     LR, [R1,R3]\n"
 343         "STR     R0, [R12,R3]\n"
 344         "STR     R2, [R4,R3]\n"
 345         "LDR     R2, [SP]\n"
 346         "STR     R2, [R5,R3]\n"
 347 "loc_FF9386EC:\n"
 348         "LDR     R1, =0x67420\n"
 349         "LDR     R3, =0x6741C\n"
 350         "LDR     R2, [R1]\n"
 351         "LDR     R1, [R3]\n"
 352         "ADD     R2, R2, #8\n"
 353         "CMP     R2, R1\n"
 354         "STR     R2, [R9]\n"
 355         "BHI     loc_FF938724\n"
 356         "LDR     LR, =0x67478\n"
 357         "LDR     R3, [LR]\n"
 358         "ADD     R3, R2, R3\n"
 359         "CMP     R1, R3\n"
 360         "BHI     loc_FF938728\n"
 361         "B       loc_FF938768\n"
 362 "loc_FF938724:\n"
 363         "LDR     LR, =0x67478\n"
 364 "loc_FF938728:\n"
 365         "LDR     R3, =0x674C8\n"
 366         "LDR     R2, =0x674D4\n"
 367         "LDR     R12, [R3]\n"
 368         "LDR     R0, [R2]\n"
 369         "LDR     R1, [R9]\n"
 370         "LDR     R3, [LR]\n"
 371         "ADD     R2, R1, R3\n"
 372         "ADD     R1, R12, R0\n"
 373         "CMP     R2, R1\n"
 374         "BLS     loc_FF938778\n"
 375         "LDR     R3, =0x6741C\n"
 376         "RSB     R2, R1, R2\n"
 377         "LDR     R1, [R3]\n"
 378         "ADD     R2, R12, R2\n"
 379         "CMP     R1, R2\n"
 380         "BHI     loc_FF938778\n"
 381 "loc_FF938768:\n"
 382         "MOV     R3, #0\n"
 383         "STR     R3, [R9]\n"
 384         "MOV     R0, #0x80000003\n"
 385         "B       loc_FF938828\n"
 386 "loc_FF938778:\n"
 387         "LDR     R3, [LR]\n"
 388         "LDR     R12, =0x67480\n"
 389         "ADD     R3, R3, #0x18\n"
 390         "LDR     R2, [R12,#4]\n"
 391         "MOV     R0, R3\n"
 392         "MOV     R1, #0\n"
 393         "CMP     R1, R2\n"
 394         "BHI     loc_FF9387A8\n"
 395         "BNE     loc_FF9387B8\n"
 396         "LDR     R3, [R12]\n"
 397         "CMP     R0, R3\n"
 398         "BLS     loc_FF9387B8\n"
 399 "loc_FF9387A8:\n"
 400         "MOV     R3, #0\n"
 401         "STR     R3, [R9]\n"
 402         "MOV     R0, #0x80000005\n"
 403         "B       loc_FF938828\n"
 404 "loc_FF9387B8:\n"
 405         "LDR     R1, =0x67460\n"
 406         "LDR     R0, =0x674A8\n"
 407         "LDR     R3, [R1]\n"
 408         "LDR     R2, [R0]\n"
 409         "ADD     R3, R3, R2,LSL#4\n"
 410         "ADD     R3, R3, R3,LSL#2\n"
 411         "LDR     R12, =0x67480\n"
 412         "MOV     R3, R3,LSL#1\n"
 413         "ADD     R3, R3, #0xA0\n"
 414         "LDR     R2, [R12,#4]\n"
 415         "MOV     R0, R3\n"
 416         "MOV     R1, #0\n"
 417         "CMP     R1, R2\n"
 418         "BHI     loc_FF938800\n"
 419         "BNE     loc_FF938824\n"
 420         "LDR     R3, [R12]\n"
 421         "CMP     R0, R3\n"
 422         "BLS     loc_FF938824\n"
 423 "loc_FF938800:\n"
 424         "LDR     R4, =0x67490\n"
 425         "LDR     R1, [R4]\n"
 426         "CMP     R1, #0\n"
 427         "BNE     loc_FF938824\n"
 428         
 429         //MOV R0 0x3148
 430         "MOV     R0, #0x3140\n"
 431         "ADD     R0, R0, #8\n" 
 432           
 433         "BL      sub_FF953AD8\n" //PostLogicalEventToUI?
 434         "MOV     R3, #1\n"
 435         "STR     R3, [R4]\n"
 436          
 437         //unclear what it does, copied from ixus50 
 438         //ixus40 did never store 0 on R9 (=R11 on ixus50)
 439         ///"MOV     R3, #0\n"          
 440         ///"STR     R3, [R9]\n"       
 441          
 442 "loc_FF938824:\n"
 443         "MOV     R0, #0\n"
 444 "loc_FF938828:\n"
 445         "ADD     SP, SP, #4\n"
 446         "LDMFD   SP!, {R4-R11,PC}\n"
 447  );
 448 }
 449 
 450 void __attribute__((naked,noinline)) sub_FF9374C0_my(){
 451  asm volatile(
 452               "NOP\n"
 453              );          
 454  ///TODO! below is from sd400
 455          /*
 456          
 457                 "STMFD   SP!, {R4-R7,LR}\n" 
 458                 "MOV     R7, R0\n"          
 459                 "MOV     R6, R1\n"          
 460                 "LDREQ   R3, =CompressionRateTable\n" 
 461                 "LDREQ   R2, [R3,#0x18]\n"  
 462                 "STREQ   R2, [R6]\n"        
 463                 "LDMEQFD SP!, {R4-R7,PC}FF9374C0\n" 
 464                 "LDR     R12, =0x6FA10\n"   
 465                 "LDR     R0, [R12]\n"       
 466                 "LDR     R3, =0x6FA18\n"    
 467                 "CMP     R0, #0\n"          
 468                 "LDR     R1, [R3]\n"        
 469                 "BEQ     loc_FF952458\n"    
 470                 "LDR     R2, =0x6FA1C\n"    
 471                 "LDR     R3, [R2]\n"        
 472                 "CMP     R3, #1\n"          
 473                 "BNE     loc_FF95246C\n"    
 474                 "B       loc_FF95245C\n"    
 475 "loc_FF952458:\n"                           
 476                 "LDR     R2, =0x6FA1C\n"    
 477 "loc_FF95245C:\n"                           
 478                 "MOV     R3, #0\n"          
 479                 "STR     R3, [R2]\n"        
 480                 "STR     R7, [R12]\n"       
 481                 "B       loc_FF952520\n"    
 482 "loc_FF95246C:\n"                           
 483                 "LDR     R3, =0x6FA14\n"    
 484                 "LDR     R2, [R3]\n"        
 485                 "LDR     R5, =table1\n" // + 0xFF9521E0
 486                 "MOV     LR, R2,LSL#2\n"    
 487                 "LDR     R3, [R5,LR]\n"     
 488                 "LDR     R4, =table2\n" // + 0xFF9522C0
 489                 "RSB     R12, R3, R0\n"     
 490                 "LDR     R2, [R4,LR]\n"     
 491                 "CMP     R12, #0\n"         
 492                 "RSB     R0, R2, R0\n"      
 493                 "BLE     loc_FF9524CC\n"    
 494                 "ADD     R3, R5, #0x10\n"   
 495                 "LDR     R2, [R3,LR]\n"     
 496                 "CMP     R2, R12\n"         
 497                 "ADDGE   R1, R1, #1\n"      
 498                 "BGE     loc_FF9524C0\n"    
 499                 "ADD     R3, R5, #0x20\n"   
 500                 "LDR     R2, [R3,LR]\n"     
 501                 "CMP     R2, R12\n"         
 502                 "ADDGE   R1, R1, #2\n"      
 503                 "ADDLT   R1, R1, #3\n"      
 504 "loc_FF9524C0:\n"                           
 505           //    "CMP     R1, #0xE\n"     // -
 506           //    "MOVGE   R1, #0xE\n"     // -
 507                 "CMP     R1, #0x1A\n"    // +   
 508                 "MOVGE   R1, #0x1A\n"    // +   
 509 
 510                 "B       loc_FF952504\n"    
 511 "loc_FF9524CC:\n"                           
 512                 "CMP     R0, #0\n"          
 513                 "BGE     loc_FF952504\n"    
 514                 "ADD     R3, R4, #0x10\n"   
 515                 "LDR     R2, [R3,LR]\n"     
 516                 "CMP     R2, R0\n"          
 517                 "SUBLE   R1, R1, #1\n"      
 518                 "BLE     loc_FF9524FC\n"    
 519                 "ADD     R3, R4, #0x20\n"   
 520                 "LDR     R2, [R3,LR]\n"     
 521                 "CMP     R2, R0\n"          
 522                 "SUBLE   R1, R1, #2\n"      
 523                 "SUBGT   R1, R1, #3\n"      
 524 "loc_FF9524FC:\n"                           
 525                 "CMP     R1, #0\n"          
 526                 "MOVLT   R1, #0\n"          
 527 "loc_FF952504:\n"                           
 528                                         
 529                 "LDR     R0, =0x6FA18\n"    
 530                 "LDR     R3, [R0]\n"        
 531                 "CMP     R1, R3\n"          
 532                 "LDRNE   R2, =0x6FA1C\n"    
 533                 "MOVNE   R3, #1\n"          
 534                 "STRNE   R1, [R0]\n"        
 535                 "STRNE   R3, [R2]\n"        
 536 "loc_FF952520:\n"                           
 537                 "LDR     R3, =0x6FA18\n"    
 538            //   "LDR     R1, =0x56C0\n"   // -
 539                 "LDR     R1, =video_mode\n" //+
 540                 "LDR     R0, [R3]\n"        
 541                 "LDR     R2, =CompressionRateTable\n"   //+ FF9521A4
 542                 "LDR     R12, [R1]\n"
 543                 "LDR     R12, [R12]\n" //+       
 544                 "LDR     LR, [R2,R0,LSL#2]\n" 
 545                 "LDR     R3, =0x6FA10\n"    
 546                 "CMP     R12, #1\n"         
 547                 "STR     R7, [R3]\n"        
 548                 "STR     LR, [R6]\n"        
 549            //   "MOVEQ   R3, #0xB\n"   // -
 550 
 551                 "LDREQ   R3, =video_quality\n"          // +
 552                 "LDREQ   R3, [R3]\n"                    // +
 553                 "LDREQ   R3, [R3]\n"                    // +
 554 
 555                 "STREQ   R3, [R6]\n"        
 556                 "LDMFD   SP!, {R4-R7,PC}\n" 
 557  );*/
 558 }

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