爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
楼主: cyb2003
收起左侧

通话和短消息详单V2.3(能够记录号码,显示英文姓名了)1-26更新

[复制链接]
 楼主| 发表于 2007-2-5 09:42:57 | 显示全部楼层
原帖由 JunFeng 于 2007-2-3 14:16 发表
呵呵

^&^

能否把替换的函数贴出来
工作,时间不是太多看这个



对应函数如下:
       56       ---       55

loc_DFA73E  ---  loc_DBAF5C
loc_DFABAE  ---  loc_DBB3CC
loc_DFC570  ---  loc_DBCD8E
loc_DFE5D0  ---  loc_DC4FB6
loc_DFB0FE  ---  loc_DBB91C
loc_DFB868  ---  loc_DBC086

loc_C78536  ---  loc_C78536
loc_C78516  ---  loc_C78516
loc_C784EE  ---  loc_C784EE
loc_C783B4  ---  loc_C783B4
loc_C783DC  ---  loc_C783DC
loc_C78416  ---  loc_C78416
loc_C7EE8E  ---  loc_C7EE8E
loc_C7EFCC  ---  loc_C7EFCC
loc_C7F03E  ---  loc_C7F03E

loc_E47FFC  ---  loc_E4484C (FAM3.2)
loc_EE1112  ---  loc_F336AA
loc_EE13D0  ---  loc_F33968
loc_C1AA30  ---  loc_B4724C
loc_E6EC90  ---  loc_E60000
loc_A4884E  ---  loc_A4D282
loc_F08350  ---  loc_F3ED34
loc_D6A358  ---  loc_D110C6
loc_C0E5D0  ---  loc_B3BB1C
loc_E76048  ---  loc_E5ECDA
loc_E6F138  ---  loc_E604A8
loc_D64ADE  ---  loc_DDFD62
loc_F07490  ---  loc_F3DE0E
loc_F1B8B6  ---  loc_F605EA
loc_F0644C  ---  loc_F3CDCA
loc_F0649A  ---  loc_F3CE18
loc_F063C6  ---  loc_F3CD44
loc_F1B860  ---  loc_F60594
loc_F1B340  ---  loc_F60074
loc_F1B2CC  ---  loc_F60000
loc_F19E90  ---  loc_F50900
loc_F19AA8  ---  loc_F50518
loc_E70774  ---  loc_E4885C
loc_E70BAC  ---  loc_E48C94
loc_F1B5D0  ---  loc_F60304
loc_E70DB4  ---  loc_E48E9C
loc_F0A234  ---  loc_F40CFC
loc_D6A45C  ---  loc_D111CA
loc_F07EC0  ---  loc_F3E8A4
loc_F07FAC  ---  loc_F3E990
loc_D60340  ---  loc_D0A258
loc_D63120  ---  loc_D0ECC4
loc_E47EC0  ---  loc_E47EC0


PS:因上星期六日不能上网,所以只能现在才能贴出来。见谅。。。。
回复 支持 反对

使用道具 举报

发表于 2007-2-5 16:04:56 | 显示全部楼层
大侠出手了!
回复 支持 反对

使用道具 举报

发表于 2007-2-5 23:14:54 | 显示全部楼层
又进一步        
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-7 09:47:24 | 显示全部楼层
@JunFeng

在FileOpen函数中,参数r14与r15有什么用???
回复 支持 反对

使用道具 举报

发表于 2007-2-7 17:07:23 | 显示全部楼层
原帖由 cyb2003 于 2007-2-7 09:47 发表
@JunFeng

在FileOpen函数中,参数r14与r15有什么用???



抱歉,我也不太清楚。呵呵
原以为是文件fat表的位置,比如定位到x  kb,不记得测试过没有
每天都有点晕头转向的
等好点了再看看这个。。:Q
回复 支持 反对

使用道具 举报

发表于 2007-2-12 16:22:56 | 显示全部楼层
期待能显示中文。
回复 支持 反对

使用道具 举报

发表于 2007-2-19 10:30:27 | 显示全部楼层
不能不顶的说
回复 支持 反对

使用道具 举报

发表于 2007-3-6 01:09:52 | 显示全部楼层
顶上去       
回复 支持 反对

使用道具 举报

发表于 2007-3-8 08:09:56 | 显示全部楼层
继续!!!
回复 支持 反对

使用道具 举报

发表于 2007-4-19 08:31:08 | 显示全部楼层
继续顶上!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-19 10:28:11 | 显示全部楼层
最好是不用记录姓名,不知什么原因,当每条记录大于43个字节在挂机后就会关机。
不记录姓名的话就不会大于43个字节。

