MiFa

Untitled

Feb 9th, 2012
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;C902 R3EG004 AO
  2. ;Add item "View system. Graphics" in the service menu
  3. ;Works as static icons and animation
  4. ;Added display of current icons ID
  5. ;Added remembering the last position
  6. ;Added view all registered icons (graphics elves, patches, etc)
  7. ;View loadable icon starts from a position 0xE801
  8. ;Posted notification of the ends of the lists
  9. ;Added missing empty IMAGEID (and nonexistent)
  10. ;(!) Heap 0x4BBFF724 - 0x4BBFF726
  11. ;(!) lng - 0x469 - View system. Graphics/Podgląd ikon
  12. ;(!) Elfpack
  13. ;(c) Therion
  14. ;(p) buhh83
  15.  
  16. include "x.inc"
  17. include "lib\w902_r3eg004.asm"
  18.  
  19. org 0x10FB158C;10f8dae0
  20. ; CODE XREF: pg_ServiceMenu_MainMenu__0xF+32j
  21.                 LDR     R3, off_pamiec1
  22.                 BX      R3
  23. off_pamiec1     DCD pg_ServiceMenu_MainMenu_32+1
  24.                 NOP
  25.  
  26. org 0x10FB15DC;10f8db30
  27.                 LDR     R3, off_pamiec2
  28.                 BX      R3
  29. off_pamiec2     DCD nowy_kod+1
  30.  
  31. ;                                       PATCHBODY                           ;
  32. ; ---------------------------------------------------------------------------
  33. org 0x127CAD30;127dceb0
  34. nowy_kod:
  35.                 LDR     R0, [R0,0x20]
  36.                 BL      j_ListMenu_GetSelectedItem
  37.                 CMP     R0, 4
  38.                 BEQ     loc_127DCEC4
  39.                 LDR     R1, off_page
  40.                 STRH    R0, [R4,0x24]
  41.                 LDR     R3, powrot2
  42.                 BX      R3
  43.  
  44.                 align 4
  45.  
  46. loc_127DCEC4:                          
  47.                 LDR     R1, off_pamiec3
  48.                 ADD     R0, R4, 0
  49.                 BL      j_BookObj_GotoPage
  50.                 POP     {R4,PC}
  51. pg_ServiceMenu_MainMenu_32:
  52.                 SUB     SP, SP, 0x14
  53.                 MOV     R0, SP
  54.                 LDR     R1, word_Sinfo
  55.                 STR     R1, [R0]
  56.                 ADD     R1, 1
  57.                 STR     R1, [R0,4]
  58.                 ADD     R1, 1
  59.                 STR     R1, [R0,8]
  60.                 LDR     R1, word_Tlab
  61.                 STR     R1, [R0,0xC]
  62.                 LDR     R1, word_nowy
  63.                 STR     R1, [R0,0x10]
  64.                 LDR     R0, [R4,0x20]
  65.                 MOV     R2, 5
  66.                 ADD     R1, SP, 0
  67.                 BL      sub_127DD188
  68.                 ADD     SP, SP, 0x14
  69.                 LDR     R3, powrot1
  70.                 BX      R3
  71.  
  72.                 align 4
  73.  
  74. ; ---------------------------------------------------------------------------
  75. ;page_ServiceMenu_ViewTextLabels
  76. off_page        DCD 0x11C22D44;11C2B978
  77. powrot2         DCD 0x10FB15E6+1;10F8DB3A+1
  78. powrot1         DCD 0x10FB1596+1;10F8DAEA+1
  79. off_pamiec3     DCD _strona
  80. ; ---------------------------------------------------------------------------
  81. ;Service info
  82. word_Sinfo      DCD 0x13D5
  83. ;Text labels
  84. word_Tlab       DCD 0x13FD
  85. ;View system. Graphics/Podgląd ikon
  86. word_nowy       DCD 0x1CF4;469
  87. ; ---------------------------------------------------------------------------
  88. aServicebk_view DCB "Servicebk_ViewIcons_Page",0
  89.                 DCB 0xFF
  90.                 align 4
  91. ; ---------------------------------------------------------------------------
  92. _ENTER          DCD 0xF ;PAGE_ENTER_EVENT
  93.                 DCD kod3+1
  94.                 DCD 0x10 ;PAGE_EXIT_EVENT
  95. ;pg_ServiceMenu_Test_Security__0x10
  96.                 DCD 0x10FB1A74+1;10F8DFC8+1
  97.                 DCD 0x840 ;RETURN_TO_STANDBY_EVENT
  98. ;pg_ServiceMenu_TestMenu__0x840
  99.                 DCD 0x10FB1A68+1;10F8DFBC+1
  100.                 DCD 0
  101.                 DCD 0
  102. _strona         DCD aServicebk_view
  103.                 DCD 0
  104.                 DCD _ENTER
  105. ; ---------------------------------------------------------------------------
  106. kod3:
  107.                 PUSH    {R4-R7,LR}
  108.                 SUB     SP, SP, 0x10
  109.                 ADD     R4, R1, 0
  110.                 LDR     R7, _nowy_HEAP
  111.                 LDR     R0, [R7]
  112.                 CMP     R0, 0
  113.                 BEQ     loc_127DCF6C
  114.                 B       loc_127DCF70
  115. loc_127DCF6C:                          
  116.                 LDR     R0, icon_pierwsza
  117.                 STRH    R0, [R7]
  118. loc_127DCF70:                          
  119.                 MOV     R1, 0
  120.                 ADD     R0, R4, 0
  121.                 BL      j_TextFeedbackWindow
  122.                 STR     R0, [R4,0x20]
  123.                 LDRH    R1, [R7]
  124.                 BL      j_pg_Notes_Receive_vNote_Note_Accepted
  125.                 LDRH    R2, [R7]
  126.                 ADR     R1, aX          
  127.                 MOV     R0, SP
  128.                 BL      j_sprintf
  129.                 MOV     R0, 0
  130.                 PUSH    {R0}
  131.                 MOV     R3, 0
  132.                 MOV     R2, 0xA
  133.                 MOV     R1, 6
  134.                 ADD     R0, SP, 4
  135.                 BL      j_TextID_Create
  136.                 ADD     SP, SP, 4
  137.                 ADD     R1, R0, 0
  138.                 MOV     R2, 0
  139.                 LDR     R0, [R4,0x20]
  140.                 BL      j_Feedback_SetTextExtended
  141.                 LDR     R1, off_pamiec5
  142.                 LDR     R0, [R4,0x20]
  143.                 BL      j_Feedback_SetKeyHook
  144.                 LDR     R1, _SELECT1
  145.                 LDR     R2, off_pamiec4
  146.                 LDR     R0, [R4,0x20]
  147.                 BL      j_GUIObject_SoftKeys_SetAction_0
  148.                 LDR     R0, [R4,0x20]
  149.                 LDR     R2, off_adres2
  150.                 LDR     R1, _BACK
  151.                 BL      j_GUIObject_SoftKeys_SetAction_0
  152.                 LDR     R1, _LONG_BACK
  153.                 LDR     R0, [R4,0x20]
  154.                 LDR     R2, off_adres1
  155.                 BL      j_GUIObject_SoftKeys_SetAction_0
  156.                 LDR     R0, [R4,0x20]
  157.                 MOV     R1, 2
  158.                 BL      j_GUIObject_SetStyle
  159.                 LDR     R0, [R4,0x20]
  160.                 BL      j_GUIObject_Show_0
  161.                 MOV     R0, 1
  162.                 ADD     SP, SP, 0x10
  163.                 POP     {R4-R7,PC}
  164. kod1:
  165.                 PUSH    {R4-R7,LR}
  166.                 SUB     SP, SP, 0x10
  167.                 ADD     R4, R0, 0
  168.                 LDR     R7, _nowy_HEAP
  169.                 LDRH    R0, [R7]
  170.                 ADD     R0, 1
  171.                 MOV     R2, 0
  172.                 BL      sub_127DD0CE
  173.                 ADD     R1, R0, 0
  174.                 STRH    R1, [R7]
  175.                 LDR     R0, [R4,0x20]
  176.                 LSL     R1, R1, 0x10
  177.                 LSR     R1, R1, 0x10
  178.                 BL      j_pg_Notes_Receive_vNote_Note_Accepted
  179.                 LDRH    R2, [R7]
  180.                 ADR     R1, aX          
  181.                 MOV     R0, SP
  182.                 BL      j_sprintf
  183.                 MOV     R0, 0
  184.                 MOV     R3, 0
  185.                 PUSH    {R0}
  186.                 MOV     R2, 0xA
  187.                 MOV     R1, 6
  188.                 ADD     R0, SP, 4
  189.                 BL      j_TextID_Create
  190.                 ADD     SP, SP, 4
  191.                 MOV     R2, 0
  192.                 ADD     R1, R0, 0
  193.                 LDR     R0, [R4,0x20]
  194.                 BL      j_Feedback_SetTextExtended
  195.                 LDR     R0, [R4,0x20]
  196.                 BL      j_GUIObject_Show_0
  197.                 ADD     SP, SP, 0x10
  198.                 POP     {R4-R7,PC}
  199. kod2:
  200.                 PUSH    {R4-R7,LR}
  201.                 SUB     SP, SP, 0x10
  202.                 LDR     R6, icon_ostatnia
  203.                 ADD     R5, R1, 0
  204.                 ADD     R4, R0, 0
  205.                 LSL     R3, R3, 0x18
  206.                 LSR     R3, R3, 0x18
  207.                 CMP     R3, 2
  208.                 BCC     loc_127DD0C4
  209.                 LDR     R7, _nowy_HEAP
  210.                 LDRH    R0, [R7]
  211.                 CMP     R5, 9
  212.                 BEQ     loc_127DD060
  213.                 CMP     R5, 0xB
  214.                 BEQ     loc_127DD06C
  215.                 CMP     R5, 0xD
  216.                 BEQ     loc_127DD066
  217.                 CMP     R5, 0xF
  218.                 BEQ     loc_127DD072
  219.                 CMP     R5, 0x16
  220.                 BEQ     loc_127DD060
  221.                 CMP     R5, 0x17
  222.                 BEQ     loc_127DD066
  223.                 B       loc_127DD076
  224. loc_127DD060:                          
  225.                 SUB     R0, 0xA
  226.                 MOV     R2, 1
  227.                 B       loc_127DD076
  228. loc_127DD066:                          
  229.                 ADD     R0, 0xA
  230.                 MOV     R2, 0
  231.                 B       loc_127DD076
  232. loc_127DD06C:                          
  233.                 ADD     R0, 5
  234.                 MOV     R2, 0
  235.                 B       loc_127DD076
  236. loc_127DD072:                          
  237.                 MOV     R2, 1
  238.                 SUB     R0, 5
  239. loc_127DD076:                          
  240.                 LDR     R1, icon_ostatnia
  241.                 CMP     R0, R1
  242.                 BLE     loc_127DD07E
  243.                 B       loc_127DD0C8
  244. loc_127DD07E:                          
  245.                 LDR     R1, icon_pierwsza
  246.                 CMP     R0, R1
  247.                 BGE     loc_127DD086
  248.                 B       loc_127DD0C8
  249. loc_127DD086:                          
  250.                 STRH    R0, [R7]
  251.                 BL      sub_127DD0CE
  252.                 ADD     R1, R0, 0
  253.                 LDR     R0, [R4,0x20]
  254.                 LSL     R1, R1, 0x10
  255.                 LSR     R1, R1, 0x10
  256.                 BL      j_pg_Notes_Receive_vNote_Note_Accepted
  257.                 LDRH    R2, [R7]
  258.                 ADR     R1, aX          
  259.                 MOV     R0, SP
  260.                 BL      j_sprintf
  261.                 MOV     R0, 0
  262.                 MOV     R3, 0
  263.                 PUSH    {R0}
  264.                 MOV     R2, 0xA
  265.                 MOV     R1, 6
  266.                 ADD     R0, SP, 4
  267.                 BL      j_TextID_Create
  268.                 ADD     SP, SP, 4
  269.                 MOV     R2, 0
  270.                 ADD     R1, R0, 0
  271.                 LDR     R0, [R4,0x20]
  272.                 BL      j_Feedback_SetTextExtended
  273.                 LDR     R0, [R4,0x20]
  274.                 BL      j_GUIObject_Show_0
  275. loc_127DD0C4:                          
  276.                 ADD     SP, SP, 0x10
  277.                 POP     {R4-R7,PC}
  278. loc_127DD0C8:                          
  279.                 BL      loc_127DD12C
  280.                 B       loc_127DD0C4
  281. sub_127DD0CE:                          
  282.                 PUSH    {R4-R7,LR}
  283.                 ADD     R6, R2, 0
  284.                 LDR     R7, _nowy_HEAP
  285.                 ADD     R4, R0, 0
  286.                 LDR     R1, off_pamiec6
  287.                 BLX     R1
  288.                 CMP     R0, 0
  289.                 BEQ     loc_127DD0E4
  290. loc_127DD0DE:                          
  291.                 ADD     R0, R4, 0
  292.                 STRH    R0, [R7]
  293.                 POP     {R4-R7,PC}
  294. loc_127DD0E4:                          
  295.                 CMP     R6, 0
  296.                 BEQ     loc_127DD0EC
  297.                 SUB     R4, 1
  298.                 B       loc_127DD0EE
  299. loc_127DD0EC:                          
  300.                 ADD     R4, 1
  301. loc_127DD0EE:                          
  302.                 ADD     R0, R4, 0
  303.                 LDR     R1, off_pamiec6
  304.                 BLX     R1
  305.                 CMP     R0, 0
  306.                 BEQ     loc_127DD0E4
  307.                 B       loc_127DD0DE
  308.  
  309.                 align 4
  310.  
  311. ; ---------------------------------------------------------------------------
  312. _nowy_HEAP      DCD 0x4BBFF2CE;4BBFF724
  313. ; ---------------------------------------------------------------------------
  314. _BACK           DCD 0xFC0 ;ACTION_BACK
  315. _SELECT1        DCD 0xFC2 ;ACTION_SELECT1
  316. _LONG_BACK      DCD 0xFAF ;ACTION_LONG_BACK
  317. ; ---------------------------------------------------------------------------
  318. off_adres1      DCD 0x10FB1AD0+1;10F8E024+1
  319. off_adres2      DCD 0x10FB1AB0+1;10F8E004+1
  320. off_pamiec4     DCD kod1+1
  321. off_pamiec5     DCD kod2+1
  322. off_pamiec6     DCD _kod32
  323. ; ---------------------------------------------------------------------------
  324. aX              DCB "%x",0              
  325.                 DCB    0
  326. ; ----------------------------------IKONY W FW------------------------------
  327. icon_pierwsza   DCD 0xE541
  328. icon_ostatnia   DCD 0xF8FF
  329. ; ---------------------------------------------------------------------------
  330. loc_127DD12C:
  331.                 PUSH    {R4-R7,LR}
  332.                 LDR     R0, dword_127DD150
  333.                 MOV     R2, 0
  334.                 LDR     R1, dword_127DD148
  335.                 PUSH    {R0-R2}
  336.                 LDR     R2, dword_127DD14C
  337.                 LDR     R0, dword_127DD154
  338.                 MOV     R3, 1
  339.                 LDR     R1, dword_127DD150
  340.                 BL      sub_127DD19A
  341.                 ADD     SP, SP, 0xC
  342.                 POP     {R4-R7,PC}
  343.  
  344.                 align 4
  345.  
  346. ; ---------------------------------------------------------------------------
  347. dword_127DD148  DCD 0xF0                
  348. dword_127DD14C  DCD 0x48E              
  349. dword_127DD150  DCD 0xC04              
  350. dword_127DD154  DCD 0x6FFFFFFF
  351. ; ---------------------------------------------------------------------------
  352. _kod32          DCD 0xE92D4030
  353.                 DCD 0xEF000293
  354.                 DCD 0xE8BD8030
  355. ; ---------------------------------------------------------------------------
  356. j_TextFeedbackWindow:                  
  357.                 LDR     R3, off_127DD1A8
  358.                 BX      R3              
  359. ; ---------------------------------------------------------------------------
  360. j_pg_Notes_Receive_vNote_Note_Accepted:
  361.                 LDR     R3, off_adres3
  362.                 BX      R3
  363. ; ---------------------------------------------------------------------------
  364. j_sprintf:
  365.                 LDR     R3, off_127DD1AC
  366.                 BX      R3              
  367. ; ---------------------------------------------------------------------------
  368. j_Feedback_SetTextExtended:
  369.                 LDR     R3, off_127DD1B0
  370.                 BX      R3              
  371. ; ---------------------------------------------------------------------------
  372. j_Feedback_SetKeyHook:
  373.                 LDR     R3, off_127DD1B4
  374.                 BX      R3
  375. ; ---------------------------------------------------------------------------
  376. j_GUIObject_SoftKeys_SetAction_0:
  377.                 LDR     R3, off_127DD1B8
  378.                 BX      R3              
  379. ; ---------------------------------------------------------------------------
  380. j_GUIObject_Show_0:
  381.                 LDR     R3, off_127DD1BC
  382.                 BX      R3              
  383. ; ---------------------------------------------------------------------------
  384. j_BookObj_GotoPage:
  385.                 LDR     R3, off_127DD1C0
  386.                 BX      R3              
  387. ; ---------------------------------------------------------------------------
  388. j_ListMenu_GetSelectedItem:
  389.                 LDR     R3, off_127DD1C8
  390.                 BX      R3              
  391. ; ---------------------------------------------------------------------------
  392. sub_127DD188:
  393.                 LDR     R3, off_adres4
  394.                 BX      R3
  395. ; ---------------------------------------------------------------------------
  396. j_GUIObject_SetStyle:
  397.                 LDR     R3, off_127DD1D0
  398.                 BX      R3              
  399. ; ---------------------------------------------------------------------------
  400. j_TextID_Create:
  401.                 PUSH    {R3}
  402.                 LDR     R3, off_127DD1C4
  403.                 MOV     R12, R3
  404.                 POP     {R3}
  405.                 BX      R12            
  406. ; ---------------------------------------------------------------------------
  407. sub_127DD19A:
  408.                 PUSH    {R3}
  409.                 LDR     R3, off_adres5
  410.                 MOV     R12, R3
  411.                 POP     {R3}
  412.                 BX      R12
  413. ; ---------------------------------------------------------------------------
  414. off_adres3      DCD 0x1179EB9C+1;1177CC28+1
  415. off_127DD1A8    DCD TextFeedbackWindow+1
  416. off_127DD1AC    DCD sprintf+1
  417. off_127DD1B0    DCD Feedback_SetTextExtended+1
  418. off_127DD1B4    DCD Feedback_SetKeyHook+1
  419. off_127DD1B8    DCD GUIObject_SoftKeys_SetAction+1
  420. off_127DD1BC    DCD GUIObject_Show+1
  421. off_127DD1C0    DCD BookObj_GotoPage+1
  422. off_127DD1C4    DCD TextID_Create+1
  423. off_127DD1C8    DCD ListMenu_GetSelectedItem+1
  424. off_adres4      DCD 0x11AA3A08+1;11A7EF20+1
  425. off_127DD1D0    DCD GUIObject_SetStyle+1
  426. off_adres5      DCD 0x11A7B3D8+1;11A568F0+1
  427. ; ---------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment