Les dejo el asm de un parche que porte

  • Offsets Base: W705 R1GA031
  • Portado: W595 R3EF001

Código:
include "x.inc"
include "W595_R3EF001.lib.asm"



;W595 SW-R3EF001
;Elección del estilo y el modo de presentación de los elementos
;El menú principal, elija su estilo y modos:
;Menu principal - Opciones, seleccione un elemento que no han utilizado
;Información sobre el elemento seleccionado se actualiza de acuerdo con la elección
;(!) Debe agregar las siguientes etiquetas en el *.lng:
;0x32E8 - "Estilos"
;0x32DA - "Estilo 1"
;0x32DB - "Estilo 2"
;0x32DC - "Estilo 3"
;0x32DD - "Estilo 4"
;0x32DE - "Estilo 5"
;0x32DF - "Estilo 6"
;0x32E0 - "Estilo 7 (por defecto)"
;0x32E6 - "Modo de pantalla"
;0x32E7 - "Este elemento está en uso"
;0x32E1 - "Elige tu estilo del menu principal"
;0x32E2 - "Selección del menú principal"
;0x32E3 - "Estilo Menu de Actividad"
;0x2CCC - "Pantalla Completa"
;0x2CEC - "Pantalla Normal"
;v.3.2.1
;(c) ZEN, jamesbond22, D3mon
;(e) Antoniomun
;(p) DaRkMaN
;(e) albertnet3 (thanks anarkes for fix minor bugs)
;Añadir estilo GUI Estilo menu de Actividad
;Restaurar la capacidad para seleccionar los elementos
;con las teclas en los books afectados por el parche.


org 0x10DDBC44 ;0x14129b96
_14129b96:

        LDR    R3, off_14129B9C
        BX    R3

        align 4
off_14129B9C    dw loc_15D8E1C0+1    







org 0x10DDBD6C ;0x14129cca
_14129cca:

        LDR    R3, off_14129CD0
        BX    R3

        align 4
off_14129CD0    dw loc_15D8E140+1    







org 0x10DDBD80 ;0x14129cde
_14129cde:

        LDR    R3, off_14129CE4
        BX    R3

        align 4
off_14129CE4    dw loc_15D8E166+1    










org 0x1279FB90 ;0x15D8E140
loc_15D8E140:                
                    
        BL    sub_15D8E50C
        LDRB    R0, [R7,1]
        CMP    R0, 0
        BEQ    loc_15D8E154
        CMP    R0, 1
        BEQ    loc_15D8E158
        CMP    R0, 2
        BEQ    loc_15D8E15C
        B    loc_15D8E15E


loc_15D8E154:                
        MOV    R1, 1
        B    loc_15D8E15E


loc_15D8E158:                
        MOV    R1, 4
        B    loc_15D8E15E


loc_15D8E15C:                
        MOV    R1, 9

loc_15D8E15E:                
                    
        ADD    R0, R6,    0
        BL    sub_15D8E5D4
        LDRB    R7, [R6,0xC]

loc_15D8E166:                
                    
        PUSH    {R7}
        BL    sub_15D8E50C
        LDRB    R0, [R7]
        CMP    R0, 1
        BEQ    loc_15D8E188
        CMP    R0, 2
        BEQ    loc_15D8E18C
        CMP    R0, 3
        BEQ    loc_15D8E190
        CMP    R0, 4
        BEQ    loc_15D8E194
        CMP    R0, 5
        BEQ    loc_15D8E198
        CMP    R0, 6
        BEQ    loc_15D8E19C
        B    loc_15D8E1A4


loc_15D8E188:                
        MOV    R1, 6
        B    loc_15D8E1A0


loc_15D8E18C:                
        MOV    R1, 2
        B    loc_15D8E1A0


loc_15D8E190:                
        MOV    R1, 3
        B    loc_15D8E1A0


loc_15D8E194:                
        MOV    R1, 4
        B    loc_15D8E1A0


loc_15D8E198:                
        MOV    R1, 9
        B    loc_15D8E1A0


loc_15D8E19C:                
        MOV    R1, 8
        B    loc_15D8E1A0

loc_15D8E1A0:                
                    
        ADD    SP, SP,    4
        B    loc_15D8E1A8


loc_15D8E1A4:                
        POP    {R7}
        ADD    R1, R7,    0

loc_15D8E1A8:                
        ADD    R0, R6,    0
        BL    sub_15D8E59C
        MOV    R1, 1
        ADD    R0, R6,    0
        BL    sub_15D8E594
        LDR    R3, off_15D8E1BC
        BX    R3

        align 4
