jpg001 发表于 2007-3-2 22:38:04

swilib(biglib,Function Library)更新及问题报告请关注

最新更新请关注:

打开下面网址,找到对应机型目录。。。
http://sieelf.googlecode.com/svn/SieELF/ELFLoader_lg8
请关注其更新。。。希望了解使用TortoiseSVN操作以及这个项目更多信息。。。看:http://mobile.0110.cn/viewthread.php?tid=340931
欢迎在本贴报告lib的错误以及发布自己的更新!强烈欢迎同时更新特征库。

本处说明仅对sgold机型!包括所有65机型、cx70以及除去s75/sl75以外的75机型!

凡是使用支持ELFloader2.01或以前版本的biglib,必须确认已刷各自机型的API add(ELFloader1.8++自带   或者   其它<=2.01版本需加刷)!

两个版本lib的区别,仅仅是0B和0C两个地方在2.2版本中需要被注释。

以后不会再提供老版本lib升级,如需要请自行参考制作。

;sub-lib for ELF2.01,from lib for ELF2.2。

;for <=ELF2.01
;x65 & x75 in sgold platform
;jpg001
;不再提供相关机型ELF2.2以前版本的lib,sgold的x65和x75机型在ELF2.2lib基础上加刷:

+0FD4000
#pragma enable old_equal_ff
002C: 0xA0FD9401   ; 0B: fread32(int FileHandler, void *cBuffer, int iByteCount, unsigned int *ErrorNumber)
0030: 0xA0FD9451   ; 0C: fwrite32(int FileHandler, void * cBuffer, int iByteCount, unsigned int *ErrorNumber)
#pragma disable old_equal_ff
+0
;********************************************************************************


;for ELF2.2或以后版本
;若仅提供vkp格式,所有机型如需swi.blib请自行生成:
smelter(例9.30)-打开自己机型的fullflash备份-工具-Library-*.vkp-打开lib-下面窗口,右键-另存为*.blib

更新记录:
2007.02.05修正12、13、50、12B-12D、132、183;增加1C6-1CE。

2007.03.02修正5E、A7、1C7;增加1CE-1DB、1E0、1E1、1FB、1FC。

2007.03.12 修正1DB、1E0、1E1、1FB;增加161、1DC-1DF、1E2-1E4、1F0-1F2、1FD

2007.04.20 修正1DF;增加1E5、1E6、1E8-1ED、1EF、1F5、1F6

2007.04.25 added:7A,F4,F5,F6,1F4,1FC,201-204;revised:79

2007.05.12 added:1FD,205-210;revised:75,76,7E,AF,DC,1FB

所有更新全面转移至我们的SPGC-ELF开发项目:
http://sieelf.googlecode.com/

binghelingxi 发表于 2007-3-3 06:47:54

我考...这么大事我还不知道呢...
开了这个帖也好...
我汗...sk怎么是2.5的?
我发的2.28的在补丁区,该附件被下载次数为0,,,我考...现在人不知道怎么想的,找补丁不到补丁区,却在大街上狂吼...
闪闪...关键的特征我都帖上了
楼上的.别嚣张...哈哈,等会都把你删了,规定这里只用于更新lib,除非有特殊要求...像上面那个作elf用到...
------------------------------------------------
貌似编写elf用到这个,带特征的,随便用用!!!swilib.h到1d4的已经发在源码帖了。。。
#pragma swi_number=0x1D5
__swi __arm char *Get_Phone_Info(int InfoIndex);
//arm
//pattern=??,??,??,E3,??,??,??,95,??,??,??,95,??,??,??,90,??,??,??,95,??,??,??,82,??,??,??,E1

#pragma swi_number=0x1D6
__swi __arm void png_set_gray_1_2_4_to_8(png_structp png_ptr);
//thumb
//pattern=80,30,01,6B,01,22,12,03,11,43,01,63,70,47

#pragma swi_number=0x1D7
__swi __arm void png_set_invert_mono(png_structp png_ptr);
//thumb
//pattern=80,30,01,6B,20,22,11,43,01,63,70,47

