Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-plugin-bluehost domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home1/diywmcom/public_html/baifaqimei/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-pagenavi domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home1/diywmcom/public_html/baifaqimei/wp-includes/functions.php on line 6114

Deprecated: Creation of dynamic property Kirki\Field\Repeater::$compiler is deprecated in /home1/diywmcom/public_html/baifaqimei/wp-content/themes/blogstream/functions/kirki/kirki-packages/compatibility/src/Field.php on line 305
白发齐眉 – 第 15 页 – 白发齐眉→BaiFaQiMei←-我们一直都在寻找一种叫做幸福的感觉……其实被自己爱的人爱就叫幸福。

代理万网,35互联以及中国新网的域名/虚拟主机/托管租用,CN域名1元卖

 开始代理万网,35互联以及中国新网的域名/虚拟主机/托管租用。

新店开张期间,CN域名1元卖。其他域名也有大优惠。

 

您可以登录www.net-3w.com自助选购你需要的域名/主机等产品,并可以通过在线支付(支付宝/财务通等)实时开通。

建议你在www.net-3w.com注册之后,联系我,我将你的用户等级提高,以便获得更大折扣。

 

当然,你也可以登录淘宝,http://shop58171193.taobao.com/,选购你需要的产品,由我代为开通之后将相关信息告知给你。

 

.cn域名1元起卖,链接如下!

http://item.taobao.com/auction/item_detail-db1-30c14cb433ca92cfbbd83edb144df6ff.htm

【转】I780 ROM制作-基于模板制作

还是转的Jerry的教程。


i780ROM制作-基于模板定制

开始讲定制以前,我们先来讲一下i780的ROM结构。i780的ROM是一个BIN文件,这个BIN文件包含了四个部分,这个可以通过osnbtool来看,不过osnbtool的使用我们后面再讲,先看一下这四个部分:
image
第一部分:这个是BOOT部分,我们不需要管它,定制时也不需要理这部分。
第二部分:xip部分,定制时,如果我们只是想添加一些软件或汉化或做一些个性化的定制,而不移植新的核心,这部分也不用管的。
第三部分:imgfs部分,这部分是系统的主要部分,我们要定制的主要就是这部分。
完整的Windows Mobile系统包含了xip跟imgfs两部分,之所以这两部分是分开来的,是因为xip是会被直接加载到内存中的,所以,一般来说,xip越小,启动后的可用内存就越多,当然,对于i780,这一两M内存其实也不是那么重要,因为xip本来就只有3M左右,再精简也只能精简到2.5左右。
第四部分:legit DOS,这是个很奇怪的东西,按照我的经验,这个东西是没有用的,因为,在现在的i780ROM里,这个东西都是不完整的。但是又不能删除,我试过删除这部分时,会定在第一屏。这个东西在ROM里占的空间大概是6M左右,但经过osnbtool分解后,会涨到189M之巨(可以看一下上面这部分对应的最后一个数字,15900*800=AC80000就是这部分的大小)但也无所谓了,对我们影响不大,那只是中间文件而已了。
其实,还有一部分没有在上面列出来,就是bin文件的文件头部分,当然,这部分,我们也不用管,只在存在就可以了。
所以,我们要移植一个新的核心的话,只需要移植xip和imgfs两部分就可以了,但是在讲具体的移植步骤之前,我们要来讲一下xip和imgfs的结构。因为不同的机型驱动程序也会不同,比如,i780的鼠标模式并不是Windows Mobile原生支持的,需要用厂家写的驱动,这部分东西我们称为OEM,所以,xip和imgfs又都包含了各自的OEM部分,在移植时,我们要保留OEM部分而将OS部分替换掉。替换的过程就是叫移植了。
接下来,我们再讲一下另一个重要概念,就是文件模块。其实,不管是xip还是imgfs,都是许多文件组成的,这些文件按照一定的顺序放在xip或imgfs中,如果文件以模块形式存在,那可以加快这个文件运行时的载入速度。至于为什么会加快载入速度,说实话,我不清楚。下面我们来看一下文件模块的结构:
image
上面这个是shell32.exe的模块,我们发现,里面并没有shell32.exe文件,其实,shell32.exe已经被分解成S000, S001, S002这三个文件了。而imageinfo.txt里面就描述了,shell32.exe的文件大小,还有就是这三部分各自的大小及存放的位置。如果用工具来dump出imgfs的话,这个文件夹里就会有shell32.exe文件,但其实这个文件没有任何意义,即使你替换了,也没有用,因为在定制过程中,这个文件是会被删除掉的,所以,如果要移植一个以文件模块形式存在的文件,要拷贝一整个文件夹。
好了,了解了几个重要的概念以后,我们就可以开始定制我们自己的ROM了。我将以我刚做的一个比较精简的Kitchen来讲移植和定制的过程。
首先,我们要找到一个基础的ROM,我们将会以这个ROM为蓝本来做,这个ROM必须满足几个要求:
  1. 较高的原生性

    原生性的意思是说,最好是官方发布的ROM,最好不要经过多次定制,因为经过定制的东西可能会因为定制人的一些习惯去掉或加入一些东西,导致你的ROM也会继承一些缺点,那如果有一个ROM有很多优点呢?呵,这个需要我们上另外一招,那就是对比。所以,不要因为一个ROM好,就轻易用来做蓝本。
  2. 完整的DSM列表

    DMS是用来干什么的?我们前面讲到,xip和imgfs会分成OS和OEM部分,那这么多的文件,如何知道哪些是属于OS,那些是属于OEM呢,再进一步,一个OS也有多很文件,又包含了核心部分,WMP播放器部分等。所以,DSM就是用来记录这些信息的。通过DSM,我们才可以将xip和imgfs里面的文件有条理的组织起来,这样,如果我们要换一个新版的WMP,就可以直接替换一个WMP的文件夹来实现了。
  3. 其他的?记起来再补充
