Wii软改-游戏篇

:video_game::video_game:

October 01, 2020 · 14 mins read

Wii软改篇中,我们万事俱备只欠游戏:bowtie:

准备移动硬盘

同样的原因,还是格式化成FAT32,“分配单元大小”选32KB。

移动硬盘的分区表类型需要是MBR,不然Wii识别不到硬盘。运行磁盘管理工具,在磁盘#处点右键,如果菜单里是“转换成MBR磁盘”,则现在是GPT;如果菜单里是“转换成GPT磁盘”,则现在是MBR

还有一种命令行方式可以查看和转换分区表类型

diskpart
list disk     <-- 最后一列用*号标识是否是GPT
select disk # <-- 选中目标磁盘,前面有*号标识。千万小心!选错就悲剧了
clean         <-- 清除所有信息
convert mbr

如果不熟悉命令行操作,还是找个工具软件做转换吧。

模拟器

只要安装好HBC就能运行模拟器了,没想到Wii上面有这么多模拟器,一些小平台都不说了,支持FC、SFC、N64、MD、SMSGG、PS1、SS、PCE、MSX、DS、GB、GBC、GBA、Arcade、DOS。使用方法都很简单,这里是模拟器列表 :arrow_upper_right:

DOS:question:对啊,Win95&98时代都是DOS游戏,仙剑1、大航海时代、金庸群侠传、剑侠情缘。我没有测试过USB键盘工不工作,不过抱着个键盘在客厅打游戏怪怪的,还是在电脑上玩吧。

SFC和N64上面还是有很多耐玩的大作的。

Game Loader

现在我们需要一个自制APP来加载游戏了。

Disc Loader

从DVD光盘加载游戏,这是第一代加载方式,还要去电脑城淘碟,舟车劳顿;或者从网上下载光盘镜像自己刻录,还可能刻录失败。总的来说,这种方式局限于光驱的读盘速度和光头的老化程度,因为已经过时我们就不详细说了。

USB Loader

这是第二代加载方式。首先USB硬盘的速度就碾压光驱,其次拷贝粘贴比刻录轻松太多。常用的有USB Loader GX、Configurable USB Loader和WiiFlow,它们的使用方法都大同小异,如果某个游戏有兼容问题,不妨试试换用其他的Loader。

我经常使用的Configurable USB Loader v70不工作,最开始的现象是进入APP后提示找不到硬盘,后面的现象又变成进入APP时卡在启动画面。可能是移动硬盘本身的兼容性问题,我试出来的解决办法是先拔出硬盘,进入APP后等它Retry的时候再插入硬盘到最靠近主机边缘的USB接口,Wii终于识别硬盘,显示游戏列表了。

Wii Backup Manager管理WBFS格式的游戏文件很方便,由于我们选择了FAT32格式,可以设置自动分割大于4G的文件。也支持输出上面三种USB Loader的游戏封面目录结构,简单拷贝到SD卡对应目录就好了。

以Configurable USB Loader为例,将WiiBackupManager\Covers\CFG下的所有目录拷贝到SD:usb-loader\covers下面,进入APP就有游戏封面了。

设置分割大文件 设置游戏封面目录输出结构


NGC Loader

在上篇中说过,Wii向后兼容NGC游戏,当探测到GameCube光盘的时候,最终将运行一个特殊版本的IOS——MIOS。

下面简单介绍下运行NGC备份游戏的方法:

  • cMIOS:从光盘加载,通过给MIOS打补丁的方式实现。过时

  • DIOS-MIOS:从光盘或USB加载,也是修改MIOS。过时

  • DIOS-MIOS Lite:从光盘或SD卡加载,同样修改MIOS。过时

  • Devolution:从USB或SD卡加载,这个厉害了,第一个不需要MIOS的Loader,第一次加载游戏的时候需要游戏光盘认证。额……这个……还是不予置评。过时

  • Nintendont:从USB或SD卡加载,也不需要MIOS。详见这里 :arrow_upper_right:必安

对基于MIOS的Loader来说,Wii硬件支持NGC,那你也得支持下硬件喽,NGC手柄或者记忆卡,很公平:joy:还有一点需要注意,因为只存在一个MIOS,所以同时只能有一个基于MIOS的Loader生效。

不需要MIOS的,也就是说在Wii模式下,运行在IOS上的自制APP来加载GameCube游戏,这样就能支持更多的手柄和带来其他好处。

这里有必要说明下MIOS的成分才好解释神奇之处。MIOS包含少量的ARM程序和一份完整的GameCube IPL(GameCube的主菜单 / BIOS)。Starlet运行MIOS的时候,ARM程序仅仅加载IPL到内存然后启动PowerPC来运行它,剩下的就不管了,是IPL在读光碟并且启动游戏。

最开始我猜想Nintendont是从某个地方加载或者自己实现了IPL,然后打补丁,从USB或SD卡读取并且运行游戏。当然,我这是说得轻巧——吃根灯草:joy:

Nintendont是开源的 :arrow_upper_right:,完全看不懂:dizzy_face:,快速翻了一下,找到这个文件ipl.c,应该是libogc(黑客们编写的GameCube和Wii的底层库:+1:)的gccore.h提供了IPL,厉害的小伙伴可以深入研究下。

#include <gccore.h>
#include <string.h>
#include "ipl.h"
...
void load_ipl(unsigned char *buf)
{
   ...
}

踩过的坑

一路趟过了多少坑才走到了这里:smirk:

异度之刃汉化版本

最开始下载了一个异度之刃的汉化版本,能运行游戏,出现的问题是在汉化头画面和加载画面无限循环。尝试了其他cIOS和USB Loader,问题依旧。

都准备放弃了,后面又下载了另一个资源的游戏,发现文件名都是一样的ACGHH-0154-XBBETA.wbfs,最后一个图是正常运行的游戏的汉化头。

问题版本汉化头1 问题版本汉化头2 成功版本汉化头


汉化游戏语言

有些汉化游戏一进入就黑屏,双节棍的指示灯也熄灭了,原因是USB Loader里没有给该游戏设置正确的语言。比如瓦里奥制造平滑移动(RODK01)是基于韩版游戏汉化的,就需要把语言设置成Korean。

感觉游戏ID的第四位就是语言,K代表Korean,J代表Japanese等等。

未解决的坑

憨豆先生的古怪世界黑屏

REBPMT - Mr Bean’s Wacky World of Wii不是汉化版,但还是进游戏黑屏。

今天国庆中秋双节同庆:fire::fire:

国运难挡!!!

中华人民共和国建国71周年


姊妹篇

Wii软改必要步骤及说明

:clock9:上次更新: 2020-10-01