#pragma swi_number=0x1D8
__swi __arm int EDIT_IsMarkModeActive(void *gui);
//thumb
//pattern=98BD80,B5,006D -CD

#pragma swi_number=0x1D9
__swi __arm int EDIT_GetMarkedText(void *gui,WSHDR *dest);
//thumb
//pattern=98BD80,B5,006D -B9

#pragma swi_number=0x1DA
__swi __arm void SendSMS(WSHDR *ws,const char *num,int cepid,int msg,int flag);
//thumb
//pattern=??,B5,??,B0,??,1C,??,1C,??,24,??,29,??,9F,??,D0,??,20,??,??,??,??,??,1C,??,21,??,??,??,??,??,22,??,1C,??,1C,??,??,??,??

#pragma swi_number=0x1DB
__swi __arm PDU *IncommingPDU(void);
//adr=

-------------------
2007.3.3
增加1da

论坛又出问题!!!
这里下载

[ 本帖最后由 binghelingxi 于 2007-3-3 12:07 编辑 ]

binghelingxi 发表于 2007-3-7 11:22:33

2007.3.7

81DB: __unknown PDU *IncommingPDU(void)=*(???? 00 00 F0 57 00 00???????? F0 FF 00 00-4)+18
1DC: __thumb short wstrchr(WSHDR *ws,unsigned int start_pos,unsigned int wchar)=1C 08 1C 10 B5 19 68 0B 88 06 E0 44 00 0C 5B
1DD: __thumb short wstrrchr(WSHDR *ws,unsigned int max_pos,unsigned int wchar)=B5 09 E0 03 68 4C 00 1B 5B 93 42 01 D1
1DE: __thumb int EDIT_SetTextToEditControl(void *gui,int n,WSHDR *ws)=80BD70B5041C006D-41

binghelingxi 发表于 2007-3-14 21:21:58

SK6C ...

1DE: __thumb int EDIT_SetTextToEditControl(void *gui,int n,WSHDR *ws)=??80 BD 70 B5 04 1C 00 6D 0E 1C 15 -40
1DF: __thumb void *EDIT_GetUserPointer(void *gui)=6C 70 47 80 B5 00 6D
1E0:__thumb void *MenuGetUserPointer(void *gui)=??,6B,??,47,??,B5,??,21,??,??,??,??,??,28,??,D0,??,??,??,??,??,28,??,D1,??,20,??,BD+1
1E1:__thumb int GetSymbolWidth(int wchar,int font)=??,B5,??,1C,??,1C,??,2C,??,D0,??,2C,??,D0,??,09,??,39,??,39,??,D1,??,20,??,BD,??,??,??,??,??,1C,??,1C,??,46,??,??,??,??,??,E7+1
1E2:__thumb int ws_2utf8(WSHDR *ws, char *utf8_str)=??,B5,??,22,??,46,??,68,??,25,??,88,??,24,??,46,??,E0,??,2A,??,D2,??,1C,??,42,??,D2,??,1C,??,55,??,1C,??,E0,??,??,??,02,??,42,??,D2,??,1C,??,42,??,D2,??,09,??,27,??,43,??,55,??,1C,??,E0+1
1E3:__thumb int utf8_2ws(WSHDR *ws,char *utf8_str, unsigned int maxLen)=??,B5,??,22,??,46,??,B0,??,9A,??,24,??,23,??,04,??,0C,??,46,??,E0,??,8A,??,3A,??,42,??,DD,??,1C,??,04,??,0C,??,1C,??,1C,??,5D,??,06,??,D4,??,34,??,04,??,0C,??,68,??,00,??,53,??,E0+1
1E4: __thumb int GetPicNByUnicodeSymbol(int wchar)=06 70 B5 C0 09 02 1C FF 3A 49

这里下载

binghel 发表于 2007-3-18 20:02:53

1FB:__arm char *RamMediaIsPlaying()=&(??,??,9F,E5,??,??,9F,E5,??,??,01,E2,??,??,00,0A) + 48

只剩下SK了。。。
这里下载