找好ROM,我们就可以开始了,我一般用的母版是官方的PDXHL2,我就加入了一些中文资源。现在有PDXIB1,不过,我们还是用HL2来讲好了。
看一下Kitchen的结构:
image
简单解释一下:
  1. i780.bin是我们找到的蓝本ROM
  2. SYS和OEM是从i780.bin里面生成出来的,也就是我们前面讲的OS部分和OEM部分。
  3. ROM文件夹比较特殊性,里面放的是XIP里面的几个注册表,如果你第一次做ROM,需要将XIP分解来得到这几个文件,以后除非是大版本改变,比如,WM6.1换成WM6.5,这里面的文件一般都不用换。Kitchen里面我附带了这几个文件,要换的,大家分解xip,再将对应的文件替换掉就可以了。
  4. i780.header和i780.nb0也是分解i780.bin时生成的。这两个文件是必须在的。结合我们开头说的bin文件的结构,i780.header就是bin的文件头,i780.nb0呢,就是一个框架,里面有BOOT部分xip部分及legit DOS部分,而imgfs部分是空着的,因为,我们要用SYS+ROM+OEM这几个文件夹来生成imgfs。并将生成的imgfs插入到i780.nb0当中生成新的bin,就是我们定制后的ROM啦。
  5. 另外的就是定制要用的工具和脚本了。
