root/platform/s2is/sub/100e/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_FF954714_my
  4. sub_FF956A80_my
  5. sub_FF955964_my

   1 #include "conf.h"
   2 
   3 int *video_quality = &conf.video_quality;
   4 int *video_mode    = &conf.video_mode;
   5 
   6 long def_table1[56]={
   7 0x10000,0xC000,0x5800, 0x2000, 0x1C6A, 0x1550,0x9C5,  0x38D,  0x3C45, 0x2D34, 0x14B8, 0x788,  0x5F60, 0x4788,
   8 0x20C9, 0xBE1, 0x8661, 0x64C9, 0x2E31, 0x10CB,0xB21A, 0x8594, 0x3D39, 0x1642, 0xE249, 0xA9B8, 0x4DC9, 0x1C48,
   9 0x117D2,0xD1DF,0x6030, 0x22F9, 0x153D5,0xFEE1,0x74D1, 0x2A79, 0x195F8,0x1307C,0x8B8D, 0x32AA, 0x1E01C,0x16817,
  10 0xA509, 0x3C01,0x2328E,0x1A5ED,0xC160, 0x4637,0x28C99,0x1E975,0xE054, 0x5190, 0x2F08B,0x2346B,0x102AF,0x5E0E
  11 };
  12 
  13 long def_table2[12]={0xE666,0xACCD,0x4F33,0x1CCD,-0x170A,-0x1148,-0x7EB,-0x2E1,-0x2BC6,-0x20D5,-0xF0C,-0x579};
  14 
  15 long table1[56], table2[12];
  16 
  17 void change_video_tables(int a, int b){
  18  int i;
  19  for (i=0;i<56;i++) table1[i]=(def_table1[i]*a)/b;
  20  for (i=0;i<12;i++) table2[i]=(def_table2[i]*a)/b;
  21 }
  22 
  23 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};
  24 
  25 
  26 void __attribute__((naked,noinline)) movie_record_task(){
  27  asm volatile(
  28                 "STMFD   SP!, {R4,LR}\n"    
  29                 "SUB     SP, SP, #4\n"      
  30                 "MOV     R4, SP\n"          
  31                 "B       loc_FF953F78\n"    
  32 "loc_FF953EA4:\n"                            
  33                 "LDR     R3, =0x5C940\n"    
  34                 "LDR     R2, [R3]\n"        
  35                 "CMP     R2, #0\n"          
  36                 "BNE     loc_FF953F40\n"    
  37                 "SUB     R3, R12, #1\n"     
  38                 "CMP     R3, #0xA\n"        
  39                 "LDRLS   PC, [PC,R3,LSL#2]\n" 
  40                 "B       loc_FF953F40\n"    
  41                 ".long loc_FF953EF0\n"
  42                 ".long loc_FF953EF8\n"
  43                 ".long loc_FF953F10\n"
  44                 ".long loc_FF953F18\n"
  45                 ".long loc_FF953F20\n"
  46                 ".long loc_FF953F00\n"
  47                 ".long loc_FF953F28\n"
  48                 ".long loc_FF953F08\n"
  49                 ".long loc_FF953F40\n"
  50                 ".long loc_FF953F38\n"
  51                 ".long loc_FF953F30\n"
  52 "loc_FF953EF0:\n"                            
  53                                         
  54                 "BL      sub_FF95400C\n"    
  55                 "B       loc_FF953F3C\n"    
  56 "loc_FF953EF8:\n"                            
  57                                         
  58                 "BL      sub_FF954260\n"   
  59                 "B       loc_FF953F3C\n"    
  60 "loc_FF953F00:\n"                            
  61                                         
  62                 "BL      sub_FF954714_my\n"    //---------------->
  63                 "B       loc_FF953F3C\n"    
  64 "loc_FF953F08:\n"                            
  65                                         
  66                 "BL      sub_FF954BAC\n"    
  67                 "B       loc_FF953F3C\n"    
  68 "loc_FF953F10:\n"                            
  69                                         
  70                 "BL      sub_FF95497C\n"    
  71                 "B       loc_FF953F3C\n"    
  72 "loc_FF953F18:\n"                            
  73                                         
  74                 "BL      sub_FF954EC4\n"    
  75                 "B       loc_FF953F3C\n"    
  76 "loc_FF953F20:\n"                            
  77                                         
  78                 "BL      sub_FF955088\n"    
  79                 "B       loc_FF953F3C\n"    
  80 "loc_FF953F28:\n"                            
  81                                         
  82                 "BL      sub_FF954D78\n"    
  83                 "B       loc_FF953F3C\n"    
  84 "loc_FF953F30:\n"                            
  85                                         
  86                 "BL      sub_FF954E58\n"    
  87                 "B       loc_FF953F3C\n"    
  88 "loc_FF953F38:\n"                            
  89                                         
  90                 "BL      sub_FF9549CC\n"    
  91 "loc_FF953F3C:\n"                            
  92                                         
  93                 "LDR     R1, [SP]\n"        
  94 "loc_FF953F40:\n"                            
  95                                         
  96                 "LDR     R3, [R1]\n"        
  97                 "CMP     R3, #9\n"          
  98                 "BNE     loc_FF953F58\n"    
  99                 "MOV     R0, R1\n"          
 100                 "BL      sub_FF955218\n"      
 101                 "LDR     R1, [SP]\n"        
 102 "loc_FF953F58:\n"                            
 103                 "LDR     R3, =0x5C870\n"    
 104                 "MOV     R2, #0\n"          
 105                 "LDR     R0, [R3]\n"        
 106                 "STR     R2, [R1]\n"        
 107                 "BL      sub_FF82134C\n" 
 108                 "LDR     R3, =0x5CA10\n"    
 109                 "LDR     R0, [R3]\n"        
 110                 "BL      sub_FF821D54\n"   
 111 "loc_FF953F78:\n"                            
 112                 "LDR     R3, =0x5C86C\n"    
 113                 "MOV     R1, R4\n"          
 114                 "LDR     R0, [R3]\n"        
 115                 "MOV     R2, #0\n"          
 116                 "BL      sub_FF820F34\n" 
 117                 "LDR     R3, =0x5CA10\n"    
 118                 "MOV     R1, #0\n"          
 119                 "LDR     R0, [R3]\n"        
 120                 "BL      sub_FF821B6C\n"   
 121                 "LDR     R0, [SP]\n"        
 122                 "LDR     R12, [R0]\n"       
 123                 "CMP     R12, #0xC\n"       
 124                 "MOV     R1, R0\n"          
 125                 "BNE     loc_FF953EA4\n"    
 126                 "LDR     R3, =0x5C864\n"    
 127                 "LDR     R0, [R3]\n"        
 128                 "BL      sub_FF821D54\n"   
 129                 "BL      sub_FF82275C\n"        
 130                 "ADD     SP, SP, #4\n"      
 131                 "LDMFD   SP!, {R4,PC}\n"    
 132  );
 133 }
 134 
 135 
 136 void __attribute__((naked,noinline)) sub_FF954714_my(){
 137  asm volatile(
 138                 "STMFD   SP!, {R4-R8,LR}\n"                     
 139                 "LDR     R5, =0x5C95C\n"                        
 140                 "SUB     SP, SP, #0x1C\n"                       
 141                 "LDR     R3, [R5]\n"                            
 142                 "CMP     R3, #3\n"                              
 143                 "MOV     R4, R0\n"                              
 144                 "MOVEQ   R3, #4\n"                              
 145                 "STREQ   R3, [R5]\n"                            
 146                 "LDR     R3, =0x5CA04\n"                        
 147                 "MOV     LR, PC\n"                              
 148                 "LDR     PC, [R3]\n"                            
 149                 "LDR     R2, [R5]\n"                            
 150                 "CMP     R2, #4\n"                              
 151                 "BNE     loc_FF9548AC\n"                        
 152                 "ADD     R0, SP, #0x18\n"                       
 153                 "BL      sub_FF956A80_my\n"   //------------------->                    
 154                 "CMP     R0, #0\n"                              
 155                 "BNE     loc_FF954784\n"                        
 156                 "LDR     R3, =0x5C948\n"                        
 157                 "LDR     R2, [R3]\n"                            
 158                 "CMP     R2, #1\n"                              
 159                 "BNE     loc_FF9547A0\n"                        
 160                 "LDR     R2, =0x5C998\n"                        
 161                 "LDR     R1, =0x5C970\n"                        
 162                 "LDR     R12, [R2]\n"                           
 163                 "LDR     R3, [R1]\n"                            
 164                 "CMP     R12, R3\n"                             
 165                 "BCC     loc_FF9547A0\n"                        
 166 "loc_FF954784:\n"                                               
 167                 "BL      sub_FF9548F4\n"                        
 168                 "LDR     R3, =0x5654\n"                         
 169                 "LDR     R0, [R3]\n"                            
 170                 "BL      sub_FF8319D0\n"                        
 171                 "MOV     R3, #5\n"                              
 172                 "STR     R3, [R5]\n"                            
 173                 "B       loc_FF9548AC\n"                        
 174 "loc_FF9547A0:\n"                                               
 175                                                             
 176                 "LDR     R0, [R4,#4]\n"                         
 177                 "LDR     R5, [R4,#0xC]\n"                       
 178                 "LDR     R3, =0x5C9A0\n"                        
 179                 "LDR     R4, [R4,#8]\n"                         
 180                 "LDR     R8, =0x5C9AC\n"                        
 181                 "LDR     R6, =0x5C94C\n"                        
 182                 "ADD     R12, SP, #0x14\n"                      
 183                 "ADD     LR, SP, #0x10\n"                       
 184                 "MOV     R7, #1\n"                              
 185                 "LDR     R2, [R3]\n"                            
 186                 "LDR     R1, [SP,#0x18]\n"                      
 187                 "STMEA   SP, {R4,R5,R12,LR}\n"                  
 188                 "LDR     R3, [R8]\n"                            
 189                 "STR     R7, [R6]\n"                            
 190                 "BL      sub_FF8A5390\n"                        
 191                 "LDR     R3, =0x5C864\n"                        
 192                 "MOV     R1, #0x3E8\n"                          
 193                 "LDR     R0, [R3]\n"                            
 194                 "BL      sub_FF821B6C\n"                       
 195                 "CMP     R0, #9\n"                              
 196                 "BNE     loc_FF954804\n"                        
 197                 "BL      sub_FF9571BC\n"                        
 198                 "LDR     R3, =0x5C95C\n"                        
 199                 "LDR     R0, =0xFF9546FC\n"                 
 200                 "B       loc_FF95481C\n"                        
 201 "loc_FF954804:\n"                                               
 202                 "LDR     R5, [SP,#0x10]\n"                      
 203                 "CMP     R5, #0\n"                              
 204                 "BEQ     loc_FF954828\n"                        
 205                 "BL      sub_FF9571BC\n"                        
 206                 "LDR     R3, =0x5C95C\n"                        
 207                 "LDR     R0, =0xFF954708\n"                 
 208 "loc_FF95481C:\n"                                               
 209                 "STR     R7, [R3]\n"                            
 210                 "BL      sub_FF97C2DC\n"                        
 211                 "B       loc_FF9548AC\n"                        
 212 "loc_FF954828:\n"                                               
 213                 "BL      sub_FF8A543C\n"                
 214                 "LDR     R0, [SP,#0x18]\n"                      
 215                 "LDR     R1, [SP,#0x14]\n"                      
 216                 "BL      sub_FF956ED4\n"                        
 217                 "LDR     R4, =0x5C998\n"                        
 218                 "LDR     R3, [R4]\n"                            
 219                 "ADD     R3, R3, #1\n"                          
 220                 "LDR     R0, [SP,#0x14]\n"                      
 221                 "MOV     R1, R8\n"                              
 222                 "STR     R3, [R4]\n"                            
 223                 "MOV     R2, R5\n"                              
 224                 "BL      sub_FF955964_my\n"    //---------------->                    
 225                 "LDR     R3, =0x5C984\n"                        
 226                 "LDR     R4, [R4]\n"                            
 227                 "LDR     R1, [R3]\n"                            
 228                 "MOV     R0, R4\n"                              
 229                 "BL      sub_FFAEA214\n"                           
 230                 "CMP     R0, #0\n"                              
 231                 "BEQ     loc_FF954888\n"                        
 232                 "LDR     R6, =0x5C950\n"                        
 233                 "LDR     R3, [R6]\n"                            
 234                 "CMP     R3, #1\n"                              
 235                 "BNE     loc_FF9548A0\n"                        
 236                 "B       loc_FF95488C\n"                        
 237 "loc_FF954888:\n"                                               
 238                 "LDR     R6, =0x5C950\n"                        
 239 "loc_FF95488C:\n"                                               
 240                 "MOV     R0, R4\n"                              
 241                 "LDR     R3, =0x5C9E0\n"                        
 242                 "MOV     LR, PC\n"                              
 243                 "LDR     PC, [R3]\n"                            
 244                 "STR     R5, [R6]\n"                            
 245 "loc_FF9548A0:\n"                                               
 246                 "LDR     R2, =0x5C94C\n"                        
 247                 "MOV     R3, #0\n"                              
 248                 "STR     R3, [R2]\n"                            
 249 "loc_FF9548AC:\n"                                               
 250                                                             
 251                 "ADD     SP, SP, #0x1C\n"                       
 252                 "LDMFD   SP!, {R4-R8,PC}\n"                     
 253 
 254  );
 255 }
 256 
 257 
 258 void __attribute__((naked,noinline)) sub_FF956A80_my(){
 259  asm volatile(
 260                 "STMFD   SP!, {R4-R11,LR}\n"                    
 261                 "LDR     R12, =0x5CD00\n"                       
 262                 "LDR     R3, =0x5CD18\n"                        
 263                 "SUB     SP, SP, #8\n"                          
 264                 "LDR     R1, [R3]\n"                            
 265                 "LDR     R2, [R12]\n"                           
 266                 "LDR     R3, =0x5CD9C\n"                        
 267                 "ADD     R7, R2, #1\n"                          
 268                 "LDR     R3, [R3]\n"                            
 269                 "CMP     R7, R1\n"                              
 270                 "STR     R7, [R12]\n"                           
 271                 "MOV     R11, R0\n"                             
 272                 "STR     R3, [SP,#4]\n"                         
 273                 "MOVHI   R3, #0\n"                              
 274                 "STRHI   R3, [R11]\n"                           
 275                 "MOVHI   R0, #0x80000001\n"                     
 276                 "BHI     loc_FF956E84\n"                        
 277                 "LDR     R3, =0x5CD80\n"                        
 278                 "LDR     R4, [R3]\n"                            
 279                 "MOV     R0, R7\n"                              
 280                 "MOV     R1, R4\n"                              
 281                 "BL      sub_FFAEA214\n"                           
 282                 "CMP     R0, #1\n"                              
 283                 "BNE     loc_FF956D18\n"                        
 284                 "LDR     R3, =0x5CDA0\n"                        
 285                 "LDR     R1, =0x5CDAC\n"                        
 286                 "LDR     R0, =0x5CCE8\n"                        
 287                 "LDR     R10, [R3]\n"                           
 288                 "LDR     R2, [R1]\n"                            
 289                 "LDR     R5, [R0]\n"                            
 290                 "ADD     R2, R10, R2\n"                         
 291                 "CMP     R2, R5\n"                              
 292                 "BNE     loc_FF956B34\n"                        
 293                 "MOV     R1, R4\n"                              
 294                 "MOV     R0, R7\n"                              
 295                 "BL      sub_FFAE9B84\n"                           
 296                 "LDR     R2, =0xAAAAAAAB\n"                     
 297                 "ADD     R0, R0, #1\n"                          
 298                 "UMULL   R1, R3, R2, R0\n"                      
 299                 "MOV     R3, R3,LSR#1\n"                        
 300                 "ADD     R3, R3, R3,LSL#1\n"                    
 301                 "LDR     R4, =0x5CCF0\n"                        
 302                 "RSB     R0, R3, R0\n"                          
 303                 "STR     R10, [R4,R0,LSL#2]\n"                  
 304                 "B       loc_FF956B60\n"                        
 305 "loc_FF956B34:\n"                                               
 306                 "MOV     R1, R4\n"                              
 307                 "MOV     R0, R7\n"                              
 308                 "BL      sub_FFAE9B84\n"                           
 309                 "LDR     R2, =0xAAAAAAAB\n"                     
 310                 "ADD     R0, R0, #1\n"                          
 311                 "UMULL   R1, R3, R2, R0\n"                      
 312                 "MOV     R3, R3,LSR#1\n"                        
 313                 "ADD     R3, R3, R3,LSL#1\n"                    
 314                 "LDR     R4, =0x5CCF0\n"                        
 315                 "RSB     R0, R3, R0\n"                          
 316                 "STR     R5, [R4,R0,LSL#2]\n"                   
 317 "loc_FF956B60:\n"                                               
 318                 "LDR     R3, =0x5CD00\n"                        
 319                 "LDR     R2, =0x5CD80\n"                        
 320                 "LDR     R0, [R3]\n"                            
 321                 "LDR     R1, [R2]\n"                            
 322                 "BL      sub_FFAE9B84\n"                           
 323                 "LDR     R2, =0xAAAAAAAB\n"                     
 324                 "ADD     R0, R0, #1\n"                          
 325                 "UMULL   R1, R3, R2, R0\n"                      
 326                 "MOV     R3, R3,LSR#1\n"                        
 327                 "ADD     R3, R3, R3,LSL#1\n"                    
 328                 "RSB     R0, R3, R0\n"                          
 329                 "LDR     R3, =0x5CCE4\n"                        
 330                 "LDR     R12, [R4,R0,LSL#2]\n"                  
 331                 "LDR     R2, [R3]\n"                            
 332                 "CMP     R12, R2\n"                             
 333                 "BHI     loc_FF956BBC\n"                        
 334                 "LDR     R4, =0x5CD38\n"                        
 335                 "LDR     R3, [R4]\n"                            
 336                 "ADD     R3, R12, R3\n"                         
 337                 "ADD     R3, R3, #8\n"                          
 338                 "CMP     R2, R3\n"                              
 339                 "BCS     loc_FF956BC0\n"                        
 340                 "B       loc_FF956D94\n"                        
 341 "loc_FF956BBC:\n"                                               
 342                 "LDR     R4, =0x5CD38\n"                        
 343 "loc_FF956BC0:\n"                                               
 344                 "LDR     R2, =0x5CDA0\n"                        
 345                 "LDR     R1, =0x5CDAC\n"                        
 346                 "LDR     R0, [R4]\n"                            
 347                 "LDR     R3, [R1]\n"                            
 348                 "LDR     LR, [R2]\n"                            
 349                 "ADD     R0, R12, R0\n"                         
 350                 "ADD     R2, LR, R3\n"                          
 351                 "ADD     R1, R0, #8\n"                          
 352                 "CMP     R1, R2\n"                              
 353                 "BLS     loc_FF956C10\n"                        
 354                 "LDR     R3, =0x5CCE4\n"                        
 355                 "RSB     R2, R2, R0\n"                          
 356                 "ADD     R0, R2, #8\n"                          
 357                 "LDR     R1, [R3]\n"                            
 358                 "ADD     R2, LR, R0\n"                          
 359                 "CMP     R1, R2\n"                              
 360                 "BCC     loc_FF956D94\n"                        
 361                 "LDR     R3, =0x5CCE8\n"                        
 362                 "STR     R2, [R3]\n"                            
 363                 "B       loc_FF956C18\n"                        
 364 "loc_FF956C10:\n"                                               
 365                 "LDR     R3, =0x5CCE8\n"                        
 366                 "STR     R1, [R3]\n"                            
 367 "loc_FF956C18:\n"                                               
 368                 "LDR     R3, [R4]\n"                            
 369                 "LDR     R12, =0x5CD50\n"                       
 370                 "ADD     R3, R3, #0x18\n"                       
 371                 "LDR     R2, [R12,#4]\n"                        
 372                 "MOV     R0, R3\n"                              
 373                 "MOV     R1, #0\n"                              
 374                 "CMP     R1, R2\n"                              
 375                 "BHI     loc_FF956DD4\n"                        
 376                 "BNE     loc_FF956C48\n"                        
 377                 "LDR     R3, [R12]\n"                           
 378                 "CMP     R0, R3\n"                              
 379                 "BHI     loc_FF956DD4\n"                        
 380 "loc_FF956C48:\n"                                               
 381                 "LDR     R4, [R4]\n"                            
 382                 "LDR     LR, =0x5CD58\n"                        
 383                 "STR     R4, [SP]\n"                            
 384                 "LDR     R12, =0x5CD50\n"                       
 385                 "LDR     R3, =0x5CD00\n"                        
 386                 "LDMIA   LR, {R7,R8}\n"                         
 387                 "LDMIA   R12, {R5,R6}\n"                        
 388                 "LDR     R10, [R3]\n"                           
 389                 "LDR     R2, =0x5CD80\n"                        
 390                 "MOV     R3, R4\n"                              
 391                 "MOV     R4, #0\n"                              
 392                 "ADDS    R7, R7, R3\n"                          
 393                 "ADC     R8, R8, R4\n"                          
 394                 "LDR     R9, [R2]\n"                            
 395                 "SUBS    R5, R5, R3\n"                          
 396                 "SBC     R6, R6, R4\n"                          
 397                 "MVN     R2, #0\n"                              
 398                 "MVN     R1, #0x17\n"                           
 399                 "ADDS    R5, R5, R1\n"                          
 400                 "MOV     R4, #0\n"                              
 401                 "MOV     R3, #0x18\n"                           
 402                 "ADC     R6, R6, R2\n"                          
 403                 "ADDS    R7, R7, R3\n"                          
 404                 "ADC     R8, R8, R4\n"                          
 405                 "STMIA   R12, {R5,R6}\n"                        
 406                 "SUB     R0, R10, #1\n"                         
 407                 "MOV     R1, R9\n"                              
 408                 "STMIA   LR, {R7,R8}\n"                         
 409                 "BL      sub_FFAE9B84\n"                           
 410                 "CMP     R10, #1\n"                             
 411                 "MLA     R0, R9, R0, R0\n"                      
 412                 "BEQ     loc_FF956D18\n"                        
 413                 "LDR     R1, [SP,#4]\n"                         
 414                 "SUB     R3, R0, #1\n"                          
 415                 "MOV     R3, R3,LSL#4\n"                        
 416                 "ADD     R4, R1, #0x10\n"                       
 417                 "ADD     R5, R1, #0x14\n"                       
 418                 "LDR     R1, [R5,R3]\n"                         
 419                 "LDR     R2, [R4,R3]\n"                         
 420                 "MOV     R3, R0,LSL#4\n"                        
 421                 "LDR     R0, [SP,#4]\n"                         
 422                 "ADD     R2, R2, R1\n"                          
 423                 "LDR     LR, =0x62773130\n"                     
 424                 "ADD     R1, R0, #8\n"                          
 425                 "ADD     R12, R0, #0xC\n"                       
 426                 "ADD     R2, R2, #8\n"                          
 427                 "MOV     R0, #0\n"                              
 428                 "STR     LR, [R1,R3]\n"                         
 429                 "STR     R0, [R12,R3]\n"                        
 430                 "STR     R2, [R4,R3]\n"                         
 431                 "LDR     R1, [SP]\n"                            
 432                 "STR     R1, [R5,R3]\n"                         
 433 "loc_FF956D18:\n"                                               
 434                                                             
 435                 "LDR     R2, =0x5CCE8\n"                        
 436                 "LDR     R3, [R2]\n"                            
 437                 "ADD     R1, R3, #8\n"                          
 438                 "STR     R1, [R11]\n"                           
 439                 "LDR     R0, =0x5CCE4\n"                        
 440                 "LDR     R2, [R0]\n"                            
 441                 "CMP     R3, R2\n"                              
 442                 "BHI     loc_FF956D50\n"                        
 443                 "LDR     LR, =0x5CD48\n"                        
 444                 "LDR     R3, [LR]\n"                            
 445                 "ADD     R3, R1, R3\n"                          
 446                 "CMP     R2, R3\n"                              
 447                 "BCS     loc_FF956D54\n"                        
 448                 "B       loc_FF956D94\n"                        
 449 "loc_FF956D50:\n"                                               
 450                 "LDR     LR, =0x5CD48\n"                        
 451 "loc_FF956D54:\n"                                               
 452                 "LDR     R3, =0x5CDA0\n"                        
 453                 "LDR     R2, =0x5CDAC\n"                        
 454                 "LDR     R12, [R3]\n"                           
 455                 "LDR     R0, [R2]\n"                            
 456                 "LDR     R1, [R11]\n"                           
 457                 "LDR     R3, [LR]\n"                            
 458                 "ADD     R2, R1, R3\n"                          
 459                 "ADD     R1, R12, R0\n"                         
 460                 "CMP     R2, R1\n"                              
 461                 "BLS     loc_FF956DA4\n"                        
 462                 "RSB     R0, R1, R2\n"                          
 463                 "LDR     R1, =0x5CCE4\n"                        
 464                 "LDR     R2, [R1]\n"                            
 465                 "ADD     R3, R12, R0\n"                         
 466                 "CMP     R2, R3\n"                              
 467                 "BCS     loc_FF956DA4\n"                        
 468 "loc_FF956D94:\n"                                               
 469                                                             
 470                 "MOV     R3, #0\n"                              
 471                 "STR     R3, [R11]\n"                           
 472                 "MOV     R0, #0x80000003\n"                     
 473                 "B       loc_FF956E84\n"                        
 474 "loc_FF956DA4:\n"                                               
 475                                                             
 476                 "LDR     R3, [LR]\n"                            
 477                 "LDR     R12, =0x5CD50\n"                       
 478                 "ADD     R3, R3, #0x18\n"                       
 479                 "LDR     R2, [R12,#4]\n"                        
 480                 "MOV     R0, R3\n"                              
 481                 "MOV     R1, #0\n"                              
 482                 "CMP     R1, R2\n"                              
 483                 "BHI     loc_FF956DD4\n"                        
 484                 "BNE     loc_FF956DE4\n"                        
 485                 "LDR     R3, [R12]\n"                           
 486                 "CMP     R0, R3\n"                              
 487                 "BLS     loc_FF956DE4\n"                        
 488 "loc_FF956DD4:\n"                                               
 489                                                             
 490                 "MOV     R3, #0\n"                              
 491                 "STR     R3, [R11]\n"                           
 492                 "MOV     R0, #0x80000005\n"                     
 493                 "B       loc_FF956E84\n"                        
 494 "loc_FF956DE4:\n"                                               
 495                                                             
 496                 "LDR     R1, =0x5CD30\n"                        
 497                 "LDR     R0, =0x5CD80\n"                        
 498                 "LDR     R3, [R1]\n"                            
 499                 "LDR     R2, [R0]\n"                            
 500                 "ADD     R3, R3, R2,LSL#4\n"                    
 501                 "ADD     R3, R3, R3,LSL#2\n"                    
 502                 "LDR     R12, =0x5CD50\n"                       
 503                 "MOV     R3, R3,LSL#1\n"                        
 504                 "ADD     R3, R3, #0xA0\n"                       
 505                 "LDR     R2, [R12,#4]\n"                        
 506                 "MOV     R0, R3\n"                              
 507                 "MOV     R1, #0\n"                              
 508                 "CMP     R1, R2\n"                              
 509                 "BHI     loc_FF956E2C\n"                        
 510                 "BNE     loc_FF956E50\n"                        
 511                 "LDR     R3, [R12]\n"                           
 512                 "CMP     R0, R3\n"                              
 513                 "BLS     loc_FF956E50\n"                        
 514 "loc_FF956E2C:\n"                                               
 515                 "LDR     R4, =0x5CD68\n"                        
 516                 "LDR     R1, [R4]\n"                            
 517                 "CMP     R1, #0\n"                              
 518                 "BNE     loc_FF956E50\n"                        
 519                 "MOV     R0, #0x3140\n"                         
 520                 "ADD     R0, R0, #8\n"                          
 521                 "BL      sub_FF98020C\n"                        
 522                 "MOV     R3, #1\n"                              
 523                 "STR     R3, [R4]\n"                            
 524 "loc_FF956E50:\n"                                               
 525                                                             
 526                 "LDR     R2, =0x5CD58\n"                        
 527                 "LDR     R3, [R2,#4]\n"                         
 528                 "CMP     R3, #0\n"                              
 529                 "BHI     loc_FF956E70\n"                        
 530                 "BNE     loc_FF956E80\n"                        
 531                 "LDR     R3, [R2]\n"                            
 532                 "CMP     R3, #0x40000000\n"                     
 533           //    "BLS     loc_FF956E80\n"    // -
 534 
 535                 "B       loc_FF956E80\n"    // +
 536                               
 537 "loc_FF956E70:\n"                                               
 538                 "MOV     R3, #0\n"                              
 539                 "STR     R3, [R11]\n"                           
 540                 "MOV     R0, #0x80000007\n"                     
 541                 "B       loc_FF956E84\n"                        
 542 "loc_FF956E80:\n"                                               
 543                                                             
 544                 "MOV     R0, #0\n"                              
 545 "loc_FF956E84:\n"                                               
 546                                                             
 547                 "ADD     SP, SP, #8\n"                          
 548                 "LDMFD   SP!, {R4-R11,PC}\n"                    
 549 
 550  );
 551 }
 552 
 553 
 554 void __attribute__((naked,noinline)) sub_FF955964_my(){
 555  asm volatile(
 556                 "CMP     R2, #1\n"                              
 557                 "STMFD   SP!, {R4-R7,LR}\n"                     
 558                 "MOV     R7, R0\n"                              
 559                 "MOV     R6, R1\n"                              
 560                 "LDREQ   R3, =CompressionRateTable\n"           
 561                 "LDREQ   R2, [R3]\n"                            
 562                 "STREQ   R2, [R6]\n"                            
 563                 "LDMEQFD SP!, {R4-R7,PC}\n"                     
 564                 "LDR     R12, =0x5CA60\n"                       
 565                 "LDR     R0, [R12]\n"                           
 566                 "LDR     R3, =0x5CA68\n"                        
 567                 "CMP     R0, #0\n"                              
 568                 "LDR     R1, [R3]\n"                            
 569                 "BEQ     loc_FF9559B0\n"                        
 570                 "LDR     R2, =0x5CA6C\n"                        
 571                 "LDR     R3, [R2]\n"                            
 572                 "CMP     R3, #1\n"                              
 573                 "BNE     loc_FF9559C4\n"                        
 574                 "B       loc_FF9559B4\n"                        
 575 "loc_FF9559B0:\n"                                               
 576                 "LDR     R2, =0x5CA6C\n"                        
 577 "loc_FF9559B4:\n"                                               
 578                 "MOV     R3, #0\n"                              
 579                 "STR     R3, [R2]\n"                            
 580                 "STR     R7, [R12]\n"                           
 581                 "B       loc_FF955A78\n"                        
 582 "loc_FF9559C4:\n"                                               
 583                 "LDR     R3, =0x5CA64\n"                        
 584                 "LDR     R2, [R3]\n"                            
 585                 "LDR     R5, =table1\n"   // + 0xFF955738                
 586                 "MOV     LR, R2,LSL#2\n"                        
 587                 "LDR     R3, [R5,LR]\n"                         
 588                 "LDR     R4, =table2\n"   // + 0xFF955818                
 589                 "RSB     R12, R3, R0\n"                         
 590                 "LDR     R2, [R4,LR]\n"                         
 591                 "CMP     R12, #0\n"                             
 592                 "RSB     R0, R2, R0\n"                          
 593                 "BLE     loc_FF955A24\n"                        
 594                 "ADD     R3, R5, #0x10\n"                       
 595                 "LDR     R2, [R3,LR]\n"                         
 596                 "CMP     R2, R12\n"                             
 597                 "ADDGE   R1, R1, #1\n"                          
 598                 "BGE     loc_FF955A18\n"                        
 599                 "ADD     R3, R5, #0x20\n"                       
 600                 "LDR     R2, [R3,LR]\n"                         
 601                 "CMP     R2, R12\n"                             
 602                 "ADDGE   R1, R1, #2\n"                          
 603                 "ADDLT   R1, R1, #3\n"                          
 604 "loc_FF955A18:\n"                                               
 605            //   "CMP     R1, #0xE\n"    // -                     
 606            //   "MOVGE   R1, #0xE\n"    // -                     
 607                 "CMP     R1, #0x1A\n"    // +                     
 608                 "MOVGE   R1, #0x1A\n"    // +                     
 609 
 610                 "B       loc_FF955A5C\n"                        
 611 "loc_FF955A24:\n"                                               
 612                 "CMP     R0, #0\n"                              
 613                 "BGE     loc_FF955A5C\n"                        
 614                 "ADD     R3, R4, #0x10\n"                       
 615                 "LDR     R2, [R3,LR]\n"                         
 616                 "CMP     R2, R0\n"                              
 617                 "SUBLE   R1, R1, #1\n"                          
 618                 "BLE     loc_FF955A54\n"                        
 619                 "ADD     R3, R4, #0x20\n"                       
 620                 "LDR     R2, [R3,LR]\n"                         
 621                 "CMP     R2, R0\n"                              
 622                 "SUBLE   R1, R1, #2\n"                          
 623                 "SUBGT   R1, R1, #3\n"                          
 624 "loc_FF955A54:\n"                                               
 625                 "CMP     R1, #0\n"                              
 626                 "MOVLT   R1, #0\n"                              
 627 "loc_FF955A5C:\n"                                               
 628                                                             
 629                 "LDR     R0, =0x5CA68\n"                        
 630                 "LDR     R3, [R0]\n"                            
 631                 "CMP     R1, R3\n"                              
 632                 "LDRNE   R2, =0x5CA6C\n"                        
 633                 "MOVNE   R3, #1\n"                              
 634                 "STRNE   R1, [R0]\n"                            
 635                 "STRNE   R3, [R2]\n"                            
 636 "loc_FF955A78:\n"                                               
 637                 "LDR     R3, =0x5CA68\n"                        
 638           //    "LDR     R1, =0x5658\n"     // -
 639                 "LDR     R1, =video_mode\n" //+                
 640                 "LDR     R0, [R3]\n"                            
 641                 "LDR     R2, =CompressionRateTable\n"           
 642                 "LDR     R12, [R1]\n"
 643                 "LDR     R12, [R12]\n" //+                         
 644                 "LDR     LR, [R2,R0,LSL#2]\n"                   
 645                 "LDR     R3, =0x5CA60\n"                        
 646                 "CMP     R12, #1\n"                             
 647                 "STR     R7, [R3]\n"                            
 648                 "STR     LR, [R6]\n"                            
 649 //              "MOVEQ   R3, #0xB\n"        // -                    
 650 
 651                 "LDREQ   R3, =video_quality\n"          // +
 652                 "LDREQ   R3, [R3]\n"                    // +
 653                 "LDREQ   R3, [R3]\n"                    // +
 654 
 655                 "STREQ   R3, [R6]\n"                            
 656                 "LDMFD   SP!, {R4-R7,PC}\n"                     
 657  );
 658 }
 659 
 660 
 661 

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