爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 3788|回复: 0
收起左侧

【2128】利用机子里空白的空间扩大内存以及图形菜单

[复制链接]
发表于 2005-8-7 00:00:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册会员 微信登录

x
根据小鱼建议YY之前改个醒目的名字
YY去了

下午要去YY写的比较急大部分是我的IDEA,写的比较匆忙有错误也难免
接下去一段时间要准备考试,可能会少来
贴一点东西希望对大家有点帮助多谢捧场



入门篇

地址

西门子用的是C166的处理器芯片,寻址空间和pc机上的286一个等级),为16M,所以在手机内部是用统一的16M地址来处理Flash的。2128的FLASH只有8M,而3118的FLASH是6M,所以有如下公式 :
2128:FlashAddress = FileAddress + 0x800000。而0x800000 = 8M。就是说在FLASH的前面填上8M的空间来进行16M寻址。

例如DAC000E7这个指令,DA表示CALLS函数调用。而C000E7则是被调函数的地址,其中C0是段地址(seg),而E700则是段内偏移量。注意,是E700而不是00E7。那这个地址就是所谓的FlashAddress,而转换成相对应的文件地址(FileAddress),就是20E700,大家看出什么规律了么?
C = 12,A = 10,C - A = 2


常用资源的索引格式

开始之前为了大家更好的理解,你们可以把索引看作是电脑的快捷方式


Image索引格式:
00 Byte 图片高度Higth
01 Byte 图片宽度Weigth
02 Word unhnown
04 Word 页内偏移OFFSET
06 Word 页地址PAGE
例如
ID:1
0x5F0000 (索引表开始地址)  04 04 01 00 FA 3F A1 03
PAGE = 03A1
OFFSET = 3FFA
FlashAddress = (0x03A1 * 0x4000 + 3FFA) = 0xE87FFA
ImageFileAddress 0x487FFA = FlashAddress - 0xA000000

Ringtong索引格式:
00 Word RingID
02 Word 页内偏移OFFSET
04 Word 页地址PAGE
例如
ID:0(从0开始)
0x44E522 (索引表开始地址) 00 00 00 00 93 03
PAGE = 0393
OFFSET = 0000
FlashAddress = (0x0393 * 0x4000 + 0000) = 0xE4C000
ImageFileAddress 0x44C000 = FlashAddress - 0xA000000

基础篇

上面是简单的入门,现在开始讲讲如何利用手机里的空间

手机里的数据一般不是连续的,看起来好像有很多空位置,其实真正空的地方加起来没有多少

动态内存的开始地址是700000结束是790000左右(大概是这样),去掉动态内存的索引(位置在71ffff左右)剩下大概有70000左右的空闲地址。

70000的空闲才提供了350kb左右的空闲位置,所以把手机里原先预留的空位置拿来改做动态内存是没有任何意义的


目前“去除繁体中文菜单”V2提供了大约70KB的空位置,如果大家需要可以去除英语菜单(方法也比较简单,)。

但是一首真人铃声是140kb左右,70kb也远远不够

其实手机里还有其它空间,比如繁体字库(字库也有索引,配合SIEMENS XP 可以去除),内置的铃声。

繁体字库对于某些机友还是有些用处的,所以这里只是介绍内置的铃声大概144KB

在入门篇里我们已经讲过铃声的索引格式


手机里的内置铃声速据块是连续的,所以我们可以用真人直接替换原有的铃声数据
然后修改第一个铃声的索引格式,其它铃声索引可以用FFFF(无效数据注销)


替换方法见其它

我以前贴过的解压说图片也是利用修改索引重新定位到繁体菜单的空间而实现的


上面讲的是比较笨的方法

接下来讲讲一些设想,本来想早点实现可惜我马上要考试而且非常重要所以接下来没多少时间研究了

贴出来希望给大家一点启发

关于动态内存的

我前面也说过动态内存里也是存在索引格式的
所以只要建立几个比较小的文件,然后把他的索引指向内置铃声的空间。那么不仅仅是铃声,TXT,电子书
JAVA我们都可以运行

另外一个就是增加内存,即加个类式M55的B盘
可惜,我的电脑不显示德文,所以没方法看他提供的程序说明,希望有人研究研究,毕竟这个才是最终极的


关于图形菜单的
大家可以把菜单旁边的动画用SPC2改成较大(比如90×50)的图片,刷完以后看看效果。赫赫是不是有一点图形菜单的味道那,但是有一个问题就是,图片显示会有先后。所以下一步需要修改菜单显示图片那一段程序只显示第一个图片就应该可以了

关于更换开关机画面的

也是一个设想,如果我估计没错动态内存中的空间也是可以用来刷补丁的,对于开关机动画这样可替换率比较高的补丁,其实可以这样做。

我在入门片里已经讲过图片的索引格式所以你要做的就是先在动态内存中某一个文件夹中建立一个文件,文件的内容就是新的开关机补丁(可以用ULTRAEDIT修改,不要直接用10进制文件编辑)。然后把开关机的索引定位到这个文件中开关机补丁数据的部分。如果我估计没错,文件是按数字排列那么每次你只要在windows里直接修改文件,然后拷贝到动态内存中。就ok了,这样比重新刷一变补丁应该会快很多

以上大部分是设想,因为我最近要考试所以没多少时间搞2128,贴出来希望能给大家一点启事

多谢多谢多谢小鱼的机壳和耳机................;-)











                               
登录/注册后可看大图




[SOUND]http://www.webx.cn/tina/猪.mp3[/SOUND]




[此贴子已经被作者于2004-4-11 14:19:18编辑过]

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

本版积分规则

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

GMT+8, 2024-6-14 23:14

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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