Código:
include "x.inc"
include "w760.lib.asm"
;W760 R3EF001
;Cambia el softkey derecho en el Standby por "GoTo Shortcut".
;Elementos: Bandeja de entrada, reproductor de música, alarmas, calendario, perfiles, Bluetooth
;Añadido icono en los elementos de la lista (idea Madfish)
;Añadido estado de alarma (Tiempo: Hora.Minutos) en la 2ndLinea del elemento de alarma
;Añadido estado de fecha (Fecha-Mes-Año) en la 2ndLinea del elemento de calendario
;Añadido Perfil activo en la 2ndLinea del elemento de Perfiles
;Añadido estado de Bluetooth (On-Off) en la 2ndLinea de elemento de Bluetooth
;Mejora de código
;v 1.5
;(c) farid
;(r) mobilefree.ru
;(p) josthyn05
org 0x10E2BCE8 ; 10D90824
DCD aGoto_shortcut_
org 0x10E2C66C ; 10D911A8
DCD 0xC47
org 0x10E2BCD8 ; 10D90814
DCD 0x11C5FBE4 ; 11BBBEF8
org 0x10E2C668 ; 10D911A4
DCD 0x26BB
org 0x11C285D8 ; 11B84794
DCD aGoto_shortcut_
DCD body+1
org 0x12841DF0
body:
PUSH {LR}
ADD R4, R0, 0
BL loc_1279F098
CMP R0, 0
BNE loc_1279F096
MOV R1, 0
ADD R0, R1, 0
BL loc_1279F450
POP {PC}
loc_1279F096:
POP {PC}
loc_1279F098:
LDR R3, off_1279F09C
BX R3
off_1279F09C dw 0x10E75B70+1 ; 10DDA6AC+1
loc_1279F0A0:
PUSH {R4,LR}
MOV R1, 0
MOV R3, 5
LSL R4, R0, 0
LDR R0, off_1279F0BC
MOV R2, 1
PUSH {R0,R1}
LSL R1, R4, 0
MOV R0, 0
MVN R0, R0
BL loc_1279F474
POP {R2-R4,PC}
NOP
off_1279F0BC dw aSwilib
dword_1279F0C0 dw 0x4770
loc_1279F0C4:
PUSH {R0-R2,R4-R7,LR}
LDR R5, [SP,0x20]
LSL R4, R3, 0
MOV R0, 0x20
BL loc_1279F0A0
LSL R6, R0, 0
MOV R2, 0x20
MOV R1, 0
BL loc_1279F484
MOV R1, 0
LDR R3, off_1279F164
MOV R0, 0
MVN R0, R0
PUSH {R0,R1}
LDR R1, off_1279F168
MOV R2, 0
LSL R0, R6, 0
BL loc_1279F48C
MOV R1, 0
LSL R0, R6, 0
BL loc_1279F49C
LSL R7, R0, 0
STR R7, [R6,0x18]
LDR R1, [SP,0xC]
BL loc_1279F4A4
LDR R1, [SP,8]
LSL R0, R7, 0
BL loc_1279F4AC
LDR R1, [SP,0x10]
LSL R0, R7, 0
BL loc_1279F4B4
MOV R1, 1
LSL R0, R7, 0
BL loc_1279F4BC
MOV R1, 2
LSL R0, R7, 0
BL loc_1279F4C4
MOV R1, 0
LSL R0, R7, 0
BL loc_1279F4CC
MOV R1, 3
LSL R0, R7, 0
BL loc_1279F4D4
MOV R1, 1
LSL R0, R7, 0
BL loc_1279F4DC
LSL R2, R4, 0
MOVL R1, 0xFC0
LSL R0, R7, 0
BL loc_1279F4E4
LDR R1, dword_1279F16C
LSL R2, R4, 0
LSL R0, R7, 0
BL loc_1279F4E4
LDR R1, dword_1279F170
LSL R2, R5, 0
LSL R0, R7, 0
BL loc_1279F4E4
LSL R0, R7, 0
BL loc_1279F4EC
ADD SP, SP, 0x14
POP {R4-R7,PC}
NOP
off_1279F164 dw aGotoshortcut_b
off_1279F168 dw dword_1279F0C0+1
dword_1279F16C dw 0xFAF
dword_1279F170 dw 0xFC2
loc_1279F174:
PUSH {LR}
BL loc_1279F4F4
POP {PC}
loc_1279F17C:
PUSH {R4,LR}
LSL R4, R0, 0
LDR R0, [R4,0x18]
BL loc_1279F4FC
CMP R0, 0
BNE loc_1279F18E
LDR R0, off_1279F1C4
B loc_1279F1B8
loc_1279F18E:
CMP R0, 1
BNE loc_1279F19A
MOV R0, 0x5D
BL loc_1279F50C
B loc_1279F1BC
loc_1279F19A:
CMP R0, 2
BNE loc_1279F1A2
LDR R0, off_1279F1C8
B loc_1279F1B8
loc_1279F1A2:
CMP R0, 3
BNE loc_1279F1AA
LDR R0, off_1279F1CC
B loc_1279F1B8
loc_1279F1AA:
CMP R0, 4
BNE loc_1279F1B2
LDR R0, off_1279F1D0
B loc_1279F1B8
loc_1279F1B2:
CMP R0, 5
BNE loc_1279F1BC
LDR R0, off_1279F1D4
loc_1279F1B8:
BL loc_1279F504
loc_1279F1BC:
LSL R0, R4, 0
BL loc_1279F4F4
POP {R4,PC}
off_1279F1C4 dw 0x11C26F44 ; 11B83100
off_1279F1C8 dw 0x11BC5C20 ; 11B1E998
off_1279F1CC dw 0x11C26CF4 ; 11B82EB0
off_1279F1D0 dw 0x11C25534 ; 11B816F0
off_1279F1D4 dw 0x11BE3BF8 ; 11B3C964
loc_1279F1D8:
PUSH {R4-R6,LR}
SUB SP, SP, 0x44
MOV R6, 0
loc_1279F1DE:
MOV R4, SP
LSL R1, R6, 0
ADD R0, R4, R6
BL loc_1279F514
ADD R5, SP, 0x30
LSL R1, R6, 0
LSL R0, R6, 2
ADD R0, R5, R0
BL loc_1279F51C
ADD R6, R6, 1
CMP R6, 5
BLT loc_1279F1DE
LDRB R0, [R4]
LDR R6, off_1279F290
CMP R0, 1
BNE loc_1279F20E
LDRB R0, [R5,1]
LSL R2, R6, 0
MOV R1, 0x13
PUSH {R0}
LDRB R3, [R5]
B loc_1279F254
loc_1279F20E:
LDRB R0, [R4,1]
CMP R0, 1
BNE loc_1279F220
LDRB R0, [R5,5]
LSL R2, R6, 0
MOV R1, 0x13
PUSH {R0}
LDRB R3, [R5,4]
B loc_1279F254
loc_1279F220:
LDRB R0, [R4,2]
CMP R0, 1
BNE loc_1279F232
LDRB R0, [R5,9]
LSL R2, R6, 0
MOV R1, 0x13
PUSH {R0}
LDRB R3, [R5,8]
B loc_1279F254
loc_1279F232:
LDRB R0, [R4,3]
CMP R0, 1
BNE loc_1279F244
LDRB R0, [R5,0xD]
LSL R2, R6, 0
MOV R1, 0x13
PUSH {R0}
LDRB R3, [R5,0xC]
B loc_1279F254
loc_1279F244:
LDRB R0, [R4,4]
CMP R0, 1
BNE loc_1279F25C
LDRB R0, [R5,0x11]
LSL R2, R6, 0
MOV R1, 0x13
PUSH {R0}
LDRB R3, [R5,0x10]
loc_1279F254:
ADD R0, SP, 0xC
BL loc_1279F524
ADD SP, SP, 4
loc_1279F25C:
LDRB R0, [R4]
LDR R2, dword_1279F44C
CMP R0, 1
BEQ loc_1279F284
LDRB R0, [R4,1]
CMP R0, 1
BEQ loc_1279F284
LDRB R0, [R4,2]
CMP R0, 1
BEQ loc_1279F284
LDRB R0, [R4,3]
CMP R0, 1
BEQ loc_1279F284
LDRB R0, [R4,4]
CMP R0, 1
BEQ loc_1279F284
MOV R1, 0
ADD R6, 0x20
LSL R0, R6, 0
B loc_1279F288
loc_1279F284:
MOV R1, 0
ADD R0, SP, 8
loc_1279F288:
BL loc_1279F534
ADD SP, SP, 0x44
POP {R4-R6,PC}
off_1279F290 dw aTime02d02d
loc_1279F294:
PUSH {LR}
SUB SP, SP, 0x108
MOV R1, SP
MOV R0, 0
BL loc_1279F53C
MOV R2, SP
LDRH R1, [R2]
LDRB R0, [R2,2]
PUSH {R0,R1}
LDRB R3, [R2,3]
LDR R2, off_1279F2C4
ADD R0, SP, 0x10
MOV R1, 0x7F
BL loc_1279F524
LDR R2, dword_1279F44C
MOV R1, 0
ADD R0, SP, 0x10
BL loc_1279F534
ADD SP, SP, 0x110
POP {PC}
NOP
off_1279F2C4 dw a02d02d02d
loc_1279F2C8:
PUSH {R4,LR}
SUB SP, SP, 0xA0
ADD R0, SP, 0x84
LDR R4, off_1279F304
MOV R2, 0x1C
loc_1279F2D2:
SUB R2, R2, 4
LDR R1, [R4,R2]
STR R1, [R0,R2]
BNE loc_1279F2D2
MOV R1, SP
MOV R0, 0
BL loc_1279F544
LDR R0, [SP]
ADD R1, SP, 0x84
LSL R0, R0, 2
LDR R3, [R1,R0]
ADD R4, 0x1C
LSL R2, R4, 0
MOV R1, 0x3F
ADD R0, SP, 4
BL loc_1279F524
LDR R2, dword_1279F44C
MOV R1, 0
ADD R0, SP, 4
BL loc_1279F534
ADD SP, SP, 0xA0
POP {R4,PC}
off_1279F304 dw off_1279F630
loc_1279F308:
LDR R0, off_1279F318
PUSH {LR}
BL loc_1279F54C
CMP R0, 0
BEQ loc_1279F316
MOV R0, 1
loc_1279F316:
POP {PC}
off_1279F318 dw IsAudioPlayerBook+1
loc_1279F31C:
PUSH {R4-R6,LR}
LSL R4, R0, 0
BL loc_1279F554
LSL R0, R4, 0
BL loc_1279F55C
CMP R0, 1
BNE loc_1279F412
LDR R5, off_1279F41C
LDR R6, dword_1279F44C
LSL R0, R4, 0
BL loc_1279F564
CMP R0, 5
BHI loc_1279F412
adr R1, loc_1279F344
LDRB R1, [R1,R0]
ADD PC, R1
NOP
loc_1279F344:
SUB R6, R0, 0
STR R2, [R1,0x24]
STR R2, [SP,0x1E8]
LDR R2, dword_1279F420
MOV R1, 0
LSL R0, R4, 0
BL loc_1279F56C
LDR R1, dword_1279F424
LSL R0, R4, 0
BL loc_1279F574
LSL R2, R6, 0
MOV R1, 0
B loc_1279F404
LDR R2, dword_1279F428
MOV R1, 0
LSL R0, R4, 0
BL loc_1279F56C
LDR R1, dword_1279F418
ADD R1, R1, 0
LSL R0, R4, 0
BL loc_1279F574
BL loc_1279F308
CMP R0, 1
BNE loc_1279F386
LSL R2, R6, 0
MOV R1, 0
ADD R5, 0x14
B loc_1279F404
loc_1279F386:
LSL R2, R6, 0
MOV R1, 0
ADD R5, 0x38
B loc_1279F404
LDR R2, dword_1279F42C
MOV R1, 0
LSL R0, R4, 0
BL loc_1279F56C
LDR R1, dword_1279F430
LSL R0, R4, 0
BL loc_1279F574
BL loc_1279F1D8
B loc_1279F40A
LDR R2, dword_1279F434
MOV R1, 0
LSL R0, R4, 0
BL loc_1279F56C
LDR R1, dword_1279F438
LSL R0, R4, 0
BL loc_1279F574
BL loc_1279F294
B loc_1279F40A
LDR R2, dword_1279F43C
MOV R1, 0
LSL R0, R4, 0
BL loc_1279F56C
LDR R1, dword_1279F440
LSL R0, R4, 0
BL loc_1279F574
BL loc_1279F2C8
B loc_1279F40A
LDR R2, dword_1279F444
MOV R1, 0
LSL R0, R4, 0
BL loc_1279F56C
LDR R1, dword_1279F448
LSL R0, R4, 0
BL loc_1279F574
BL loc_1279F584
CMP R0, 0
BNE loc_1279F3FE
LSL R2, R6, 0
MOV R1, 0
ADD R5, 0x64
LSL R0, R5, 0
BL loc_1279F534
B loc_1279F40A
loc_1279F3FE:
LSL R2, R6, 0
MOV R1, 0
ADD R5, 0x7C
loc_1279F404:
LSL R0, R5, 0
BL loc_1279F534
loc_1279F40A:
LSL R1, R0, 0
LSL R0, R4, 0
BL loc_1279F57C
loc_1279F412:
MOV R0, 1
POP {R4-R6,PC}
NOP
dword_1279F418 dw 0x6C2
off_1279F41C dw aViewSms
dword_1279F420 dw 0xEB15
dword_1279F424 dw 0x1384
dword_1279F428 dw 0xEBB7
dword_1279F42C dw 0xF43C
dword_1279F430 dw 0x1408
dword_1279F434 dw 0xF886
dword_1279F438 dw 0x1301
dword_1279F43C dw 0xF398
dword_1279F440 dw 0x13BE
dword_1279F444 dw 0xF3B3
dword_1279F448 dw 0x12FB
dword_1279F44C dw 0xFFFF
loc_1279F450:
LDR R0, off_1279F464
LDR R3, off_1279F468
LDR R2, off_1279F46C
LDR R1, dword_1279F470
PUSH {LR}
PUSH {R0}
MOV R0, 6
BL loc_1279F0C4
POP {R3,PC}
off_1279F464 dw loc_1279F17C+1
off_1279F468 dw loc_1279F174+1
off_1279F46C dw loc_1279F31C+1
dword_1279F470 dw 0xC47
loc_1279F474:
PUSH {R3}
LDR R3, off_1279F480
MOV R12, R3
POP {R3}
BX R12
NOP
off_1279F480 dw 0x10B4F360+1 ; 10AB084C+1
loc_1279F484:
LDR R3, dword_1279F488
BX R3
dword_1279F488 dw memset
loc_1279F48C:
PUSH {R3}
LDR R3, off_1279F498
MOV R12, R3
POP {R3}
BX R12
NOP
off_1279F498 dw CreateBook+1
loc_1279F49C:
LDR R3, off_1279F4A0
BX R3
off_1279F4A0 dw CreateListMenu+1
loc_1279F4A4:
LDR R3, off_1279F4A8
BX R3
off_1279F4A8 dw GUIObject_SetTitleText+1
loc_1279F4AC:
LDR R3, off_1279F4B0
BX R3
off_1279F4B0 dw ListMenu_SetItemCount+1
loc_1279F4B4:
LDR R3, off_1279F4B8
BX R3
off_1279F4B8 dw ListMenu_SetOnMessage+1
loc_1279F4BC:
LDR R3, off_1279F4C0
BX R3
off_1279F4C0 dw ListMenu_SetHotkeyMode+1
loc_1279F4C4:
LDR R3, off_1279F4C8
BX R3
off_1279F4C8 dw GUIObject_SetStyle+1
loc_1279F4CC:
LDR R3, off_1279F4D0
BX R3
off_1279F4D0 dw ListMenu_SetCursorToItem+1
loc_1279F4D4:
LDR R3, off_1279F4D8
BX R3
off_1279F4D8 dw ListMenu_SetItemStyle+1
loc_1279F4DC:
LDR R3, off_1279F4E0
BX R3
off_1279F4E0 dw ListMenu_SetItemTextScroll+1
loc_1279F4E4:
LDR R3, off_1279F4E8
BX R3
off_1279F4E8 dw GUIObject_SoftKeys_SetAction+1
loc_1279F4EC:
LDR R3, off_1279F4F0
BX R3
off_1279F4F0 dw GUIObject_Show+1
loc_1279F4F4:
LDR R3, off_1279F4F8
BX R3
off_1279F4F8 dw FreeBook+1
loc_1279F4FC:
LDR R3, off_1279F500
BX R3
off_1279F500 dw ListMenu_GetSelectedItem+1
loc_1279F504:
LDR R3, off_1279F508
BX R3
off_1279F508 dw Shortcut_Run+1
loc_1279F50C:
LDR R3, off_1279F510
BX R3
off_1279F510 dw UI_Event+1
loc_1279F514:
LDR R3, off_1279F518
BX R3
off_1279F518 dw Alarm_GetState+1
loc_1279F51C:
LDR R3, off_1279F520
BX R3
off_1279F520 dw Alarm_GetTIME+1
loc_1279F524:
PUSH {R3}
LDR R3, off_1279F530
MOV R12, R3
POP {R3}
BX R12
NOP
off_1279F530 dw snwprintf+1
loc_1279F534:
LDR R3, off_1279F538
BX R3
off_1279F538 dw Str2ID+1
loc_1279F53C:
LDR R3, off_1279F540
BX R3
off_1279F540 dw REQUEST_DATEANDTIME_GET+1
loc_1279F544:
LDR R3, off_1279F548
BX R3
off_1279F548 dw REQUEST_PROFILE_GETACTIVEPROFILE+1
loc_1279F54C:
LDR R3, off_1279F550
BX R3
off_1279F550 dw FindBook+1
loc_1279F554:
LDR R3, off_1279F558
BX R3
off_1279F558 dw GUIonMessage_GetBook+1
loc_1279F55C:
LDR R3, off_1279F560
BX R3
off_1279F560 dw GUIonMessage_GetMsg+1
loc_1279F564:
LDR R3, off_1279F568
BX R3
off_1279F568 dw GUIonMessage_GetCreatedItemIndex+1
loc_1279F56C:
LDR R3, off_1279F570
BX R3
off_1279F570 dw GUIonMessage_SetMenuItemIcon+1
loc_1279F574:
LDR R3, off_1279F578
BX R3
off_1279F578 dw GUIonMessage_SetMenuItemText+1
loc_1279F57C:
LDR R3, off_1279F580
BX R3
off_1279F580 dw GUIonMessage_SetMenuItemSecondLineText+1
loc_1279F584:
LDR R3, off_1279F588
BX R3
off_1279F588 dw Bluetooth_GetState+1
aSwilib db "SwiLib",0
db 0
aGotoshortcut_b db "GotoShortcut_Book",0
db 0
db 0
aTime02d02d du "Time: %02d:%02d",0
aOff du "Off",0
a02d02d02d du "%02d-%02d-%02d",0
db 0
db 0
aNormal db "Normal",0
db 0
aMeeting db "Meeting",0
aInCar db "In Car",0
db 0
aOutdoors db "Outdoors",0
db 0
db 0
db 0
aHandsfree db "Handsfree",0
db 0
db 0
aHome db "Home",0
db 0
db 0
db 0
aOffice db "Office",0
db 0
off_1279F630 dw aNormal
dw aMeeting
dw aInCar
dw aOutdoors
dw aHandsfree
dw aHome
dw aOffice
dw 0x730025
dw 0
aViewSms du "View SMS",0
db 0
db 0
aMusicIsPlaying du "Music is playing",0
db 0
db 0
aMusicIsNotPlay du "Music is not playing",0
db 0
db 0
aTurnOnBt du "Turn on BT",0
db 0
db 0
aTurnOffBt du "Turn off BT",0
aGoto_shortcut_ du "Goto_Shortcut_Id",0
Marcadores