off_15D8E1BC    dw 0x10DDBD96+1 ;0x14129CF4+1    


loc_15D8E1C0:                
                    
        PUSH    {R7}
        BL    sub_15D8E50C
        LDRB    R7, [R7]
        MOV    R2, 1
        MOV    R1, 2
        ADD    R0, R6,    0
        BL    sub_15D8E5E4
        MOV    R2, 0
        MOV    R1, 0x10
        ADD    R0, R6,    0
        BL    sub_15D8E5A4
        LDR    R2, dword_15D8E48C
        MOV    R1, 0x10
        ADD    R0, R6,    0
        BL    sub_15D8E5AC
        LDR    R2, dword_15D8E464
        MOV    R1, 0x10
        ADD    R0, R6,    0
        BL    sub_15D8E5EC
        LDR    R2, off_15D8E43C
        MOV    R1, 0x11
        ADD    R0, R6,    0
        BL    sub_15D8E5A4
        LDR    R2, dword_15D8E46C
        MOV    R1, 0x11
        ADD    R0, R6,    0
        BL    sub_15D8E5AC
        ADD    R0, R6,    0
        MOV    R1, 0x10
        MOV    R2, 0x11
        BL    sub_15D8E5DC
        CMP    R7, 1
        BNE    loc_15D8E226
        ADD    R0, R6,    0
        MOV    R1, 0x11
        LDR    R2, dword_15D8E490
        BL    sub_15D8E5EC
        ADD    R0, R6,    0
        MOV    R1, 0x11
        MOV    R2, 0
        BL    sub_15D8E5F4

loc_15D8E226:                
        LDR    R2, off_15D8E440
        MOV    R1, 0x12
        ADD    R0, R6,    0
        BL    sub_15D8E5A4
        LDR    R2, dword_15D8E470
        MOV    R1, 0x12
        ADD    R0, R6,    0
        BL    sub_15D8E5AC
        ADD    R0, R6,    0
        MOV    R1, 0x10
        MOV    R2, 0x12
        BL    sub_15D8E5DC
        CMP    R7, 2
        BNE    loc_15D8E25C
        LDR    R2, dword_15D8E490
        MOV    R1, 0x12
        ADD    R0, R6,    0
        BL    sub_15D8E5EC
        ADD    R0, R6,    0
        MOV    R1, 0x12
        MOV    R2, 0
        BL    sub_15D8E5F4

loc_15D8E25C:                
        LDR    R2, off_15D8E444
        MOV    R1, 7
        ADD    R0, R6,    0
        BL    sub_15D8E5A4
        LDR    R2, dword_15D8E474
        MOV    R1, 7
        ADD    R0, R6,    0
        BL    sub_15D8E5AC
        ADD    R0, R6,    0
        MOV    R1, 0x10
        MOV    R2, 7
        BL    sub_15D8E5DC
        CMP    R7, 3
        BNE    loc_15D8E292
        LDR    R2, dword_15D8E490
        MOV    R1, 7
        ADD    R0, R6,    0
        BL    sub_15D8E5EC
        ADD    R0, R6,    0
        MOV    R1, 7
        MOV    R2, 0
        BL    sub_15D8E5F4

loc_15D8E292:                
        LDR    R2, off_15D8E448
        MOV    R1, 6
        ADD    R0, R6,    0
        BL    sub_15D8E5A4
        LDR    R2, dword_15D8E478
        MOV    R1, 6
        ADD    R0, R6,    0
        BL    sub_15D8E5AC
        ADD    R0, R6,    0
        MOV    R1, 0x10
        MOV    R2, 6
        BL    sub_15D8E5DC
        CMP    R7, 4
        BNE    loc_15D8E2C8
        LDR    R2, dword_15D8E490
        MOV    R1, 6
        ADD    R0, R6,    0
        BL    sub_15D8E5EC
        ADD    R0, R6,    0
        MOV    R1, 6
        MOV    R2, 0
        BL    sub_15D8E5F4

loc_15D8E2C8:                
        LDR    R2, off_15D8E44C
        MOV    R1, 8
        ADD    R0, R6,    0
        BL    sub_15D8E5A4
        LDR    R2, dword_15D8E47C
        MOV    R1, 8
        ADD    R0, R6,    0
        BL    sub_15D8E5AC
        ADD    R0, R6,    0
        MOV    R1, 0x10
        MOV    R2, 8
        BL    sub_15D8E5DC
        CMP    R7, 5
        BNE    loc_15D8E2FE
        LDR    R2, dword_15D8E490
        MOV    R1, 8
        ADD    R0, R6,    0
        BL    sub_15D8E5EC
        ADD    R0, R6,    0
        MOV    R1, 8
        MOV    R2, 0
        BL    sub_15D8E5F4

