星河欲曙 发表于 2010-12-28 14:54:14

PSP的flash0与系统自动转换(纯技术贴for遥4)

小P的系统是PSP3000 5.03MHU,最近为了遥4,尝试了各种系统转换功能,甚至跑到F0里面研究了一番。
积累了些经验,估计可能对姐妹们有用。于是发个纯技术贴。
首先是转来的一些常识介绍。

========我是转载的分界线===========

PSP内置储存器32M(64M),是个flash类型的芯片,但是和普通的flash不一样。

Nand Flash有三大区域IPL、IDStorage、MASS Storage。

IPL:必要信息验证区域,即经过此区域验证,MASSstorage内容合格,可以开始工作。

IDStorage:机器信息、序号、地区版本、MAC地址、OpenPSID等信息在里面。

MASS Storage:系统数据区域。

然后MASSstorage又含四个子区域
flash0 24M (49M)       系统区域存放系统文件
flash1 04M (05M)       系统区域 存放配置文件
flash2 01M (04M)       验证区域 PS验证区?
flash3 01M (09M)       未知区域 用途不明

所以在PSP的Nand Flash一共6个区域
IPL、IDStorage这两个区域类似计算机主板上的bios,MASSstorage类似硬盘的系统。

F0是可以写入,并且是可以 &nbsp;&nbsp;***<span class="fontmini"><span class="fontmini">下载/download/otomedream/ダウンロード</span></span>***&nbsp;&nbsp; 删除的。前提是你的机器刷了GEN或者CFW的系统,否则无法办到。

GEN和CFW都能用电脑通过USB连接PSP对PSP的F0进行写入和删除。


至于怎样写入和删除方法如下:(郑重申明:建议大家不要试,因为新人乱试,变砖了,不能怪我。我只说出方法,是为了证明我所说的F0的写入和删除的观点是正确的。)

1.确认你应经刷好GEN或者CGW。
2.点SELECT按钮,呼出菜单,把第三行USB DEVICE后面的Memory Stick改为FLASH 0,按SELECT关闭菜单
3.确保你的PSP电池在60%(怕出现意外)
4.用USB线连接电脑,在PSP点USB连接(这个大家都会)
5.然后你就可以进入F0,随意浏览里面的内容了。

观看F0注意事项:
1.开启的杀毒软件和防火墙,并确定你的电脑没有 &nbsp;&nbsp;***<span class="fontmini"><span class="fontmini">下载/download/otomedream/ダウンロード</span></span>***&nbsp;&nbsp; ( &nbsp;&nbsp;***<span class="fontmini"><span class="fontmini">下载/download/otomedream/ダウンロード</span></span>***&nbsp;&nbsp; 对F0来说很可怕)
2.不要随意删除文件或者文件夹,毕竟你不知道这些文件都是干什么的
3.看完后务必把把第三行USB DEVICE改回Memory Stick
以上就是关于F0的修改和删除的理解。


关于GEN和CWF到底往F0中写入了哪些文件

GEN写入了12个文件
文件列表如下:
Flash0kd galaxy.prx
Flash0kd idcanager.prx
Flash0kd march33.prx
Flash0kd popcorn.prx(5.03官方系统自带的)
Flash0kd pspbtjnf_03g.bin
Flash0kd pspbtknf_03g.bin
Flash0kd pspbtlnf_03g.bin
Flash0kd systemctrl_03g.prx
Flash0kd usbdevice.prx
Flash0kd vshctrl.prx
Flash0vshmodulerecovery.prx   (CWF没有的GEN专有的)
Flash0vshmodulesatelite.prx
CWF写入了12个文件
文件列表如下
Flash0kd galaxy.prx
Flash0kd idcanager.prx
Flash0kd march33.prx
Flash0kd popcorn.prx(CFW自带的)
Flash0kd pspbtjnf_03g.bin
Flash0kd pspbtknf_03g.bin
Flash0kd pspbtlnf_03g.bin
Flash0kd systemctrl_03g.prx
Flash0kd usbdevice.prx
Flash0kd vshctrl.prx
Flash0kd cfwenctrl.prx(CWF专有而GEN没有)
Flash0vsh modulesatelite.prx
GEN和CWF都写入了12个文件,各自有一个不同的文件。所以如果刷完GEN再刷CFW那么就比只刷GEN多刷入了一个文件。
如果CFW开启了POPs支持功能,那么又会刷入2个文件
Flash0:/kd/psps.prx
Flash0:/kd/pspsman.prx
意思就是说你完整装CFW并开启POPs支持就写入了14个文件。只装过GEN的写入12个文件,完整装CFW的写入14个文件,装完GEN又装完整装CFW的写入了15个文件。


以上写入文件想看到,必须开启电脑的观看隐藏文件和观看系统隐藏文件(在工具--文件夹选项-自己设置)。(星河按:事实上,这几个文件本身不属于系统隐藏的文件,但它们所在的文件夹是系统保护的,除非你记住了文件夹的名字自己输入,不然要进入这些文件夹是需要开启查看隐藏文件功能的。这几个系统保护的文件夹中,自制系统文件之外的所有文件,也就是psp官方系统自带文件——其中肯定包括后面提到的需要校验的文件,其属(xing)都是系统保护隐藏的,所以查看时为了避免对原有文件的修改,最好再把系统保护的文件隐藏掉。)
GEN刷好后要删除记忆棒中的flasher.prx,而CFW没有类此操作,并且界面也很美观。
psp3000对官方固件进行了加密,因为IPL要校验官方固件,如果不能解决IPL校验的是官方固件,是无法实现自制系统固化到主板上有效的。所以没有出完美破解。(这是个人理解)

