GSM Shop GSM Shop
GSM-Forum  

Welcome to the GSM-Forum forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features.
Only registered members may post questions, contact other members or search our database of over 8 million posts.

Registration is fast, simple and absolutely free so please - Click to REGISTER!

If you have any problems with the registration process or your account login, please contact contact us .

Go Back   GSM-Forum > GSM & CDMA Phones / Tablets Software & Hardware Area > Various > Siemens-Benq > All Siemens and Benq Manufactured Phones > E-Gold Based Phones


E-Gold Based Phones This is the section for all E-Gold and E-Gold Lite based phones: A31,A52 A55, A57, A60, A62, A65, A70, AF51, AL21, AX72, AX75, C55, C60, CF62, CF110, M55, MC60, S55, SL55 And also post all about Joker & Freia in this Section.

Reply
 
LinkBack Thread Tools Display Modes
Old 09-30-2005, 17:07   #1 (permalink)
Freak Poster
 
misko903's Avatar
 
Join Date: Oct 2004
Location: Slovakia
Age: 41
Posts: 219
Member: 89407
Status: Offline
Thanks Meter: 0
Exclamation miniGPS patch for S55/M55


hi all,

i want to adapt miniGPS patch to x55 version of phones. but i am not so much experienced in asm.
there is source code (Thanx to DeadManS) for SL45i with some entry points and my comments for S55.

Code:
;Original for SL45i, adapting to S55v20/91

$SEGMENTED      
$MOD167

       

NAME            hello_module

 
HELLO_PATCH_ADDRESS	EQU 0E0CA10h	;S55v91: anywhere :)
ReadEEPROM		EQU 0C22F3Eh	;S55v20: 0A2CD12h
WriteEEPROM		EQU 0C22F92h    ;S55v20: 0A2CD66h
Drawimage		EQU 0C122ECh	;S55v20: 072C316h PicturePaint
					;S55v20: 09BEE90h PicturePaint1 09BEEFAh PicturePaint3, 09BF0E4h PicturePaint2
IsCallInProgress	EQU 0CCC64Ch	;S55v20: 063DB06h CallActive?
IsAtFullService		EQU 0A24c18h	
longtohexstr		EQU 0C78032h	;S55v20: 0BF915Eh LongToHEXString
strstr			EQU 0C785F0h	;
drawstring		EQU 0D6A358h	;S55v20: ???067DFE4h PrintString
FileOpen		EQU 0DFA73Eh	;r13:r12 = pointer to ASCIIZ filename
					;r4 = Open result, if success r4=fileHandle, if failed, r4=FFFF

FileRead	 	EQU 0DFABAEh	;r12=fileHandle r15=size r14:r13 = pointer to buffer
FileClose		EQU 0DFC570h	;r12=fileHandle
LoadHelper		EQU 0E47FF0h	;r5:r4 - pointer to afterloading func
memset			EQU 0C78416h	;Fill memory r13:r12, size r15 whith r14 code
FillRect		EQU 0C0E5D0h	;R12-Color (1-black, 0-white) (on stack) r12-X r13-Y r14-width r15 -height 
CI			EQU 039D86h	;S55v20: ???0677C78h ShowServingCell 
buff			EQU 080000h
stringbuff		EQU 080002h
cellnamebuff		EQU stringbuff+6
filebuff		EQU cellnamebuff+20
b_flag			EQU 0D3E1Bh
BlockSize		EQU 1024	;Same as SLIK




hello_patch SECTION CODE WORD AT 0E0D360h
patch_proc      PROC NEAR



		mov	[-r0], r12
		mov	[-r0], r4
		mov	[-r0], r5
		mov	[-r0], r6
;---------------Load CellID and comprare with Saed Cell ID----------------
		extp	#pag(b_flag), #1
		movb	rl4, pof(b_flag)
		cmpb	rl4, #0
		jmpa	cc_z, endprog

		extp	#pag(ci), #1
		mov	r4, pof(ci)
		ror	r4, #8
		extp	#pag(buff), #1
		mov	r5, pof(buff)
		cmp	r4, r5
		jmpr	cc_z, nochange
;---------------Saving CellID if Cell is change---------
		extp	#pag(buff), #1
		mov	pof(buff), r4
;---------------Loading CellID name from EEPROM--------
		mov     r12, #0
		mov     [-r0], r12
		mov     [-r0], r12
		mov     [-r0], r12
		mov     r12, #BlockSize
		mov     [-r0], r12
		mov     r12, #5169
		mov     r13, #pof(filebuff)
		mov     r14, #pag(filebuff)
		mov     r15, #0
		calls   seg(ReadEEPROM), sof(ReadEEPROM)
		add	r0, #8