loc_15D8E2FE:                
        LDR    R2, off_15D8E450
        MOV    R1, 9
        ADD    R0, R6,    0
        BL    sub_15D8E5A4
        LDR    R2, dword_15D8E480
        MOV    R1, 9
        ADD    R0, R6,    0
        BL    sub_15D8E5AC
        ADD    R0, R6,    0
        MOV    R1, 0x10
        MOV    R2, 9
        BL    sub_15D8E5DC
        CMP    R7, 6
        BNE    loc_15D8E334
        LDR    R2, dword_15D8E490
        MOV    R1, 9
        ADD    R0, R6,    0
        BL    sub_15D8E5EC
        ADD    R0, R6,    0
        MOV    R1, 9
        MOV    R2, 0
        BL    sub_15D8E5F4

loc_15D8E334:                
        LDR    R2, off_15D8E454
        MOV    R1, 0x17
        ADD    R0, R6,    0
        BL    sub_15D8E5A4
        LDR    R2, dword_15D8E484
        MOV    R1, 0x17
        ADD    R0, R6,    0
        BL    sub_15D8E5AC
        ADD    R0, R6,    0
        MOV    R1, 0x10
        MOV    R2, 0x17
        BL    sub_15D8E5DC
        CMP    R7, 0
        BNE    loc_15D8E36A
        LDR    R2, dword_15D8E490
        MOV    R1, 0x17
        ADD    R0, R6,    0
        BL    sub_15D8E5EC
        ADD    R0, R6,    0
        MOV    R1, 0x17
        MOV    R2, 0
        BL    sub_15D8E5F4

loc_15D8E36A:                
        BL    sub_15D8E50C
        LDRB    R7, [R7,1]
        MOV    R2, 0
        MOV    R1, 0x18
        ADD    R0, R6,    0
        BL    sub_15D8E5A4
        LDR    R2, dword_15D8E488
        MOV    R1, 0x18
        ADD    R0, R6,    0
        BL    sub_15D8E5AC
        LDR    R2, dword_15D8E468
        MOV    R1, 0x18
        ADD    R0, R6,    0
        BL    sub_15D8E5EC
        LDR    R2, off_15D8E458
        MOV    R1, 0x19
        ADD    R0, R6,    0
        BL    sub_15D8E5A4
        LDR    R2, dword_15D8E49C
        MOV    R1, 0x19
        ADD    R0, R6,    0
        BL    sub_15D8E5AC
        ADD    R0, R6,    0
        MOV    R1, 0x18
        MOV    R2, 0x19
        BL    sub_15D8E5DC
        CMP    R7, 1
        BNE    loc_15D8E3C4
        LDR    R2, dword_15D8E490
        MOV    R1, 0x19
        ADD    R0, R6,    0
        BL    sub_15D8E5EC
        ADD    R0, R6,    0
        MOV    R1, 0x19
        MOV    R2, 0
        BL    sub_15D8E5F4

loc_15D8E3C4:                
        LDR    R2, off_15D8E45C
        MOV    R1, 0x1A
        ADD    R0, R6,    0
        BL    sub_15D8E5A4
        LDR    R2, dword_15D8E494
        MOV    R1, 0x1A
        ADD    R0, R6,    0
        BL    sub_15D8E5AC
        ADD    R0, R6,    0
        MOV    R1, 0x18
        MOV    R2, 0x1A
        BL    sub_15D8E5DC
        CMP    R7, 2
        BNE    loc_15D8E3FA
        LDR    R2, dword_15D8E490
        MOV    R1, 0x1A
        ADD    R0, R6,    0
        BL    sub_15D8E5EC
        ADD    R0, R6,    0
        MOV    R1, 0x1A
        MOV    R2, 0
        BL    sub_15D8E5F4

loc_15D8E3FA:                
        LDR    R2, off_15D8E460
        MOV    R1, 0x1B
        ADD    R0, R6,    0
        BL    sub_15D8E5A4
        LDR    R2, dword_15D8E498
        MOV    R1, 0x1B
        ADD    R0, R6,    0
        BL    sub_15D8E5AC
        ADD    R0, R6,    0
        MOV    R1, 0x18
        MOV    R2, 0x1B
        BL    sub_15D8E5DC
        CMP    R7, 0
        BNE    loc_15D8E430
        LDR    R2, dword_15D8E490
        MOV    R1, 0x1B
        ADD    R0, R6,    0
        BL    sub_15D8E5EC
        ADD    R0, R6,    0
        MOV    R1, 0x1B
        MOV    R2, 0
        BL    sub_15D8E5F4