;去掉记录姓名:
0x4454DE: 2A54 6A54

PS:我用通话录音和自动留言都试过和这个通话详单都不冲突。可见这个通话详单用FAM3.2后相对较稳定了。。。。

[ 本帖最后由 cyb2003 于 2007-4-19 10:32 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2007-4-19 15:42:30 | 显示全部楼层
稳定第一,不希望一接电话就关机
回复 支持 反对

使用道具 举报

发表于 2007-4-19 22:25:38 | 显示全部楼层
进展如何         
回复 支持 反对

使用道具 举报

发表于 2007-5-2 21:34:39 | 显示全部楼层

呵呵
今天看了看,有点新的理解
可能是文件打开的方式,如不存在时则新建,是追加还是复写等
由此定义
文件操作类函数基本明白了,某些具体参数观察中

学习c  ing
别的都不怎么感兴趣了,只想要个文本编辑器
回复 支持 反对

使用道具 举报

发表于 2007-5-3 02:24:35 | 显示全部楼层
有希望              
回复 支持 反对

使用道具 举报

发表于 2007-5-3 04:34:58 | 显示全部楼层
好久没来小8版了,支持一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-4 10:03:55 | 显示全部楼层

回复 #94 JunFeng 的帖子

有好多地方我都不明白,看来我无能为力了。。。。
如果RST7能帮助下还可以。。
他们太强了。
回复 支持 反对

使用道具 举报

发表于 2007-5-4 14:37:28 | 显示全部楼层
可能性比较小~~~~
还是靠自己的
有转换函数的,可能要额外处理,对于中文字符
这些东西看得少。。不知道来电时显示的字符是什么格式
做相应的转换然后写入就可以了

贴点有用的东西

sl45.inc

#define OnlyVIPFilter   0A4A466h
#define addrBookFilter  0A4A456h
#define sendMessage3    0C1B164h

#define moveWord        0C7EE0Ah
;       mov     r4, #pof(src)
;       mov     r5, #pag(src)
;       mov     r10, #pof(dest)
;       mov     r11, #pag(dest)
;       mov     r3, #wordCount

#define strncpy         0C7859Eh
#define strncmp         0C78578h
#define strnicmp        0C787DAh
#define memcmp          0C78388h
;       mov     r12, #length
;       mov     [-r0], r12
;       mov     r12, #pof(dest)
;       mov     r13, #pag(dest)
;       mov     r14, #pof(src)
;       mov     r15, #pag(src)


#define memset2         0f1b2cch

#define pokeW           0C78484h
#define pokeDW          0C78490h

#define strcmp          0C784EEh        ; r4=result
#define strcpy          0C78516h
#define strcat          0C784A6h
;       mov     r12, #pof(dest)
;       mov     r13, #pag(dest)
;       mov     r14, #pof(src)
;       mov     r15, #pag(src)

#define strrchr         0C785CCh
#define strchr          0C784CCh
;       mov     r12, #pof(string)
;       mov     r13, #pag(string)
;       mov     r14, #char

#define strstr          0C785F0h
;       mov     r12, #pof(string)
;       mov     r13, #pag(string)
;       mov     r14, #pof(subString)
;       mov     r15, #pag(subString)

#define atol            0C77EBAh        ; r5:r4=result
#define atoi            0C782E6h
#define strlen          0C78536h
;       mov     r12, #pof(string)
;       mov     r13, #pag(string)       ; r4=result

#define upCase          0DFCE3Ah
;       mov     r12, #char              ; r4=result

#define playVMOFile     0D536B2h

#define storeASCIIZ     0D3B1B2h
#define sendInt2        0D3B120h

#define readEEP         0C22F3Eh
#define writeEEP        0C22F92h

#define playTone        0C30014h
#define playToneifEna   0C300B6h
#define setSoundFlag    0C300D4h
#define getSoundFlag    0C300E0h
#define playDTMF        0C300ECh

#define dspMsgBoxV      0E6F138h
#define dspMsgBoxI      0E6F198h
#define dspString       0CA8B7Ah

#define callR5R4        0C7EE88h
#define runJava         0C808DEh



#define getSignalLvl    0CF1616h
#define getSignalPct    0E54B02h
#define setContrast     0C0CACAh
#define getContrast     0C0CBBCh
#define cekLight        0DE1710h
#define isKeylocked     0A34080h
#define turnLightDimm   0C0B14Eh
#define getIllumination 0C0B13Ch
#define setIllumination 0C0B19Eh
#define turnLightON     0c0af24h
#define turnLightOFF    0c0afc0h
#define turnLightIfON   0c1fbb6h

#define createMenu02            0E6EC90h
#define setMenuItemIcon         0E76048h
#define refreshMenuItem         0E74A24h
#define getCurrMnItem           0E761AEh

#define getIMEIasText   0CD9D2Ch
#define _IMEI_DATA      0321344h

#define GBSS_po_open    0E49486h
;       mov     r12, #pof(GBSSBuff)             ; 8bytes?
;       mov     r13, #pag(GBSSBuff)
;       mov     [-r0], r13
;       mov     [-r0], r12
;       mov     r12, #pof(filename)
;       mov     r13, #pag(filename)
;       mov     r14, #flag1             ; 10a=append?, 102=rewrite        写文件的参数定义~!!
;       mov     r15, #flag2             ; 100, r4=fileHandle

#define GBSS_po_read    0E4952Eh
;       mov     r12, #pof(dataBuff)
;       mov     r13, #pag(dataBuff)
;       mov     [-r0], r13
;       mov     [-r0], r12
;       mov     r12, #fileHandle
;       mov     r13, #pof(GBSSBuff)
;       mov     r14, #pag(GBSSBuff)

#define GBSS_po_close   0E497E0h
;       mov     r12, #fileHandle
;       mov     r13, #pof(GBSSBuff)
;       mov     r14, #pag(GBSSBuff)

#define GBSS_po_write   0e49672h
;       mov     r12, #pof(dataBuff)
;       mov     r13, #pag(dataBuff)
;       mov     [-r0], r13
;       mov     [-r0], r12
;       mov     r12, #fileHandle
;       mov     r13, #pof(GBSSBuff)
;       mov     r14, #pag(GBSSBuff)

#define fileOpen        0DFA73Eh
#define fileRead        0DFABAEh
#define fileWrite       0dfb0feh
#define fileClose       0DFC570h

#define showDlgI        0e5dd76h
#define showMsgIcon2    0e5ddceh
#define showMsgNoBox    0e5ecd8h
#define sendMsg         0c1aa30h

#define convText2ID     0e6599ch
#define resetTextID     0e65b5eh
#define convWStr2ID     0e65c2eh

#define cekVibraFlag    0de17a6h
#define doVibraOnce     0c3026ch

#define onTimer         0d6026ch
#define dspAlert        0d60ed4h
#define cpBuff2Scr      0e65fech


#define doDate          0a4b9a2h
;       mov     r4, #1
;       mov     [-r0], r4
;       mov     r4, #7
;       mov     [-r0], r4
;       mov     r12, #pof(dateBuff)
;       mov     r13, #pag(dateBuff)
;       mov     r14, #pof(dstBuff)
;       mov     r15, #pag(dstBuff)

#define doTime          0a4bae4h
;       mov     r4, #1
;       mov     [-r0], r4
;       mov     r4, #24
;       mov     [-r0], r4
;       mov     r12, #pof(timeBuff)
;       mov     r13, #pag(timeBuff)
;       mov     r14, #pof(dstBuff)
;       mov     r15, #pag(dstBuff)

#define cpTime          0a4ac7ch
#define cpDate          0a4ac06h
#define doDateTime      0a4f856h
;       mov     r4, #size
;       mov     [-r0], r4
;       mov     r12, #pof(destBuff)
;       mov     r13, #pag(destBuff)
;       mov     r14, #pof(datTimBuff)
;       mov     r15, #pag(datTimBuff)


#define convertBMP      0dc6068h
;       mov     [-r0], #pag(ptrSize)    -> r1
;       mov     [-r0], #pof(ptrSize)    -> r14
;       mov     [-r0], #pag(dst)        -> r6
;       mov     [-r0], #pof(dst)        -> r9
;       mov     [-r0], #imgheight
;       mov     r13, #pag(src)
;       mov     r12, #pof(src)
;       mov     r15, #imgwidth


#define drawSomeImages  0e6fab2h

#define getOprName      0a2cd5ch
;       mov     r12, #pof(dstBuff)
;       mov     r13, #pag(dstBuff)

#define getCallStatus   0ccc468h
;       mov     r12, #1

#define isIncoming      0ccc4c2h
;       mov     r12, #1

#define fmtNumber       0c78436h
;       mov     r12, #number
;       mov     r13, #pof(dstBuff)
;       mov     r14, #pag(dstBuff)
;       mov     r15, #noOfDigit

#define TimeBuff        0Dh:25DCh       ; DC=mm DE=hh E0=dd E2=mn E4=yy

#define dspDialogCenter 0d78a54h
;       mov     r12, #pof(strList)
;       mov     r13, #pag(strList)

#define _dspAlert       0e5d420h
;       mov     r12, #pof(strList)
;       mov     r13, #pag(strList)
;       mov     [-r0], r13
;       mov     [-r0], r12
;       mov     r12, #pof(wndClass)
;       mov     r13, #pag(wndClass)
;       mov     r14, #0
;       mov     r15, #0

#define dspAlert00      0dab442h
;       mov     r12, #pof(strList)
;       mov     r13, #pag(strList)
;       mov     [-r0], r13
;       mov     [-r0], r12
;       mov     r12, #pof(wndClass)
;       mov     r13, #pag(wndClass)
;-- no need to add r0, #4 ... already done !

#define _dspScroll      0e6f2a6h
;       mov     r12, #0
;       mov     [-r0], r12
;       mov     r12, #pof(par1menu)
;       mov     r13, #pag(par1menu)
;       mov     r14, #pof(strList)
;       mov     r15, #pag(strList)

#define word2DigitArr   0c7891eh
;       mov     r12, #word
;       mov     r13, #pof(outBuff)
;       mov     r14, #pag(outBuff)

#define CallRecvList    0de563eh
#define CallDialList    0de5616h
#define CallMissList    0de5704h

#define dictStop        0xC321CE
#define dictRecord      0xD4F314
#define setMicOFF       0xC247E6
#define setMicON        0xC247D6

#define doIDLE          0xee1cac
#define isMultiline     0xA015AC

#define runDelay        0dafc68h
;       mov     r12, #miliseconds
;       mov     r13, #miliseconds
;       mov     r14, #ofs(func)
;       mov     r15, #seg(func)

sl45.h

#ifdef __cplusplus
#  define _ext_C        extern "C"
#else
#  define _ext_C        extern
#endif

#define WIDTH                   104
#define HEIGHT                  80

#define NULL    0x00000


#define sgn(a) ((a)>0?1:((a)<0?-1:0))

#define abs(a) ((a)>0?(a):(-a))

#define Heap0 ((void far*)0x039F4E)
#define malloc(a)       HeapMalloc(Heap0, (a))
#define free(a)         HeapFree(Heap0, (a))
#define SystemFARHeap3 ((void far*)0x039EDA)

#define NULL    0x00000

typedef void far *LPVOID;
typedef LPVOID far *LPLPVOID;


//====================================================================================
// Strings
//====================================================================================
extern int sprintf( char far *, const char far *, ... );
extern int strlen(char far* Str);
extern char far* strcpy(char far* Str1, char far* Str2);
extern char* strchr(char far* Str1, int Char);
extern void StoreTextAsStringID( int ID, char far *Str, int UnknownFlag );
extern void ReplaceCharInStr(char far *Str, char c1, char c2);
extern void xsprintf(char far *, const char far *, ... );
extern void Word2DigitArray(int word, char far *str);

//====================================================================================
//朽犷蜞 ?牦麇?
//====================================================================================
struct _heap_
{
void far *constr_data;
void far *begin;
unsigned int dummy;
unsigned int free;
void far *p2;
};

extern struct _heap_ *AllHeapsPointers[];

//extern void *FarMemAlloc(struct _heap_ far * _heap_pnt,unsigned int siz);
//extern void FarMemFree(struct _heap_ far * _heap_pnt,void far *mem);

struct PVARD
{
struct _heap_ far ** pp_heap;
unsigned int siz;
char name[8];
};

//青泐腩忸?溧眄? ?牦麇
struct VAR_HEAP_HDR
{
struct VAR_HEAP_HDR far * next;
unsigned int siz;
char name[8];
};

extern void *HeapMalloc(struct _heap_ far * _heap_pnt,unsigned int siz);
extern void HeapFree(struct _heap_ far * _heap_pnt,void far *mem);
extern char far* GetVars(const struct PVARD far *p);
extern void FreeVars(const struct PVARD far *p);

//====================================================================================
// 朽琊屮屙桢/玎镳妁屙桢 祉钽铉噤圜觇
//====================================================================================
extern void AcquireGbsLock(void);
extern void FreeGbsLock(void);

//====================================================================================
//脏殡钼?
//====================================================================================
extern int GBSS_po_open(const char far *name,int flag1, int flag2, int far *gbss_buf);
extern int GBSS_po_read(int handle, void far *buf, int bnum, int far *gbss_buf);
extern int GBSS_po_write(int handle, void far *buf, int bnum, int far *gbss_buf);
extern int GBSS_po_close(int handle, int far *gbss_buf);
extern int FileOpen(char far *name,int flag1,int flag2);
//oflag is an Integer constant combinations defined in FCNTL.H:
#define _O_RDONLY       0x0000  /* open for reading only */
#define _O_WRONLY       0x0001  /* open for writing only */
#define _O_RDWR         0x0002  /* open for reading and writing */
#define _O_APPEND       0x0008  /* writes done at eof */
#define _O_CREAT        0x0100  /* create and open file */
#define _O_TRUNC        0x0200  /* open and truncate */
#define _O_EXCL         0x0400  /* open only if file doesn't already exist */
#define _O_TEXT         0x4000  /* file mode is text (translated) */
#define _O_BINARY       0x8000  /* file mode is binary (untranslated) */
#define _O_NOINHERIT    0x0080  /* child process doesn't inherit file */
#define _O_TEMPORARY    0x0040  /* temporary file bit */
#define _O_SHORT_LIVED  0x1000  /* temporary storage file, try not to flush */
#define _O_SEQUENTIAL   0x0020  /* file access is primarily sequential */
#define _O_RANDOM       0x0010  /* file access is primarily random */
//The pmode argument is required only when _O_CREAT is specified.
//If the file already exists, pmode is ignored.
//Otherwise, pmode specifies the file permission settings,
//which are set when the new file is closed the first time.
#define _S_IREAD        0000400         /* read permission, owner */
#define _S_IWRITE       0000200         /* write permission, owner */
#define _S_IEXEC        0000100         /* execute/search permission, owner */
extern int FileSeek(int handle,long pos, int ref,long far *result);
//ref - 0 - from begin //1 - from current //2 - from end
extern int FileRead(int handle,void far *buf, int bnum);
extern int FileWrite(int handle,void far *buf, int bnum);
extern int FileClose(int handle);

//FAM3
extern void FilesysICall(void huge *proc);
extern const unsigned long FAM3_sig;
extern const unsigned int _binfile;


//====================================================================================
//EEPROM
//====================================================================================
extern void WriteEEPROMData(int Block, void far *Data,int Offset, int Size, int Zero1, int Zero2, int Zero3);
extern void ReadEEPROMData(int Block, void far *Data,int Offset, int Size, int Zero1, int Zero2, int Zero3);

//====================================================================================
//氢箨
//====================================================================================
extern void PlayTone( int ID ); // 0 == stop playing


//====================================================================================
// 灭圄桕?
//====================================================================================
#define ScreenBufferA   (unsigned char far*)0x960C
#define ScreenBufferB   (unsigned char far*)0xAC0C

struct ImageHdr
{
char W;
char H;
int Flags;      // 0x1
void far *Ptr;
};

struct rectXYXY
{
unsigned int X1;
unsigned int Y1;
unsigned int X2;
unsigned int Y2;
};

typedef char far * STR;
typedef unsigned int far * WSTR;

extern struct ImageHdr far* GetBitmapResource(void far*Display,int ImageID);
extern void StoreImageAsImageID(int ImageID, struct ImageHdr far *Image, unsigned char far *ImageBuff);
extern void DrawImage(int x, int y, int width, int height, struct ImageHdr far* Image);
extern void DrawPredefinedImage(int x, int y, int ImageID);
extern void FillRect(int x,int y,int w,int h,int color);

// fill styles
#define fill_white      0x0
#define fill_xor        0x1
#define fill_black      0x2
extern void ClearRect(int x,int y,int w,int h);
extern void DrawString(int x,int y,int w,int h,const char far *str,int font);
// font types
#define font_4x7        0x0
#define wap_big         0x1
#define normal_big      0x2 //+bold
#define digit_4x7       0x4 //+bold
#define digit_5x5       0x6
#define normal          0x7 //+bold
#define wap             0x9
#define digit_big       0xA
#define bold            0x1

extern STRtoWSTRP(WSTR *,STR);
extern XYWHtoRectXYXY(struct rectXYXY far *, int x, int y, int w, int h);
extern CreateColorBitmap(void far *drwobj, struct rectXYXY far *, unsigned int flag1, struct ImageHdr far* Image);
extern DrawObject(void far *);
/*extern PrepDrawObj_type02(
void far *drwobj,
struct rectXYXY far *,
unsigned int flag1,
WSTR *,
unsigned int font,
unsigned int dat1,
unsigned int flag2);*/

extern PrepDrawObj_type01(
void far *drwobj,
struct rectXYXY far *,
//0x80 - 桉? 狍翦?潆
回复 支持 反对

使用道具 举报

发表于 2007-5-4 16:03:54 | 显示全部楼层
天书的说:-')
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-5 11:05:32 | 显示全部楼层

回复 #98 JunFeng 的帖子

这些真的很有用,很多东西都能找到。
这个是在那里找的。是56版的吗???
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2025-7-19 10:13

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表