具体的每个脚本都做了些什么事情,等有时间再讲好了,重点是移植和定制嘛。第一次定制,我们运行”1_解包.bat”,整个过程可能会要三到五分钟。每个步骤都会有提示信息,第一运行,请仔细阅读提示,后面熟悉了就不用管了。
运行完成后,应该就跟上面的图应该一样了。终于可以开始定制了。
首先要移植XIP,我们将i780.bin直接拖到”4_提取XIP.bat”上面。等一会儿,会在当前目录下面生成i780.bin.xip.bin。这个就是xip文件了。我们要将它拷贝到XIPKitchen里面进行移植,具体的移植过程,请看我的另一遍关于i780 XIP移植的帖子。移植完xip后,会生成xip_out.bin文件,我们将这个文件拷贝到Kitchen文件夹下面,拖到”5_插入XIP.bat”上面,就可以将这个xip插入到i780.nb0里面了。至此为止,我们完成了模板的制作。一般来说,以后就不再需要运行”1_解包.bat”而直接可以在这个基础上定制了,即使是换新的核心也一样,只要将移植好的xip插入就可以了。其实,解包的目的是生成i780.header和i780.nb0这两个框架,另外,就是生成imgfs的OEM部分。而生成的SYS部分,虽然移植时都会被替换掉,但其实,用来对比是很好的,比如,一般的QVGA的SYS资源移植到i780后,会出现弹出对话框不居中的问题,通过对比这个蓝本SYS和要移植的SYS的注册表,我们就可以发现这个问题。
这里还有个东西要注意一下,虽然我们说imgfs分成SYS和OEM两个部分,SYS里面放着OS部分,OEM里面放着厂商的驱动及第三方软件,但其实,我们dump出imgfs后,很多OEM的东西都会直接被放在SYS目录里面,而不是OEM里面。其他的Windows Mobile手机的Kitchen里面,都把厂商驱动及厂商应用程序都放在SYS,所以,移植别的机器的SYS的时候,特别要小心,别把不该要的东西也移植过来了。对于i780,因为dsm的关系,dump出imgfs后,厂商部分会在OEM中,如果用的不是官方版本来做蓝本,那可能会有一些集成的软件会在SYS里面,这里要筛选一下,把它移到OEM里面。我们要尽量保证SYS部分是干净的,因为只有这样,在移植其他机型核心才会更容易,对比起来会非常简单。
我们开始移植一个新的核心好了,找到一个新的核心,应该是一个SYS文件夹,把Kitchen里面的SYS重命名名SYS.orginal,什么名字不重要,关键是要留着做对比,把新核心的SYS文件夹整个拷贝到Kitchen里面。然后,打开BeyondCompare,选中SYS和SYS.orginal一起拖到BeyondCompare界面上面。我们要做的事情有:
  1. 从SYS.orginal里面拷贝.VM, .ROM两个文件夹到SYS里面
  2. 从SYS.orginal/Metadata里面拷贝packages.sof, packages.sif到SYS对应的目录里面。
  3. 对比所有的.rgu,.provxml文件,将有必要保留的项目从SYS.orginal拷贝到SYS里面。
  4. 如果是从6.1移植到6.5,那你可能需要重新做几个.cpr文件,因为现在的6.5的ROM里面,320×320的cpr不全,即使有,布局也不好看,自己改改吧。
  5. 关于cpr我再说一下,这点我后面就不再说了,大家在对比时,凡时发现了xxx_240x320.xxx这样的文件,如果没有对应的xxx_320x320.xxx,那就自己做一个,当然也不复杂,拷贝240×320的,然后,进到里面把Width=240的都改成320,呵,当然,如果你对审美有一定要求,肯定要进一步改的。
对于目录的拷贝,我建议的做法是,删除目标目录,再进行拷贝,不然,目标目录里面可能会有多余的文件留下。
我们要重点处理的文件夹有:
  • Base_DPI_96

    这个文件夹里面的注册表直接用原来的注册表替换掉,不然,弹出对话框不居中。
  • Base_DPI_96_resh_240_resv_320

    这个文件夹里面大多是些图片,还有一个.provxml,那几个没用的示例图片可以删掉。而像带stwater.png/.jpg这样的文件是壁纸,但一般来讲都是QVGA用的,我们没用,删掉,放一个自己做的320×320的进去。打开.provxml,到最下面,你会发现,里面有引用到刚删掉的两个壁纸,改成我们自己换的壁纸的名字。
  • Base_Lang_0804

    这个文件夹里头要注意一个,如果你用的是小桥的SYS,那你可以不做改动,但如果是来自其他人的SYS,那你可能需要非常小心,里面可能集成了一些输入法及一个触屏的驱动,当然,这个驱动在i780上是不工作的,要移掉。
  • Base_Lang_0804_DPI_96

    上一个文件夹中如果有集成的输入法,那这个里面就应该会有mboxchs.96.dll和sskim.96.dll,前面的删掉了,这两个也要删掉。
  • Base_Lang_0804_DPI_96_RESH_240_RESV_320

    这里面有默认的主题文件,如果是6.5,一般是ClassicBlue.tsk,这个要改一下的,之前有人碰到过换主题背景变成黑的就是因为没有改这个文件,用WinCabManager打开来,把里面的壁纸删掉,再把我们自己的320×320的放进去,名字必须是stwater.png/.jpg,理论上应该是stwater_320x320.png/.jpg的,不知道为什么,我这么干就是不行。
  • MediaOS_dpi_96_resh_240_resv_320

    这个是WMP的皮肤文件夹,小桥的模板里一般是没有这个文件夹的,你要自己添加去,即使有,一般来讲也是240×320的皮肤,要自己改一下。.skn文件用记事本也可以打开来编辑的。
