2013年8月13日星期二

Playstation 2

前些日子,因为某些事故,我弄丢了很多的过去。今天打扫卫生的时候,看到那台又是有日子没碰了的PS2,我突然发现有很多事情我已经想不起来了。趁着还有些许印象,赶紧记下来吧,并非为了过去,也不是为了将来。

PS2常见的视频输出线有三种,分别是AV、S端子和色差。个人觉得S端子最好,因为AV输出太模糊,如uLaunchELF一类的程序连文字都看不清楚;而色差则有各种各样的兼容性问题,如Modbo 3.0看不见开机Logo,画面无法全屏等等。不过现在的电视都没有S端子了,实在没办法也只能将就用色差。

虽然PS2的自制程序也有很多,不过受限于机能等各种问题,唯一实际的还是免光盘打游戏。通行的实现方法有两个,一是Free McBoot,二是如Modbo一类可以直接启动自制程序的直读IC。

Free McBoot可以免改机免直读,通过一张特制的记忆卡加载各种自制程序。不过没装IC的机器即使有FMCB,仍然需要ESR一类的程序辅助,不然就D版不能。我这台机器装了Modbo 3.0(最早实现启动记忆卡上自制程序功能的IC是MATRIX,很贵,Modbo只是MATRIX的Clone而已),用起来还是比FMCB方便些,所以我主要用的是IC提供的功能。

为了以防万一,我也做了张FMCB的记忆卡备用。下载Free McBoot v1.8 Noobie Package直接下载文件),解压后将Noobie_Package/INSTALL下的四个ELF删掉,将LbFn放入并改名为BOOT.ELF,将uLaunchELF放入并改名为BOOT2.ELF,然后将Noobie_Package目录下的所有文件复制到SD卡根目录,在PS2端以任意方法加载FREE_MCBOOT.ELF,格式化记忆卡并选择Multi-Version install进行安装即可。

这样制作出来的记忆卡大约会用掉3.2MB空间。在没有安装直读的机器上不放光盘启动后会看见FMCB的菜单,选择uLaunchELF即可启动LbFn(菜单可以添加和修改,我懒得弄了)。而在装了Modbo并且设置为记忆卡启动的机器上,会直接载入LbFn(按住R2并启动则会加载uLaunchELF)。

uLE和LbFn都是PS2上的文件管理器。从功能角度上说,uLE要强大很多,但我曾经遇到过因硬件故障导致uLE启动不能而LbFn却可用的情况,再加上默认设置下LbFn的显示效果更清晰,所以FMCB记忆卡里的默认文件管理器我选择了LbFn。

(uLE内置了FTP服务器的功能,不过我测试下来发现又慢又不稳定,基本不可用。想在uLE里直接看到存档游戏名,需要额外的字体ELISA100.FNT,放入记忆卡内的/SYS-CONF/即可。顺便佩服一下日本人,8*16的字体都有。)

安装了Modbo的机器,启动时按住手柄上不同的按键可以实现各种不一样的功能,如△+○可进入IC的功能设置菜单。该菜单中最重要的一项是BOOT MODE,各选项的含义分别是:

  • AUTO:启动Sony Browser。(显示Matrix Logo时仍然可以通过快捷键加载其他程序。)
  • FAST:疑似直接加载PS2游戏光盘的意思。
  • INFMAN:启动Infinity Manager,盗版的Modbo似乎是不能用。
  • DEV1:加载记忆卡上的自制程序,即mc0:/BOOT/BOOT.ELF。
  • DEV2:加载硬盘上的的自制程序,即hdd0:/__boot/boot.elf。
  • DVDV:播放DVD光盘,或是加载PS1游戏。

另外还有几个常用的启动快捷键:

  • R1:mc0:/BOOT/BOOT.ELF
  • R2:mc0:/BOOT/BOOT2.ELF
  • L1:mc0:/BOOT/BOOT3.ELF
  • L2:hdd0:/__boot/boot.elf
  • SELECT:屏蔽IC并开机
  • ○:同DVDV
  • ╳:同AUTO
  • △:同INFMAN