IPL校验的是官方固件,在完全破解之前,任何修改官方固件只有砖的下场,这也就是为什么虽然刷写了F0,GEN等每次开机都要重新载入的原因:开机所需要执行的内容,和GEN写入的内容没有交集,在F0中相互 &nbsp;&nbsp;***<span class="fontmini"><span class="fontmini">下载/download/otomedream/ダウンロード</span></span>***&nbsp;&nbsp; ,是平行的。(星河按:也就是说,自制系统没有替换过任何F0中原有的文件,它写入的文件都是新增加到F0中的,我们可以根据需要进行合理的修改和删除,而不用担心变砖。)因此也没有变砖可能,除非那个写入模块有BUG存在。(这是另一位硬件工程师的理解)


或许这些都不是大家最关心的

拿下面我就总结一下 我所知道的有可能变砖的行为

首先,
http://tieba.baidu.com/f?kz=589933270&src=top&ba=psp3000&src=top&ba=psp3000变砖提醒

http://tieba.baidu.com/f?kz=599415733&src=top&ba=psp3000刷机视频

这个帖子是头条 新手的确应该看看

其次,我也做一个白痴的解释

现在的psp3000

玩iso、cso 不会变砖

更换壁纸   不会变砖

玩自制游戏 不会变砖

玩移植游戏 不会变砖



========我是转载的分界线===========

说下使用系统切换插件的经验。

为了玩遥4,我先下了著名的iso_tool。(此工具可以用于Gen系统或者普罗米修斯系统之间的自动转换,但不适用于CFW系统,CFW系统慎用。)但打了所以可能的补丁或者补丁组合,都无法运行。后来出于好奇心进入了系统转换的菜单,并且由于误按,选择了503_prometheus3_v4。

关于这个选择对F0所带来的修改,可以参考此处:

http://psp.tgbus.com/pspdg/jc/etct/201011/20101116172812.shtml

对于我的系统,主要就是将peagasus.prx改名为stargate_orig.prx写入F0, 用新系统的vshctrl.prx代替了原有的。并且新建了一个名为use_auto_cfw.txt的空文档。我们知道,iso_tool的系统转换功能实际上是不支持CFW系统的,也就是说,新写入的文件,主要是修改后的vshctrl.prx,会和原来的系统有冲突。其结果就是当即死机。(事实上,系统切换完全是由peagasus.prx来实现的,而vshctrl.prx大概是修改了一些关于vsh菜单的设置。冲突的原因很简单,新的vsh菜单设置是针对GEN系统而不是针对CFW系统的,两个系统虽然都有这个文件,但内容并不一致。)

于是重启。当时对于FO中的文件什么的概念为零,满脑子想着千万不要变砖。

重启顺利,刷hen也顺利,但是运行CFWEnabler刷5.03MHU系统时(运行完CFWEnabler,在进入系统的过程中)又死机。原因是,运行CFWEnabler刷机的时候,程序会自动校验在F0当中的部分系统文件(或者是仅检查所需文件的文件名),假如这些文件都在,就不再重复写入F0。这种设定是为了F0安全起见,也导致了原来那个跟系统冲突的vshctrl.prx蒙混过关而没有被重写。因而在真正运行MHU系统的时候会死机。

当时仍然不敢手动去碰FO,于是下了可以在hen下运行的CFW Helper,对F0进行了清理。这一步其实主要是清除了不兼容的vshctrl.prx。然后顺利刷进了5.03MHU。

此时还有一个问题存在。

之前其实知道,借助于auto_cfw所提供的插件,可以不写入F0而实现系统切换的目的。但现在重刷系统之后,假如按原来的方法把auto_cfw所需的插件和各种文件拷入memory stick,无论运行什么游戏都会死机。想要不死机,就必须放弃系统切换的功能,也就是说不能运行新游戏。

这个原因,在于目前所有的CFW Helper,所进行的都是系统卸载,即删除的是刷系统时写入的文件(跟它们同名的任何文件),为了安全,对于其它的文件碰都不会去碰。这样在F0里其实还有iso_tool写进去的两个文件没有被删除。auto_cfw本身提供了一个peagasus.prx插件,用于系统切换。它跟F0中的stargate_orig.prx其实是 &nbsp;&nbsp;***<span class="fontmini"><span class="fontmini">下载/download/otomedream/ダウンロード</span></span>***&nbsp;&nbsp; 事,当这两个相同的插件同时被载入时就导致了死机。

掌握了上述常识,并分析出了原因,解决方案就自然出现:删除F0中的stargate_orig.prx和use_auto_cfw.txt(它们是除了系统文件之外仅剩的两个没有被设置为隐藏属(xing)的文件)。

之后再拷入auto_cfw,运行老游戏OK,再运行新游戏,OK,系统自动切换成功。
                <script>if(document.getElementById('postmessage_3698620')){document.getElementById('postmessage_3698620').style.MozUserSelect='none';document.getElementById('postmessage_3698620').style.WebkitUserSelect='none';document.getElementById('postmessage_3698620').style.MsUserSelect='none';document.getElementById('postmessage_3698620').style.KhtmlUserSelect='none';document.getElementById('postmessage_3698620').style.userSelect='none';document.getElementById('postmessage_3698620').style.WebkitTouchCallout='none';document.getElementById('postmessage_3698620').onselectstart= function () { return false;}; document.getElementById('postmessage_3698620').addEventListener('contextmenu',function(e){e.stopPropagation();e.preventDefault();return false;}); document.getElementById('postmessage_3698620').addEventListener('copy',function(e){e.stopPropagation();e.preventDefault();return false;});}</script>
页: [1]
查看完整版本: PSP的flash0与系统自动转换(纯技术贴for遥4)

苏ICP备13061143号 苏公网安备 32011302320404号