Advertisement
MiFa

Untitled

Jul 4th, 2011
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;W902 SW-R3EG004
  2. ;Displays custom text in screen of Walkman
  3. ;Now color of text is readed from theme
  4. ;v. 1.5
  5. ;(c) jamesbond22
  6. ;(p) MiFa
  7.  
  8. include "x.inc"
  9. include "lib\W902.inc"
  10.  
  11. org 0x10AFAA08;10af21b4
  12.                 dw newcode+1
  13. ;--------------------------------------------patchbody--------------------------------------------
  14. org 0x11D5EFF0;11ae4da0
  15. newcode:
  16.                 push    {R4-R6,LR}
  17.                 bl      _skokhooka
  18.                 add     R4, R0, 0
  19.                 mov     R1, 0
  20.                 mov     R0, 0x4F
  21.                 bl      _getthemecolor
  22.                 add     R5, R0, 0
  23.                 mov     R1, 0
  24.                 mov     R0, 0x4F
  25.                 bl      _getthemecolor
  26.                 movl    R1, 0x120
  27.                 ldr     R6, [R4,R1]
  28.                 cmp     R6, 0
  29.                 beq     _koniec
  30.                 bl      _display
  31.                 cmp     R0, 0
  32.                 beq     _portrait
  33.                 bl      _getorient
  34.                 cmp     R0, 0
  35.                 bne     _landscape
  36.  
  37. _portrait:
  38.                 mov     R0, 0x11;Font
  39.                 bl      _addr1
  40.                 add     R2, R5, 0
  41.                 mov     R1, 0
  42.                 mov     R0, 0x18
  43.                 push    {R0-R3}
  44.                 movl    R1, 0x104
  45.                 mov     R0, 0xF0 ;X2
  46.                 push    {R0,R1}
  47.                 mov     R2, 0xFF ;Y2 (Y2 = "FF" + "05" = 104 hex = 260 dec)
  48.                 mov     R1, 6
  49.                 adr     R0, aWalkman    
  50.                 bl      _str2id
  51.                 mov     R3, 0xFA  ;Y1
  52.                 mov     R2, 0xA0  ;X1
  53.                 mov     R1, 0     ;Aligment
  54.                 B       _aligment
  55.  
  56.  
  57. _landscape:
  58.                 mov     R0, 0x11   ;Font
  59.                 bl      _addr1
  60.                 add     R2, R5, 0
  61.                 mov     R1, 0
  62.                 mov     R0, 0x18
  63.                 push    {R0-R3}
  64.                 mov     R1, 0x56  ;Y2
  65.                 movl    R0, 0x140  ;X2 (X2 = "FF" + "41" = 140 hex = 320 dec)
  66.                 push    {R0,R1}
  67.                 mov     R2, 0xFF
  68.                 mov     R1, 6
  69.                 adr     R0, aWalkman_0  
  70.                 bl      _str2id
  71.                 mov     R3, 0x54  ;Y1
  72.                 mov     R2, 0x8C  ;X1
  73.                 mov     R1, 0   ;Aligment
  74.  
  75. _aligment:
  76.                 bl      _drawstring
  77.                 add     SP, SP, 0x18
  78.  
  79. _koniec:
  80.                 pop     {R4-R6,PC}
  81.  
  82. _skokhooka:
  83.                 ldr     R3, off_skokhooka
  84.                 bx      R3
  85.  
  86. _display:
  87.                 ldr     R3, off_display
  88.                 bx      R3
  89.  
  90. _getorient:
  91.                 ldr     R3, off_getorient
  92.                 bx      R3              
  93.  
  94.  
  95. _addr1:
  96.                                        
  97.                 ldr     R3, off_addr1
  98.                 bx      R3
  99.  
  100. _str2id:
  101.                                        
  102.                 ldr     R3, off_str2id
  103.                 bx      R3              
  104.  
  105. _drawstring:
  106.                 push    {R3}
  107.                 ldr     R3, off_drawstring
  108.                 mov     R12, R3
  109.                 pop     {R3}
  110.                 bx      R12
  111.  
  112. _getthemecolor:
  113.                                        
  114.                 ldr     R3, off_getthemecolor
  115.                 bx      R3
  116. ;---------------------------------------------------------------------------------
  117. off_drawstring          dw 0x109D4728+1;109CC0B8+1
  118. off_addr1               dw 0x109D52A8+1;109CCC38+1
  119. off_skokhooka           dw 0x10AF8744+1;10AEFD88+1
  120. off_str2id         dw Str2ID+1
  121. off_display             dw 0x10DF8180+1;10DF020C+1
  122. off_getorient      dw BookObj_GetDisplayOrientation+1
  123. off_getthemecolor  dw GetThemeColor+1
  124.         offset=$
  125.         org offset
  126. aWalkman        db "WALKMAN",0        
  127.                 dw 0
  128.                 dw 0
  129.                 dw 0
  130.                 dw 0
  131. aWalkman_0      db "WALKMAN",0        
  132.                 dw 0
  133.                 dw 0
  134.                 dw 0
  135.                 dw 0
  136. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement