.little
.thumb
.binid D780XEHE1

.equ LoadCFG 0x208476AC
.equ SaveCFG 0x208476E2
.equ FreeCFG 0x20847708

.equ new_mcc_task_tab 0x20848014
.equ new_mcc_menu_tab 0x20848414
.equ new_mcc_if_tab 0x20847C14
.equ new_text_tab 0x20847814

.start new_mcc_task_tab+0x19*4 ; TASK20 0x19
.word restoreUA+1

.start 0x20FAEE54   ; 20FAEDBC
LDR R0, =metkaUA1+1
BX R0

.start 0x20FAEF5C
LDR R0, =metkaUA2+1
BX R0

.start 0x2064ECE2   ; 2064EC7A
LDR R0, =metkaGPRS1+1
BX R0

.start 0x2064ED04
LDR R0, =metkaGPRS2+1
BX R0


.start 0x214E19D0

metkaUA1: ; изменение всплывающего меню

;компенсация врезки
LDR R0, =0x00000F9A ; "О браузере"
BL 0x20F39C2C
MOV R2, #0x0
STR R2, [SP]
MOV R2, #0x54
MOV R3, R0
MOV R1, #0x3
MOV R0, R4
BL 0x20A666C8

;добавить ещё один пункт меню
LDR R0, =0x000007D1 ; "User agent"
BL 0x20F39C2C
MOV R2, #0x0
STR R2, [SP]
MOV R2, #0x54
MOV R3, R0
MOV R1, #0x4
MOV R0, R4
BL 0x20A666C8

LDR R1, =0x20FAEE6A+1
BX R1

metkaUA2: ; изменение нормального меню
; компенсация врезки
LDR R0, =0x00000F9A
BL 0x20F39C2C
MOV R2, #0x0
MOV R3, R0
MOV R1, #0x3
MOV R0, R4
STR R2, [SP]
BL 0x20A666C8

; новый пункт
LDR R0, =0x000007D1
BL 0x20F39C2C
MOV R2, #0x0
MOV R3, R0
MOV R1, #0x4
MOV R0, R4
STR R2, [SP]
BL 0x20A666C8

LDR R2, =0x20FAEF70+1
BX R2

metkaGPRS1: ; изменение всплывающего меню

;компенсация врезки
LDR R0, =0x00000F9D ; "Режим сети"
BL 0x20F39C2C
MOV R2, #0x0
STR R2, [SP]
MOV R2, #0x54
MOV R3, R0
MOV R1, #0x1
MOV R0, R4
BL 0x20A666C8

;добавить ещё один пункт меню
LDR R0, =0x0000034A ; "Средства GPRS"
BL 0x20F39C2C
MOV R2, #0x0
STR R2, [SP]
MOV R2, #0x54
MOV R3, R0
MOV R1, #0x2
MOV R0, R4
BL 0x20A666C8

LDR R1, =0x2064ECFA+1
BX R1

metkaGPRS2: ; изменение нормального меню

LDR R2, =metkaGPRS3 ; новый список кодов строк меню
MOV R3, #0x6
STR R2, [SP]
MOV R2, #0x49
MOV R0, R6
LDR R1, =0x2064ED0E+1
BX R1

;процедура восстановления дефолтных настроек UA
;
;307ACD41 - там лежит строка для User-Agent, 
;её дефолт "SAMSUNG-SGH-D780/D780XEHE1",0
;300529B0 и 307ACCC0 - там лежит строка для x-wap-profile,
;на первый раз строка берётся с первого адреса, но потом со второго,
;её дефолт "http://wap.samsungmobile.com/uaprof/SGH-D780.xml",0
;можно взять по адресу 0x2183699C
;

restoreUA:

LDR R4, =restoreUA3
LDR R5, =0x307ACD41
restoreUA1:
LDRB R6, [R4]
STRB R6, [R5]
ADD R4, #0x1
ADD R5, #0x1
CMP R6, #0x0
BNE restoreUA1

LDR R4, =0x2183699C
LDR R5, =0x307ACCC0
LDR R7, =0x300529B0 
restoreUA2:
LDRB R6, [R4]
STRB R6, [R5]
STRB R6, [R7]
ADD R4, #0x1
ADD R5, #0x1
ADD R7, #0x1
CMP R6, #0x0
BNE restoreUA2


ADD	SP, SP, #0x100	
POP	{R4-R7,PC}	

.data

metkaGPRS3:
.short 0x0F9C, 0x0F9D, 0x034A
restoreUA3:
.ansi "SAMSUNG-SGH-D780/D780XEHE1"