binghelingxi 发表于 2007-3-24 20:45:07

1E5: __thumb int EDIT_OpenOptionMenuWithUserItems(void *gui, void (*itemhandler)(USR_MENU_ITEM *item), int zero, int to_add);
1E6: __thumb void Menu_SetItemCountDyn(void *gui, int n)=??,B5,??,1C,??,35,??,69,??,1C,??,6A,??,6A,??,6D,??,2A,??,D0,??,42,??,D9,??,38,??,42,??,D9,??,E0,??,42,??,D2,??,1C,??,??,??,??,??,E0,??,42,??,D9,??,1C,??,??,??,??,??,68,??,28,??,D0,??,??,??,??,??,1C,??,??,??,??,??,28,??,D0,??,6B,??,28,??,D0,??,21,??,66,??,68,??,1C,??,69,??,1C,??,47,??,68,??,1C,??,21,??,68,??,1C,??,47,??,??,??,??,??,1C,??,??,??,??,??,28,??,D0,??,6B,??,28,??,D0,??,21,??,66,??,68,??,68,??,1C,??,47,??,BD+1
1FC: char RamIsMainScreen()=*(94 30 09 79 FF F7 34 FE 00 20 60 61 10 BD 00 00+10)-4

这里下载

2007.2.29

修正!
1D8: __thumb int EDIT_IsMarkModeActive(void *gui)=B5141C049A0092006D221C????????98BD80B5006D-BE
1D9: __thumb int EDIT_GetMarkedText(void *gui,WSHDR *dest)=B5141C049A0092006D221C????????98BD80B5006D-aa
big fucntion library 2007.3.29.zip]这里下载

[ 本帖最后由 binghelingxi 于 2007-3-29 11:41 编辑 ]

binghelingxi 发表于 2007-3-31 16:16:05

big fucntion library适合ElfLoader v2.01 ,v1.8++
修正了好几处错误!big fucntion library 2007.3.30.zip

binghelingxi 发表于 2007-4-14 22:27:52

1E8: __arm int IsNoJava()=30 02 1F E5 14 00 90 E5 1E FF 2F E1 3C 12 1F E5
1EA: __thumb int GetMaxDynIcon(void)=20 70 47 4A 4B 70 B5 C3 18 85 2B 44 4D 46 4C 26
1ED: __thumb int IsDynIconBusy(int picture)=49 80 B5 40 18 85 28 05 D8 0C 23 58 43 20 49 40
1EC: __thumb void FreeDynIcon(int picture)=49 80 B5 41 18 85 29 06 D8 0C 23 59 43 2B 4A 00
1EF: __thumb void SetDynIcon(int picture,IMGHDR *img,char *bitmap)=4B 70 B5 C3 18 85 2B 44 4D 46 4C 26 D8 46 4B 00
1F6: __thumb IMGHDR* GetPitAdrBy0xE200Symbol(int uni_symbol)=B5 C1 09 FF 39 C5 39 12 4D 14 4C 1C D1 40 06 40

还有其它几个,没有记录特征。。。
用于 ElfPack v2.2:
FL_SWI.7z

用于 ElfPack v2.01:
big fucntion library 2007.4.14.7z

jpg001 发表于 2007-4-20 17:21:58

2007.04.20—仅支持ELF2.2

ELF2.2 only!

2007.04.20 修正1DF,增加1E5、1E6、1E8-1ED、1EF、1F5、1F6



[ 本帖最后由 jpg001 于 2007-4-20 19:27 编辑 ]

binghelingxi 发表于 2007-4-21 11:54:16

SK6Cv50

ELfPack2.2:
FL_SWI.zip

ElfPack2.01及一下版本:
big fucntion library 2007.4.21.vkp.zip

DE: RamIsSimPresent=*(10d30000??????a8??????a8??????a8??????a8000030f1+10)
E2: RamKeyBuffer=*(50d10000??????a8????????e740000+4)
尝试修正:
CD: RamMissedSMS
D4: RamMissedMes

jpg001 发表于 2007-4-27 19:24:37

