Portado del W715 SW-R1GA030 al C510 R1HA035.


Código:
;C510 SW-R1HA035
;Posibility to change normalscreen/fullscreen in video player
;Added menu "shortcuts"
;- Radio
;- VideoDJ
;- Walkman
;- File Manager
;Added icons in objects
; V.2 Edit lng file 0x1998 "Shortcuts adit"
;(c) Antoniomun (mobilefree.ru)
;(P) Enoc
;portado del W715 SW-R1GA030 al C510 R1HA035
include "x.inc"
include "c510_r1ha035.lib.asm"

org 0x14C57E42	;0x14D177EA
		LDR	R3, off_14D177F0
		BLX	R3
		align 4
off_14D177F0	dw loc_15DD2300+1	

org 0x14D9C1C0	;0x14E5E9C4
		LDR	R3, off_14E5E9C8
		BLX	R3
off_14E5E9C8	dw loc_15DD22E0+1	
		NOP
		NOP

;///////////////NUEVOCODIGO//////////////////////
org 0x15D27AF0	;0x15DD22E0
loc_15DD22E0:				
					
		BL	sub_15DD2500
		CMP	R0, 0
		BEQ	loc_15DD22EC
		MOV	R1, 4
		B	loc_15DD22EE


loc_15DD22EC:				
		MOV	R1, 0xA

loc_15DD22EE:				
		ADD	R0, R4,	0
		BL	sub_15DD25D4
		ADD	R0, R4,	0
		BL	sub_15DD2630
		LDR	R3, off_15DD2364
		BX	R3

		align 4


loc_15DD2300:				
					
		LDR	R2, off_15DD236C
		LDR	R1, dword_15DD2368
		LDR	R0, [R4,0x24]
		LDR	R2, off_15DD2350
		MOV	R1, 0xB
		BL	sub_15DD25A4
		LDR	R0, [R4,0x24]
		LDR	R2, dword_15DD2464
		MOV	R1, 0xB
		BL	sub_15DD25AC
		BL	sub_15DD2500
		CMP	R0, 0
		BEQ	loc_15DD2336
		LDR	R2, off_15DD235C
		MOV	R1, 0xC
		LDR	R0, [R4,0x24]
		BL	sub_15DD25A4
		LDR	R2, dword_15DD2358
		MOV	R1, 0xC
		LDR	R0, [R4,0x24]
		BL	sub_15DD25AC
		B	loc_15DD234A


loc_15DD2336:				
		LDR	R2, off_15DD2354
		MOV	R1, 0xC
		LDR	R0, [R4,0x24]
		BL	sub_15DD25A4
		LDR	R2, dword_15DD2360
		MOV	R1, 0xC
		LDR	R0, [R4,0x24]
		BL	sub_15DD25AC

loc_15DD234A:				
		LDR	R3, off_15DD2370
		BX	R3

		align 4
off_15DD2350	dw loc_15DD2374+1	
off_15DD2354	dw loc_15DD24E4+1	
dword_15DD2358	dw 0x23B1		
off_15DD235C	dw loc_15DD24EC+1	
dword_15DD2360	dw 0x4ED		
off_15DD2364	dw 0x14D9C1CC+1	;0x14E5E9D0+1	
dword_15DD2368	dw 0xFB2		
off_15DD236C	dw 0x15444BB0+1	;0x15545908+1	
off_15DD2370	dw 0x14C57E4C+1	;0x14D177F4+1	

loc_15DD2374:				
		PUSH	{R4,R7,LR}
		ADD	R4, R0,	0
		MOV	R1, 0
		BL	sub_15DD25B4
		STR	R0, [R4,0x2C]
		LDR	R1, off_15DD23E8
		BL	sub_15DD25BC
		LDR	R0, [R4,0x2C]
		MOV	R1, 4
		BL	sub_15DD25C4
		LDR	R0, [R4,0x2C]
		MOV	R1, 0
		BL	sub_15DD25CC
		LDR	R0, [R4,0x2C]
		MOV	R1, 9
		BL	sub_15DD25D4
		LDR	R0, [R4,0x2C]
		MOV	R1, 1
		BL	sub_15DD25DC
		LDR	R1, dword_15DD2464
		LDR	R0, [R4,0x2C]
		BL	sub_15DD25E4
		LDR	R1, dword_15DD2470
		LDR	R0, [R4,0x2C]
		BL	sub_15DD259C
		LDR	R0, [R4,0x2C]
		LDR	R2, off_15DD23EC
		LDR	R1, dword_15DD23E0
		BL	sub_15DD25A4
		LDR	R0, [R4,0x2C]
		LDR	R1, dword_15DD23E4
		LDR	R2, off_15DD23F4
		BL	sub_15DD25A4
		LDR	R0, [R4,0x2C]
		MOVL	R1, 0xFC0
		LDR	R2, off_15DD23F0
		BL	sub_15DD25A4
		LDR	R0, [R4,0x2C]
		BL	sub_15DD2614
		POP	{R4,R7,PC}

		align 4
