MiFa

Untitled

Aug 29th, 2011
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;C902_R3EG004 AO
  2. ;Ability to move and show battery % on default battery icon
  3. ;Use "StatusBattery_Editor.elf" to edit element
  4. ;(c) blacklizard, ploik
  5. ;(p) buhh83
  6. ;v.1.1
  7.  
  8. include "x.inc"
  9. include "lib\w902_r3eg004.asm"
  10.  
  11. org 0x108EF8E8;108c7d20
  12.                 LDR     R3, off_108C7D24
  13.                 BX      R3
  14. off_108C7D24    DCD loc_127D6F1C+1
  15.  
  16. org 0x108EF930;108c7d68
  17.                 LDR     R3, off_108C7D6C
  18.                 BX      R3
  19. off_108C7D6C    DCD loc_127D6F30+1
  20.  
  21. org 0x117927E4;11770870
  22. loc_11770870:
  23.                 PUSH    {R4-R6,LR}
  24.  
  25. org 0x117927E8;11770874
  26.                 LDR     R3, off_11770878
  27.                 BX      R3
  28. off_11770878    DCD loc_127D6EF0+1
  29.  
  30. org 0x11792802;1177088e
  31. locret_hook:
  32.                 POP     {R4-R6,PC}
  33.  
  34. org 0x11792B00;11770b8c
  35.                 DCD loc_127D699C+1
  36.                 DCD loc_127D6A14+1
  37.  
  38. org 0x11792B0C;11770b98
  39.                 DCD loc_127D6A28+1
  40.  
  41. ; ---------------------------------------------------------------------------
  42. org 0x127BB8A0;127d68e0
  43. sub_127D68E0:
  44.                 PUSH    {R4,LR}
  45.                 MOV     R1, 0
  46.                 MOV     R3, 5
  47.                 LSL     R4, R0, 0
  48.                 adr     R0, aDb        
  49.                 PUSH    {R0,R1}
  50.                 MOV     R2, 1
  51.                 LSL     R1, R4, 0
  52.                 MOV     R0, 0
  53.                 MVN     R0, R0
  54.                 BL      j_memalloc
  55.                 POP     {R2-R4,PC}
  56.  
  57.                 DCB    0
  58.                 DCB    0
  59.  
  60. sub_127D68FC:                          
  61.                 PUSH    {LR}
  62.                 CMP     R0, 0
  63.                 BEQ     locret_127D690E
  64.                 MOV     R3, 0
  65.                 adr     R2, aDb        
  66.                 LSL     R1, R0, 0
  67.                 MOV     R0, 0
  68.                 BL      j_memfree
  69.  
  70. locret_127D690E:                        
  71.                 POP     {PC}
  72. ; ---------------------------------------------------------------------------
  73. aDb             DCB "db",0              
  74.                 DCB    0
  75. ; ---------------------------------------------------------------------------
  76. sub_127D6914:                          
  77.                 PUSH    {R4,LR}
  78.                 MOV     R0, 0x34
  79.                 BL      sub_127D68E0
  80.                 LSL     R4, R0, 0
  81.                 MOV     R2, 0x34
  82.                 MOV     R1, 0
  83.                 BL      j_memset
  84.                 MOV     R0, 0
  85.                 STRB    R0, [R4,4]
  86.                 STRH    R0, [R4,6]
  87.                 BL      j_current_process
  88.                 BL      j_get_bid
  89.                 LDR     R1, off_127D695C
  90.                 LSL     R2, R4, 0
  91.                 BL      j_set_envp
  92.                 LSL     R0, R4, 0
  93.                 POP     {R4,PC}
  94.  
  95. sub_127D6940:                          
  96.                 PUSH    {LR}
  97.                 BL      j_current_process
  98.                 BL      j_get_bid
  99.                 LDR     R1, off_127D695C
  100.                 BL      j_get_envp
  101.                 CMP     R0, 0
  102.                 BNE     locret_127D6958
  103.                 BL      sub_127D6914
  104.  
  105. locret_127D6958:                        
  106.                 POP     {PC}
  107. ; ---------------------------------------------------------------------------
  108.                 DCB    0
  109.                 DCB    0
  110. off_127D695C    DCD aBatt_fun          
  111. ; ---------------------------------------------------------------------------
  112. loc_127D6960:                          
  113.                 PUSH    {R4,LR}
  114.                 BL      sub_127D6940
  115.                 LSL     R4, R0, 0
  116.                 LDR     R0, [R4,8]
  117.                 MOV     R1, 0
  118.                 BL      j_DispObject_InvalidateRect
  119.                 LDR     R2, off_127D6A10
  120.                 MOV     R3, 0
  121.                 MOVL    R1, 0x3E8
  122.                 ADD     R0, R4, 6
  123.                 BL      j_Timer_ReSet
  124.                 POP     {R4,PC}
  125.  
  126. sub_127D6980:                          
  127.                 PUSH    {LR}
  128.                 B       loc_127D6A1C
  129.  
  130. loc_127D6984:
  131.                 PUSH    {LR}
  132.                 BL      sub_127D6940
  133.                 LDR     R2, off_127D6A10
  134.                 MOV     R3, 0
  135.                 MOVL    R1, 0x3E8
  136.                 ADD     R0, R0, 6
  137.                 BL      j_Timer_ReSet
  138.                 POP     {PC}
  139.  
  140.                 DCB    0
  141.                 DCB    0
  142.  
  143. loc_127D699C:
  144.                 PUSH    {R4-R6,LR}
  145.                 LSL     R5, R0, 0
  146.                 BL      sub_127D6E58
  147.                 BL      sub_127D6940
  148.                 LDR     R2, off_127D6A10
  149.                 LSL     R4, R0, 0
  150.                 STR     R5, [R4,8]
  151.                 MOV     R3, 0
  152.                 MOVL    R1, 0x3E8
  153.                 ADD     R0, R0, 6
  154.                 BL      j_Timer_ReSet
  155.                 LDR     R0, off_127D6A0C
  156.                 MOV     R1, 0
  157.                 PUSH    {R1}
  158.                 MOVL    R3, 0x180
  159.                 MOV     R2, 1
  160.                 LSL     R1, R0, 0
  161.                 ADD     R1, 0x2C
  162.                 BL      j__fopen
  163.                 LSL     R6, R0, 0
  164.                 ADD     SP, SP, 4
  165.                 BMI     loc_127D6A06
  166.                 MOV     R0, 0x28
  167.                 BL      sub_127D68E0
  168.                 LSL     R5, R0, 0
  169.                 MOV     R2, 0x28
  170.                 MOV     R1, 0
  171.                 BL      j_memset
  172.                 MOV     R2, 0x28
  173.                 LSL     R1, R5, 0
  174.                 LSL     R0, R6, 0
  175.                 BL      j_fread
  176.                 ADD     R4, 0xC
  177.                 MOV     R1, 0x28
  178.  
  179. loc_127D69F2:                          
  180.                 SUB     R1, R1, 4
  181.                 LDR     R0, [R5,R1]
  182.                 STR     R0, [R4,R1]
  183.                 BNE     loc_127D69F2
  184.                 LSL     R0, R6, 0
  185.                 BL      j_fclose
  186.                 LSL     R0, R5, 0
  187.                 BL      sub_127D68FC
  188.  
  189. loc_127D6A06:                          
  190.                 MOV     R0, 1
  191.                 POP     {R4-R6,PC}
  192.  
  193.                 NOP
  194. ; ---------------------------------------------------------------------------
  195. off_127D6A0C    DCD aTpaSystemSet_0    
  196. off_127D6A10    DCD loc_127D6960+1
  197. ; ---------------------------------------------------------------------------
  198. loc_127D6A14:                          
  199.                 PUSH    {LR}
  200.                 BL      sub_127D6E80
  201.                 NOP
  202.  
  203. loc_127D6A1C:                          
  204.                 BL      sub_127D6940
  205.                 ADD     R0, R0, 6
  206.                 BL      j_Timer_Kill
  207.                 POP     {PC}
  208.  
  209. loc_127D6A28:                          
  210.                 PUSH    {R0,R4-R7,LR}
  211.                 SUB     SP, SP, 0xC
  212.                 LSL     R5, R1, 0
  213.                 LSL     R6, R2, 0
  214.                 LSL     R7, R3, 0
  215.                 BL      sub_127D6940
  216.                 LSL     R4, R0, 0
  217.                 LDR     R0, [SP,0xC]
  218.                 LSL     R3, R7, 0
  219.                 LSL     R2, R6, 0
  220.                 LSL     R1, R5, 0
  221.                 BL      j_locret_117707D0
  222.                 BL      j_get_DisplayGC
  223.                 LSL     R5, R0, 0
  224.                 LDR     R0, dword_127D6AEC
  225.                 MOV     R3, 0
  226.                 LDRH    R1, [R0]
  227.                 MOV     R0, 0
  228.                 PUSH    {R0,R1}
  229.                 LDR     R2, [R4,0x10]
  230.                 LDR     R1, [R4,0xC]
  231.                 LSL     R0, R5, 0
  232.                 BL      loc_127D6D44
  233.                 LDRB    R0, [R4,4]
  234.                 ADD     SP, SP, 8
  235.                 CMP     R0, 0
  236.                 BEQ     loc_127D6A80
  237.                 BL      j_get_DisplayGC
  238.                 LDR     R1, icon_char
  239.                 LSL     R5, R0, 0
  240.                 MOV     R0, 0
  241.                 PUSH    {R0,R1}
  242.                 LDR     R2, [R4,0x10]
  243.                 LDR     R1, [R4,0xC]
  244.                 MOV     R3, 0
  245.                 LSL     R0, R5, 0
  246.                 BL      loc_127D6D44
  247.                 ADD     SP, SP, 8
  248.  
  249. loc_127D6A80:                          
  250.                 LDR     R0, dword_127D6AF0
  251.                 LDR     R1, [R4,0x30]
  252.                 LDR     R2, off_127D6AF4
  253.                 LDRB    R3, [R0]
  254.                 CMP     R1, 0
  255.                 BNE     loc_127D6A8E
  256.                 ADD     R2, 0xC
  257.  
  258. loc_127D6A8E:                          
  259.                 MOV     R1, 5
  260.                 MOV     R0, SP
  261.                 BL      j_snwprintf
  262.                 MOV     R0, 0
  263.                 PUSH    {R0}
  264.                 MOV     R3, 0
  265.                 MOV     R2, 0xFF
  266.                 LSL     R1, R0, 0
  267.                 ADD     R0, SP, 4
  268.                 BL      j_TextID_Create
  269.                 LSL     R5, R0, 0
  270.                 LDR     R0, [R4,0x1C]
  271.                 BL      sub_127D6EC0
  272.                 LDR     R6, [R4,0x28]
  273.                 ADD     SP, SP, 4
  274.                 LDR     R3, [R4,0x2C]
  275.                 LDR     R2, [R4,0x20]
  276.                 LDR     R1, [R4,0x24]
  277.                 CMP     R6, 1
  278.                 BNE     loc_127D6ACC
  279.                 MOV     R0, 0x20
  280.                 PUSH    {R0-R3}
  281.                 LDR     R0, [R4,0x14]
  282.                 MOV     R2, 1
  283.                 PUSH    {R0}
  284.                 LDR     R3, [R4,0x18]
  285.                 MOV     R1, 1
  286.                 B       loc_127D6ADA
  287.  
  288.  
  289. loc_127D6ACC:                          
  290.                 MOV     R0, 0x20
  291.                 PUSH    {R0-R3}
  292.                 MOV     R0, 0xF0
  293.                 PUSH    {R0}
  294.                 LDR     R3, [R4,0x18]
  295.                 LDR     R2, [R4,0x14]
  296.                 LSL     R1, R6, 0
  297.  
  298. loc_127D6ADA:                          
  299.                 LSL     R0, R5, 0
  300.                 BL      sub_127D6CE4
  301.                 ADD     SP, SP, 0x14
  302.                 LSL     R0, R5, 0
  303.                 BL      j_TextID_Destroy
  304.                 POP     {R0-R7,PC}
  305.  
  306.                 NOP
  307. ; ---------------------------------------------------------------------------
  308. dword_127D6AEC  DCD 0x4BB858A2;4BB85ECA
  309. dword_127D6AF0  DCD 0x4BB858A0;4BB85EC8
  310. off_127D6AF4    DCD aD                  
  311. ; ---------------------------------------------------------------------------
  312. sub_127D6AF8:                          
  313.                 PUSH    {R4,R6,LR}
  314.                 LSL     R4, R1, 0
  315.                 LDR     R1, icon_batt
  316.                 LSL     R2, R0, 0
  317.                 MOV     R0, 0
  318.                 MOV     R6, 1
  319.                 CMP     R2, R1
  320.                 BCC     loc_127D6B12
  321.                 ADD     R1, 0xB
  322.                 CMP     R2, R1
  323.                 BCS     locret_127D6B2E
  324.                 MOV     R0, 1
  325.                 POP     {R4,R6,PC}
  326.  
  327. loc_127D6B12:
  328.                 LDR     R1, icon_char
  329.                 CMP     R2, R1
  330.                 BNE     locret_127D6B2E
  331.                 BL      sub_127D6940
  332.                 CMP     R4, 1
  333.                 BNE     loc_127D6B24
  334.                 STRB    R6, [R0,4]
  335.                 B       loc_127D6B2C
  336.  
  337. loc_127D6B24:
  338.                 CMP     R4, 0
  339.                 BNE     loc_127D6B2C
  340.                 MOV     R1, 0
  341.                 STRB    R1, [R0,4]
  342.  
  343. loc_127D6B2C:                          
  344.                                        
  345.                 MOV     R0, 1
  346.  
  347. locret_127D6B2E:                        
  348.                                        
  349.                 POP     {R4,R6,PC}
  350. ; ---------------------------------------------------------------------------
  351.                 ;c_ui_battery_lev9
  352. icon_batt       DCD 0xF88B
  353.                 ;c_ui_battery_charging
  354. icon_char       DCD 0xF430
  355. ; ---------------------------------------------------------------------------
  356. sub_127D6B38:
  357. var_18          = -0x18
  358. arg_0           =  0
  359. arg_4           =  4
  360. arg_C           =  0xC
  361.  
  362.                 PUSH    {R3-R7,LR}
  363.                 LDR     R3, [SP,0x18+arg_0]
  364.                 LDR     R7, [SP,0x18+arg_4]
  365.                 LSL     R5, R1, 0
  366.                 LDR     R1, [SP,0x18+arg_C]
  367.                 LSL     R4, R0, 0
  368.                 LSL     R6, R2, 0
  369.                 LSL     R2, R1, 0
  370.                 MOV     R0, 1
  371.                 PUSH    {R0-R2}
  372.                 MOV     R2, 0
  373.                 LSL     R0, R3, 0
  374.                 LSL     R1, R7, 0
  375.                 PUSH    {R0-R2}
  376.                 LDR     R3, [SP,0x30-0x18]
  377.                 LSL     R0, R4, 0
  378.                 LSL     R1, R5, 0
  379.                 LSL     R2, R6, 0
  380.                 BL      j_DrawString
  381.                 ADD     SP, SP, 0x1C
  382.                 POP     {R4-R7,PC}
  383.  
  384. sub_127D6B64:                          
  385. var_1C          = -0x1C
  386. var_18          = -0x18
  387. arg_0           =  0
  388. arg_4           =  4
  389. arg_8           =  8
  390. arg_C           =  0xC
  391.  
  392.                 PUSH    {R0,R1,R4-R7,LR}
  393.                 LDR     R6, [SP,0x1C+arg_0]
  394.                 LDR     R7, [SP,0x1C+arg_8]
  395.                 LSL     R4, R2, 0
  396.                 LSL     R2, R7, 0
  397.                 LSL     R1, R7, 0
  398.                 MOV     R0, 1
  399.                 PUSH    {R0-R2}
  400.                 LDR     R1, [SP,0x28+arg_4]
  401.                 SUB     R0, R6, 1
  402.                 LSL     R5, R3, 0
  403.                 MOV     R2, 0
  404.                 PUSH    {R0-R2}
  405.                 LDR     R1, [SP,0x34-0x18]
  406.                 LDR     R0, [SP,0x34-0x1C]
  407.                 SUB     R3, R5, 1
  408.                 SUB     R2, R4, 1
  409.                 BL      j_DrawString
  410.                 LSL     R2, R7, 0
  411.                 LSL     R1, R7, 0
  412.                 MOV     R0, 1
  413.                 PUSH    {R0-R2}
  414.                 LDR     R1, [SP,0x40+arg_4]
  415.                 SUB     R0, R6, 1
  416.                 ADD     R3, R5, 1
  417.                 MOV     R2, 0
  418.                 PUSH    {R0-R2}
  419.                 LDR     R1, [SP,0x4C-0x18]
  420.                 LDR     R0, [SP,0x4C-0x1C]
  421.                 SUB     R2, R4, 1
  422.                 BL      j_DrawString
  423.                 ADD     SP, SP, 0x30
  424.                 LSL     R2, R7, 0
  425.                 LSL     R1, R7, 0
  426.                 MOV     R0, 1
  427.                 PUSH    {R0-R2}
  428.                 LDR     R1, [SP,0x28+arg_4]
  429.                 ADD     R0, R6, 1
  430.                 SUB     R3, R5, 1
  431.                 MOV     R2, 0
  432.                 PUSH    {R0-R2}
  433.                 LDR     R1, [SP,0x34-0x18]
  434.                 LDR     R0, [SP,0x34-0x1C]
  435.                 ADD     R2, R4, 1
  436.                 BL      j_DrawString
  437.                 LSL     R2, R7, 0
  438.                 LSL     R1, R7, 0
  439.                 MOV     R0, 1
  440.                 PUSH    {R0-R2}
  441.                 LDR     R1, [SP,0x40+arg_4]
  442.                 ADD     R0, R6, 1
  443.                 ADD     R3, R5, 1
  444.                 MOV     R2, 0
  445.                 PUSH    {R0-R2}
  446.                 LDR     R1, [SP,0x4C-0x18]
  447.                 LDR     R0, [SP,0x4C-0x1C]
  448.                 ADD     R2, R4, 1
  449.                 BL      j_DrawString
  450.                 ADD     SP, SP, 0x30
  451.                 LDR     R2, [SP,0x1C+arg_C]
  452.                 MOV     R0, 1
  453.                 LSL     R1, R2, 0
  454.                 PUSH    {R0-R2}
  455.                 LDR     R1, [SP,0x28+arg_4]
  456.                 LSL     R0, R6, 0
  457.                 LSL     R3, R5, 0
  458.                 MOV     R2, 0
  459.                 PUSH    {R0-R2}
  460.                 LDR     R1, [SP,0x34-0x18]
  461.                 LDR     R0, [SP,0x34-0x1C]
  462.                 B       loc_127D6C90
  463.  
  464.                 DCB    0
  465.                 DCB    0
  466.  
  467. sub_127D6BFC:                          
  468. var_1C          = -0x1C
  469. var_18          = -0x18
  470. arg_0           =  0
  471. arg_4           =  4
  472. arg_8           =  8
  473. arg_C           =  0xC
  474.  
  475.                 PUSH    {R0,R1,R4-R7,LR}
  476.                 LDR     R6, [SP,0x1C+arg_4]
  477.                 LDR     R7, [SP,0x1C+arg_8]
  478.                 LSL     R4, R2, 0
  479.                 LSL     R2, R7, 0
  480.                 LSL     R1, R7, 0
  481.                 MOV     R0, 1
  482.                 PUSH    {R0-R2}
  483.                 LDR     R0, [SP,0x28+arg_0]
  484.                 MOV     R2, 0
  485.                 LSL     R1, R6, 0
  486.                 PUSH    {R0-R2}
  487.                 LDR     R1, [SP,0x34-0x18]
  488.                 LDR     R0, [SP,0x34-0x1C]
  489.                 LSL     R5, R3, 0
  490.                 ADD     R2, R4, 1
  491.                 BL      j_DrawString
  492.                 LSL     R2, R7, 0
  493.                 LSL     R1, R7, 0
  494.                 MOV     R0, 1
  495.                 PUSH    {R0-R2}
  496.                 LDR     R0, [SP,0x40+arg_0]
  497.                 MOV     R2, 0
  498.                 LSL     R1, R6, 0
  499.                 PUSH    {R0-R2}
  500.                 LDR     R1, [SP,0x4C-0x18]
  501.                 LDR     R0, [SP,0x4C-0x1C]
  502.                 ADD     R3, R5, 1
  503.                 LSL     R2, R4, 0
  504.                 BL      j_DrawString
  505.                 ADD     SP, SP, 0x30
  506.                 LSL     R2, R7, 0
  507.                 LSL     R1, R7, 0
  508.                 MOV     R0, 1
  509.                 PUSH    {R0-R2}
  510.                 LDR     R0, [SP,0x28+arg_0]
  511.                 MOV     R2, 0
  512.                 LSL     R1, R6, 0
  513.                 PUSH    {R0-R2}
  514.                 LDR     R1, [SP,0x34-0x18]
  515.                 LDR     R0, [SP,0x34-0x1C]
  516.                 LSL     R3, R5, 0
  517.                 SUB     R2, R4, 1
  518.                 BL      j_DrawString
  519.                 LSL     R2, R7, 0
  520.                 LSL     R1, R7, 0
  521.                 MOV     R0, 1
  522.                 PUSH    {R0-R2}
  523.                 LDR     R0, [SP,0x40+arg_0]
  524.                 MOV     R2, 0
  525.                 LSL     R1, R6, 0
  526.                 PUSH    {R0-R2}
  527.                 LDR     R1, [SP,0x4C-0x18]
  528.                 LDR     R0, [SP,0x4C-0x1C]
  529.                 SUB     R3, R5, 1
  530.                 LSL     R2, R4, 0
  531.                 BL      j_DrawString
  532.                 ADD     SP, SP, 0x30
  533.                 LDR     R2, [SP,0x1C+arg_C]
  534.                 MOV     R0, 1
  535.                 LSL     R1, R2, 0
  536.                 PUSH    {R0-R2}
  537.                 LDR     R0, [SP,0x28+arg_0]
  538.                 MOV     R2, 0
  539.                 LSL     R1, R6, 0
  540.                 PUSH    {R0-R2}
  541.                 LDR     R1, [SP,0x34-0x18]
  542.                 LDR     R0, [SP,0x34-0x1C]
  543.                 LSL     R3, R5, 0
  544.                 NOP
  545.  
  546. loc_127D6C90:                          
  547.                 LSL     R2, R4, 0
  548.                 BL      j_DrawString
  549.                 ADD     SP, SP, 0x20
  550.                 POP     {R4-R7,PC}
  551.  
  552.                 DCB    0
  553.                 DCB    0
  554.  
  555. sub_127D6C9C:                          
  556. var_1C          = -0x1C
  557. var_18          = -0x18
  558. arg_0           =  0
  559. arg_4           =  4
  560. arg_8           =  8
  561. arg_C           =  0xC
  562.  
  563.                 PUSH    {R0,R1,R4-R7,LR}
  564.                 LDR     R1, [SP,0x1C+arg_8]
  565.                 LDR     R6, [SP,0x1C+arg_4]
  566.                 LDR     R7, [SP,0x1C+arg_C]
  567.                 LSL     R4, R2, 0
  568.                 LSL     R2, R1, 0
  569.                 MOV     R0, 1
  570.                 PUSH    {R0-R2}
  571.                 LDR     R0, [SP,0x28+arg_0]
  572.                 MOV     R2, 0
  573.                 LSL     R1, R6, 0
  574.                 PUSH    {R0-R2}
  575.                 LDR     R1, [SP,0x34-0x18]
  576.                 LDR     R0, [SP,0x34-0x1C]
  577.                 LSL     R5, R3, 0
  578.                 ADD     R3, R3, 1
  579.                 ADD     R2, R4, 1
  580.                 BL      j_DrawString
  581.                 LSL     R2, R7, 0
  582.                 LSL     R1, R7, 0
  583.                 MOV     R0, 1
  584.                 PUSH    {R0-R2}
  585.                 LDR     R0, [SP,0x40+arg_0]
  586.                 MOV     R2, 0
  587.                 LSL     R1, R6, 0
  588.                 PUSH    {R0-R2}
  589.                 LDR     R1, [SP,0x4C-0x18]
  590.                 LDR     R0, [SP,0x4C-0x1C]
  591.                 LSL     R3, R5, 0
  592.                 LSL     R2, R4, 0
  593.                 BL      j_DrawString
  594.                 ADD     SP, SP, 0x30
  595.                 POP     {R2-R7,PC}
  596.  
  597.                 DCB    0
  598.                 DCB    0
  599.  
  600. sub_127D6CE4:                          
  601. var_1C          = -0x1C
  602. var_18          = -0x18
  603. arg_0           =  0
  604. arg_4           =  4
  605. arg_8           =  8
  606. arg_C           =  0xC
  607. arg_10          =  0x10
  608.  
  609.                 PUSH    {R0,R1,R4-R7,LR}
  610.                 LDR     R0, [SP,0x1C+arg_0]
  611.                 LDR     R6, [SP,0x1C+arg_10]
  612.                 LDR     R1, [SP,0x1C+arg_4]
  613.                 LSL     R4, R2, 0
  614.                 LDR     R2, [SP,0x1C+arg_8]
  615.                 LSL     R5, R3, 0
  616.                 LDR     R3, [SP,0x1C+arg_C]
  617.                 CMP     R6, 1
  618.                 BEQ     loc_127D6D02
  619.                 CMP     R6, 2
  620.                 BEQ     loc_127D6D12
  621.                 CMP     R6, 3
  622.                 BEQ     loc_127D6D24
  623.                 B       loc_127D6D34
  624.  
  625. loc_127D6D02:                          
  626.                 PUSH    {R0-R3}
  627.                 LDR     R0, [SP,0x2C-0x1C]
  628.                 LDR     R1, [SP,0x2C-0x18]
  629.                 LSL     R2, R4, 0
  630.                 LSL     R3, R5, 0
  631.                 BL      sub_127D6B64
  632.                 B       loc_127D6D20
  633.  
  634. loc_127D6D12:
  635.                 PUSH    {R0-R3}
  636.                 LDR     R0, [SP,0x2C-0x1C]
  637.                 LDR     R1, [SP,0x2C-0x18]
  638.                 LSL     R2, R4, 0
  639.                 LSL     R3, R5, 0
  640.                 BL      sub_127D6BFC
  641.  
  642. loc_127D6D20:                          
  643.                 ADD     SP, SP, 0x10
  644.                 POP     {R2-R7,PC}
  645.  
  646.  
  647. loc_127D6D24:                          
  648.                 PUSH    {R0-R3}
  649.                 LDR     R0, [SP,0x2C-0x1C]
  650.                 LDR     R1, [SP,0x2C-0x18]
  651.                 LSL     R2, R4, 0
  652.                 LSL     R3, R5, 0
  653.                 BL      sub_127D6C9C
  654.                 B       loc_127D6D20
  655.  
  656.  
  657. loc_127D6D34:                          
  658.                 PUSH    {R0-R3}
  659.                 LDR     R0, [SP,0x2C-0x1C]
  660.                 LDR     R1, [SP,0x2C-0x18]
  661.                 LSL     R2, R4, 0
  662.                 LSL     R3, R5, 0
  663.                 BL      sub_127D6B38
  664.                 B       loc_127D6D20
  665.  
  666. loc_127D6D44:                          
  667.                 PUSH    {R1,R2,R4-R7,LR}
  668.                 LDR     R2, off_127D6DE8
  669.                 SUB     SP, SP, 0x3C
  670.                 LSL     R4, R0, 0
  671.                 LDR     R0, [SP,0x58]
  672.                 ADD     R1, SP, 0x5C
  673.                 LDRH    R5, [R1]
  674.                 ADD     R1, SP, 0x1C
  675.                 MOV     R7, 0x10
  676.  
  677. loc_127D6D56:                          
  678.                 SUB     R7, R7, 4
  679.                 LDR     R6, [R2,R7]
  680.                 STR     R6, [R1,R7]
  681.                 BNE     loc_127D6D56
  682.                 LDR     R2, off_127D6DEC
  683.                 ADD     R1, SP, 0x2C
  684.                 MOV     R7, 0x10
  685.  
  686. loc_127D6D64:                          
  687.                 SUB     R7, R7, 4
  688.                 LDR     R6, [R2,R7]
  689.                 STR     R6, [R1,R7]
  690.                 BNE     loc_127D6D64
  691.                 MOV     R1, 0
  692.                 STR     R1, [SP]
  693.                 STR     R1, [SP,4]
  694.                 STR     R1, [SP,8]
  695.                 LDR     R1, [SP,0x3C]
  696.                 STR     R3, [SP,0x14]
  697.                 STR     R1, [SP,0xC]
  698.                 LDR     R1, [SP,0x40]
  699.                 STR     R0, [SP,0x18]
  700.                 STR     R1, [SP,0x10]
  701.                 MOV     R2, SP
  702.                 ADD     R1, SP, 0x1C
  703.                 ADD     R0, SP, 0x2C
  704.                 BL      j_CoCreateInstance
  705.                 LDR     R0, [SP]
  706.                 ADD     R2, SP, 4
  707.                 LDR     R3, [R0]
  708.                 LSL     R1, R5, 0
  709.                 LDR     R3, [R3,0x18]
  710.                 BLX     R3
  711.                 ADD     R1, SP, 8
  712.                 LSL     R0, R4, 0
  713.                 BL      sub_127D6EE8
  714.                 ADD     R0, SP, 0xC
  715.                 SUB     SP, SP, 0x10
  716.                 MOV     R2, SP
  717.                 MOV     R3, 0x10
  718.  
  719. loc_127D6DA6:                          
  720.                 SUB     R3, R3, 4
  721.                 LDR     R1, [R0,R3]
  722.                 STR     R1, [R2,R3]
  723.                 BNE     loc_127D6DA6
  724.                 LDR     R0, [SP,0x10]
  725.                 LDR     R2, [SP,0x18]
  726.                 LDR     R3, [R0]
  727.                 LDR     R1, [SP,0x14]
  728.                 LDR     R3, [R3,0x24]
  729.                 MOV     R12, R3
  730.                 POP     {R3}
  731.                 BLX     R12
  732.                 LDR     R0, [SP,0xC]
  733.                 ADD     SP, SP, 0xC
  734.                 CMP     R0, 0
  735.                 BEQ     loc_127D6DCC
  736.                 LDR     R1, [R0]
  737.                 LDR     R1, [R1,0xC]
  738.                 BLX     R1
  739.  
  740. loc_127D6DCC:                          
  741.                 LDR     R0, [SP,4]
  742.                 CMP     R0, 0
  743.                 BEQ     loc_127D6DD8
  744.                 LDR     R1, [R0]
  745.                 LDR     R1, [R1,0xC]
  746.                 BLX     R1
  747.  
  748. loc_127D6DD8:                          
  749.                 LDR     R0, [SP,8]
  750.                 CMP     R0, 0
  751.                 BEQ     loc_127D6DE4
  752.                 LDR     R1, [R0]
  753.                 LDR     R1, [R1,0xC]
  754.                 BLX     R1
  755.  
  756. loc_127D6DE4:                          
  757.                 ADD     SP, SP, 0x44
  758.                 POP     {R4-R7,PC}
  759. ; ---------------------------------------------------------------------------
  760. off_127D6DE8    DCD dword_127D6FA4      
  761. off_127D6DEC    DCD dword_127D6FB4      
  762. ; ---------------------------------------------------------------------------
  763. j_memalloc:
  764.                 PUSH    {R3}
  765.                 LDR     R3, dword_127D6DFC
  766.                 MOV     R12, R3
  767.                 POP     {R3}
  768.                 BX      R12
  769.                 NOP
  770. dword_127D6DFC  DCD 0x4BB00584;4BB00584
  771. ; ---------------------------------------------------------------------------
  772. j_memfree:
  773.                 PUSH    {R3}
  774.                 LDR     R3, dword_127D6E0C
  775.                 MOV     R12, R3
  776.                 POP     {R3}
  777.                 BX      R12
  778.                 NOP
  779. dword_127D6E0C  DCD 0x4BB005AC;4BB005AC
  780. ; ---------------------------------------------------------------------------
  781. j_memset:
  782.                 LDR     R3, dword_127D6E14
  783.                 BX      R3
  784. dword_127D6E14  DCD 0x4BB010C4;4BB010C4
  785. ; ---------------------------------------------------------------------------
  786. j_current_process:                      
  787.                 LDR     R3, off_127D6E1C
  788.                 BX      R3              
  789. off_127D6E1C    DCD current_process
  790. ; ---------------------------------------------------------------------------
  791. j_get_bid:                              
  792.                 LDR     R3, off_127D6E24
  793.                 BX      R3
  794. off_127D6E24    DCD get_bid
  795. ; ---------------------------------------------------------------------------
  796. j_set_envp:
  797.                 LDR     R3, off_127D6E2C
  798.                 BX      R3              
  799. off_127D6E2C    DCD set_envp+1
  800. ; ---------------------------------------------------------------------------
  801. j_get_envp:                            
  802.                 LDR     R3, off_127D6E34
  803.                 BX      R3
  804. off_127D6E34    DCD get_envp+1
  805. ; ---------------------------------------------------------------------------
  806. j_DispObject_InvalidateRect:            
  807.                 LDR     R3, off_127D6E3C
  808.                 BX      R3              
  809. off_127D6E3C    DCD DispObject_InvalidateRect+1
  810. ; ---------------------------------------------------------------------------
  811. j_Timer_ReSet:                          
  812.                 PUSH    {R3}
  813.                 LDR     R3, off_127D6E4C
  814.                 MOV     R12, R3
  815.                 POP     {R3}
  816.                 BX      R12            
  817.                 NOP
  818. off_127D6E4C    DCD Timer_ReSet+1
  819. ; ---------------------------------------------------------------------------
  820. j_Timer_Kill:                          
  821.                 LDR     R3, off_127D6E54
  822.                 BX      R3              
  823. off_127D6E54    DCD Timer_Kill+1
  824. ; ---------------------------------------------------------------------------
  825. sub_127D6E58:                          
  826.                 LDR     R3, off_127D6E5C
  827.                 BX      R3
  828. off_127D6E5C    DCD 0x117923DC+1;11770468+1
  829. ; ---------------------------------------------------------------------------
  830. j__fopen:                              
  831.                 PUSH    {R3}
  832.                 LDR     R3, off_127D6E6C
  833.                 MOV     R12, R3
  834.                 POP     {R3}
  835.                 BX      R12            
  836.                 NOP
  837. off_127D6E6C    DCD _fopen+1
  838. ; ---------------------------------------------------------------------------
  839. j_fread:                                
  840.                 LDR     R3, off_127D6E74
  841.                 BX      R3              
  842. off_127D6E74    DCD fread+1
  843. ; ---------------------------------------------------------------------------
  844. j_fclose:                              
  845.                 LDR     R3, off_127D6E7C
  846.                 BX      R3              
  847. off_127D6E7C    DCD fclose+1
  848. ; ---------------------------------------------------------------------------
  849. sub_127D6E80:                          
  850.                 LDR     R3, off_127D6E84
  851.                 BX      R3
  852. off_127D6E84    DCD 0x11792494+1;11770520+1
  853. ; ---------------------------------------------------------------------------
  854. j_locret_117707D0:                      
  855.                 PUSH    {R3}
  856.                 LDR     R3, off_127D6E94
  857.                 MOV     R12, R3
  858.                 POP     {R3}
  859.                 BX      R12
  860.                 NOP
  861. off_127D6E94    DCD 0x11792744+1;117707D0+1
  862. ; ---------------------------------------------------------------------------
  863. j_get_DisplayGC:                        
  864.                 LDR     R3, off_127D6E9C
  865.                 BX      R3              
  866. off_127D6E9C    DCD get_DisplayGC+1
  867. ; ---------------------------------------------------------------------------
  868. j_snwprintf:                            
  869.                 PUSH    {R3}
  870.                 LDR     R3, off_127D6EAC
  871.                 MOV     R12, R3
  872.                 POP     {R3}
  873.                 BX      R12            
  874.                 NOP
  875. off_127D6EAC    DCD snwprintf+1
  876. ; ---------------------------------------------------------------------------
  877. j_TextID_Create:                        
  878.                 PUSH    {R3}
  879.                 LDR     R3, off_127D6EBC
  880.                 MOV     R12, R3
  881.                 POP     {R3}
  882.                 BX      R12            
  883.                 NOP
  884. off_127D6EBC    DCD TextID_Create+1
  885. ; ---------------------------------------------------------------------------
  886. sub_127D6EC0:                          
  887.                 LDR     R3, off_127D6EC4
  888.                 BX      R3
  889. off_127D6EC4    DCD 0x109D52A8+1;109ADB14+1
  890. ; ---------------------------------------------------------------------------
  891. j_TextID_Destroy:                      
  892.                 LDR     R3, off_127D6ECC
  893.                 BX      R3              
  894. off_127D6ECC    DCD TextID_Destroy+1
  895. ; ---------------------------------------------------------------------------
  896. j_DrawString:                          
  897.                 PUSH    {R3}
  898.                 LDR     R3, off_127D6EDC
  899.                 MOV     R12, R3
  900.                 POP     {R3}
  901.                 BX      R12            
  902.                 NOP
  903. off_127D6EDC    DCD DrawString+1
  904. ; ---------------------------------------------------------------------------
  905. j_CoCreateInstance:                    
  906.                 LDR     R3, off_127D6EE4
  907.                 BX      R3
  908. off_127D6EE4    DCD CoCreateInstance+1
  909. ; ---------------------------------------------------------------------------
  910. sub_127D6EE8:                          
  911.                 LDR     R3, off_127D6EEC
  912.                 BX      R3
  913. off_127D6EEC    DCD 0x109D8A88+1;109B12F4+1
  914. ; ---------------------------------------------------------------------------
  915. loc_127D6EF0:
  916.                 BEQ     loc_127D6F10
  917.                 ADD     R5, R1, 0
  918.                 ADD     R6, R2, 0
  919.                 ADD     R0, R1, 0
  920.                 ADD     R1, R2, 0
  921.                 BL      sub_127D6AF8
  922.                 CMP     R0, 1
  923.                 BEQ     loc_127D6F10
  924.                 ADD     R1, R5, 0
  925.                 ADD     R2, R6, 0
  926.                 MOVL    R0, 0x120
  927.                 LDR     R0, [R4,R0]
  928.                 LDR     R3, off_127D6F14
  929.                 BX      R3
  930.  
  931. loc_127D6F10:                          
  932.                 LDR     R3, off_127D6F18
  933.                 BX      R3
  934. off_127D6F14    DCD 0x117927F0+1;1177087C+1
  935. off_127D6F18    DCD locret_hook+1
  936. ; ---------------------------------------------------------------------------
  937. loc_127D6F1C:                          
  938.                 SUB     R0, R0, 1
  939.                 SBCS    R0, R0
  940.                 LSR     R0, R0, 0x1F
  941.                 STRB    R0, [R4,6]
  942.                 BL      sub_127D6980
  943.                 LDR     R3, off_127D6F2C
  944.                 BX      R3
  945. off_127D6F2C    DCD 0x108EF8F0+1;108C7D28+1
  946. ; ---------------------------------------------------------------------------
  947. loc_127D6F30:                          
  948.                 MOVL    R0, 0x1C4
  949.                 ADD     R5, R4, R0
  950.                 LDRB    R0, [R5,6]
  951.                 BL      loc_127D6984
  952.                 LDR     R3, off_127D6F40
  953.                 BX      R3
  954. off_127D6F40    DCD 0x108EF938+1;108C7D70+1
  955. ; ---------------------------------------------------------------------------
  956. aBatt_fun       DCB "BATT_FUN",0        
  957.                 DCB    0
  958.                 DCB    0
  959.                 DCB    0
  960. aTpaSystemSet_0 du      "/tpa/system/settings",0
  961.                 DCB    0
  962.                 DCB    0
  963. aBatt_cfg       du      "batt.cfg",0
  964.                 DCB    0
  965.                 DCB    0
  966. aD              du      "%d%%",0        
  967.                 DCB    0
  968.                 DCB    0
  969. aD_0            du      "%d",0
  970.                 DCB    0
  971.                 DCB    0
  972. dword_127D6FA4  DCD 0x31A5EF63          
  973.                 DCD 0x254ED1FF
  974.                 DCD 0xA6024A6
  975.                 DCD 0xC53F8196
  976. dword_127D6FB4  DCD 0x95F92D86          
  977.                 DCD 0x244B3B1C
  978.                 DCD 0x988F4DB7
  979.                 DCD 0x145D1E70
Advertisement
Add Comment
Please, Sign In to add comment