ELF2.2 only!
s6cv53:
带修复,解压不了的尝试修复。。

binghelingxi 发表于 2007-4-28 09:43:40

75: IsCanvasBufferSet(char CanvasID)=??4A011C24234B4312680020 + 1
76: GetCanvasBufferPicPtr(char CanvasID)=7047??49242380B5096858434018??680028 + 3
79: DrawObject2Layer(LCD_Layer *, DRWOBJ *)=(80B5????????80BDB0B50D1C041C0028??D0002D??D0) + 9
7A: UpdateDisplayByLayerPtr(LCD_Layer *)=38B5041C80890028??D0E0890028 + 1
F5: Ram_LCD_Overlay_Layer=&(E08170BD70B5051C0C1C??????48 + C)
F6: RAM_LCD_Layer_Base_Ptr=&(00B5??????FF431C??D0??4940014018??????BD0020??BD??B5??????FF0028??D0????????0028 + A)
1F4: char *RamServiceProviderName()=*(??????A86F481402??????A86F741010)
1FC: __thumb void CloseCSM(int id)=B5,??,4D,??,1C,??,1C,??,68,??,??,??,??,??,68,??,20,??,42,??,D1,??,60,??,68,??,42,??,D1,??,60,??,BD
200: ScreenShot();
201: __thumb void SetProp2ImageOrCanvas(DRWOBJ *, RECT *, int zero, IMGHDR *Image, int bleed_x, int bleed_y)=FFB581B0041C0520 + 1
202: __thumb void fillTriangle(int x1, int y1, int x2, int y2, int x3, int y3, int flag, char *pen, char *brush)=B5,??,B0,??,99,??,9C,??,AF,??,1C,??,43,??,CF,??,D0,??,29,??,D1,??,20
203: __thumb void SetPixel(int x,int y,char *color)=B5,??,1C,??,78,??,1C,??,1C,??,28,??,B0,??,D0,??,1C,??,22,??,21,??,96,??,A8
204: __thumb void drawArc(int x1,int y1,int x2,int y2,int a1,int a2,int flag,char *pen,char *brush)=B5,??,B0,??,9D,??,20,??,90,??,2D,??,9C,??,9E,??,9F,??,D0,??,20,??,30,??,42,??,DC

ElfPack v2.2:
FL_SWI.7z

elfpack v2.01及一下版本。。。加刷(只适用于这一次):
FD402C: FFFFFFFF 0xA0FD9401   ; 0B: fread
FD4030: FFFFFFFF 0xA0FD9451   ; 0C: fwrite

comdin 发表于 2007-4-30 00:00:26

;79: DrawObject2Layer(LCD_Layer *, DRWOBJ *)
;7A: UpdateDisplayByLayerPtr(LCD_Layer *)
;AF: Hex2Int
;F4: size_t strspn(const char *s1, const char *s2)
;F5: Ram_LCD_Overlay_Layer
;F6: RAM_LCD_Layer_Base_Ptr
; 1F3: GetSessionAge
; 1F4:char *RamServiceProviderName()
; 1FC: __swi __arm void CloseCSM(int id)
; 201: void SetProp2ImageOrCanvas(DRWOBJ *, RECT *, int zero, IMGHDR *Image, int bleed_x, int bleed_y)
; 202: __swi __arm void fillTriangle(int x1, int y1, int x2, int y2, int x3, int y3, int flag, char *pen, char *brush)
; 203: __swi __arm void SetPixel(int x,int y,char *color)
; 204: __swi __arm void drawArc(int x1,int y1,int x2,int y2,int a1,int a2,int flag,char *pen,char *brush)


更新或者增加了以上几项!

[ 本帖最后由 comdin 于 2007-4-30 09:03 编辑 ]

binghelingxi 发表于 2007-5-4 14:43:55

E4: FreeRAM(先刷Cut heap)
7E: __thumb int rand(void);
205: SetProp2Square_v1;
206: __thumb void srand(unsigned int seed);
1FD: SetProp2Square_v2
207: __thumb void DrawScrollString(WSHDR *WSHDR,int x1,int y1,int x2,int y2,int xdisp,int font,int text_attribute,char *Pen,char *Brush);