后面的文件夹,大多是对比.rgu文件就可以了。对比一下,如果有条目不一样,想一想这条是用来控制什么的,然后决定用老的还是新的。不行的话,就把那条注册表拷出来到网上搜一下。

工具下载,共5个rar压缩档,下载后解压。

注意:

点击下载此Part1文件

点击下载此Part2文件

点击下载此Part3文件

点击下载此Part4文件

点击下载此Part5文件

  1. 运行”1_解包.bat”会删除当前目录下的dump, temp, SYS, ROM几个文件夹, 还有i780.header, i780.nb0两个文件, 请自行备份, 我在脚本开始时写了, 但是大家可能会没注意到.
  2. 运行”2_打包.bat’后生成的bin文件不再包含dsm文件, 将不能再做为蓝本文件, 如果大家需要把dsm加进去, 请打开”2_打包.bat”文件, 将里面的all_packages_to_one.exe那一行删除就可以了.
  3. 运行imgfstool可能会报错, 那可能是因为没有装VC++的运行库造成的. 找一个装上就可以了. 应该不大的.

【转】I780 XIP 移植

Jerry在Spaces上写的I780的XIP移植教程,很不错,转过来先。


 

刚好今天看到XBeta上面有人发了一个新的ROM,版本号是21032,不知道是真是假,暂且信他一回,就用这个开刀了,失败了再改现有版本做实验。
image
我们先移植XIP,再移植SYS。好了,开始动手吧。
XIP移植
先拷贝下载过来的XIP文件到xip_tools目录下面并重命名为xip.bin
image 
运行XIPPort.exe
image
先点击dump xip.bin,这时会在当前目录下面和成一个OUT目录,暂时不管它,紧接着点write maps。
这时我们打开OUT目录看一下。
image
里面有两个目录及四个文本文件:
FILES

MODULES

MAP.physical.txt

MAP.txt

PARTHDR.txt

ROMHDR.txt
我们MAP.txt跟ROMHDR.txt是我们主要要改的两个文件,当要也要对应的改MODULES里面一些文件。这时候顺便提一下,一般i780的ROM可能都是用EFN的Kitchen来做的。在做ROM时,Kitchen里面有几个文件夹:
ROM

SYS

