RK30系列替换开机第一屏教程,n70双擎成功,非完美,希望高手能进一步完善改进~~~

方法是参考RK28的方法,原帖地址  http://bbs.imp3.net/thread-10310971-1-1.html

n70双擎测试成功,这个机器没有第二屏,就是说boot解包没有initlogo.rle这个文件,第一屏之后就是第三屏,第三屏开机动画很好修改,请参照原帖,可能RK30的机器都没有第二屏,也可能只是原道的机器这样,如果有第二屏,请参照原帖修改

为什么说不完美呢,看了原帖的都知道,修改RK28系列kernel需要找到一个16进制特征串
0300000020030000E0010000,这个是对应800*480分辨率的,修改成对应1024*600,也就是 030000000004000058020000 (字符串 “03 00 00 00 20 03 00 00 E0 01 00 00” 作为定位符,这是lajidong大神的发现,0x01E0=480,0x0320=800)  ,没有搜到,也就是说不存在这个定位符,这样就无法确定调色板的起止地址,也就不能修改图像颜色了,对比了一下RK28机器的kernel,在相似位置完全找不到相似的字符串,可能定义方法修改了。而我找到了图像文件的起止地址,也就是说可以替换图像,但是彩图的颜色会变,达不到预期的效果,然而可以替换1bit的位图,就是只有黑白两色,还是可以的,效果也不错,下面说明一下如何替换,以n70双擎为例,我刷的是20120727的固件,官方没有放出来,在一个帖子里客服发的,和0630的没什么区别,kernel里的图片位置有一点点不同


原帖中,替换开机第一屏的地址教程,照做,到教程里说到查找
0300000020030000E0010000的时候继续不下去了,因为没有这个值,我对比了一下RK28的固件,找到了确定图像文件起止地址的方法,具体方法如下


接着原帖教程第6步
第七步,确定图片起止位置:如果你是n70双擎并且是0727的固件(0630固件参照以下方法,我看过一次,地址差的很小),那么alt+G定位到22E54,这就是图片文件起始地址,结束地址是在B8E53
那么,是如何确定的呢,下面说下方法,以n70双擎为例,看下面的图片,开机第一屏图片的起始位置,有一个典型的特征,那就是在一段无规律的十六进制数字之后,就是”2020202020……“了,找不到的可以直接搜索“202020202020“(n70双擎有点特殊,这一段前面还有一段20202020……的十六进制值,但是可以确定不是图像文件,后面说明),这里的20代表的就是黑色像素点,由此找到起始地址为22E54,机器分辨率为1024*600,总共614400个像素,换成16进制就是96000(可以用系统自带计算器,很方便),用十六进制算法96000+22E54-1=B8E53,由此确定结束地址为B8E53,如何验证这个结束地址是对的呢,其实结束地址也有特征的,就是在一串”2020202020“之后,变成了无规律的十六进制值,这个特征就是之前说的为什么那段”202020……“的值不是图片地址了,如果是别的机器,分辨率不同,也可以类推以上方法,找到图片文件起止位置之后,就是替换了,因为找不到调色板起止位置,无法使用彩图,这里就用黑白图像吧
确定之后记下起止位置

起始地址:
 
结束地址:
 

第八步,准备图像:首先用自带画图工具创建一张1024*600(和自己机器分辨率一样)的bmp位图,把需要的图片放进去,最好是黑白色,然后垂直翻转,另存为单色位图,关闭之后再用画图工具打开,另存为256色位图,如果效果差的太大了,可以放大之后逐个像素编辑(logo一般比较小,也不是很费力),编辑之后需要保存成单色位图然后再保存成256色位图(需要垂直翻转)

第九步:
1 .用WinHex打开图像,第一行0x0A和0x0B的值,就是图片起始位置,这里是36 04(如图)
 
也就是说起始位置是436(同样可以用第七步中的方法验证正确性,拖到最后,看出结束地址是96435,十六进制算法96435-436+1=96000,转换成十进制就是614400,正好和机器像素数一样)
 
2 .下面定位到436,在436地址上的二进制值点右键,选择Beginning of block,然后拖到最后,右键选择End of block,选择过后右键Edit--Copy Block--Hex Values,复制之后在菜单栏的Edit里选Clipboard data--Paste into New File(新建文件并粘贴),然后在新建的文件中选择这个图标     ,将所有的00替换成20
 
(在这里说明一下,256色位图中黑色的值是00,白色是FF, 此处应该只有00和FF两个值 ,但是在kernel里,黑色是20,白色还是FF,所以将00全部替换成20),之后全选,右键Edit--Copy Block--Hex Values,复制


第十步,将上一步复制的图像十六进制数据,完全替换kernel中22E54到B8E53的值,注意,替换过后检查下起止位置和原先是不是一样的

之后接着原帖教程滴16步

工具在原帖教程中有下载

sdgaojian:此帖不完善因其未能正确设置调色板

你可能感兴趣的:(RK30系列替换开机第一屏教程,n70双擎成功,非完美,希望高手能进一步完善改进~~~)