Código:
;C510 SW-R1HA035
; Choice of style and mode of presentation of items, the main menu
; Choice of style and modes: Main Menu - Options
; You can not select an item used
; Information about the selected item is updated in accordance with the choice
;
;(!) You must add the following tag in the *. lng:
; 0x18FE - "style"
; 0x1904 - "style 1"
; 0x1905 - "style 2"
; 0x1906 - "style 3"
; 0x1907 - "style 4"
; 0x1908 - "style 5"
; 0x1909 - "style 6"
; 0x190A - "Style 7 (Normal)
; 0x190B - "Screen mode"
; 0x190C - "This item is already in use"
; 0x190D - "Choose your style main menu
; 0x190E - "Selecting the main menu"
;
; V.3.2
;(C) ZEN, jamesbond22, D3mon
;(e) Antoniomun
;(P) ? solo hice el asm
;portado del c905r1fa035 a c510 r1ha035
include "x.inc"
include "c510_r1ha035.lib.asm"
org 0x14128580 ;0x14398E0E
LDR R3, off_14398E14
BX R3
align 4
off_14398E14 dw loc_15E08078+1
org 0x141286B2 ;0x14398F42
LDR R3, off_14398F48
BX R3
align 4
off_14398F48 dw loc_15E08010+1
org 0x141286C6 ;0x14398F56
LDR R3, off_14398F5C
BX R3
align 4
off_14398F5C dw 0x15E08028+1
;----------------------NUEVOCODIGO-------------------------------
org 0x15D275E4 ;0x15E08010
loc_15E08010:
BL sub_15E0837C
LDRB R0, [R7,1]
CMP R0, 0
BEQ loc_15E0801E
MOV R1, 4
B loc_15E08020
loc_15E0801E:
MOV R1, 1
loc_15E08020:
ADD R0, R6, 0
BL sub_15E0843C
LDRB R7, [R6,0xC]
loc_15E08028:
PUSH {R7}
BL sub_15E0837C
LDRB R0, [R7]
CMP R0, 1
BEQ loc_15E0804A
CMP R0, 2
BEQ loc_15E0804E
CMP R0, 3
BEQ loc_15E08052
CMP R0, 4
BEQ loc_15E08056
CMP R0, 5
BEQ loc_15E0805A
CMP R0, 6
BEQ loc_15E0805E
B loc_15E08066
loc_15E0804A:
MOV R1, 6
B loc_15E08062
loc_15E0804E:
MOV R1, 2
B loc_15E08062
loc_15E08052:
MOV R1, 3
B loc_15E08062
loc_15E08056:
MOV R1, 4
B loc_15E08062
loc_15E0805A:
MOV R1, 9
B loc_15E08062
loc_15E0805E:
MOV R1, 8
B loc_15E08062
loc_15E08062:
ADD SP, SP, 4
B loc_15E0806A
loc_15E08066:
POP {R7}
ADD R1, R7, 0
loc_15E0806A:
ADD R0, R6, 0
BL sub_15E08404
LDR R3, off_15E08074
BX R3
off_15E08074 dw 0x141286DC+1 ;0x14398F6C+1
loc_15E08078:
PUSH {R7}
BL sub_15E0837C
LDRB R7, [R7]
MOV R2, 1
MOV R1, 2
ADD R0, R6, 0
BL sub_15E0844C
MOV R2, 0
MOV R1, 0x10
ADD R0, R6, 0
BL sub_15E0840C
LDR R2, dword_15E08308
MOV R1, 0x10
ADD R0, R6, 0
BL sub_15E08414
LDR R2, dword_15E082E0
MOV R1, 0x10
ADD R0, R6, 0
BL sub_15E08454
LDR R2, off_15E082BC
MOV R1, 0x11
ADD R0, R6, 0
BL sub_15E0840C
LDR R2, dword_15E082E8
MOV R1, 0x11
ADD R0, R6, 0
BL sub_15E08414
ADD R0, R6, 0
MOV R1, 0x10
MOV R2, 0x11
BL sub_15E08444
CMP R7, 1
BNE loc_15E080DE
ADD R0, R6, 0
MOV R1, 0x11
LDR R2, dword_15E0830C
BL sub_15E08454
ADD R0, R6, 0
MOV R1, 0x11
MOV R2, 0
BL sub_15E0845C
loc_15E080DE:
LDR R2, off_15E082C0
MOV R1, 0x12
ADD R0, R6, 0
BL sub_15E0840C
LDR R2, dword_15E082EC
MOV R1, 0x12
ADD R0, R6, 0
BL sub_15E08414
ADD R0, R6, 0
MOV R1, 0x10
MOV R2, 0x12
BL sub_15E08444
CMP R7, 2
BNE loc_15E08114
LDR R2, dword_15E0830C
MOV R1, 0x12
ADD R0, R6, 0
BL sub_15E08454
ADD R0, R6, 0
MOV R1, 0x12
MOV R2, 0
BL sub_15E0845C
loc_15E08114:
LDR R2, off_15E082C4
MOV R1, 7
ADD R0, R6, 0
BL sub_15E0840C
LDR R2, dword_15E082F0
MOV R1, 7
ADD R0, R6, 0
BL sub_15E08414
ADD R0, R6, 0
MOV R1, 0x10
MOV R2, 7
BL sub_15E08444
CMP R7, 3
BNE loc_15E0814A
LDR R2, dword_15E0830C
MOV R1, 7
ADD R0, R6, 0
BL sub_15E08454
ADD R0, R6, 0
MOV R1, 7
MOV R2, 0
BL sub_15E0845C
loc_15E0814A:
LDR R2, off_15E082C8
MOV R1, 6
ADD R0, R6, 0
BL sub_15E0840C
LDR R2, dword_15E082F4
MOV R1, 6
ADD R0, R6, 0
BL sub_15E08414
ADD R0, R6, 0
MOV R1, 0x10
MOV R2, 6
BL sub_15E08444
CMP R7, 4
BNE loc_15E08180
LDR R2, dword_15E0830C
MOV R1, 6
ADD R0, R6, 0
BL sub_15E08454
ADD R0, R6, 0
MOV R1, 6
MOV R2, 0
BL sub_15E0845C
loc_15E08180:
LDR R2, off_15E082CC
MOV R1, 8
ADD R0, R6, 0
BL sub_15E0840C
LDR R2, dword_15E082F8
MOV R1, 8
ADD R0, R6, 0
BL sub_15E08414
ADD R0, R6, 0
MOV R1, 0x10
MOV R2, 8
BL sub_15E08444
CMP R7, 5
BNE loc_15E081B6
LDR R2, dword_15E0830C
MOV R1, 8
ADD R0, R6, 0
BL sub_15E08454
ADD R0, R6, 0
MOV R1, 8
MOV R2, 0
BL sub_15E0845C
loc_15E081B6:
LDR R2, off_15E082D0
MOV R1, 9
ADD R0, R6, 0
BL sub_15E0840C
LDR R2, dword_15E082FC
MOV R1, 9
ADD R0, R6, 0
BL sub_15E08414
ADD R0, R6, 0
MOV R1, 0x10
MOV R2, 9
BL sub_15E08444
CMP R7, 6
BNE loc_15E081EC
LDR R2, dword_15E0830C
MOV R1, 9
ADD R0, R6, 0
BL sub_15E08454
ADD R0, R6, 0
MOV R1, 9
MOV R2, 0
BL sub_15E0845C
loc_15E081EC:
LDR R2, off_15E082D4
MOV R1, 0x17
ADD R0, R6, 0
BL sub_15E0840C
LDR R2, dword_15E08300
MOV R1, 0x17
ADD R0, R6, 0
BL sub_15E08414
ADD R0, R6, 0
MOV R1, 0x10
MOV R2, 0x17
BL sub_15E08444
CMP R7, 0
BNE loc_15E08222
LDR R2, dword_15E0830C
MOV R1, 0x17
ADD R0, R6, 0
BL sub_15E08454
ADD R0, R6, 0
MOV R1, 0x17
MOV R2, 0
BL sub_15E0845C
loc_15E08222:
BL sub_15E0837C
LDRB R7, [R7,1]
MOV R2, 0
MOV R1, 0x18
ADD R0, R6, 0
BL sub_15E0840C
LDR R2, dword_15E08304
MOV R1, 0x18
ADD R0, R6, 0
BL sub_15E08414
LDR R2, dword_15E082E4
MOV R1, 0x18
ADD R0, R6, 0
BL sub_15E08454
LDR R2, off_15E082D8
MOV R1, 0x19
ADD R0, R6, 0
BL sub_15E0840C
LDR R2, dword_15E08314
MOV R1, 0x19
ADD R0, R6, 0
BL sub_15E08414
ADD R0, R6, 0
MOV R1, 0x18
MOV R2, 0x19
BL sub_15E08444
CMP R7, 1
BNE loc_15E0827C
LDR R2, dword_15E0830C
MOV R1, 0x19
ADD R0, R6, 0
BL sub_15E08454
ADD R0, R6, 0
MOV R1, 0x19
MOV R2, 0
BL sub_15E0845C
loc_15E0827C:
LDR R2, off_15E082DC
MOV R1, 0x1A
ADD R0, R6, 0
BL sub_15E0840C
LDR R2, dword_15E08310
MOV R1, 0x1A
ADD R0, R6, 0
BL sub_15E08414
ADD R0, R6, 0
MOV R1, 0x18
MOV R2, 0x1A
BL sub_15E08444
CMP R7, 0
BNE loc_15E082B2
LDR R2, dword_15E0830C
MOV R1, 0x1A
ADD R0, R6, 0
BL sub_15E08454
ADD R0, R6, 0
MOV R1, 0x1A
MOV R2, 0
BL sub_15E0845C
loc_15E082B2:
POP {R7}
LDR R2, off_15E082B8
BX R2
off_15E082B8 dw 0x1412858A+1 ;0x14398E18+1
off_15E082BC dw loc_15E08318+1
off_15E082C0 dw loc_15E08320+1
off_15E082C4 dw loc_15E08328+1
off_15E082C8 dw loc_15E08330+1
off_15E082CC dw loc_15E08338+1
off_15E082D0 dw loc_15E08340+1
off_15E082D4 dw loc_15E08348+1
off_15E082D8 dw loc_15E08356+1
off_15E082DC dw loc_15E0835E+1
dword_15E082E0 dw 0x190D
dword_15E082E4 dw 0x190E
dword_15E082E8 dw 0x1904
dword_15E082EC dw 0x1905
dword_15E082F0 dw 0x1906
dword_15E082F4 dw 0x1907
dword_15E082F8 dw 0x1908
dword_15E082FC dw 0x1909
dword_15E08300 dw 0x190A
dword_15E08304 dw 0x190B
dword_15E08308 dw 0x18FE
dword_15E0830C dw 0x190C
dword_15E08310 dw 0x23B1
dword_15E08314 dw 0x4ED
loc_15E08318:
PUSH {R0,R1,LR}
ADD R4, R0, 0
MOV R0, 1
B loc_15E0834E
loc_15E08320:
PUSH {R0,R1,LR}
ADD R4, R0, 0
MOV R0, 2
B loc_15E0834E
loc_15E08328:
PUSH {R0,R1,LR}
ADD R4, R0, 0
MOV R0, 3
B loc_15E0834E
loc_15E08330:
PUSH {R0,R1,LR}
ADD R4, R0, 0
MOV R0, 4
B loc_15E0834E
loc_15E08338:
PUSH {R0,R1,LR}
ADD R4, R0, 0
MOV R0, 5
B loc_15E0834E
loc_15E08340:
PUSH {R0,R1,LR}
ADD R4, R0, 0
MOV R0, 6
B loc_15E0834E
loc_15E08348:
PUSH {R0,R1,LR}
ADD R4, R0, 0
MOV R0, 0
loc_15E0834E:
BL sub_15E0837C
LDRB R1, [R7,1]
B loc_15E0836A
loc_15E08356:
PUSH {R0,R1,LR}
ADD R4, R0, 0
MOV R1, 1
B loc_15E08364
loc_15E0835E:
PUSH {R0,R1,LR}
ADD R4, R0, 0
MOV R1, 0
loc_15E08364:
BL sub_15E0837C
LDRB R0, [R7]
loc_15E0836A:
BL sub_15E083A8
ADD R0, R4, 0
BL sub_15E0846C
LDR R0, off_15E083DC
BL sub_15E08464
POP {R0,R1,PC}
sub_15E0837C:
PUSH {R0-R6,LR}
MOV R0, 0
PUSH {R0}
MOVL R3, 0x180
MOV R2, 1
adr R1, aMainmenustyle_
LDR R0, off_15E083D8
BL sub_15E0841C
ADD R5, R0, 0
MOV R2, 2
MOV R1, SP
BL sub_15E08424
ADD R0, R5, 0
BL sub_15E08434
MOV R7, SP
ADD SP, SP, 4
POP {R0-R6,PC}
align 4
sub_15E083A8:
var_28 = -0x28
var_27 = -0x27
PUSH {R0-R7,LR}
ADD R6, R0, 0
ADD R7, R1, 0
MOV R0, 0
PUSH {R0}
MOVL R3, 0x180
MOV R2, 2
adr R1, aMainmenustyle_
LDR R0, off_15E083D8
BL sub_15E0841C
ADD R5, R0, 0
MOV R1, SP
STRB R6, [R1,0x28+var_28]
STRB R7, [R1,0x28+var_27]
MOV R2, 2
BL sub_15E0842C
ADD R0, R5, 0
BL sub_15E08434
ADD SP, SP, 4
POP {R0-R7,PC}
off_15E083D8 dw 0x15A86E38 ;0x15B50370 ;aTpaSystemSetti "/tpa/system/settings"
off_15E083DC dw 0x15A7E424 ;0x159C1B68 ;aEss "NAP_ADDRESS"
aMainmenustyle_ du "MainMenuStyle.bin",0
sub_15E08404:
LDR R3, off_15E08408
BX R3
off_15E08408 dw ListMenu_SetItemStyle ;0x14127A54+1
sub_15E0840C:
LDR R3, off_15E08410
BX R3
off_15E08410 dw GUIObject_SoftKeys_SetAction ;0x140FF438+1
sub_15E08414:
LDR R3, off_15E08418
BX R3
off_15E08418 dw GUIObject_SoftKeys_SetText ;0x14397D0C+1
sub_15E0841C:
LDR R4, off_15E08420
BX R4
off_15E08420 dw _fopen ;0x14117C0C+1
sub_15E08424:
LDR R4, off_15E08428
BX R4
off_15E08428 dw fread ;0x141B9F14+1
sub_15E0842C:
LDR R4, off_15E08430
BX R4
off_15E08430 dw fwrite ;0x141B9AC8+1
sub_15E08434:
LDR R4, off_15E08438
BX R4
off_15E08438 dw fclose ;0x1438BB38+1
sub_15E0843C:
LDR R3, off_15E08440
BX R3
off_15E08440 dw GUIObject_SetStyle ;0x1445E0A0+1
sub_15E08444:
LDR R3, off_15E08448
BX R3
off_15E08448 dw GUIObject_SoftKeys_SetItemAsSubItem ;0x14398160+1
sub_15E0844C:
LDR R3, off_15E08450
BX R3
off_15E08450 dw GUIObject_SoftKeys_SetVisible ;0x140FF408+1
sub_15E08454:
LDR R3, off_15E08458
BX R3
off_15E08458 dw GUIObject_SoftKeys_SetInfoText ;0x1439876C+1
sub_15E0845C:
LDR R3, off_15E08460
BX R3
off_15E08460 dw GUIObject_SoftKeys_SetEnable ;0x1436A3FC+1
sub_15E08464:
LDR R3, off_15E08468
BX R3
off_15E08468 dw Shortcut_Run ;0x14477678+1
sub_15E0846C:
LDR R3, off_15E08470
BX R3
off_15E08470 dw FreeBook ;0x143DCA48+1
Marcadores