loc_15D8E430:                
        POP    {R7}
        LDR    R2, off_15D8E438
        BX    R2
    
        align 4
off_15D8E438    dw 0x10DDBC4E+1 ;0x14129BA0+1    
off_15D8E43C    dw loc_15D8E4A0+1    
off_15D8E440    dw loc_15D8E4A8+1    
off_15D8E444    dw loc_15D8E4B0+1    
off_15D8E448    dw loc_15D8E4B8+1    
off_15D8E44C    dw loc_15D8E4C0+1    
off_15D8E450    dw loc_15D8E4C8+1    
off_15D8E454    dw loc_15D8E4D0+1    
off_15D8E458    dw loc_15D8E4E6+1    
off_15D8E45C    dw loc_15D8E4DE+1    
off_15D8E460    dw loc_15D8E4EE+1    
dword_15D8E464    dw 0x32E1 ;0x2984    ;" Choose your style main menu "    
dword_15D8E468    dw 0x32E2 ;0x2985    ;" Selecting the main menu "    
dword_15D8E46C    dw 0x32DA ;0x297B    ;"Style 1"    
dword_15D8E470    dw 0x32DB ;0x297C    ;"Style 2"    
dword_15D8E474    dw 0x32DC ;0x297D    ;"Style 3"    
dword_15D8E478    dw 0x32DD ;0x297E    ;"Style 4"    
dword_15D8E47C    dw 0x32DE ;0x297F    ;"Style 5"    
dword_15D8E480    dw 0x32DF ;0x2980    ;"Style 6"    
dword_15D8E484    dw 0x32E0 ;0x2981    ;"Style 7 (Default)"    
dword_15D8E488    dw 0x32E6 ;0x2982    ;" Screen Mode "    
dword_15D8E48C    dw 0x32E8 ;1    ;"Styles"        
dword_15D8E490    dw 0x32E7 ;0x2983    ;" This item is already in use "    
                    
dword_15D8E494    dw 0x32E3 ;0x2992    ;"ActivityMenuStyle"    
dword_15D8E498    dw 0x2CEC ;0x23B1    ;"NormalScreen"    
dword_15D8E49C    dw 0x2CCC ;0x4ED    ;"Fullscreen"    


loc_15D8E4A0:                
        PUSH    {R0,R1,LR}
        ADD    R4, R0,    0
        MOV    R0, 1
        B    loc_15D8E4D6


loc_15D8E4A8:                
        PUSH    {R0,R1,LR}
        ADD    R4, R0,    0
        MOV    R0, 2
        B    loc_15D8E4D6


loc_15D8E4B0:                
        PUSH    {R0,R1,LR}
        ADD    R4, R0,    0
        MOV    R0, 3
        B    loc_15D8E4D6


loc_15D8E4B8:                
        PUSH    {R0,R1,LR}
        ADD    R4, R0,    0
        MOV    R0, 4
        B    loc_15D8E4D6


loc_15D8E4C0:                
        PUSH    {R0,R1,LR}
        ADD    R4, R0,    0
        MOV    R0, 5
        B    loc_15D8E4D6


loc_15D8E4C8:                
        PUSH    {R0,R1,LR}
        ADD    R4, R0,    0
        MOV    R0, 6
        B    loc_15D8E4D6


loc_15D8E4D0:                
        PUSH    {R0,R1,LR}
        ADD    R4, R0,    0
        MOV    R0, 0

loc_15D8E4D6:                
                    
        BL    sub_15D8E50C
        LDRB    R1, [R7,1]
        B    loc_15D8E4FA


loc_15D8E4DE:                
        PUSH    {R0,R1,LR}
        ADD    R4, R0,    0
        MOV    R1, 2
        B    loc_15D8E4F4


loc_15D8E4E6:                
        PUSH    {R0,R1,LR}
        ADD    R4, R0,    0
        MOV    R1, 1
        B    loc_15D8E4F4


loc_15D8E4EE:                
        PUSH    {R0,R1,LR}
        ADD    R4, R0,    0
        MOV    R1, 0

loc_15D8E4F4:                
                    
        BL    sub_15D8E50C
        LDRB    R0, [R7]

loc_15D8E4FA:                
        BL    sub_15D8E538
        ADD    R0, R4,    0
        BL    sub_15D8E604
        LDR    R0, off_15D8E56C
        BL    sub_15D8E5FC
        POP    {R0,R1,PC}




