当前位置:首页 > 游戏资讯

超级马里奥的bug水下256关

作者:admin     时间:2020-07-20 15:20:24     来源:互联网    

  超级马里奥兄弟(Super Mario Bros. 俗称“超级玛丽”、“超级玛莉”)第一代是非常经典的游戏。这个游戏有一个久远的传闻:水下 256 关。最近我偶然看到游戏咖啡馆的视频《马里奥水下256关终极解密》,于是想在模拟器上重现。

  我用的模拟器是 VirtuaNES。NES 文件选用欧版的Super Mario Bros (E).nes。欧版和日/美版最明显的区别,就是标题界面上方多出了一个大方块,如图分别是欧版、日/美版的开始界面:

欧版游戏开始界面

日/美版游戏开始界面

  为什么选用欧版,这是后话了。如果你已经在用我以前发布的Nes 经典游戏,懒得另外下载,用手上的日/美版,其实也能体验到“水下 256 关”。准备知识

  根据前述视频,实机上触发“水下 256 关” BUG 的方法,是用《网球》游戏,游玩后热插拔,插上《超级马里奥兄弟》卡带,按 A + Start。原理是《网球》修改了某些内存的内容,而复位后这些内容仍然保留着。那么我们只要修改游戏内存就行了。在模拟器上很容易干成这事。

  有两个重要的选项。

  内存查看器。点击菜单“工具”—“查看器”—“内存查看器”。内存查看器顾名思义,可以查看内存相应地址的值。但是只能查看,不能在上面修改。稍后的作用是确认内存是否已经修改成功。不过不会用也没关系,最关键的是下面的工具。

  “查找金手指”。点击菜单“工具”—“查找金手指”,或者有些翻译名称可能是“搜索金手指”。可以在这里修改内存内容。修改以后新值显示不会自动变化(实际已经修改完成),需要点击“更新”按钮刷新。 卡带模拟法:0x07FD

  视频 10:22 处,作者非常好心地给出了相应的内存地址,即 07FD。那么我们在查找金手指界面,在左边找到这个地址,双击。在“写入数据”一块,发现地址已经填写为 07FD(如果之前没有双击,就手动填写)。数据填写“8”,点击右边的“写入”按钮,再点击“更新”按钮确认变化。于是内存修改完毕,仿佛我们已经游玩《网球》片刻回来了。

查找金手指 操作方法

  这时候,按 F2 进行软重置,内存 07FD 也不会复位。在标题画面,按 A + Start(不是键盘 A,是控制器设置对应的 A),就能进入 9-1。

9-1 关卡

  如法炮制,将 07FD 地址对应的值改为 9,可以进入 10-1(显示为 A-1)。以此类推。

A-1 关卡

  甚至能改为 35,进入 36-1(显示为“ -1”),所谓的负一关,再也不用穿墙啦。(当然,NES 版的马里奥负一关没什么好看的,磁碟机版的才精彩。这个方法同样适用于磁碟机版。)

选关进入 “ -1” 关

选大关法:0x075F

  如果这样就是所谓的“水下 256 关”,那我们其实也可以修改 World(大关)对应的内存。根据NES Hacker Wiki,可以知道 World 对应的地址是 075F。于是我们也可以在进入标题画面的时候,将内存 075F 值修改为 8。这样同样能进入 9-1,方便之处在于不用 A + Start,而直接按 Start 就能进入。坏处是每次(软)重置后,内存 075F 都会复位,因此需要重复修改。

  也可以把这样的指令做成金手指(作弊码),总是激活,这样就不需要每次手动修改。我后来搜了一下,确实有人是这样做的。

  不过,虽然 Wiki 上说这适用于 North America / Japan,我却没有用日/美版的测试成功,反而是用欧版的 NES 文件试验成功的。这也是我在文章开始推荐用欧版游戏的原因。日版游戏用前一个方法玩玩就行了,或者参考下一个方法。 选小关法:0x0760 和 0x075C

  如果你进入了上述 Wiki 链接,会发现还有两个字段叫 Level 和 Display Level,地址分别为 0760、075C。经过我初步测试,游戏的关卡地图定位机制是结合 World 和 Level 的,而 Display Level 正如其名,是显示给用户看的。比如,1-2 的时候,会经历地上、地下两个场景,游戏设计为不同的 Level,而 Display Level 不变(值为 2)。

  也就是说,假设我们不在乎显示为何,只改变 Level 值,也可以实现选关,包括选小关。事实上确实是可以的,甚至不用自己取余数(在正常游戏一大关结束后,World 会加 1,Level 置 0)。那么这就可以暴力选关卡。

  一个骚操作是把 Level(0760)改为 0xFE(十进制为 254),可以看到 1-2 在水下的样子,如图(因为没有修改 World 和 Display Level,关卡仍显示为 1-1)。

1-2 在水下

  当然,到底水下有没有 256 关这么多,我想是没有的。很多关卡都不能游玩,也未必都在水下,有时还能碰到常规关卡的地图,我猜地图偏移定位到某一个倍数就循环重复了。不过,这些关卡看一看还是挺有意思的,据说还是二代(日版)设计的灵感来源。