可用于加载光盘镜像的自制程序不少,比如曾经的HD Loader和HD Advcane,不过后期大部分用的都是Open PS2 Loader。OPL当前的版本是v0.9.1,似乎已经相当稳定了。但也有人说新版本有些游戏无法运行,旧版的r547反而可以,如零系列,我倒是没去求证过。

PS2免光盘加载游戏镜像的方式有很多,比如添加内置硬盘,比如USB,比如Samba。过去USB方式曾一度很受关注,但因为PS2的USB接口只是v1.1标准,速度太慢导致可用性比较差(据说后来有改善,可我没试过)。至于加硬盘的方式,3W和5W系的厚机得天独厚,因为直接就能买到可装硬盘的网卡(曾经各种降价没人买,曾经涨得各种没道理),而薄机则只有7W最早的型号(7000X)可以通过从主板上飞线接出IDE接口的方式来做,相当的麻烦。

我的是3W厚机,自然是用内置硬盘的方式,一块从朋友那里搞来的日立160G。在把硬盘装进PS2之前,首先需要用WinHIIP将其格式化为HDL特有的格式。另外我还把OPL放在了硬盘的/__boot/boot.elf,这样Modbo设置为DEV2启动时,就可以直接加载OPL了。

趁着还有机会,多灌几个游戏进去吧,一旦把硬盘装进PS2最好就不要再拆了。因为拆装硬盘不但很容易损坏娇贵的PS2网卡,WinHIIP这个程序的代码质量也没有很好,PS2端操作过的硬盘再用WinHIIP进行读写很容易造成数据丢失。

OPL有Apps Loader,可用于加载其他ELF程序。使用方面有些麻烦,需要在记忆卡内创建一个/OPL/conf_apps.cfg,比如我的:

uLaunchELF v4.42d=mc0:/BOOT/BOOT.ELF
LbFn v0.70.18=mc0:/BOOT/BOOT2.ELF

如果想把ELF放在硬盘里,则需要将文件保存在+OPL分区。创建该分区可以用uLE的HDDManager,分区名写OPL,大小我给了512M。+OPL分区会被OPL加载为pfs0,所以conf_apps.cfg中就要写类似这样:Sega Mega Drive Emulator=pfs0:/APPS/PGEN.ELF

OPL支持VMC,即虚拟记忆卡功能。在需要使用该功能的游戏上按△,VMC Slot 2项,选Use Generic,not set就会变成generic_1,进入该项选32M并格式化,硬盘里就会出现一个文件/+OPL/VMC/generic_1.bin,这就是虚拟记忆卡文件了。uLE可以mount将该文件,然后就可以往里面复制旧存档了。

很多自制程序都需要在记忆卡里保存配置文件,所以slot1里的物理记忆卡我没有用来保存游戏存档,存档放VMC里就好。

OPL支持IGP(In-Game Reset?),游戏中按L1+L2+R1+R2+Select+Start就是软复位,L1+L2+L3+R1+R2+R3则是关闭电源。软复位后执行哪个ELF可以在设置里面改,我指向了mc0:/BOOT/BOOT.ELF,也就是uLE,默认是Sony Browser。

封面文件PS2上没法自动下载,需要自己下载以后放到/+OPL/ART/目录下,这里可以下到一大堆,不过也没有很齐就是。想要补的话,这里也可以找到一些。

用网线将ISO传入PS2可以用HDL Server和hdl_dumb。OPL内置了HDL Server,可很奇葩的是,所有人都说去设置里选Start HDL Server,却没人提怎么样让这个选项出现。最后还是我把源码抓回来看过才知道,需要加载硬盘,并且开启了删除和改名游戏的选项才行。

这种方式需要非比寻常的耐心,我这里从PC灌入游戏的速度大概只有不到1.3MBps,也就是1GB大概需要13分钟的样子。好在PS2功耗一般只有15W左右,加上一块硬盘也顶多25W,不至于太心疼电费。

PS1游戏方面,基本就不要指望了。PSXLAUNCHER需要5W及以后的机型,我的机器用不了。PS2PSXe我测试了月下,画面各种破碎。至于传说中的Sony官方模拟器POPS-00001,模拟月下只能用AV输出,并且CG黑屏,并且人物开始对话就死在那里了。

没有评论 :