ElfLoader v2.2
FL_SWI 2007.5.4.7z


elfpack v2.01及一下版本。。。加刷(只适用于这一次):

FD402C: FFFFFFFF 0xA0FD9401   ; 0B: fread
FD4030: FFFFFFFF 0xA0FD9451   ; 0C: fwrite

; * Cut heap *
; SK6Cv50
; (c) Rst7
; (i) BoBa, Kibab, avkiev
; (p) 阿冰

;(!) Library, SWI

0A6D3B8: 000082E51EFF2FE1000000A8 04F01FE5,0xA0FC0831,0xA8000400

#pragma enable old_equal_ff
0FC0830: 00B51060012292020868801A0860981A
0FC0840: 111C58DF00BD
#pragma disable old_equal_ff

[ 本帖最后由 binghelingxi 于 2007-5-4 14:45 编辑 ]

jpg001 发表于 2007-5-12 19:29:24

;for ELF2.2
;若仅提供vkp格式,所有机型swi.blib请自行生成:
smelter(例9.30)-工具-Library-*.vkp-打开lib-下面窗口,右键-另存为*.blib
;sub-lib for ELF2.01

;for <=ELF2.01
;x65 & x75 in sgold platform
;jpg001
;不再提供相关机型ELF2.2以前版本的lib,sgold的x65和x75机型尝试加刷:

+0FD4000
#pragma enable old_equal_ff
002C: 0xA0FD9401   ; 0B: fread32(int FileHandler, void *cBuffer, int iByteCount, unsigned int *ErrorNumber)
0030: 0xA0FD9451   ; 0C: fwrite32(int FileHandler, void * cBuffer, int iByteCount, unsigned int *ErrorNumber)
#pragma disable old_equal_ff
+0
;********************************************************************************


2007.05.12。。有问题尝试改回75,76,7E,AF,DC,1FB
友情提供,请勿PM!

x65 in:测试版。。

C65加刷下面一行修正:FD4630: 0xA020238A 0xA0829224   ; 18C:__arm void GBS_DelTimer(GBSTMR *)

[ 本帖最后由 jpg001 于 2007-8-4 21:54 编辑 ]

download10 发表于 2007-5-21 19:19:30

c7cv22r的BigFunctionLibrary20070516

http://mobile.0110.cn/viewthread.php?tid=319667&extra=page%3D2

jpg001 发表于 2007-5-23 12:11:02

Function Library问题报告

因为sgold的lib近期一直只有我和阿冰在升级,基本是从国外而来,疏漏之处在所难免。elf和mp不能用也基本上是因为lib的问题。。所以开此贴讨论这方面的问题。

为了尽快得到解决。需详细描述有关的现象和操作,机型、版本、包括elfloader版本等等。最好还有死机信息,如果死机的话。

最后希望有更多的人能够关注lib的修正,我基本不用65了,花在65上的时间不会太多了。而且,只有几个人再搞的话,激情渐渐的就没了,实在不利于西机补丁的发展。

[ 本帖最后由 comdin 于 2007-5-23 13:08 编辑 ]

binghelingxi 发表于 2007-5-23 12:51:38

我要把标题改成。。。Function Library问题报告,可以否?

当然。。。不能把什么问题都怪在Function Library上、、、
报告时最好说一下你自己觉得哪个函数会有问题。。。

jpg001 发表于 2007-5-23 12:54:05

你改吧。。问题集中起来好解决。。大多也就是个别函数的问题

binghelingxi 发表于 2007-5-23 20:14:29

有下面这种情况。。。

刷了elfloader v2.2 以上版本。。。
http://bingk.kilu.net/Pictures/12.jpg
no function in lib!
就是说biglib中没有这个函数string则表示函数序号。。。136-》十进制,088-》16进制
直接上报。。。
页: [1] 2 3 4 5 6
查看完整版本: swilib(biglib,Function Library)更新及问题报告请关注