Respuesta: Archivos Assembling (ASM)
Que tal, aqui les dejo otro parche, este agrega iconos a la prueba de servicio del Microfono, espero y les ayude a aprender, intente comentar algunas lineas.
Código:
;W580 SW-R8BE001
;Add icon in the test of microphone (Service > Service Tests > Microphone)
;(c) anarkes
include "x.inc"
include "./lib/W580_R8BE001.asm"
;Agregar el primer icono SR_RECORDING_ANIM_00_ICN [HOOK]
org 0x4501D8D0
LDR R1, hook_0
BX R1
hook_0 DCD newcode+1
next:
;Agregar el segundo icono FR_INPUT_GUI_LISTENING_VOLUME_ICN [HOOK]
org 0x4501D9CA
LDR R1, hook_1
BX R1
NOP
align 4
hook_1 DCD second+1
next2:
;Espacio libre utilizado
org 0x45CFB0BE
newcode:
ADD R1, R0, 0 ;Titulo (2do parametro)
LDR R0, [R4,0x70] ;GUI* (1er parametro)
BL ProgressBar_SetText_0 ;Function
LDR R1, icon_0 ;u16 icon_id (2do parametro)
LDR R0, [R4,0x70] ;GUI* (1er parametro)
BL ProgressBar_SetIcon_0 ;Function
LDR R1, next_0
BX R1 ;Regresa al offset en que nos quedamos al modificar el MAIN
second:
LDR R0, [R4,0x70] ;GUI*
MOV R1, 0 ;BOOL
BL ProgressBar_SetBarDisabled_0
LDR R1, icon_1 ;u16 icon_id
LDR R0, [R4,0x70] ;GUI*
BL ProgressBar_SetIcon_0
LDR R0, LNG_0
LDR R1, next_1
BX R1
ProgressBar_SetIcon_0:
LDR R3, func_0
BX R3
ProgressBar_SetText_0:
LDR R3, func_1
BX R3
ProgressBar_SetBarDisabled_0:
LDR R3, func_2
BX R3
PlaySystemSound_0:
LDR R3, func_3
BX R3
align 4
LNG_0 DCD 0x1966 ;Microphone
next_0 DCD next+1
next_1 DCD next2+1
func_0 DCD ProgressBar_SetIcon+1
func_1 DCD ProgressBar_SetText+1
func_2 DCD ProgressBar_SetBarDisabled+1
func_3 DCD PlaySystemSound+1
icon_0 DCD 0xF329 ;SR_RECORDING_ANIM_00_ICN
icon_1 DCD 0xEB42 ;FR_INPUT_GUI_LISTENING_VOLUME_ICN
Respuesta: Archivos Assembling (ASM)
hola este es un asm del c905 y es del parche que agrega iconos en los elementos de Contactos " Mi estado "y" Nuevo Contacto ", tambien en iconos individuales " de contacto " Guía de la SIM
Código:
include "x.inc"
include "c905_r1fa035.lib.asm"
;----hooks----
org 0x1449D8B6
LDR R3, off_1449D8BC
BX R3
DCB 0xFF
DCB 0xFF
off_1449D8BC DCD loc_15E07594+1
loc_1449D8C0:
org 0x1449D8C2
LDR R3, off_1449D8C8
BX R3
DCB 0xFF
DCB 0xFF
off_1449D8C8 DCD loc_15E0757C+1
loc_1449D8CC:
org 0x1449D926
NOP
LDR R3, off_1449D92C
BX R3
off_1449D92C DCD loc_15E07560+1
NOP
NOP
NOP
loc_1449D936:
;----newcode----
org 0x15E07560
loc_15E07560:
BNE loc_15E07572
LDR R2, dword_15E075DC
ADD R1, R7, 0
ADD R0, R4, 0
BL sub_15E075B2
MOVL R1, 0xDD0
B loc_15E075B6
loc_15E07572:
CMP R0, 3
BNE loc_15E075BA
MOV R1, 1
LDR R3, off_15E075CC
BX R3
loc_15E0757C:
LDR R2, dword_15E075E4
ADD R1, R7, 0
ADD R0, R4, 0
BL sub_15E075B2
MOVL R1, 0xDF0
ADD R0, R4, 0
BL sub_15E075AE
LDR R3, off_15E075D0
BX R3
loc_15E07594:
LDR R2, dword_15E075E0
ADD R1, R7, 0
ADD R0, R4, 0
BL sub_15E075B2
MOVL R1, 0xDF0
ADD R0, R4, 0
BL sub_15E075AE
MOV R2, 3
LDR R3, off_15E075C0
BX R3
sub_15E075AE:
LDR R3, off_15E075C4
BX R3
sub_15E075B2:
LDR R3, off_15E075C8
BX R3
loc_15E075B6:
LDR R3, off_15E075D4
BX R3
loc_15E075BA:
LDR R3, off_15E075D8
BX R3
align 4
off_15E075C0 dw loc_1449D8C0+1
off_15E075C4 dw GUIonMessage_SetMenuItemText
off_15E075C8 dw GUIonMessage_SetMenuItemIcon
off_15E075CC dw loc_1449D936+1
off_15E075D0 dw loc_1449D8CC+1
off_15E075D4 dw 0x1449D91C+1
off_15E075D8 dw 0x1449D93C+1
dword_15E075DC dw 0xF8D3
dword_15E075E0 dw 0x3D8
dword_15E075E4 dw 0xF7C1
Respuesta: Archivos Assembling (ASM)
este parche agrega el menu servicio en tab general de ajustes
deben agregar esta linea en el menu.ml
Código:
;w580 SW-R6CA001_Orange portado desde w580 R8BE001
;Show service menu on main menu
;(!) Need add this line to menu.ml "ServiceMenu_Id"
;???????? ????????? ???? ? ??????
;(!) ?????????? ????????????? menu.ml
;© K790alex
;Original idea by yener90
;(p) michel1907
include "x.inc"
body = 0x45C12196;0x45DACD46
org 0x45BCEABC;0x45BCCC10
dw aServicemenu_id
dw loc_45DACD46+1
org body
loc_45DACD46:
PUSH {LR}
LDR R1, off_45DACD5C
BLX R1
CMP R0, 0
BNE loc_45DACD56
MOV R0, 1
LDR R1, off_45DACD60
BLX R1
loc_45DACD56:
POP {PC}
NOP
align 4
off_45DACD5C dw 0x453B28D8+1;0x4538523C+1
off_45DACD60 dw 0x4504644C+1;0x4501A454+1
aServicemenu_id du "ServiceMenu_Id",0
Respuesta: Archivos Assembling (ASM)
Les regalo 2.
Código:
include "x.inc"
include "LIBs/W610.asm"
;W610 SW-R6CA001
;Fix for BookManager
;When was choosed KEY_TASK (0x1F) in Short Press mode
;Dont show activity menu when book manager is actived
;© K790Alex
Find_RightNowBook = 0x453B6660
org 0x453B62E6
LDR R0, off
BX R0
NOP
off DCD NewCode+1
Return:
org 0x45DD4550
NewCode:
BL Find_BookManager
CMP R0, 0
BNE Fin
LDR R1, off_Find
BLX R1
CMP R0, 0
BNE Fin
LDR R0, Ret0
BX R0
Ret0 DCD Return+1
Fin:
LDR R0, Ret1
BX R0
Ret1 DCD 0x453B62FC+1
Find_BookManager:
PUSH {LR}
adr R0, isBookManager
ADD R0, 1
LDR R1, off_2
BLX R1
POP {PC}
isBookManager:
PUSH {LR}
adr R1, aBookMan
LDR R0, [R0]
LDR R0, [R0,4]
LDR R2, off_3
BLX R2
CMP R0, 0
BNE NoActivo
MOV R0, 1
POP {PC}
NoActivo:
MOV R0, 0
POP {PC}
off_Find DCD Find_RightNowBook+1
off_2 DCD FindBook+1
off_3 DCD strcmp+1
aBookMan DCB "BookManager",0
Código:
include "x.inc"
include "LIBs/W610.asm"
include "LIBs/SUB_W610.asm"
;W610 SW-R6CA001
;Change title in message folders
;Added count in second line
;Added Icon in title
;Show in full screen
;© K790Alex
;Original idea by ilmir5555
GuiObject_SetSecondlineHeaderText = 0x45390934
org 0x450695D0
LDR R2, off_
BX R2
off_ DCD NewCode+1
Return:
LDRH R1, [R6]
org 0x45AC1620
NewCode:
MOV R1, 5
LDR R3, off_SetTitleType
BLX R3
ADD R1, R6, 0
LDR R0, [R5,0x18]
LDR R3, off_SetTitle
BLX R3
MOV R6, SP
BL GetSecondTitleID
ADD R1, R0, 0
LDR R0, [R5,0x18]
LDR R3, off_SetTitle2
BLX R3
MOV R1, 4
LDR R0, [R5,0x18]
LDR R3, off_SetStyle
BLX R3
MOVL R1, 0xEC00
ADD R1, 0x84
LDR R0, [R5,0x18]
LDR R3, off_SetTitleIcon
BLX R3
MOV R1, 3
LDR R0, [R5,0x18]
LDR R3, off_SetHoteyMode
BLX R3
LDR R2, Ret
BX R2
; NOP
Ret DCD Return+1
off_SetTitleType DCD GuiObject_SetTitleType+1
off_SetTitle DCD GuiObject_SetTitleText+1
off_SetTitle2 DCD GuiObject_SetSecondlineHeaderText+1
off_SetStyle DCD GuiObject_SetStyle+1
off_SetTitleIcon DCD GuiObject_SetTitleIcon+1
off_SetHoteyMode DCD ListMenu_SetHotkeyMode+1
; ---------------------------------------------------------------------------
GetSecondTitleID:
PUSH {R1-R3,LR}
MOVL R1, 0xD00 ;Elementos
STR R1, [SP,8]
MOVL R1, 0x2200
ADD R1, 0x9A
STR R1, [SP,4]
LDRH R0, [R6]
LDR R3, off_Int2Str
BLX R3
STR R0, [SP]
MOV R0, SP
MOV R1, 5
MOV R2, 3
LDR R3, off_Str2ID
BLX R3
POP {R1-R3,PC}
off_Int2Str DCD int2strID+1
off_Str2ID DCD Str2ID+1
; ---------------------------------------------------------------------------
PD: Encuentran las funciones en la libreria.
Respuesta: Archivos Assembling (ASM)
offset base W715 R1GA030, portado al W760 R3EF001
Código:
include "x.inc"
include "w760.lib.asm"
;W715 R1GA030 GEN
;VIDEO_SHORTCUTS
;Add menu Video shortcuts in video player(Media Center)
;Add Info in item Video shortcuts(Select shortcut in video Player)
;Add item "Radio" in the options->Video shortcuts in video player
;Add item "VideoDJ" in the options->Video shortcuts in video player
;Add item "Walkman" in the options->Video shortcuts in video player
;Add item "Filemanager" in the options->Video shortcuts in video player
;Not need edit .Lng
;Video shortcuts->Radio
;Video shortcuts->VideoDJ
;Video shortcuts->Walkman
;Video shortcuts->Filemanager
;(c) Antoniomun
;(p) josthyn05
org 0x10EAE54C ; 14D177EA
LDR R3, off_14D177F0
BLX R3
off_14D177F0 DCD body+1
org 0x12840270
body:
LDR R2, off_15DC7EA4
LDR R1, dword_15DC7F70
LDR R0, [R4,0x24]
BL loc_15DC7E88
LDR R0, [R4,0x24]
MOV R2, 0
MOV R1, 0xB
BL loc_15DC7E88
LDR R0, [R4,0x24]
BL loc_15DC7E38
MOV R1, 0xB
BL loc_15DC7E94
LDR R0, [R4,0x24]
BL loc_15DC7E48
MOV R1, 0xB
BL loc_15DC7E8C
LDR R0, [R4,0x24]
MOV R1, 0xB
MOV R2, 0xC
BL loc_15DC7E80
LDR R2, dword_15DC7F74
LDR R0, [R4,0x24]
MOV R1, 0xC
BL loc_15DC7E94
LDR R2, off_15DC7F1C
LDR R0, [R4,0x24]
MOV R1, 0xC
BL loc_15DC7E88
LDR R0, [R4,0x24]
MOV R1, 0xB
MOV R2, 0xD
BL loc_15DC7E80
LDR R2, dword_15DC7F78
LDR R0, [R4,0x24]
MOV R1, 0xD
BL loc_15DC7E94
LDR R2, off_15DC7F24
LDR R0, [R4,0x24]
MOV R1, 0xD
BL loc_15DC7E88
LDR R0, [R4,0x24]
MOV R1, 0xB
MOV R2, 0xE
BL loc_15DC7E80
LDR R2, dword_15DC7F7C
LDR R0, [R4,0x24]
MOV R1, 0xE
BL loc_15DC7E94
LDR R2, off_15DC7F38
LDR R0, [R4,0x24]
MOV R1, 0xE
BL loc_15DC7E88
LDR R0, [R4,0x24]
MOV R1, 0xB
MOV R2, 0xF
BL loc_15DC7E80
LDR R2, dword_15DC7F80
LDR R0, [R4,0x24]
MOV R1, 0xF
BL loc_15DC7E94
LDR R2, off_15DC7F54
LDR R0, [R4,0x24]
MOV R1, 0xF
BL loc_15DC7E88
LDR R3, off_15DC7E98
BX R3
loc_15DC7E38:
PUSH {R0,R1,R3-R7,LR}
adr R0, aVideoShortcuts
MOV R1, 0
LDR R2, dword_15DC7EB8
BL loc_15DC7E84
ADD R2, R0, 0
POP {R0,R1,R3-R7,PC}
loc_15DC7E48:
PUSH {R0,R1,R3-R7,LR}
adr R0, aSelectShortcut
MOV R1, 0
LDR R2, dword_15DC7EB8
BL loc_15DC7E84
ADD R2, R0, 0
POP {R0,R1,R3-R7,PC}
loc_15DC7E58:
PUSH {R0-R7,LR}
LDR R0, off_15DC7F20
BL loc_15DC7E90
POP {R0-R7,PC}
loc_15DC7E62:
PUSH {R0-R7,LR}
adr R0, aVideodj
BL loc_15DC7E90
POP {R0-R7,PC}
loc_15DC7E6C:
PUSH {R0-R7,LR}
adr R0, aMediaplayer
BL loc_15DC7E90
POP {R0-R7,PC}
loc_15DC7E76:
PUSH {R0-R7,LR}
adr R0, aFilemanager
BL loc_15DC7E90
POP {R0-R7,PC}
loc_15DC7E80:
LDR R3, off_15DC7E9C
BX R3
loc_15DC7E84:
LDR R3, off_15DC7EA0
BX R3
loc_15DC7E88:
LDR R3, off_15DC7EA8
BX R3
loc_15DC7E8C:
LDR R3, off_15DC7EB4
BX R3
loc_15DC7E90:
LDR R3, off_15DC7EAC
BX R3
loc_15DC7E94:
LDR R3, off_15DC7EB0
BX R3
off_15DC7E98 dw 0x10EAE556+1 ; 14D177F4+1
off_15DC7E9C dw GUIObject_SoftKeys_SetItemAsSubItem+1
off_15DC7EA0 dw Str2ID+1
off_15DC7EA4 dw 0x10EAE5FC+1 ; 15545909
off_15DC7EA8 dw GUIObject_SoftKeys_SetAction+1
off_15DC7EAC dw Shortcut_Run+1
off_15DC7EB0 dw GUIObject_SoftKeys_SetText+1
off_15DC7EB4 dw GUIObject_SoftKeys_SetInfoText+1
dword_15DC7EB8 dw 0xFFFF
aVideoShortcuts du "Video Shortcuts",0
aSelectShortcut du "Select shortcut in video Player",0
off_15DC7F1C dw loc_15DC7E58+1
off_15DC7F20 dw 0x11C27BC0 ; 15BA08F0
off_15DC7F24 dw loc_15DC7E62+1
aVideodj du "VideoDJ",0
off_15DC7F38 dw loc_15DC7E6C+1
aMediaplayer du "MediaPlayer",0
off_15DC7F54 dw loc_15DC7E76+1
aFilemanager du "FileManager",0
dword_15DC7F70 dw 0xFB2
dword_15DC7F74 dw 0xB8F ; 93E
dword_15DC7F78 dw 0x1423 ; 1253
dword_15DC7F7C dw 0x141A ; 1408
dword_15DC7F80 dw 0x674 ; 5AD
Respuesta: Archivos Assembling (ASM)
Código:
include "x.inc"
include "c510_r1ha035.lib.asm"
;C510 SW-R1HA035
;Change the display style IMEI
;Edit the label lng = 0x285F Series
;v.2
;(c) Juhu07
;(p) kevinbgp
;pAtChFiLe=/boot/phone_app.cxc
;-----hook-----
org 0x1554EC4C
LDR R2, off_1554EC50
BLX R2
off_1554EC50 dw loc_15D1FFA0+1
;-----newcode-----
org 0x15D1FFA0
loc_15D1FFA0:
LDR R0, [R4,0x20]
MOV R1, 3
BL sub_15D1FFE0
LDR R1, dword_15D1FFC4
LDR R0, [R4,0x20]
BL sub_15D1FFD8
LDR R1, dword_15D1FFC8
LDR R0, [R4,0x20]
BL sub_15D1FFE8
LDR R0, [R4,0x20]
MOV R1, 4
BL sub_15D1FFD0
LDR R0, off_15D1FFCC
BX R0
dword_15D1FFC4 dw 0x285F ;etiqueta del ing.
dword_15D1FFC8 dw 0x24D
off_15D1FFCC dw 0x1554EC56+1 ;loc
sub_15D1FFD0:
LDR R3, off_15D1FFD4
BX R3
off_15D1FFD4 dw GUIObject_SetStyle
sub_15D1FFD8:
LDR R3, off_15D1FFDC
BX R3
off_15D1FFDC dw GUIObject_SetTitleText
sub_15D1FFE0:
LDR R3, off_15D1FFE4
BX R3
off_15D1FFE4 dw GUIObject_SetTitleType
sub_15D1FFE8:
LDR R3, off_15D1FFEC
BX R3
off_15D1FFEC dw GUIObject_SetTitleIcon
Respuesta: Archivos Assembling (ASM)
Este es un parche que cree recientemente, y no dejemos de aportar
Código:
;W580 SW-R8BE001
;Agrega el numero de Dispositivos en Bluetooth en el titulo, tambien
;puede seleccionar los dispositivos con las teclas numericas
;(!) Usted puede seleccionar si ver el titulo en una linea o en 2 lineas
;(c)anarkes
;Original Idea by DaRkMaN
include "x.inc"
include "./lib/W580_R8BE001.asm"
org 0x44D7D7A0
LDR R3, hook_0
BLX R3
B return_0
NOP
align 4
hook_0 DCD newcode+1
NOP
NOP
NOP
return_0:
org 0x45CFC9C0
newcode:
PUSH {LR}
MOV R1, 1
LDR R0, [R6]
BL ListMenu_SetHotkeyMode_0
MOV R0, 0x7C
LDRB R1, [R4,R0]
LDR R0, [R6]
BL ListMenu_SetItemCount_0
ADR R0, SetTilte
LDRB R0, [R0]
CMP R0, 1
BEQ TwoLines
BL MakeTitle
ADD R1, R0, 0
LDR R0, [R6]
BL GUIObject_SetTitleText_0
POP {PC}
TwoLines:
ADD R1, R7, 0
LDR R0, [R6]
BL GUIObject_SetTitleText_0
LDR R0, [R6]
MOV R1, 5
BL GUIObject_SetTitleType_0
LDR R0, [R6]
BL ListMenu_GetItemCount_0
BL int2strID_0
ADD R1, R0, 0
LDR R0, [R6]
BL GUIObject_SetSecondRowTitleText_0
POP {PC}
MakeTitle:
PUSH {R1-R3,LR}
LDR R0, [R6]
BL ListMenu_GetItemCount_0
BL int2strID_0
STR R0, [SP, 8]
STR R7, [SP]
MOV R2, 2
MOV R1, 6
ADR R0, two
BL Str2ID_0
STR R0, [SP, 4]
MOV R2, 3
MOV R1, 5
MOV R0, SP
BL Str2ID_0
POP {R1-R3,PC}
ListMenu_GetItemCount_0:
LDR R3, func_0
BX R3
int2strID_0:
LDR R3, func_1
BX R3
GUIObject_SetTitleText_0:
LDR R3, func_2
BX R3
Str2ID_0:
LDR R3, func_3
BX R3
ListMenu_SetItemCount_0:
LDR R3, func_4
BX R3
GUIObject_SetTitleType_0:
LDR R3, func_5
BX R3
GUIObject_SetSecondRowTitleText_0:
LDR R3, func_6
BX R3
ListMenu_SetHotkeyMode_0:
LDR R3, func_7
BX R3
NOP
align 4
func_0 DCD ListMenu_GetItemCount+1
func_1 DCD int2strID+1
func_2 DCD GUIObject_SetTitleText+1
func_3 DCD Str2ID+1
func_4 DCD ListMenu_SetItemCount+1
func_5 DCD GUIObject_SetTitleType+1
func_6 DCD GUIObject_SetSecondRowTitleText+1
func_7 DCD ListMenu_SetHotkeyMode+1
two DCB ": ",0
align 4
SetTilte DCB 1 ;(0 = Only 1 line in title, 1 = Two Lines in title)
Respuesta: Archivos Assembling (ASM)
4ta pestaña del administrador de archivos para el w705 031
Código:
;W705 R1GA031
;pAtChFiLe =/boot/phone_app.cxc
;Copying / moving files in any folder
;Added 4 tab in File Manager, which includes folders tpa, system, ifs, boot, sys
;Ability to copy/move to tpa and ifs folders
;Removed restrictions on copying of protected files
;Removed restrictions on the transfer on Tues unknown files
;Ability to rename a jar and jad files
; v. 1
;© IronMaster
;(p) albertnet3 and Cr@cShoT
;(ASM) myrzeug
include "x.inc"
org 0x157BB9D2 ;157BB9E2
MOV R1, 4
org 0x157BB9EA ;157BB9FA
MOV R1, 3
org 0x157BBF58 ;157BBF68
PUSH {R0,R4-R7,LR}
org 0x157BBFDE ;157BBFEE
ADD R1, R6, 0
ADD R0, R4, 0
BL 0x158D7CEC ;0x158D7CFC
org 0x157BC088 ;157BC098
ADD R1, R6, 0
ADD R0, R4, 0
BL 0x158D7CEC ;0x158D7CFC
org 0x157BC0DC ;157BC0EC
LDR R0, off_112E1C38
BX R0
off_112E1C38 DCD loc_126E5BF8+1
org 0x157BC1E8 ;157BC1F8
LSL R0, R0, 2
adr R1, off_112E1D5C
LDR R1, [R1,R0]
ADD R0, R4, 0
BL 0x157BC38C ;157BC39C
POP {R2-R7,PC}
NOP
off_112E1D5C DCD 0x15914CD8 ;15914CE8 card
DCD 0x15914CF0 ;15914D00 usb
DCD 0x15914CE4 ;15914CF4 tpa
DCD aIfs
org 0x157BC3F2 ;157BC402
NOP
NOP
org 0x157BC8A8 ;157BC8B8
MOV R1, 4
org 0x157BC8C0 ;157BC8D0
MOV R1, 3
org 0x14D68806 ;14D68826
NOP
MOV R0, 2
org 0x1412A8C2 ;1412A8C2
MOV R1, 0x24
org 0x14E7B8D8 ;14E7B8F8
LDR R1, off_112EE4BC
BX R1
off_112EE4BC DCD loc_126E592C+1
org 0x14E7B94E ;14E7B96E
MOV R1, 4
org 0x14FF7610 ;14FF7630
B 0x14FF762C ;0x14FF764C
org 0x14FF7626 ;14FF7646
B 0x14FF762C ;0x14FF764C
org 0x14FF73EA ;14FF740A
MOV R1, 0xC8
org 0x14FF7512 ;14FF7532
LDR R0, off_112F0FEC
BLX R0
org 0x14FF754C ;14FF756C
off_112F0FEC DCD loc_126E5A34+1
org 0x1433C1B8 ;1433C1B8
LDR R1, off_112F11AC
BX R1
off_112F11AC DCD loc_126E5C8E+1
org 0x14129130 ;14129130
LDR R1, off_112F2204
B jump
off_112F2204 DCD loc_126E5A44+1
jump:
BLX R1
org 0x15070E20 ;15070E40
LDR R1, off_112F2208
BX R1
org 0x15071004 ;15071024
off_112F2208 DCD loc_126E5910+1
org 0x144B9840 ;144B9840
LDR R1, off_112F2250
BX R1
off_112F2250 DCD loc_126E5BAE+1
org 0x157C6F44 ;157C6F54
MOV R1, 4
org 0x157C6F62 ;157C6F72
MOV R1, 3
org 0x157C72CA ;157C72DA
MOV R1, 4
org 0x157C72E8 ;157C72F8
MOV R1, 3
org 0x157C7B1C ;157C7B2C
PUSH {R4-R7,LR}
ADD R4, R0, 0
ADD R0, R1, 0
BL 0x1544D2D4 ;1544D2F4
LSL R0, R0, 2
adr R1, off_112F6674
LDR R1, [R1,R0]
ADD R0, R4, 0
BL 0x157C7CF8 ;157C7D08
POP {R4-R7,PC}
off_112F6674 DCD 0x15914CD8 ;15914CE8
DCD 0x15914CF0 ;15914D00
DCD 0x15914CE4 ;15914CF4
DCD aIfs
org 0x157C7D5E ;157C7D6E
NOP
NOP
org 0x157C7E1C ;157C7E2C
PUSH {R0,R4-R7,LR}
org 0x157C7EA6 ;157C7EB6
ADD R1, R6, 0
ADD R0, R4, 0
BL 0x158D7CEC ;0x158D7CFC
org 0x157C7F52 ;157C7F62
ADD R1, R6, 0
ADD R0, R4, 0
BL 0x158D7CEC ;0x158D7CFC
org 0x157C7FB0 ;157C7FC0
LDR R0, off_112F6AC8
BX R0
off_112F6AC8 DCD loc_126E5BF8+1
org 0x14E8CCCE ;14E8CCEE
B 0x14E8CCD4 ;14E8CCF4
org 0x14E8CD16 ;14E8CD36
NOP
org 0x15B3FBC4 ;15B3FBCC
DCD 0x0D
DCD 0x157BD508+1 ;157BD518+1
DCD 0x645
DCD 0x143AFFC0+1 ; 143AFFC0+1
org 0x15B3FEE4
DCD 0x0D
DCD 0x157BD508+1 ;157BD518+1
DCD 0x645
DCD 0x143AFFC0+1 ;143AFFC0+1
org 0x15B436BC ;15B436C4
DCD 0x14153284+1 ;14153284+1
org 0x15B464A0 ;15B464A8
DCD 0x10
DCD loc_126E598C+1
org 0x15B464D0 ;15B464D8
DCD 0x2E
DCD loc_126E599A+1
;nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
org 0x15D77F10 ;15D780C0
loc_126E5910:
CMP R0, 0
BEQ loc_126E591E
CMP R0, 2
BNE loc_126E5922
MOV R4, 2
loc_126E591A:
LDR R0, off_126E5928
BX R0
loc_126E591E:
MOV R4, 0
B loc_126E591A
loc_126E5922:
ADD SP, SP, 0x38
POP {R0,R4-R7,PC}
align 4
off_126E5928 DCD 0x15070E3E+1 ;15070E5E+1
loc_126E592C:
LDRB R1, [R5,0xA]
CMP R0, 0
BEQ loc_126E5978
CMP R1, 0
BNE loc_126E5974
PUSH {R0-R7}
LDR R0, off_126E5988
LDR R5, off_126E5A24
BLX R5
CMP R0, 0
BNE loc_126E596E
MOV R6, 0
LDR R0, off_126E5A20
loc_126E5946:
BLX R5
CMP R0, 0
BEQ loc_126E5966
MOV R1, 0x29
LSL R1, R1, 4
LDR R2, [R0,R1]
LDR R0, [R2,0x10]
LSR R0, R0, 0x18
CMP R0, 0x50
BEQ loc_126E596E
CMP R6, 0
BNE loc_126E5966
MOV R6, 1
adr R0, loc_126E59F4
ADD R0, 1
B loc_126E5946
loc_126E5966:
POP {R0-R7}
MOV R0, 1
STRB R0, [R5,0xA]
B loc_126E5974
loc_126E596E:
POP {R0-R7}
MOV R0, 0
STRB R0, [R5,0xA]
loc_126E5974:
LDR R0, off_126E5984
BX R0
loc_126E5978:
ADD R0, R1, 0
LDR R1, off_126E5980
BX R1
align 4
off_126E5980 DCD 0x14E7B8EA+1 ;14E7B90A+1
off_126E5984 DCD 0x14E7B8E4+1 ;14E7B904+1
off_126E5988 DCD 0x1436B0A4+1
loc_126E598C:
PUSH {R4-R7,LR}
ADD R4, R1, 0
LDR R1, [R4,0x18]
MOV R0, 0x2E
LDR R2, off_126E5A14
BLX R2
POP {R4-R7,PC}
loc_126E599A:
PUSH {R4-R7,LR}
ADD R4, R1, 0
ADD R0, R4, 0
MOV R1, 0xBF
LSL R1, R1, 2
LDRB R6, [R4,R1]
MOV R1, 0xC9
LSL R1, R1, 2
LDRB R7, [R4,R1]
adr R0, loc_126E59F4
ADD R0, 1
LDR R1, off_126E5A24
BLX R1
CMP R0, 0
BNE loc_126E59F2
ADD R0, R4, 0
LDR R1, off_126E5A18
BLX R1
MOV R0, 0
MOV R1, 1
MOV R2, 0
LDR R3, off_126E5A1C
BLX R3
LDR R0, off_126E5A20
LDR R1, off_126E5A24
BLX R1
CMP R0, 0
BEQ loc_126E59F2
MOV R1, 0x5D
LSL R1, R1, 3
LDR R5, [R0,R1]
CMP R5, 0
BEQ loc_126E59F2
ADD R0, R5, 0
ADD R1, R6, 0
LDR R2, off_126E5A28
BLX R2
ADD R0, R5, 0
ADD R1, R6, 0
LDR R2, off_126E5A2C
BLX R2
ADD R1, R7, 0
BL sub_126E5D50
loc_126E59F2:
POP {R4-R7,PC}
align 4
loc_126E59F4:
PUSH {R4,LR}
ADD R4, R0, 0
LDR R1, off_126E5A30
LDR R0, [R0,4]
CMP R1, R0
BNE loc_126E5A0E
MOV R1, 0x5D
LSL R1, R1, 3
LDR R0, [R4,R1]
CMP R0, 0
BNE loc_126E5A0E
MOV R0, 1
POP {R4,PC}
loc_126E5A0E:
MOV R0, 0
POP {R4,PC}
align 4
off_126E5A14 DCD 0x141F7DE4+1
off_126E5A18 DCD 0x1412AA0C+1
off_126E5A1C DCD 0x14F32EE4+1 ;14F32F04+1
off_126E5A20 DCD 0x142CB334+1
off_126E5A24 DCD 0x140CD27C+1
off_126E5A28 DCD 0x14128A3C+1
off_126E5A2C DCD 0x141297BC+1
off_126E5A30 DCD 0x14DDC82C+1 ;14DDC84C+1
loc_126E5A34:
STR R2, [R7,0x24]
STRB R2, [R6]
PUSH {R1-R7,LR}
MOV R0, 0
STR R0, [R6,0x1C]
STR R0, [R6,0x20]
STR R0, [R6,0x24]
POP {R1-R7,PC}
loc_126E5A44:
LDRB R1, [R6,0x14]
LDR R0, [R6]
PUSH {R0-R7,LR}
ADD R7, R6, 0
LDR R1, [SP,0x28]
MOV R9, R1
ADD R6, 0x34
LDR R0, [R6]
CMP R0, 0
BNE loc_126E5AE0
MOV R0, R9
MOV R1, 0
BL sub_126E5D48
STR R0, [R6]
MOV R1, 5
BL sub_126E5D58
LDR R0, [R6]
MOV R1, 0
BL sub_126E5D50
adr R1, loc_126E5AF0
ADD R1, 1
LDR R0, [R6]
BL sub_126E5D60
MOV R1, 1
LDR R0, [R6]
BL sub_126E5D68
LDR R0, [R6]
LDR R1, dword_126E5CB8
adr R2, loc_126E5B30
ADD R2, 1
BL sub_126E5D70
LDR R0, [R6]
MOV R1, 0xFC
LSL R1, R1, 4
LDR R2, off_126E5CBC
BL sub_126E5D70
LDR R0, [R6]
LDR R1, dword_126E5CC0
LDR R2, off_126E5CC4
BL sub_126E5D70
LDR R2, [R6]
MOV R1, 3
LDR R0, [R7]
BL TabMenuBar_AssignGuiObj
MOV R3, 0
PUSH {R3}
adr R0, unk_126E5AE4
MOV R1, 6
LDR R2, dword_126E5CD4
BL sub_126E5D80
ADD SP, SP, 4
ADD R2, R0, 0
MOV R1, 3
LDR R0, [R7]
BL sub_126E5D88
LDR R0, [R7]
MOV R1, 3
LDR R2, dword_126E5CCC
MOV R3, 1
BL sub_126E5D90
LDR R0, [R7]
MOV R1, 3
LDR R2, dword_126E5CD0
MOV R3, 0
BL sub_126E5D90
loc_126E5AE0:
POP {R0-R6}
LDR R7 ,MY_OFF_BL
BLX R7
LDR R0, [R6]
POP {R7,PC}
align 4
MY_OFF_BL DCD 0x14128A3C+1
align 4
unk_126E5AE4: DCB 0x49
DCB 0x6E
DCB 0x74
DCB 0x65
DCB 0x72
DCB 0x6E
DCB 0x61
DCB 0x6C
DCB 0x20
DCB 0x46
DCB 0x53
DCB 0
loc_126E5AF0:
PUSH {R4-R7,LR}
ADD R6, R0, 0
BL sub_126E5D98
CMP R0, 1
BNE loc_126E5B2A
ADD R0, R6, 0
BL sub_126E5DA0
adr R1, off_126E5CDC
LSL R0, R0, 3
LDR R0, [R1,R0]
ADD R0, 2
MOV R1, 0
LDR R2, dword_126E5CD4
MOV R3, 0
PUSH {R3}
BL sub_126E5D80
ADD SP, SP, 4
ADD R1, R0, 0
ADD R0, R6, 0
BL sub_126E5DA8
LDR R2, dword_126E5CC8
MOV R1, 0
ADD R0, R6, 0
BL sub_126E5DB0
loc_126E5B2A:
MOV R0, 1
POP {R4-R7,PC}
align 4
loc_126E5B30:
PUSH {R4-R7,LR}
ADD R4, R0, 0
ADD R0, R1, 0
BL sub_126E5DB8
ADD R6, R0, 0
MOV R1, 0xC9
LSL R1, R1, 2
STRB R6, [R4,R1]
BL sub_126E5DC0
ADD R7, R0, 0
ADD R0, R4, 0
BL sub_126E5E18
ADD R1, R0, 0
ADD R0, R7, 0
BL sub_126E5E20
adr R5, off_126E5CDC
LSL R6, R6, 3
ADD R1, R5, R6
ADD R0, R7, 0
BL sub_126E5DD0
MOV R1, 1
ADD R0, R7, 0
BL sub_126E5DC8
ADD R0, R5, R6
LDR R0, [R0]
BL sub_126E5DD8
ADD R1, R0, 0
ADD R0, R7, 0
BL sub_126E5DE0
MOV R1, 0
ADD R0, R7, 0
BL sub_126E5DE8
MOV R1, 0x8
ADD R0, R7, 0
BL DataBrowserDesc_SetViewModeAndSortOrder
ADD R0, R7, 0
BL sub_126E5E28
MOV R1, 1
ADD R0, R7, 0
BL sub_126E5E30
MOV R1, 1
ADD R0, R7, 0
BL sub_126E5E48
LDR R1, off_semc
ADD R0, R7, 0
BL DataBrowserDesc_SetOption
MOV R1, 1
ADD R0, R7, 0
BL sub_126E5E38
ADD R0, R7, 0
BL sub_126E5E00
ADD R0, R7, 0
BL sub_126E5E08
POP {R4-R7,PC}
loc_126E5BAE:
PUSH {R4-R7,LR}
ADD R4, R0, 0
MOV R1, 0xB9
LSL R1, R1, 2
ADD R6, R4, R1
MOV R7, 0
MOV R5, 0
loc_126E5BBC:
LSL R1, R5, 2
LDR R0, [R6,R1]
CMP R0, 0
BEQ loc_126E5BCA
STR R7, [R6,R1]
BL sub_126E5E40
loc_126E5BCA:
ADD R5, R5, 1
CMP R5, 3
BLT loc_126E5BBC
LDR R0, [R6,0x30]
CMP R0, 0
BEQ loc_126E5BDC
STR R7, [R6,0x30]
BL sub_126E5E40
loc_126E5BDC:
LDR R0, [R6,0xC]
CMP R0, 0
BEQ loc_126E5BE8
STR R7, [R6,0xC]
BL sub_126E5E40
loc_126E5BE8:
SUB R6, 4
LDR R0, [R6]
CMP R0, 0
BEQ loc_126E5BF6
STR R7, [R6]
BL sub_126E5E40
loc_126E5BF6:
POP {R4-R7,PC}
loc_126E5BF8:
MOV R0, SP
LDRB R0, [R0,3]
PUSH {R0-R7}
LDR R0, [SP,0x60]
BL sub_126E5DA0
CMP R0, 2
BNE loc_126E5C46
MOV R3, 0
PUSH {R3}
LDR R0, off_126E5CDC
ADD R0, 2
MOV R1, 0
LDR R2, dword_126E5CD4
BL sub_126E5D80
ADD SP, SP, 4
ADD R1, R0, 0
LDR R0, [SP,0x60]
BL sub_126E5DA8
MOV R3, 0
PUSH {R3}
adr R0, unk_126E5D28
MOV R1, 6
LDR R2, dword_126E5CD4
BL sub_126E5D80
ADD SP, SP, 4
ADD R1, R0, 0
LDR R0, [SP,0x60]
LDR R3, off_126E5CD8
BLX R3
LDR R2, dword_126E5CD0
MOV R1, 0
LDR R0, [SP,0x60]
BL sub_126E5DB0
B loc_126E5C88
loc_126E5C46:
CMP R0, 3
BNE loc_126E5C88
MOV R3, 0
PUSH {R3}
LDR R0, off_126E5CEC
ADD R0, 2
MOV R1, 0
LDR R2, dword_126E5CD4
BL sub_126E5D80
ADD SP, SP, 4
ADD R1, R0, 0
LDR R0, [SP,0x60]
BL sub_126E5DA8
MOV R3, 0
PUSH {R3}
adr R0, unk_126E5D28
MOV R1, 6
LDR R2, dword_126E5CD4
BL sub_126E5D80
ADD SP, SP, 4
ADD R1, R0, 0
LDR R0, [SP,0x60]
LDR R3, off_126E5CD8
BLX R3
LDR R2, dword_126E5CD0
MOV R1, 0
LDR R0, [SP,0x60]
BL sub_126E5DB0
B loc_126E5C88
loc_126E5C88:
POP {R0-R7}
ADD SP, SP, 0x40
POP {R3-R7,PC}
loc_126E5C8E:
MOV R1, 0xB8
LSL R1, R1, 2
ADD R1, R0, R1
LDR R2, [R1]
CMP R2, 0
BEQ loc_126E5CA8
LDRB R2, [R1,0x14]
CMP R2, 3
BCC loc_126E5CAC
LSL R2, R2, 2
ADD R1, 0x28
ADD R1, R1, R2
B loc_126E5CB2
loc_126E5CA8:
LDR R0, [R0,0x1C]
BX LR
loc_126E5CAC:
LSL R2, R2, 2
ADD R1, 4
ADD R1, R1, R2
loc_126E5CB2:
LDR R0, [R1]
BX LR
align 4
off_semc DCD 0x15B46134 ;15B4613C
dword_126E5CB8 DCD 0xFC2
off_126E5CBC DCD 0x142E818C+1 ; ¬¬
dword_126E5CC0 DCD 0xFAF
off_126E5CC4 DCD 0x14FF46A8+1 ;14FF46C8+1
dword_126E5CC8 DCD 0x0170;ICON FOLDER
dword_126E5CCC DCD 0xF81D
dword_126E5CD0 DCD 0xF854
dword_126E5CD4 DCD 0xFFFF
off_126E5CD8 DCD 0x14133D30+1 ;¬¬
off_126E5CDC DCD 0x15A6215C ;15A6216C ;; "/tpa"
DCD 0
DCD 0x15A60B9A ;15A60BAA ;; "/system"
DCD 0
off_126E5CEC DCD aIfs ;;
;; "/IFS"
DCD 0
DCD aBoot ;; "/boot"
DCD 0
DCD aSys ;; "/SYS"
DCD 0
aIfs du "/IFS"
DCB 0
DCB 0
aBoot du "/boot",0
aSys du "/SYS",0
DCB 0
DCB 0
align 4
unk_126E5D28: DCB 0x42 ; B
DCB 0x65 ; e
DCB 0x20
DCB 0x63 ; c
DCB 0x61 ; a
DCB 0x72 ; r
DCB 0x65 ; e
DCB 0x66 ; f
DCB 0x75 ; u
DCB 0x6C ; l
DCB 0x21 ; !
DCB 0x21 ; !
DCB 0x21 ; !
DCB 0
DCB 0
DCB 0
align 4
sub_126E5D48:
LDR R5, off_126E5D4C
BX R5
off_126E5D4C DCD 0x14289814+1 ;;CreateListObject ¬¬
align 4
sub_126E5D50:
LDR R5, off_126E5D54
BX R5
off_126E5D54 DCD 0x1441E774+1 ;;SetCursorToItem ¬¬
sub_126E5D58:
LDR R5, off_126E5D5C
BX R5
off_126E5D5C DCD 0x14284158+1 ;;SetNumOfMenuItem ¬¬
sub_126E5D60:
LDR R5, off_126E5D64
BX R5
off_126E5D64 DCD 0x143073E4+1 ;ListMenu_SetOnMessages ¬¬
sub_126E5D68:
LDR R5, off_126E5D6C
BX R5
off_126E5D6C DCD 0x1441E80C+1 ;¬¬
sub_126E5D70:
LDR R5, off_126E5D74
BX R5
off_126E5D74 DCD 0x1417EFA0+1 ;;GUIObject_Softkey_SetAction ¬¬
TabMenuBar_AssignGuiObj:
LDR R5, off_126E5D7C
BX R5
off_126E5D7C DCD 0x14129020+1 ;;TabMenuBar_AssignGuiObj ¬¬
sub_126E5D80:
LDR R5, off_126E5D84
BX R5
off_126E5D84 DCD 0x14184D2C+1 ;;Str2ID ¬¬
sub_126E5D88:
LDR R5, off_126E5D8C
BX R5
off_126E5D8C DCD 0x1428BAD4+1 ;TabMenuBar_SetTabTitle ¬¬
sub_126E5D90:
LDR R5, off_126E5D94
BX R5
off_126E5D94 DCD 0x14129158+1 ;TabMenuBar_SetTabIcon ¬¬
sub_126E5D98:
LDR R2, off_126E5D9C
BX R2
off_126E5D9C DCD 0x142CA26C+1 ;GUIonMessage_GetMsg ¬¬
sub_126E5DA0:
LDR R3, off_126E5DA4
BX R3
off_126E5DA4 DCD 0x142CA17C+1 ;GUIonMessage_GetCreatedItemIndex ¬¬
sub_126E5DA8:
LDR R3, off_126E5DAC
BX R3
off_126E5DAC DCD 0x14390470+1 ;SetMenuItemText0 ¬¬
sub_126E5DB0:
LDR R3, off_126E5DB4
BX R3
off_126E5DB4 DCD 0x144D49E4+1 ;SetListObjectItemIcon ¬¬
sub_126E5DB8:
LDR R3, off_126E5DBC
BX R3
off_126E5DBC DCD 0x14283C40+1 ;ListMenu_GetSelectedItem ¬¬
sub_126E5DC0:
LDR R3, off_126E5DC4
BX R3
off_126E5DC4 DCD 0x142E0044+1 ;DataBrowserDesc_Create ¬¬
sub_126E5DC8:
LDR R3, off_126E5DCC
BX R3
off_126E5DCC DCD 0x141FCDE0+1 ;DataBrowserDesc_SetFoldersNumber ¬¬
sub_126E5DD0:
LDR R3, off_126E5DD4
BX R3
off_126E5DD4 DCD 0x1425DB78+1 ;DataBrowserDesc_SetFolders ¬¬
sub_126E5DD8:
LDR R3, off_126E5DDC
BX R3
off_126E5DDC DCD 0x140EBF4C+1 ;Recupera el titulo para ser usado en al siguiente funcion ¬¬
sub_126E5DE0:
LDR R3, off_126E5DE4
BX R3
off_126E5DE4 DCD 0x1423B2A0+1 ;1423B2A0+1 ;DataBrowserDesc_SetHeaderText
sub_126E5DE8:
LDR R3, off_126E5DEC
BX R3
off_126E5DEC DCD 0x1429DBF0+1 ;1429DBF0+1 ;DataBrowserDesc_SetSelectAction
sub_126E5E00:
LDR R3, off_126E5E04
BX R3
off_126E5E04 DCD 0x14FF75A8+1 ;14FF75C8+1 ;;DataBrowser_Create
sub_126E5E08:
LDR R3, off_126E5E0C
BX R3
off_126E5E0C DCD 0x1416AE0C+1 ;1416AE0C+1 ;;DataBrowserDesc_Destroy
sub_126E5E18:
LDR R3, off_126E5E1C
BX R3
off_126E5E1C DCD 0x140CCEC0+1 ;140CCEC0+1 - BookObj_GetBookID
sub_126E5E20:
LDR R3, off_126E5E24
BX R3
off_126E5E24 DCD 0x1430B520+1 ;1430B520+1 - DataBrowserDesc_SetBookID
sub_126E5E28:
LDR R2, off_126E5E2C
BX R2
off_126E5E2C DCD 0x14396C5C+1 ;14396C5C+1
sub_126E5E30:
LDR R2, off_126E5E34
BX R2
off_126E5E34 DCD 0x14400190+1 ;14400190+1 - DataBrowserDesc_Menu_AddNewFolder
sub_126E5E38:
LDR R2, off_126E5E3C
BX R2
off_126E5E3C DCD 0x14316190+1 ;14316190+1 - DataBrowserDesc_Menu_AddMarkFiles
sub_126E5E40:
LDR R2, off_126E5E44
BX R2
off_126E5E44 DCD 0x144D3EE8+1 ;144D3EE8+1 ;GUI_Free - GUIObject_Destroy
sub_126E5E48:
LDR R2, off_126E5E4C
BX R2
off_126E5E4C DCD 0x157C5D68+1 ;157C5D78+1 ;Open empty folder - DataBrowserDesc_SetOpenEmptyFolder
DataBrowserDesc_SetOption:
LDR R2, off_F2
BX R2
off_F2 DCD 0x1429DB64+1 ;1429DB64+1
DataBrowserDesc_SetViewModeAndSortOrder:
LDR R2, off_F3
BX R2
off_F3 DCD 0x1428C434+1 ;1428C434+1 - DataBrowserDesc_SetViewModeAndSortOrder
Respuesta: Archivos Assembling (ASM)
Automatic control of brightness v2
- data base G502 SW-R1FA037
- portado W760 R3EF001
Código:
include "x.inc"
include "w760.lib.asm"
;w760 R3EF001
;Automatic control of brightness v2
;Much improved version of BrightnessController patch/elf
;Ability to set brightness level in four time intervals
;Ability to decrease brightness level if battery is low
;Special menu with option to enable / disable automatic mode
;Showing icon in Tray, if automatic mode is enabled
;Configuration menu for intervals / brightness levels
;Showing work mode under "Brightness" in menu (example: Automatic : 70%)
;After phone restart, automatic mode is disabled! You need to enable it again in menu
;
;What edited:
;+change some code for proper work on db3150v1
;+Ability to run item with numeric keys
;
;(!) You must add new item "Brightness_AdvancedSettings" in menu.ml
;(!) Dont remove "Settings_Brightness_Id" in menu.ml
;(!) Heapshift(4BBF32F0-4BBF32F2)
;(c) mc_kibel
;(e) farid
;(P) josthyn05
org 0x11C285E0 ; 11A6EA14
DCD aBrightness_adv ; "Brightness_AdvancedSettings"
DCD body+1
org 0x12840470
body:
PUSH {R4,LR}
ADD R4, R0, 0
BL sub_121868AE
CMP R0, 0
BEQ loc_12186892
CMP R0, 1
BEQ loc_1218689E
POP {R4,PC}
loc_12186892:
ADD R0, R4, 0
CMP R0, 0
BEQ loc_1218689C
BL sub_12187138
loc_1218689C:
POP {R4,PC}
loc_1218689E:
MOV R0, 0
BL sub_121870F8
ADD R1, R0, 0
ADD R0, R4, 0
BL sub_121868B2
POP {R4,PC}
sub_121868AE:
LDR R3, off_121868B8
BX R3
sub_121868B2:
LDR R3, off_121868BC
BX R3
db 0
db 0
off_121868B8 dw 0x10E75B70+1 ; 0x116C4FCC+1
off_121868BC dw 0x10E75B30+1 ; 0x116C4F90+1
sub_121868C0:
PUSH {R4,LR}
MOV R1, 0
MOV R3, 5
LSL R4, R0, 0
LDR R0, off_121868DC
MOV R2, 1
PUSH {R0,R1}
LSL R1, R4, 0
MOV R0, 0
MVN R0, R0
BL sub_1218715C
POP {R2-R4,PC}
NOP
off_121868DC dw aSwilib
sub_121868E0:
PUSH {LR}
SUB SP, SP, 0x34
MOV R1, SP
MOV R0, 1
BL sub_1218716C
MOV R0, SP
ADD R0, 0x20
LDRB R0, [R0]
ADD SP, SP, 0x34
POP {PC}
db 0
db 0
sub_121868F8:
PUSH {R0,R1,LR}
MOV R1, SP
MOV R0, 0
BL sub_12187174
MOV R0, SP
LDRB R0, [R0,4]
POP {R2,R3,PC}
sub_12186908:
var_50 = -0x50
var_4C = -0x4C
var_48 = -0x48
var_40 = -0x40
var_3C = -0x3C
var_34 = -0x34
var_30 = -0x30
var_24 = -0x24
var_20 = -0x20
var_1C = -0x1C
var_18 = -0x18
arg_0 = 0
arg_4 = 4
PUSH {R0,R4-R7,LR}
SUB SP, SP, 0x38
LSL R4, R1, 0
LSL R5, R2, 0
LSL R6, R3, 0
MOV R2, 0x38
MOV R1, 0
MOV R0, SP
BL sub_1218717C
LDR R0, off_1218698C
MOV R1, 0
PUSH {R1}
MOVL R3, 0x180
MOV R2, 1
MOVL R1, 0x1B8
ADD R1, R0, R1
MOVL R7, 0x18C
ADD R0, R0, R7
BL sub_12187184
LSL R7, R0, 0
MOV R2, 0x38
ADD R1, SP, 0x54+var_50
BL sub_12187194
LSL R0, R7, 0
BL sub_1218719C
LDR R1, [SP,0x54+var_18]
MOV R0, 0
STR R0, [R1]
LDR R1, [SP,0x54+var_18]
LDR R2, [SP,0x54+var_4C]
STR R2, [R1,4]
LDR R1, [SP,0x54+var_18]
LDR R2, [SP,0x54+var_48]
STR R2, [R1,8]
LDR R1, [SP,0x54+var_4C]
STR R1, [R4]
LDR R1, [SP,0x54+var_40]
STR R1, [R4,4]
LDR R1, [SP,0x54+var_3C]
STR R1, [R4,8]
LDR R1, [SP,0x54+var_40]
STR R1, [R5]
LDR R1, [SP,0x54+var_34]
STR R1, [R5,4]
LDR R1, [SP,0x54+var_30]
STR R1, [R5,8]
LDR R1, [SP,0x54+var_34]
STR R1, [R6]
STR R0, [R6,4]
LDR R0, [SP,0x54+var_24]
STR R0, [R6,8]
LDR R0, [SP,0x54+arg_0]
LDR R1, [SP,0x54+var_1C]
STR R1, [R0]
LDR R0, [SP,0x54+arg_4]
LDR R1, [SP,0x54+var_20]
STR R1, [R0]
ADD SP, SP, 0x40
POP {R4-R7,PC}
off_1218698C dw aBr_intervals_s
loc_12186990:
PUSH {R4,R5,LR}
SUB SP, SP, 0x38
MOV R4, 0
BL sub_121868F8
LSL R5, R0, 0
ADD R1, SP, 4
MOV R0, SP
PUSH {R0,R1}
ADD R3, SP, 0x28
ADD R2, SP, 0x1C
ADD R0, SP, 0x34
ADD R1, SP, 0x10
BL sub_12186908
BL sub_121868E0
LDR R1, [SP,8]
ADD SP, SP, 8
CMP R1, R0
BLT loc_121869C4
LDR R0, [SP,4]
CMP R0, 1
BNE loc_121869C4
LSL R4, R1, 0
B loc_121869FC
loc_121869C4:
LDR R0, [SP,0x30]
CMP R5, R0
BGE loc_121869CE
LDR R4, [SP,0x34]
B loc_121869FC
loc_121869CE:
LDR R0, [SP,8]
CMP R5, R0
BLT loc_121869DE
LDR R0, [SP,0xC]
CMP R5, R0
BGE loc_121869DE
LDR R4, [SP,0x10]
B loc_121869FC
loc_121869DE:
LDR R0, [SP,0x14]
CMP R5, R0
BLT loc_121869EE
LDR R0, [SP,0x18]
CMP R5, R0
BGE loc_121869EE
LDR R4, [SP,0x1C]
B loc_121869FC
loc_121869EE:
LDR R0, [SP,0x20]
CMP R5, R0
BLT loc_121869FC
LDR R0, [SP,0x24]
CMP R0, R5
BGE loc_121869FC
LDR R4, [SP,0x28]
loc_121869FC:
MOV R1, 0
LSL R0, R4, 0
BL sub_121871A4
LDR R2, off_12186A18
LDR R1, dword_12186A14
LDR R0, dword_12186A44
MOV R3, 0
BL sub_121871AC
ADD SP, SP, 0x38
POP {R4,R5,PC}
dword_12186A14 dw 0x2710
off_12186A18 dw loc_12186990+1
sub_12186A1C:
LDR R0, dword_12186A40
PUSH {LR}
MOV R1, 0
BL sub_121871BC
LDR R0, dword_12186A44
LDRH R1, [R0]
CMP R1, 0
BEQ loc_12186A32
BL sub_121871C4
loc_12186A32:
LDR R0, off_12186A3C
BL sub_121871CC
POP {PC}
NOP
off_12186A3C dw aSettings_brigh
dword_12186A40 dw 0xE572
dword_12186A44 dw 0x4BBF32F0 ; 0x2A2B2306 ; heap
dword_12186A48 dw 0x4770
sub_12186A4C:
var_20 = -0x20
var_1C = -0x1C
var_18 = -0x18
arg_0 = 0
PUSH {R0-R2,R4-R7,LR}
LDR R5, [SP,0x20+arg_0]
LSL R4, R3, 0
MOV R0, 0x20
BL sub_121868C0
LSL R6, R0, 0
MOV R2, 0x20
MOV R1, 0
BL sub_1218717C
MOV R1, 0
LDR R3, off_12186AF0
MOV R0, 0
MVN R0, R0
PUSH {R0,R1}
LDR R1, off_12186BAC
MOV R2, 0
LSL R0, R6, 0
BL sub_121871D4
MOV R1, 0
LSL R0, R6, 0
BL sub_121871E4
LDR R2, dword_12186D98
LSL R7, R0, 0
STR R7, [R6,0x18]
LDR R0, [SP,0x28+var_1C]
MOV R1, 0
BL sub_121871EC
LSL R1, R0, 0
LSL R0, R7, 0
BL sub_121871F4
LDR R1, [SP,0x28+var_20]
LSL R0, R7, 0
BL sub_121871FC
LDR R1, [SP,0x28+var_18]
LSL R0, R7, 0
BL sub_12187204
MOV R1, 1
LSL R0, R7, 0
BL sub_1218720C
MOV R1, 0
LSL R0, R7, 0
BL sub_12187214
MOV R1, 0
LSL R0, R7, 0
BL sub_1218721C
MOV R1, 1
LSL R0, R7, 0
BL sub_12187224
LSL R2, R4, 0
MOVL R1, 0xFC0
LSL R0, R7, 0
BL sub_1218722C
LDR R1, dword_12186AF4
LSL R2, R4, 0
LSL R0, R7, 0
BL sub_1218722C
LDR R1, dword_12186AF8
LSL R2, R5, 0
LSL R0, R7, 0
BL sub_1218722C
LSL R0, R7, 0
BL sub_12187234
ADD SP, SP, 0x14
POP {R4-R7,PC}
NOP
off_12186AF0 dw aBrightnesssett
dword_12186AF4 dw 0xFAF
dword_12186AF8 dw 0xFC2
sub_12186AFC:
var_44 = -0x44
var_40 = -0x40
var_3C = -0x3C
var_38 = -0x38
var_34 = -0x34
var_30 = -0x30
var_2C = -0x2C
var_28 = -0x28
var_24 = -0x24
var_20 = -0x20
var_1C = -0x1C
var_18 = -0x18
arg_0 = 0
arg_4 = 4
arg_8 = 8
arg_C = 0xC
arg_10 = 0x10
PUSH {R0,R1,R4-R7,LR}
SUB SP, SP, 0x28
LDR R6, [SP,0x44+arg_10]
LSL R4, R2, 0
LSL R5, R3, 0
MOV R0, 0x51
STR R0, [SP,0x44+var_44]
MOV R0, 0x44
STR R0, [SP,0x44+var_40]
MOV R0, 0xAC
STR R0, [SP,0x44+var_3C]
MOV R0, 0x66
STR R0, [SP,0x44+var_38]
MOV R0, 0x8C
STR R0, [SP,0x44+var_34]
MOV R0, 0x93
STR R0, [SP,0x44+var_30]
MOV R0, 0x7F
STR R0, [SP,0x44+var_2C]
MOV R0, 0xBE
STR R0, [SP,0x44+var_28]
MOV R0, 0x95
STR R0, [SP,0x44+var_24]
MOV R0, 0x8F
STR R0, [SP,0x44+var_20]
MOV R0, 0x20
BL sub_121868C0
LSL R7, R0, 0
MOV R2, 0x20
MOV R1, 0
BL sub_1218717C
MOV R1, 0
MOV R0, 0
MVN R0, R0
PUSH {R0,R1}
LDR R3, [SP,0x4C+var_18]
LDR R1, off_12186BAC
MOV R2, 0
LSL R0, R7, 0
BL sub_121871D4
ADD R0, SP, 0x4C+var_1C
LDRB R0, [R0]
STRB R0, [R7,0x1C]
LSL R0, R5, 0
BL sub_1218723C
LDR R2, dword_12186D98
LSL R5, R0, 0
MOV R1, 0
LSL R0, R4, 0
BL sub_121871EC
LSL R4, R0, 0
LDR R0, [SP,0x4C+arg_C]
MOV R3, 0
LSL R2, R6, 0
ADD R1, SP, 0x4C+var_20
PUSH {R0-R3}
LDR R2, [SP,0x5C+arg_8]
ADD R1, SP, 0x5C+var_34
MOV R0, 1
ADD R3, SP, 0x5C+var_24
PUSH {R0-R3}
LDR R0, [SP,0x6C+arg_0]
ADD R1, SP, 0x6C+var_2C
MOV R2, 2
ADD R3, SP, 0x6C+var_30
PUSH {R0-R3}
LDR R1, [SP,0x7C+arg_4]
ADD R0, SP, 0x7C+var_40
ADD R2, SP, 0x7C+var_3C
PUSH {R0-R2}
LSL R2, R5, 0
LSL R0, R4, 0
ADD R1, SP, 0x88+var_38
PUSH {R0-R2}
ADD R3, SP, 0x94+var_28
MOV R0, 0
ADD R1, SP, 0x94+var_44
LSL R2, R7, 0
BL sub_12187244
ADD SP, SP, 0x50
ADD SP, SP, 0x30
POP {R4-R7,PC}
off_12186BAC dw dword_12186A48+1
loc_12186BB0:
PUSH {R4-R7,LR}
SUB SP, SP, 0x40
LSL R4, R0, 0
MOV R5, 0
MOV R6, 0
CMP R2, 1
BNE loc_12186BC4
LDRH R6, [R1]
SUB R6, 0x30
B loc_12186BF0
loc_12186BC4:
CMP R2, 2
BNE loc_12186BD6
LDRH R0, [R1]
LDRH R1, [R1,2]
MOV R2, 0xA
MUL R0, R2
ADD R0, R0, R1
LDR R1, dword_12186CA8
B loc_12186BEE
loc_12186BD6:
CMP R2, 3
BNE loc_12186BF0
LDRH R0, [R1]
MOV R2, 0x64
MOV R3, 0xA
MUL R0, R2
LDRH R2, [R1,2]
LDRH R1, [R1,4]
MUL R2, R3
ADD R0, R0, R2
ADD R0, R0, R1
LDR R1, dword_12186CAC
loc_12186BEE:
ADD R6, R0, R1
loc_12186BF0:
MOV R2, 0x38
MOV R1, 0
ADD R0, SP, 8
BL sub_1218717C
LDR R0, off_12186EDC
MOVL R1, 0x18C
ADD R1, R0, R1
STR R1, [SP]
MOVL R1, 0x1B8
ADD R0, R0, R1
STR R0, [SP,4]
LSL R0, R5, 0
PUSH {R0}
LDR R1, [SP,8]
LDR R0, [SP,4]
MOVL R3, 0x180
MOV R2, 1
BL sub_12187184
LSL R7, R0, 0
MOV R2, 0x38
ADD R1, SP, 0xC
BL sub_12187194
LSL R0, R7, 0
BL sub_1218719C
STR R5, [SP,0xC]
STR R5, [SP,0x34]
LDRB R0, [R4,0x1C]
ADD SP, SP, 4
CMP R0, 3
BNE loc_12186C40
STR R6, [SP,0xC]
STR R6, [SP,0x14]
B loc_12186C7A
loc_12186C40:
CMP R0, 4
BNE loc_12186C4A
STR R6, [SP,0x18]
STR R6, [SP,0x20]
B loc_12186C7A
loc_12186C4A:
CMP R0, 5
BNE loc_12186C54
STR R6, [SP,0x24]
STR R6, [SP,0x2C]
B loc_12186C7A
loc_12186C54:
CMP R0, 6
BNE loc_12186C5C
STR R6, [SP,0x10]
B loc_12186C7A
loc_12186C5C:
CMP R0, 7
BNE loc_12186C64
STR R6, [SP,0x1C]
B loc_12186C7A
loc_12186C64:
CMP R0, 8
BNE loc_12186C6C
STR R6, [SP,0x28]
B loc_12186C7A
loc_12186C6C:
CMP R0, 9
BNE loc_12186C74
STR R6, [SP,0x34]
B loc_12186C7A
loc_12186C74:
CMP R0, 0xA
BNE loc_12186C7A
STR R6, [SP,0x3C]
loc_12186C7A:
MOV R0, 0
PUSH {R0}
LDR R1, [SP,8]
LDR R0, [SP,4]
MOVL R3, 0x180
MOV R2, 2
BL sub_12187184
LSL R5, R0, 0
MOV R2, 0x38
ADD R1, SP, 0xC
BL sub_12187254
LSL R0, R5, 0
BL sub_1218719C
LSL R0, R4, 0
BL sub_1218725C
ADD SP, SP, 0x44
POP {R4-R7,PC}
NOP
dword_12186CA8 dw 0xFFFFFDF0
dword_12186CAC dw 0xFFFFEB30
loc_12186CB0:
PUSH {LR}
B loc_12186FEC
loc_12186CB4:
PUSH {R4-R6,LR}
LDR R5, off_12186EDC
SUB SP, SP, 0x38
LDR R0, [R0,0x18]
BL sub_12187264
LSL R4, R0, 0
MOV R2, 0x38
MOV R1, 0
MOV R0, SP
BL sub_1218717C
MOV R0, 0
PUSH {R0}
MOVL R3, 0x180
MOV R2, 1
MOVL R0, 0x1B8
ADD R1, R5, R0
SUB R0, 0x2C
ADD R0, R5, R0
BL sub_12187184
LSL R6, R0, 0
MOV R2, 0x38
ADD R1, SP, 4
BL sub_12187194
LSL R0, R6, 0
LDR R6, off_12186F98
BL sub_1218719C
LDR R0, off_12186E74
ADD SP, SP, 4
CMP R4, 0
BNE loc_12186D14
MOV R3, 0x17
MOV R2, 0
MOV R1, 2
PUSH {R0-R3}
PUSH {R6}
LSL R2, R5, 0
LDR R3, [SP,0x18]
ADD R2, 0x18
LSL R1, R5, 0
MOV R0, 3
B loc_12186D46
loc_12186D14:
CMP R4, 1
BNE loc_12186D2E
MOV R3, 0x17
MOV R2, 0
MOV R1, 2
PUSH {R0-R3}
PUSH {R6}
LSL R2, R5, 0
LDR R3, [SP,0x24]
ADD R2, 0x3C
LSL R1, R5, 0
MOV R0, 4
B loc_12186D46
loc_12186D2E:
CMP R4, 2
BNE loc_12186D4C
MOV R3, 0x17
MOV R2, 0
MOV R1, 2
PUSH {R0-R3}
PUSH {R6}
LSL R2, R5, 0
LDR R3, [SP,0x30]
ADD R2, 0x60
LSL R1, R5, 0
MOV R0, 5
loc_12186D46:
BL sub_12186AFC
ADD SP, SP, 0x14
loc_12186D4C:
ADD SP, SP, 0x38
POP {R4-R6,PC}
loc_12186D50:
PUSH {R4,LR}
LSL R4, R0, 0
BL sub_1218726C
LSL R0, R4, 0
BL sub_12187274
CMP R0, 1
BNE loc_12186D94
LSL R0, R4, 0
BL sub_1218727C
LDR R2, dword_12186D98
LSL R1, R0, 0
LDR R0, off_12186EDC
CMP R1, 0
BNE loc_12186D76
ADD R0, 0x18
B loc_12186D88
loc_12186D76:
CMP R1, 1
BNE loc_12186D80
MOV R1, 0
ADD R0, 0x3C
B loc_12186D88
loc_12186D80:
CMP R1, 2
BNE loc_12186D94
MOV R1, 0
ADD R0, 0x60
loc_12186D88:
BL sub_121871EC
LSL R1, R0, 0
LSL R0, R4, 0
BL sub_12187284
loc_12186D94:
MOV R0, 1
POP {R4,PC}
dword_12186D98 dw 0xFFFF
loc_12186D9C:
PUSH {R4-R7,LR}
LDR R5, off_12186EDC
LDR R7, off_12186F98
SUB SP, SP, 0x38
LDR R0, [R0,0x18]
BL sub_12187264
LSL R4, R0, 0
MOV R2, 0x38
MOV R1, 0
MOV R0, SP
BL sub_1218717C
MOV R0, 0
PUSH {R0}
MOVL R3, 0x180
MOV R2, 1
MOVL R0, 0x1B8
ADD R1, R5, R0
SUB R0, 0x2C
ADD R0, R5, R0
BL sub_12187184
LSL R6, R0, 0
MOV R2, 0x38
ADD R1, SP, 4
BL sub_12187194
LSL R0, R6, 0
BL sub_1218719C
LDR R0, off_12186E74
LSL R6, R5, 0
ADD R6, 0x84
ADD SP, SP, 4
CMP R4, 0
BNE loc_12186E00
MOV R3, 0x64
MOV R2, 0xA
MOV R1, 3
PUSH {R0-R3}
PUSH {R7}
ADD R5, 0x98
LDR R3, [SP,0x1C]
LSL R2, R5, 0
LSL R1, R6, 0
MOV R0, 6
B loc_12186E6A
loc_12186E00:
CMP R4, 1
BNE loc_12186E1A
MOV R3, 0x64
MOV R2, 0xA
MOV R1, 3
PUSH {R0-R3}
PUSH {R7}
ADD R5, 0xC4
LDR R3, [SP,0x28]
LSL R2, R5, 0
LSL R1, R6, 0
MOV R0, 7
B loc_12186E6A
loc_12186E1A:
CMP R4, 2
BNE loc_12186E34
MOV R3, 0x64
MOV R2, 0xA
MOV R1, 3
PUSH {R0-R3}
PUSH {R7}
ADD R5, 0xF0
LDR R3, [SP,0x34]
LSL R2, R5, 0
LSL R1, R6, 0
MOV R0, 8
B loc_12186E6A
loc_12186E34:
CMP R4, 3
BNE loc_12186E50
MOV R3, 0x64
MOV R2, 0xA
MOV R1, 3
PUSH {R0-R3}
PUSH {R7}
MOV R0, 0x8E
LDR R3, [SP,0x40]
LSL R0, R0, 1
ADD R2, R5, R0
LSL R1, R6, 0
MOV R0, 9
B loc_12186E6A
loc_12186E50:
CMP R4, 4
BNE loc_12186E70
MOV R3, 0x64
MOV R2, 0xA
MOV R1, 3
PUSH {R0-R3}
PUSH {R7}
MOV R0, 0xA4
LDR R3, [SP,0x48]
LSL R0, R0, 1
ADD R2, R5, R0
LSL R1, R6, 0
MOV R0, 0xA
loc_12186E6A:
BL sub_12186AFC
ADD SP, SP, 0x14
loc_12186E70:
ADD SP, SP, 0x38
POP {R4-R7,PC}
off_12186E74 dw loc_12186BB0+1
loc_12186E78:
PUSH {R4,LR}
LSL R4, R0, 0
BL sub_1218726C
LSL R0, R4, 0
BL sub_12187274
CMP R0, 1
BNE loc_12186ED8
LSL R0, R4, 0
BL sub_1218727C
LDR R2, dword_121870F4
LSL R1, R0, 0
LDR R0, off_12186EDC
CMP R1, 0
BNE loc_12186E9E
ADD R0, 0x98
B loc_12186ECC
loc_12186E9E:
CMP R1, 1
BNE loc_12186EA8
MOV R1, 0
ADD R0, 0xC4
B loc_12186ECC
loc_12186EA8:
CMP R1, 2
BNE loc_12186EB2
MOV R1, 0
ADD R0, 0xF0
B loc_12186ECC
loc_12186EB2:
CMP R1, 3
BNE loc_12186EC0
MOV R1, 0
MOVL R3, 0x11C
ADD R0, R0, R3
B loc_12186ECC
loc_12186EC0:
CMP R1, 4
BNE loc_12186ED8
MOV R1, 0
MOVL R3, 0x148
ADD R0, R0, R3
loc_12186ECC:
BL sub_121871EC
LSL R1, R0, 0
LSL R0, R4, 0
BL sub_12187284
loc_12186ED8:
MOV R0, 1
POP {R4,PC}
off_12186EDC dw aBr_intervals_s
sub_12186EE0:
LDR R0, dword_12186F40
PUSH {R4-R7,LR}
LDR R4, dword_12186F34
LDR R5, dword_12186F38
LDR R6, off_12186F3C
LDR R7, dword_121870F4
MOV R1, 1
BL sub_121871BC
LDR R0, dword_12187134
LDRH R0, [R0]
CMP R0, 0
BNE loc_12186F0E
LDR R1, off_12186F44
MOV R2, 0
MOV R0, 0x64
BL sub_1218728C
LDR R1, dword_12187134
LSL R2, R7, 0
STRH R0, [R1]
MOV R1, 0
B loc_12186F14
loc_12186F0E:
LSL R2, R7, 0
MOV R1, 0
ADD R6, 0x30
loc_12186F14:
LSL R0, R6, 0
BL sub_121871EC
LSL R6, R0, 0
MOV R1, 0
LSL R0, R5, 0
PUSH {R0,R1}
MOV R3, 1
MOV R2, 0
LSL R0, R4, 0
LSL R1, R6, 0
BL sub_12187294
ADD SP, SP, 8
POP {R4-R7,PC}
NOP
dword_12186F34 dw 0x6FFFFFFF
dword_12186F38 dw 0x5DC
off_12186F3C dw aAutomaticModeE
dword_12186F40 dw 0xE572
off_12186F44 dw loc_12186990+1
loc_12186F48:
PUSH {LR}
LDR R0, [R0,0x18]
BL sub_12187264
CMP R0, 0
BNE loc_12186F5A
BL sub_12186EE0
POP {PC}
loc_12186F5A:
LDR R1, off_12186FE4
LDR R3, off_12186F98
CMP R0, 1
BNE loc_12186F72
LDR R0, off_12186F88
LDR R2, off_12186F8C
PUSH {R0}
MOV R0, 3
BL sub_12186A4C
ADD SP, SP, 4
POP {PC}
loc_12186F72:
CMP R0, 2
BNE loc_12186F86
LDR R0, off_12186F90
LDR R2, off_12186F94
PUSH {R0}
ADD R1, 0x14
MOV R0, 5
BL sub_12186A4C
ADD SP, SP, 4
loc_12186F86:
POP {PC}
off_12186F88 dw loc_12186CB4+1
off_12186F8C dw loc_12186D50+1
off_12186F90 dw loc_12186D9C+1
off_12186F94 dw loc_12186E78+1
off_12186F98 dw loc_12186CB0+1
loc_12186F9C:
PUSH {R4,LR}
LSL R4, R0, 0
BL sub_1218726C
LSL R0, R4, 0
BL sub_12187274
CMP R0, 1
BNE loc_12186FDE
LSL R0, R4, 0
BL sub_1218727C
LDR R2, dword_121870F4
LSL R1, R0, 0
LDR R0, off_12186FE4
CMP R1, 0
BNE loc_12186FC2
ADD R0, 0x38
B loc_12186FD2
loc_12186FC2:
CMP R1, 1
BNE loc_12186FCA
MOV R1, 0
B loc_12186FD2
loc_12186FCA:
CMP R1, 2
BNE loc_12186FDE
MOV R1, 0
ADD R0, 0x14
loc_12186FD2:
BL sub_121871EC
LSL R1, R0, 0
LSL R0, R4, 0
BL sub_12187284
loc_12186FDE:
MOV R0, 1
POP {R4,PC}
db 0
db 0
off_12186FE4 dw aIntervals
loc_12186FE8:
PUSH {LR}
NOP
loc_12186FEC:
BL sub_1218725C
POP {PC}
db 0
db 0
sub_12186FF4:
var_64 = -0x64
var_60 = -0x60
var_5C = -0x5C
var_58 = -0x58
var_54 = -0x54
var_50 = -0x50
var_4C = -0x4C
var_48 = -0x48
var_44 = -0x44
var_40 = -0x40
var_3C = -0x3C
var_38 = -0x38
var_34 = -0x34
var_30 = -0x30
var_2C = -0x2C
PUSH {R4-R6,LR}
LDR R4, off_12187094
SUB SP, SP, 0x54
MOVL R0, 0x18C
ADD R5, R4, R0
ADD R0, 0x2C
ADD R6, R4, R0
ADD R2, SP, 0x64+var_2C
LSL R1, R6, 0
LSL R0, R5, 0
BL sub_121872A4
CMP R0, 0
BEQ loc_12187074
MOV R2, 0x38
MOV R1, 0
MOV R0, SP
BL sub_1218717C
MOV R0, 0
PUSH {R0}
MOVL R3, 0x180
MOV R2, 2
LSL R1, R6, 0
LSL R0, R5, 0
BL sub_12187184
LSL R5, R0, 0
MOV R0, 0
STR R0, [SP,0x68+var_64]
MOV R1, 8
STR R1, [SP,0x68+var_60]
MOV R1, 0x1E
STR R1, [SP,0x68+var_5C]
LDR R2, [SP,0x68+var_60]
STR R2, [SP,0x68+var_58]
MOV R2, 0xE
STR R2, [SP,0x68+var_54]
MOV R2, 0x46
STR R2, [SP,0x68+var_50]
LDR R2, [SP,0x68+var_54]
STR R2, [SP,0x68+var_4C]
MOV R2, 0x15
STR R2, [SP,0x68+var_48]
MOV R2, 0x64
STR R2, [SP,0x68+var_44]
LDR R2, [SP,0x68+var_48]
STR R2, [SP,0x68+var_40]
STR R0, [SP,0x68+var_3C]
STR R1, [SP,0x68+var_38]
STR R1, [SP,0x68+var_30]
MOV R0, 1
STR R0, [SP,0x68+var_34]
MOV R2, 0x38
ADD R1, SP, 0x68+var_64
LSL R0, R5, 0
BL sub_12187254
LSL R0, R5, 0
BL sub_1218719C
ADD SP, SP, 4
loc_12187074:
LDR R0, off_1218708C
LDR R3, off_12187158
LDR R2, off_12187090
PUSH {R0}
MOVL R0, 0x16C
ADD R1, R4, R0
MOV R0, 3
BL sub_12186A4C
ADD SP, SP, 0x58
POP {R4-R6,PC}
off_1218708C dw loc_12186F48+1
off_12187090 dw loc_12186F9C+1
off_12187094 dw aBr_intervals_s
loc_12187098:
PUSH {LR}
LDR R0, [R0,0x18]
BL sub_12187264
CMP R0, 0
BNE loc_121870AA
BL sub_12186A1C
POP {PC}
loc_121870AA:
CMP R0, 1
BNE loc_121870B2
BL sub_12186FF4
loc_121870B2:
POP {PC}
loc_121870B4:
PUSH {R4,LR}
LSL R4, R0, 0
BL sub_1218726C
LSL R0, R4, 0
BL sub_12187274
CMP R0, 1
BNE loc_121870EA
LSL R0, R4, 0
BL sub_1218727C
LDR R2, dword_121870F4
LSL R1, R0, 0
LDR R0, off_121870F0
CMP R1, 0
BEQ loc_121870DE
CMP R1, 1
BNE loc_121870EA
MOV R1, 0
ADD R0, 0x10
loc_121870DE:
BL sub_121871EC
LSL R1, R0, 0
LSL R0, R4, 0
BL sub_12187284
loc_121870EA:
MOV R0, 1
POP {R4,PC}
NOP
off_121870F0 dw aManual
dword_121870F4 dw 0xFFFF
sub_121870F8:
LDR R0, dword_12187134
PUSH {R4,LR}
LDR R4, off_12187130
SUB SP, SP, 0x80
LDRH R0, [R0]
CMP R0, 0
BEQ loc_12187110
MOV R0, 0
BL sub_121872AC
LSL R3, R0, 0
B loc_12187118
loc_12187110:
BL sub_121872AC
LSL R3, R0, 0
ADD R4, 0x24
loc_12187118:
LSL R2, R4, 0
MOV R1, 0x3F
MOV R0, SP
BL sub_121872B4
MOV R2, 0x3F
MOV R1, 0
MOV R0, SP
BL sub_121871EC
ADD SP, SP, 0x80
POP {R4,PC}
off_12187130 dw aAutomaticD
dword_12187134 dw 0x4BBF32F0 ; 0x2A2B2306 ; heap
sub_12187138:
LDR R0, off_1218714C
LDR R3, off_12187158
LDR R2, off_12187150
LDR R1, off_12187154
PUSH {LR}
PUSH {R0}
MOV R0, 2
BL sub_12186A4C
POP {R3,PC}
off_1218714C dw loc_12187098+1
off_12187150 dw loc_121870B4+1
off_12187154 dw aBrightnessSett
off_12187158 dw loc_12186FE8+1
sub_1218715C:
PUSH {R3}
LDR R3, off_12187168
MOV R12, R3
POP {R3}
BX R12
NOP
off_12187168 dw 0x10B4F360+1 ; 0x11080DF0+1
sub_1218716C:
LDR R3, off_12187170
BX R3
off_12187170 dw GetBatteryState+1
sub_12187174:
LDR R3, off_12187178
BX R3
off_12187178 dw REQUEST_DATEANDTIME_GET+1
sub_1218717C:
LDR R3, dword_12187180
BX R3
dword_12187180 dw 0x4BB010AC ; 0x2A1C07A0 ; ram
sub_12187184:
PUSH {R3}
LDR R3, off_12187190
MOV R12, R3
POP {R3}
BX R12
NOP
off_12187190 dw _fopen+1
sub_12187194:
LDR R3, off_12187198
BX R3
off_12187198 dw fread+1
sub_1218719C:
var_C = -0xC
LDR R3, off_121871A0
BX R3
off_121871A0 dw fclose+1
sub_121871A4:
LDR R3, off_121871A8
BX R3
off_121871A8 dw Display_SetBrightness+1 ; 0x11625590+1
sub_121871AC:
PUSH {R3}
LDR R3, off_121871B8
MOV R12, R3
POP {R3}
BX R12
NOP
off_121871B8 dw Timer_ReSet+1
sub_121871BC:
LDR R3, off_121871C0
BX R3
off_121871C0 dw SetTrayIcon+1
sub_121871C4:
LDR R3, off_121871C8
BX R3
off_121871C8 dw Timer_Kill+1
sub_121871CC:
LDR R3, off_121871D0
BX R3
off_121871D0 dw Shortcut_Run+1
sub_121871D4:
PUSH {R3}
LDR R3, off_121871E0
MOV R12, R3
POP {R3}
BX R12
NOP
off_121871E0 dw CreateBook+1
sub_121871E4:
LDR R3, off_121871E8
BX R3
off_121871E8 dw CreateListMenu+1
sub_121871EC:
LDR R3, off_121871F0
BX R3
off_121871F0 dw Str2ID+1 ; 0x1168442C+1
sub_121871F4:
LDR R3, off_121871F8
BX R3
off_121871F8 dw GUIObject_SetTitleText+1
sub_121871FC:
LDR R3, off_12187200
BX R3
off_12187200 dw ListMenu_SetItemCount+1
sub_12187204:
LDR R3, off_12187208
BX R3
off_12187208 dw ListMenu_SetOnMessage+1
sub_1218720C:
LDR R3, off_12187210
BX R3
off_12187210 dw ListMenu_SetHotkeyMode+1
sub_12187214:
LDR R3, off_12187218
BX R3
off_12187218 dw ListMenu_SetCursorToItem+1
sub_1218721C:
LDR R3, off_12187220
BX R3
off_12187220 dw ListMenu_SetItemStyle+1
sub_12187224:
LDR R3, off_12187228
BX R3
off_12187228 dw ListMenu_SetItemTextScroll+1
sub_1218722C:
LDR R3, off_12187230
BX R3
off_12187230 dw GUIObject_SoftKeys_SetAction+1
sub_12187234:
LDR R3, off_12187238
BX R3
off_12187238 dw GUIObject_Show+1
sub_1218723C:
LDR R3, off_12187240
BX R3
off_12187240 dw int2strID+1 ; 0x1168426C+1
sub_12187244:
PUSH {R3}
LDR R3, off_12187250
MOV R12, R3
POP {R3}
BX R12
NOP
off_12187250 dw CreateStringInputVA+1
sub_12187254:
LDR R3, off_12187258
BX R3
off_12187258 dw fwrite+1
sub_1218725C:
LDR R3, off_12187260
BX R3
off_12187260 dw FreeBook+1
sub_12187264:
LDR R3, off_12187268
BX R3
off_12187268 dw ListMenu_GetSelectedItem+1
sub_1218726C:
LDR R3, off_12187270
BX R3
off_12187270 dw GUIonMessage_GetBook+1
sub_12187274:
LDR R3, off_12187278
BX R3
off_12187278 dw GUIonMessage_GetMsg+1
sub_1218727C:
LDR R3, off_12187280
BX R3
off_12187280 dw GUIonMessage_GetCreatedItemIndex+1
sub_12187284:
LDR R3, off_12187288
BX R3
off_12187288 dw GUIonMessage_SetMenuItemText+1
sub_1218728C:
LDR R3, off_12187290
BX R3
off_12187290 dw Timer_Set+1
sub_12187294:
PUSH {R3}
LDR R3, off_121872A0
MOV R12, R3
POP {R3}
BX R12
NOP
off_121872A0 dw MessageBox+1
sub_121872A4:
LDR R3, off_121872A8
BX R3
off_121872A8 dw fstat+1
sub_121872AC:
LDR R3, off_121872B0
BX R3
off_121872B0 dw Display_GetBrightness+1
sub_121872B4:
PUSH {R3}
LDR R3, off_121872C0
MOV R12, R3
POP {R3}
BX R12
NOP
off_121872C0 dw snwprintf+1
aSwilib db "SwiLib",0
db 0
aSettings_brigh du "Settings_Brightness_Id",0
db 0
db 0
aBrightnesssett db "BrightnessSettings_Book",0
aBr_intervals_s db "BR_Intervals_Settings",0
db 0
db 0
a1stIntervalEnd du "1st interval end",0
db 0
db 0
a2ndIntervalEnd du "2nd interval end",0
db 0
db 0
a3rdIntervalEnd du "3rd interval end",0
db 0
db 0
aBr_levels_sett db "BR_Levels_Settings",0
db 0
aLevelIn1stInte du "Level in 1st interval",0
aLevelIn2ndInte du "Level in 2nd interval",0
aLevelIn3rdInte du "Level in 3rd interval",0
aLevelIn4thInte du "Level in 4th interval",0
aLowBatteryLeve du "Low battery level",0
aAutomaticMode du "Automatic mode",0
db 0
db 0
aTpaSystemSet_0 du "/tpa/system/settings/",0
aAutobrightness du "AutoBrightness.bin",0
db 0
db 0
aIntervals du "Intervals",0
aBrightnessLeve du "Brightness levels",0
aEnable du "Enable",0
db 0
db 0
aBrightnessSett du "Brightness settings",0
aAutomaticModeE du "Automatic mode enabled",0
db 0
db 0
aAutomaticModeI du "Automatic mode is already enabled",0
aAutomaticD du "Automatic : %d%%",0
db 0
db 0
aManualD du "Manual : %d%%",0
aManual du "Manual",0
db 0
db 0
aAutomatic_0 du "Automatic",0
aBrightness_adv du "Brightness_AdvancedSettings",0
dw 2
dw 0x4BBF32F0 ; 0x2A2B2306 ; heap
dw 0x4BBF32F0 ; 0x2A2B2306 ; heap
Respuesta: Archivos Assembling (ASM)
Les dejo el ASM de un parche que porte recientemente, los offsets comentados son del W995 R1HA035 :D
Código:
include "x.inc"
include "W595_R3EF001.lib.asm"
;W595 SW-R3EF001
;Añadir el número de tareas en el título
;Añadir icono en el título
;Cambiar el estilo del GUI
;(c) anarkes & thomassafca
;(p) DaRkMaN
;=========HOOKS=========
org 0x10E7DE70 ;0x1559C32C
_1559C32C:
MOV R1, 9 ;estilo del GUI
org 0x10E7DE66 ;0x1559C322
_1559C322:
NOP
NOP
NOP
NOP
NOP
org 0x10E7DE96 ;0x1559C348
_1559C348:
LDR R3, off_1559C350
BLX R3
B 0x10E7DEA2 ;0x1559C354
off_1559C350 dw loc_15E6B5F0+1
NOP
;=========NEWCODE=========
org 0x1279E390 ;0x15E6B5F0
loc_15E6B5F0:
PUSH {LR}
ADD R1, R1, 1
LSL R1, R1, 0x10
LSR R7, R1, 0x10
ADD R1, R7, 0
BL sub_15E6B640
BL sub_15E6B618
ADD R1, R0, 0
LDR R0, [R4,0x18]
BL sub_15E6B648
LDR R1, dword_15E6B660
LDR R0, [R4,0x18]
BL sub_15E6B63C
LDR R0, [R4,0x18]
LDR R5, dword_15E6B668
POP {PC}
sub_15E6B618:
var_10 = -0x10
var_C = -0xC
var_8 = -8
PUSH {R1-R3,LR}
STR R5, [SP,0x10+var_10]
SUB R0, R7, 1
BL sub_15E6B644
STR R0, [SP,0x10+var_8]
MOV R2, 2
MOV R1, 6
adr R0, asc_15E6B66C
BL sub_15E6B64C
STR R0, [SP,0x10+var_C]
MOV R2, 3
MOV R1, 5
MOV R0, SP
BL sub_15E6B64C
POP {R1-R3,PC}
sub_15E6B63C:
LDR R3, off_15E6B664
BX R3
sub_15E6B640:
LDR R3, off_15E6B650
BX R3
sub_15E6B644:
var_28 = -0x28
LDR R3, off_15E6B654
BX R3
sub_15E6B648:
LDR R3, off_15E6B658
BX R3
sub_15E6B64C:
LDR R3, off_15E6B65C
BX R3
off_15E6B650 dw ListMenu_SetItemCount
off_15E6B654 dw 0x10F61C68+1 ;0x143D6484+1 ;int2strID
off_15E6B658 dw GUIObject_SetTitleText
off_15E6B65C dw 0x10F61E3C+1 ;0x142D8380+1 ;Str2ID
dword_15E6B660 dw 0xF826
off_15E6B664 dw GUIObject_SetTitleIcon
dword_15E6B668 dw 0xFAD
asc_15E6B66C db ": ",0
Saludos ...