;---------------Converting CellID from HEX to string----------

		mov	r4, #0
		mov	r12, #2
		mov	[r0], r12
		mov	r12, #pof(stringbuff)
		mov	r13, #pag(stringbuff)
		extp	r13, #1
		movb	[r12+#4], rl4		;end of string identify
		mov	r14, #pof(buff)
		mov	r15, #pag(buff)
		calls	seg(longtohexstr), sof(longtohexstr)
		mov	r4, #0
		extp	#pag(stringbuff), #1
		mov	pof(stringbuff)+4, r4
;---------------Finding CellID in CellID Namelist
		mov	r12, #pag(filebuff)
		mov	r13, #pof(filebuff)
		extp	#pag(stringbuff), #2
		mov	r4, pof(stringbuff)
		mov	r5, pof(stringbuff)+2

find:		extp	r12, #1
		movb	rl6, [r13]
		cmpb	rl6, #0FFh
		jmpr	cc_z, nochange1		;CellName not found
		cmpb	rl4, rl6
		jmpr	cc_nz, nextfind
		extp	r12, #1
		movb	rl6, [r13+#1]
		cmpb	rh4, rl6
		jmpr	cc_nz, nextfind
		extp	r12, #1
		movb	rl6, [r13+#2]
		cmpb	rl5, rl6
		jmpr	cc_nz, nextfind
		extp	r12, #1
		movb	rl6, [r13+#3]
		cmpb	rh5, rl6
		jmpr	cc_nz, nextfind
		jmpr	cc_uc, addrfound
nextfind:	add	r13, #1
		jmpr	cc_uc, find
;---------------Copy CellID name from CellID List to buffer

addrfound:	add	r13, #5
		mov	r14, #pof(stringbuff)
CopyLoop:	extp r12, #1
		movb	rl6, [r13]
		cmpb	rl6, #0Dh		; End CellName?
		jmpr	cc_z, EndCopyLoop
		extp	#pag(stringbuff), #1
		movb	[r14], rl6
		add	r13, #1
		add	r14, #1
		jmpr	cc_uc, CopyLoop
EndCopyLoop:	mov	r4, #0
		extp	#pag(stringbuff), #1
		movb [r14], rl4			; make end of string identify

;---------------some NOP's for other programs
nochange1:	nop
		nop
		nop
		nop
		nop
		nop


;---------------Printing CellID Name on main screen

NoChange:	;---------------Erase old string from screen----------------
		mov	r12, #0
		mov	[-r0], r12
		extp	#pag(coord), #2
		mov	r15, pof(coord)
		mov	r13, pof(coord)+2
		mov	r14, #101
		mov	r12, #0
		calls	seg(FillRect), sof(FillRect)
		add	r0, #2

		mov	r14, #pof(stringbuff)
		mov	r15, #pag(stringbuff)
		mov	r4, #08	;font style
		mov	[-r0], r4
		mov	[-r0], r15
		mov	[-r0], r14
		extp	#pag(coord), #2
		mov	r15, pof(coord)
		mov	r13, pof(coord)+2
		mov	r14, #101
		mov	r12, #0
		calls	seg(drawstring), sof(drawstring)
		add	r0, #6




endprog:	mov	r6, [r0+]
		mov	r5, [r0+]
		mov	r4, [r0+]
		mov	r12, [r0+]
		mov	[-r0], r9
		mov	[-r0], r8
		rets

saveEEPROM:	mov	[-r0], r12
;---------------Filling FileBuffer FF byte------------------
		mov	r13, #pag(filebuff)
		mov	r12, #pof(filebuff)
		mov	r15, #BlockSize+2
		mov	r14, #0FFh
		calls	seg(memset), sof(memset)
;---------------Load CellID list from MMC--------------
		mov	r13, #pag(filename)
		mov	r12, #pof(filename)
		calls	seg(FileOpen), sof(FileOpen)
		cmp	r4, #0FFFFh
		jmpr	cc_z, endload
		mov	r12, r4
		mov	[-r0], r12
		mov	r14, #pag(filebuff)
		mov	r13, #pof(filebuff)
		mov	r15, #BlockSize
		calls	seg(fileread), sof(fileread)
		mov	r12, [r0+]
		calls	seg(fileclose), sof(fileclose)
;---------------Saving CellIDlistto EEPROM-------------
		mov     r12, #0
		mov     [-r0], r12
		mov     [-r0], r12
		mov     [-r0], r12
		mov     r12, #BlockSize
		mov     [-r0], r12
		mov     r12, #5169
		mov     r13, #pof(filebuff)
		mov     r14, #pag(filebuff)
		mov     r15, #0
		calls   seg(WriteEEPROM), sof(WriteEEPROM)
		add     r0, #8

endload:	mov	r12, [r0+]
		and	r12, #3FFFh
		rets

filename:	db	'a:\ci.txt', 0
coord:		db	09,00,07,00




patch_proc      ENDP
hello_patch ENDS




END

any ideas? comments?
so, who will help me?
  Reply With Quote
Reply

Bookmarks


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Freia Patched for M55 !!! Drug_Store Siemens-Benq RingTones and WallPapers 56 03-22-2004 06:31
Patch for S55 Fw90? za7 Siemens-Benq Flash Patching 2 03-12-2004 00:06
Over 120++ Colour Java Games for S55, SL55, M55 lawrence Java, iOS, Android, Symbian development 7 01-22-2004 08:13
REQUEST Patches for s55... fr33styl3r7 E-Gold Based Phones 4 10-19-2003 13:52
Russian for S55 and M55. Where to get it? andrew_gsm Siemens-Benq RingTones and WallPapers 5 09-01-2003 20:23

 



All times are GMT +1. The time now is 04:23.



Powered by Searchlight © 2024 Axivo Inc.
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
- GSM Hosting Ltd. - 1999-2023 -
Page generated in 0.15488 seconds with 9 queries

SEO by vBSEO