OEM
在ROM里面还有一个文件夹XIP,里面放的就是FILES里面的文件。
好了,我们接着进行,刚刚的XIPPort.exe没有关掉吧?关掉了也没关系,重新打开,点击make pkgs,这样,FILES跟MODULE里面的文件会分门别类的放在一起。
image
看起来舒服一点了吧?不会那么乱了。接下来先把XIPPort.exe关掉吧。
把OUT目录改一个名字放着备用吧,我们就命名为OUT_21032好了。把xip.bin也改一个名字,改成xip_21032.bin这样,一看就知道,哪个OUT目录是由哪个bin生成的。
image
接下来我们要找一个要移植目标ROM,我们用i780最新的PDXHL2吧。前段时是做了个HL2的中文ROM,可惜死机现象有点严重,就用这个做为目标好了,移植了看一下会不会好点。拷贝ROM的bin文件到XIPPortting文件夹并改名为i780.bin。
image
运行dump_xip.bat,要等大概一半钟。我们可以看到在当前目录下生成了xip.bin文件。跟之前一样,我们把xip.bin拷贝到xip_tools文件夹里面,然后,dump xip.bin,write maps,make pkgs,这个OUT目录就是我们的目标了。这个OUT目录我们先复制一份,重命名成OUT_20270,把xip.bin改成xip_20270.bin。看一下现在的结构。
image
接下来,就要正式开始移植了。
我们把OUT目录下的FILES,MODULES里面的MSXIPKernel和MSXIPKernelLTK删掉,再将之前dump出来的OUT_21032目录下同名文件夹拷贝过来,注意千万别弄错文件夹了~~。来看一下结构。
image
好了,在XIPPort.exe上面点击undo按钮,这个按钮是make pkgs的逆操作,就是将FILES跟MODULES恢复成平板结构。我们接着点击realloc P,看一下有没有问题。唉,咋回事,居然不报错,打开MAP.txt看一下,也没有问题,一般点击都会报错的。记得刚学开始接触XIP移植时看到有人说过,如果移植XIP一次性成功那就可以去买彩票了,不过,现在太晚了,不知道哪还有彩票好买。再换个XIP来讲好了,不报错没什么意思。我把移植后的XIP插入刚刚的ROM里刷机看了一下,看来很成功嘛。
Screen001
明天找有冲突的XIP移植来说明好了。
……过了两天……
那个21032的SYS有问题,算了,不移植了。找别的ROM来移植好了。这几天Windows Mobile 6.5 21176闹得很凶,各大论坛都出了各种各样的版本,谁也说不准哪个是所谓的正式版了,我们这些小网民只能等着他们捂够了再搭最后一般车了,唉,废话太多了。言归正传,现在没有看到有原生的QVGA资源,但XIP是没差别的了,我们就先移植XIP了,如果可以成功,再用21169的资源来做SYS好了。
跟之前一样,我们把相应的XIP都dump出来,并替换,这个XIP是从XBeta上面下载过来的。先看看结构吧,OUT跟OUT_20270是一样的,因为我们要把21176移植过来,OUT_20270是备份着用来对比的。
image
好,我们打开XIPPort.exe,然后,点击undo按钮,记得这之前可要把21176的替换进去。点完了之后,进去看看里面是不是恢复成平板结构了,确认后,点击realloc P按钮。又没有报错,不过,先别急,我们打开OUT下面的MAP.txt看一下。搜一下!!!!,我们发现这回出现冲突了,那我们开始动手吧,这儿注意几个原则就可以了 (结合网上与自己总结的,不一定全对)。
1. MAP.txt文件是一个输出文件,是让我们用一确认XIP是否正确的。所以,如果用这个MAP.txt来改地址,千万别随便点realloc P按钮,搞完一部分再点。

2. MAP.txt里面分成了好几段,我们一般解决冲突只需要解决第二段(第一段只有一行),第三段及最后一段就可以了。倒数第二段有时候也需要调整一下,不过,那个是改的ROMHDR.txt文件。

3. 在第二段和第三段那儿busenum.dll这个文件的地址千万不要动,我们解决冲突也是至下而上的。

4. 还是在第二段和第三段那儿,如果有一两行是NUL的话,是没有问题的,不要有!!!!就可以了。但如果你追求完美的话,把NUL去掉也可以,当然,NUL上面所有的模块都要移动位置。
我们来看一下移植21176之后的MAP.txt文件,每个需要注意的地方我都打了标号,用红框或红线划出来的是我们要改动的地址。第二段没有划出来是因为没有!!!!,而且,为了节约时间,NUL也不打算去了,偷个懒。
map
我们来看第三段,也就是标志为①那一段。这儿的每一行格式是:
[起始地址] – [结束地址] [长度] [其他信息]
我们要保证的是上一个文件的[结束地址]就是下一个文件的[起始地址]。这样我们从busenum.dll上面的certmod.dll文件开始,把中间那行NUL删掉,把busenum.dll的[起始地址]03ffa000拷贝到certmod.dll的[结束地址]位置,然后将这个值减去certmod.dll的[长度]就是certmod.dll的[起始地址]了。来看一下改完后的样子:
image
我们把NUL跟!!!!都删了。记住,这时候千万别去点XIPPort.exe上面的realloc P呀。不然就白改了。我们打开当前目录下面的mreloc.exe,然后点击Choose module,选择刚刚改动过地址的文件(其实是文件夹啦)。
image
然后,我们把上面那个文本框的地址改成是我们刚算出来的[起始地址],如果你是直接粘贴进去的,下面的Doit!按钮是不会变亮的,要去掉后面一个零再手动输入才会变亮,再点击。其他的改动过的也一一的做相应的改动。改完后先不着急,我们还要再改一处,就是刚刚每个文件对应的文件夹里面的imageinfo.txt,第五行:

e32_vbase:           V=03FEC000

这个地方我们也改成是算出来的[起始地址]。这里再说一下,一般的地址有几种形式,一个是V=01234567这样的,这个是绝对地址。另一种是P+01234567这种是偏移地址,是相对于P的偏移值,P是什么呢?我们打开ROMHDR.txt看一下就知道了,看下面的标为①上面的physfirst的地址P=80001000,这个就是P值啦。
romhdr
改完了之后呢,我们再打开XIPPort.exe,然后,点击realloc P按钮,再点击write maps按钮,我们再打开MAP.txt看一下,如果没有!!!!的话,就说明改好了。
这样其实我们已经完成了移植了,但是,我们在大多数移植的时候会出现空间不足的问题,这儿说的空间不足指的是ROMHDR.txt中的physlast值,我们需要把这个值扩大一点,一般对于i780来说,我们先改成80400000再说。下面的②③地址也增大要相应的值。点击realloc P,如果没有报错就点击write maps,再打开MAP.txt来看一下,我们会发现,MAP.txt当中④⑤⑥的值刚好对应ROMHDR.txt当中的①②③的值。一般情况上,如果我们改动过physlast值,上面⑤⑥中间的dll都会被挤走了。
当然,上面说的是没有空间的情况,我们看到MAP.txt中④的上面有一段NUL,这一段是可以节约下来的,我们就拿缩小空间来当例子好了。
如果要去掉NUL的话,那physlast值就应该是803854fe,我们把ROMHDR.txt当中的physlast改成803854fe。点击realloc P,再点击write maps,看MAP.txt上在是不是没有NUL那一段了。
改了physlast后,ulRAMStart的值也必须相应的改,当然,这回不是单纯的加减physlast的相应的值,ulRAMStart的值等于physlast的千位加一,后面清零。physlast=803854FE,那ulRAMStart=80386000。改完了ulRAMStart之后,nk.exe的地址也要做改动。nk.exe的起始地址等于ulRAMStart的万位加一后面清零。在我们这个例子中,nk.exe的值刚好不用改。那如果需要改时该如何改呢?
改nk.exe的值,我们需要一个专用的工具,那就是mreloc_nk.exe,我们打开这个工具,跟之前一样,选择nk.exe模块。
image
这回我们要改的是下面那个文本框的值。改好后,我们仍然需要去改nk.exe文件夹下面的imageinfo.txt
 

i780 ROM WM6.1 96/128DPI双切换精简版

[color=Red]刷机教程请见,请注意看Part3部分。
https://loveshow.us/article.asp?id=309

【特别声明】
●本软件仅提供出来给各位机友测试使用,请在下载后24小时内删除!请勿用作商业用途!
●定制和发布ROM乃个人爱好,广大机友请理性选择适合自己的ROM。
●本ROM不含病毒,如有机友发现ROM存在巨大安全隐患或BUG,请及时告知。
●不拥有ROM里面的任何oem的版权。
●欢迎任何形式的Rom使用反馈。[/color]

这个版本可以自由切换128DPI和96DPI。

其他集成工具与我以前的ROM大致一致。

输入法只集成一个微软输入法,其他请自行安装。

PP,16MB;核心,21109;DPI,128和96;字体,宋体。

其他看图

下载地址:

http://www.rayfile.com/files/9508b223-39ea-11de-a25a-0019d11a795f/