dword_15DD23E0	dw 0xFC2		
dword_15DD23E4	dw 0xFAF		
off_15DD23E8	dw loc_15DD23F8+1	
off_15DD23EC	dw loc_15DD2478+1	
off_15DD23F0	dw loc_15DD24AE+1	
off_15DD23F4	dw loc_15DD24A2+1	


loc_15DD23F8:				
		PUSH	{R4-R7,LR}
		ADD	R4, R0,	0
		MOV	R5, 0
		BL	sub_15DD25EC
		CMP	R0, 1
		BNE	loc_15DD2450
		ADD	R0, R4,	0
		BL	sub_15DD25F4
		CMP	R0, 1
		BEQ	loc_15DD2424
		CMP	R0, 2
		BEQ	loc_15DD2430
		CMP	R0, 3
		BEQ	loc_15DD243C
		LDR	R1, dword_15DD2454
		ADD	R0, R4,	0
		BL	sub_15DD25FC
		LDR	R2, dword_15DD2468
		B	loc_15DD2446


loc_15DD2424:				
		LDR	R1, dword_15DD2458
		ADD	R0, R4,	0
		BL	sub_15DD25FC
		LDR	R2, dword_15DD246C
		B	loc_15DD2446


loc_15DD2430:				
		LDR	R1, dword_15DD2460
		ADD	R0, R4,	0
		BL	sub_15DD25FC
		LDR	R2, dword_15DD2470
		B	loc_15DD2446


loc_15DD243C:				
		LDR	R1, dword_15DD245C
		ADD	R0, R4,	0
		BL	sub_15DD25FC
		LDR	R2, dword_15DD2474

loc_15DD2446:				
					
		MOV	R1, 0
		ADD	R0, R4,	0
		BL	sub_15DD2604
		MOV	R5, 1

loc_15DD2450:				
		ADD	R0, R5,	0
		POP	{R4-R7,PC}

dword_15DD2454	dw 0x93E		
dword_15DD2458	dw 0x1253		
dword_15DD245C	dw 0x5AD		
dword_15DD2460	dw 0x1408		
dword_15DD2464	dw 0x1998							
dword_15DD2468	dw 0x2DD		
dword_15DD246C	dw 0x2E0		
dword_15DD2470	dw 0x80E							
dword_15DD2474	dw 0x967		


loc_15DD2478:				
		PUSH	{R1-R7,LR}
		ADD	R4, R0,	0
		ADD	R0, R1,	0
		BL	sub_15DD261C
		CMP	R0, 1
		BEQ	loc_15DD2492
		CMP	R0, 2
		BEQ	loc_15DD2496
		CMP	R0, 3
		BEQ	loc_15DD249A
		LDR	R0, off_15DD24C4
		B	loc_15DD249C


loc_15DD2492:				
		LDR	R0, off_15DD24C8
		B	loc_15DD249C


loc_15DD2496:				
		LDR	R0, off_15DD24C0
		B	loc_15DD249C


loc_15DD249A:				
		adr	R0, aFilemanager 

loc_15DD249C:				
					
		BL	sub_15DD2624
		POP	{R1-R7,PC}


loc_15DD24A2:				
		PUSH	{R4,LR}
		MOVL	R0, 0x840
		BL	sub_15DD260C
		POP	{R4,PC}


loc_15DD24AE:				
		PUSH	{LR}
		ADD	R4, R0,	0
		LDR	R0, [R4,0x2C]
		LDR	R3, off_15DD262C
		BLX	R3
		MOV	R0, 0
		STR	R0, [R4,0x2C]
		POP	{PC}

		align 4
off_15DD24C0	dw 0x15B2A308	;0x15BA0880	;aMediaplayer	;"MediaPlayer"					
off_15DD24C4	dw 0x15B2A378	;0x15BA08F0	;aFmradio		;"FMRadio"					
off_15DD24C8	dw 0x15B2A268	;0x15BA07E0	;aVideodj		;"VideoDJ"	
aFilemanager	du "FileManager",0 


loc_15DD24E4:				
		PUSH	{R4,LR}
		LSL	R4, R0,	0
		MOV	R0, 1
		B	loc_15DD24F2


loc_15DD24EC:				
		PUSH	{R4,LR}
		LSL	R4, R0,	0
		MOV	R0, 0

loc_15DD24F2:				
		BL	sub_15DD252C
		LDR	R1, off_15DD255C
		LSL	R0, R4,	0
		BL	sub_15DD2594
		POP	{R4,PC}

sub_15DD2500:				
					

var_24		= -0x24

		PUSH	{R1-R7,LR}
		MOV	R0, 0
		PUSH	{R0}
		MOVL	R3, 0x180
		MOV	R2, 1
		adr	R1, aVideoscreen_bi 
		LDR	R0, off_15DD2560
		LDR	R3, off_15DD2564
		BLX	R3
		ADD	R5, R0,	0
		MOV	R2, 4
		MOV	R1, SP
		LDR	R3, off_15DD2568
		BLX	R3
		ADD	R0, R5,	0
		LDR	R3, off_15DD256C
		BLX	R3
		LDR	R0, [SP,0x24+var_24]
		ADD	SP, SP,	4
		POP	{R1-R7,PC}
		
		align 4