sub_15D8E50C:                
                    
        PUSH    {R0-R6,LR}
        MOV    R0, 0
        PUSH    {R0}
        MOV    R3, 0xFF
        ADD    R3, 0x81
        MOV    R2, 1
        adr    R1, aMainmenustyle_ 
        LDR    R0, off_15D8E568
        BL    sub_15D8E5B4
        ADD    R5, R0,    0
        MOV    R2, 2
        MOV    R1, SP
        BL    sub_15D8E5BC
        ADD    R0, R5,    0
        BL    sub_15D8E5CC
        MOV    R7, SP
        ADD    SP, SP,    4
        POP    {R0-R6,PC}



        align 4




sub_15D8E538:                
        PUSH    {R0-R7,LR}
        ADD    R6, R0,    0
        ADD    R7, R1,    0
        MOV    R0, 0
        PUSH    {R0}
        MOV    R3, 0xFF
        ADD    R3, 0x81
        MOV    R2, 2
        adr    R1, aMainmenustyle_ 
        LDR    R0, off_15D8E568
        BL    sub_15D8E5B4
        ADD    R5, R0,    0
        MOV    R1, SP
        STRB    R6, [R1]
        STRB    R7, [R1,1]
        MOV    R2, 2
        BL    sub_15D8E5C4
        ADD    R0, R5,    0
        BL    sub_15D8E5CC
        ADD    SP, SP,    4
        POP    {R0-R7,PC}



off_15D8E568    dw 0x11DA40C8 ;0x15A62418 ;aTpaSystemSetti    
                    
                    
off_15D8E56C    dw 0x11AFD8F8 ;0x159357CC ;aMainmenu_0        
                    
aMainmenustyle_    du "MainMenuStyle.bin",0 
                    




sub_15D8E594:                




        LDR    R3, off_15D8E598
        BX    R3        



off_15D8E598    dw ListMenu_SetHotkeyMode+1 
                    




sub_15D8E59C:                
        LDR    R3, off_15D8E5A0
        BX    R3        



off_15D8E5A0    dw ListMenu_SetItemStyle+1 
                    




sub_15D8E5A4:                
                    
        LDR    R3, off_15D8E5A8
        BX    R3        



off_15D8E5A8    dw GUIObject_SoftKeys_SetAction+1 
                    




sub_15D8E5AC:                
                    
        LDR    R3, off_15D8E5B0
        BX    R3        



off_15D8E5B0    dw GUIObject_SoftKeys_SetText+1 
                    




sub_15D8E5B4:                
                    
        LDR    R4, off_15D8E5B8
        BX    R4        



off_15D8E5B8    dw _fopen+1        
                    




sub_15D8E5BC:                
        LDR    R4, off_15D8E5C0
        BX    R4        



off_15D8E5C0    dw fread+1        
                    




sub_15D8E5C4:                

var_20        = -0x20
var_1C        = -0x1C
var_18        = -0x18



        LDR    R4, off_15D8E5C8
        BX    R4        



off_15D8E5C8    dw fwrite+1        
                    




sub_15D8E5CC:                
                    

var_C        = -0xC



        LDR    R4, off_15D8E5D0
        BX    R4        



off_15D8E5D0    dw fclose+1        
                    




sub_15D8E5D4:                



        LDR    R3, off_15D8E5D8
        BX    R3        



off_15D8E5D8    dw GUIObject_SetStyle+1 
                    




sub_15D8E5DC:                
                    



        LDR    R3, off_15D8E5E0
        BX    R3        



off_15D8E5E0    dw GUIObject_SoftKeys_SetItemAsSubItem+1 
                    




sub_15D8E5E4:                
        LDR    R3, off_15D8E5E8
        BX    R3        



off_15D8E5E8    dw GUIObject_SoftKeys_SetVisible+1 
                    




sub_15D8E5EC:                
                    
        LDR    R3, off_15D8E5F0
        BX    R3        



off_15D8E5F0    dw GUIObject_SoftKeys_SetInfoText+1 
                    




sub_15D8E5F4:                
                    
        LDR    R3, off_15D8E5F8
        BX    R3        



off_15D8E5F8    dw GUIObject_SoftKeys_SetEnable+1 
                    




sub_15D8E5FC:                



        LDR    R3, off_15D8E600
        BX    R3        



off_15D8E600    dw Shortcut_Run+1    
                    




sub_15D8E604:                
        LDR    R3, off_15D8E608
        BX    R3        



off_15D8E608    dw FreeBook+1
Saludos