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
Marcadores