sub_15DD252C:				

var_28		= -0x28

		PUSH	{R0-R7,LR}
		SUB	SP, SP,	4
		STR	R0, [SP,0x28+var_28]
		MOV	R0, 0
		PUSH	{R0}
		MOVL	R3, 0x180
		MOV	R2, 2
		adr	R1, aVideoscreen_bi 
		LDR	R0, off_15DD2560
		LDR	R3, off_15DD2564
		BLX	R3
		ADD	SP, SP,	4
		ADD	R5, R0,	0
		MOV	R2, 4
		MOV	R1, SP
		LDR	R3, off_15DD2570
		BLX	R3
		ADD	R0, R5,	0
		LDR	R3, off_15DD256C
		BLX	R3
		ADD	SP, SP,	4
		POP	{R0-R7,PC}



		align 4
off_15DD255C	dw 0x15A3E4F8	;0x15AB15F4	;aVideoapplicati  "VideoApplicationBk_MainPage"
off_15DD2560	dw 0x15A86E38	;0x15AFABA4	;aTpaSystemSetti	"/tpa/system/settings"
off_15DD2564	dw _fopen	;0x141FD9F4+1	
off_15DD2568	dw fread	;0x1417C0C4+1	
off_15DD256C	dw fclose	;0x143D3628+1						
off_15DD2570	dw fwrite	;0x14337468+1	
aVideoscreen_bi	du "videoscreen.bin",0 
					

sub_15DD2594:				
		LDR	R3, off_15DD2598
		BX	R3
off_15DD2598	dw BookObj_GotoPage	;0x144897F0+1	

sub_15DD259C:				
		LDR	R3, off_15DD25A0
		BX	R3
off_15DD25A0	dw GUIObject_SetTitleIcon	;0x141F6144+1	

sub_15DD25A4:								
		LDR	R3, off_15DD25A8
		BX	R3
off_15DD25A8	dw GUIObject_SoftKeys_SetAction	;0x1417EFA0+1	

sub_15DD25AC:									
		LDR	R3, off_15DD25B0
		BX	R3
off_15DD25B0	dw GUIObject_SoftKeys_SetText	;0x141C8864+1	

sub_15DD25B4:				
		LDR	R3, off_15DD25B8
		BX	R3
off_15DD25B8	dw CreateListMenu	;0x14289814+1	

sub_15DD25BC:				
		LDR	R3, off_15DD25C0
		BX	R3
off_15DD25C0	dw ListMenu_SetOnMessage	;0x143073E8+1	

sub_15DD25C4:				
		LDR	R3, off_15DD25C8
		BX	R3
off_15DD25C8	dw ListMenu_SetItemCount	;0x14284158+1	

sub_15DD25CC:				
		LDR	R3, off_15DD25D0
		BX	R3
off_15DD25D0	dw ListMenu_SetCursorToItem	;0x1441E788+1	

sub_15DD25D4:									
		LDR	R3, off_15DD25D8
		BX	R3
off_15DD25D8	dw GUIObject_SetStyle	;0x1412AE88+1	

sub_15DD25DC:				
		LDR	R3, off_15DD25E0
		BX	R3
off_15DD25E0	dw ListMenu_SetHotkeyMode	;0x1441E820+1	

sub_15DD25E4:				
		LDR	R3, off_15DD25E8
		BX	R3
off_15DD25E8	dw GUIObject_SetTitleText	;0x14446B3C+1	

sub_15DD25EC:				
		LDR	R3, off_15DD25F0
		BX	R3
off_15DD25F0	dw GUIonMessage_GetMsg	;0x142CA26C+1	


sub_15DD25F4:				
		LDR	R3, off_15DD25F8
		BX	R3
off_15DD25F8	dw GUIonMessage_GetCreatedItemIndex	;0x142CA17C+1	

sub_15DD25FC:									
		LDR	R3, off_15DD2600
		BX	R3
off_15DD2600	dw GUIonMessage_SetMenuItemText	;0x14390474+1	

sub_15DD2604:				
		LDR	R3, off_15DD2608
		BX	R3
off_15DD2608	dw GUIonMessage_SetMenuItemIcon	;0x144D49F8+1	

sub_15DD260C:				
		LDR	R3, off_15DD2610
		BX	R3
off_15DD2610	dw UI_Event	;0x140C6B94+1	

sub_15DD2614:				
		LDR	R3, off_15DD2618
		BX	R3
off_15DD2618	dw GUIObject_Show	;0x144D3B34+1	

sub_15DD261C:				
		LDR	R3, off_15DD2620
		BX	R3
off_15DD2620	dw ListMenu_GetSelectedItem	;0x14283C40+1	

sub_15DD2624:				
		LDR	R3, off_15DD2628
		BX	R3
off_15DD2628	dw Shortcut_Run	;0x1427CC04+1	
off_15DD262C	dw GUIObject_Destroy	;0x144D3EFC+1	

sub_15DD2630:				
		LDR	R3, off_15DD2634
		BX	R3
off_15DD2634	dw 0x140930CC+1	;0x14093D7C+1