超玛一代吧 关注:2,973贴子:47,897
  • 50回复贴,共1

求研究这个BUG!

只看楼主收藏回复

我在墙外看到的一个BUG,目前墙内好像还没人提到过,也不知煋没,求解剖!
⒈首先,你得通关一次。

⒉在二周目时,选择双人游戏。

⒊让马里奥径直冲到1-2,然后……自寻死路。

⒋换马里奥的好基友路易基登场

⒌让路易基去5-2,到刺球和藤蔓的地方抓住藤蔓,但不往上爬。

⒍接下来就是最关键的一步,这个地方不太好描述,我试了十多次才试出来。
在往上爬藤的时候,上升到一定高度,就会切换到自动爬藤状态,在这个时候需要刺龟扔锤子来配合,让他的锤子在你自动向上爬藤的过程中把你优雅地砸中。注意一定要在自动向上爬藤状态时挂掉,否则无法触发BUG!可能需要耐心等待很久,刺龟在问号箱上面跳起来扔锤子的时候就是你作死的最佳时节。

⒎路易基挂掉,马里奥登场,这个时候,藤蔓就会从1-2的地下出来!

这个BUG老少咸宜,地下关、水关、城堡关均有一定概率发生,这些我就不截图了,没事可以自己试试看。具体特点如下:
①如果马里奥挂掉的地方,在重生点有城堡(即一关的开始),那么会听到长出藤蔓的声音,但看不到藤蔓,不过藤蔓存在且可以爬。
②如果马里奥挂掉的地方在X-4,那么藤蔓也会长出来,但是被砖挡住,只能勉强看见屏幕左下方有藤蔓。由于一代里的X-4,出场基本上都处于较高位置,所以也没机会爬藤。
③在水关挂掉是最精彩的!能听到藤蔓长出的声音但看不到藤蔓,也不能爬,不过该关会出现水中飞龟、水中火棍和水中浮梯等奇特的景象!并且要过两遍才能过关!
@miku_con @SuperMarioBX


IP属地:河北1楼2015-03-11 23:36回复
    很巧Mars三天前跟我提过这个Bug,不知道你们看到的是不是一个地方的内容……至于我几年前在YouTube上最先看到的,因为必须在双人模式下才能触发所以也不是很感冒,也没有找到太好的应用,不过楼主提到的在水关会有特殊效果让人眼前一亮,我不明白水中飞龟之类的为何会出现,有时间我去试试……


    IP属地:吉林2楼2015-03-12 00:26
    收起回复
      果然很值得研究的现象啊……
      说实话我本来以为“爬藤蔓出场”这种方式是跟0752的值绑定的(正常情况下这时0752的值为2),原来还另有标志内存控制藤蔓是否生长啊(肯定的,不然同样是0752=2的“水管钻出”和“爬藤蔓”是怎么区分的……)
      另外还可以看到这种情况下藤蔓长出的横坐标比正常情况下向左偏了一格……“Mario出场横坐标跟随”属性么……
      至于藤蔓会被挡住,那是因为藤蔓的设定是“位于背景后”,就像食人花一样。
      水关藤蔓这个……看来加载藤蔓还会影响敌人加载,而且还是相互影响,藤蔓也因此加载失败了(另外是不是跟半程点也有关系)……初步怀疑是敌人数据指针错位,这样就没有加载原本正常的敌人,而是出现了一些奇怪的敌人;至于“两遍才能过关”,也是因为原本的“空间传送”敌人没有加载。
      再回到这个bug本身。话说真的是必须双人模式才能出现此bug么……因为“钻水管、爬藤蔓、开局顶端出场/自行走、拉旗过关等状态下受伤”本身就不属于正常状态(否则设计这些状态的时候就应该设计成完全无敌才对,而实际上没有……),所以应该不是单人/双人模式下有区别的……如果真的有区别,那只能说明两者使用的程序不同,单人模式凑巧把这个bug消除了。其次“二周目”同理。或者,这是“单人、双人两轮游戏的衔接”产生的问题?


      IP属地:上海3楼2015-03-12 09:55
      收起回复
        使用金手指0750-01-31(即设置当前空间为31,也就是5-2的空间编号)成功重现此bug……果然不需要“双人模式”和“二周目”这两个条件……
        然后再从1-2直接跳关到5-1,去真正的5-2再测试一次~仍然成功了~上图:

        至于水关藤蔓……可以用075F-01-01(或06)、0760-01-02、0750-01-31测试
        结果:5-2藤蔓的位置也没有到2-2的半程点,所以是从头开始的,跟半程点也没有关系;
        藤蔓确实没有长出来;
        至于敌人指针……正常的2-2的指针是A171,而触发此bug之后内存00E9和00EA的值分别变成了F8和A1,也就是指针变成了A1F8……这已经不是“错位”的级别了……另外这个内存位置则是1-4的地形数据- -


        IP属地:上海4楼2015-03-12 20:53
        收起回复
          另外这个bug貌似还有一个变种,就是以爬藤蔓方式出场时如果被锤子砸死(由于SMB具有出场页面不加载敌人的特性,以及爬藤蔓状态的特殊性,只能是这种死法,并且还必须是爬上来之后卡在墙里出不来,这样才能等到屏幕外的锤子龟冲过来把你一锤砸死……),那么复活之后仍然会以爬藤蔓方式出场。这个貌似在某hack里有应用,我记得看过这么一个录像,具体哪个hack忘了……


          IP属地:上海来自Android客户端6楼2015-03-12 22:50
          回复
            能不你这个游戏发给我吗


            来自iPhone客户端7楼2015-03-14 00:08
            收起回复
              @miku_con @HappyLee_12
              也不知道二代磁碟机版有无此BUG,印象中2代有几个地方可以促成此类情况,可惜最近很忙,也没时间试验。
              另外还有几个一直想问但没问的问题,回答上来我就摸摸你的头。
              ⒈拉旗自动进堡这段期间是无敌的吗?遇到敌人不会有任何反应?如果有金币会自动吃吗?我在墙外看见过视频,但记忆不清楚了。
              ⒉如果旗子和城堡之间有坑,掉下去以后会发生什么?
              ⒊无敌状态碰库巴会发生什么?
              ⒋城堡关过关之后是无敌的吗?如果过关之后还有敌人会怎么样?还有金币会怎样?还有障碍物、星星、蘑菇或者坑的话会怎么样?
              ⒌为什么有些盗版卡里的城堡关,踩斧之后的音乐成了乱七八糟的(找几个GoodNES里的盗版合卡玩玩就知道了)?
              尤其第四个问题我特别想知道,在很多年前墙外看到过一个视频,那个人应该是做的改版吧……在城堡关过关之后放了个乌龟,让马里奥前行时正好踩中乌龟,它会变成壳,然后过一段时间重新出来,此时马里奥已经走到了小蘑菇面前,等着那个乌龟撞上他。在乌龟碰到他的一瞬间,他会变成挂掉的动作,同时放挂掉的声音,但是会定在原地,不会从屏幕上跳下去。
              之所以问这个,是因为磁碟1代的-3关是一个地下版的城堡关,在过关之后记得会踩一个水怪,由此可见城堡关过关之后仍然是有判定的。


              IP属地:河北8楼2015-03-14 00:12
              收起回复
                貌似一个人这样也会从当前关卡出来,只不过看不见


                IP属地:湖南来自Android客户端9楼2015-03-15 08:10
                收起回复
                  用Debug版VirtuaNES调试了一下“2-2藤蔓”,结果……
                  首先,判断藤蔓是否加载的“标志内存”原来是$0758……当0758=0时,藤蔓就不会出现,否则藤蔓出现。正常情况下,“爬藤蔓出场”需要的0758的值为8。
                  然后,藤蔓以及藤蔓附属的“隐形物块”(正常情况下藤蔓是从坑里长出来的,如果没有这个隐形物块,会由于藤蔓穿墙bug而导致Mario从坑里掉下去)的横坐标都是由Mario的出场横坐标确定的……果然是“跟随”属性~
                  接下来就是关键的部分了——为什么只有水关会出现“藤蔓长不出来,敌人错乱”的现象?
                  这是因为,执行完“加载第一段藤蔓”的程序之后,紧接着就是“水中气泡初始化”的程序!这两个程序依次执行的后果,就是“藤蔓没长出来,敌人错乱”!
                  正常情况下,这两段程序是不可能都执行的,因为没有“通水藤蔓”这种玩意……所以当初设计程序时,根本没有考虑这两段程序全部执行的情况。但是,现在由于发生了另一个bug,连带着这里也出现bug了……
                  那么这两段程序依次执行下来,发生了什么事情呢?
                  首先,加载藤蔓时,将寄存器X的值设置为5,再将藤蔓的相关数据存入“5号敌人”对应的位置(我们知道,SMB同屏可以存在6个敌人,可以依次编号为0~5,其中5号敌人就是蘑菇、藤蔓、旗子等对应的位置,这个位置是比较特殊的)。
                  然后,再加载第一个气泡。因为气泡一共可以有3个,所以这里也需要用到寄存器X来确定处理的是哪一个气泡。这里就是问题的开始……本来在没有执行加载藤蔓的程序时,X应该是等于0的,这样加载气泡时就不会出问题了。但是,由于加载了藤蔓,X变成了5,超出了正常的范围(对于气泡来说是0~2),于是这个“0号气泡”就变成了“5号气泡”……在气泡数据中,有一个“气泡纵坐标低字节”,正常的内存位置是00E4~E6,但是现在“5号气泡”就会使用内存00E9的位置,而这是“敌人数据指针低字节”……所以,敌人就错乱了。
                  至于“藤蔓没有长出来”的原因……这个就比较复杂了,暂时没研究明白……


                  IP属地:上海10楼2015-03-15 20:45
                  收起回复
                    牛···怎么发现的···


                    IP属地:广东11楼2015-03-19 01:02
                    回复
                      对了,我下载的,右上角时间减得飞快,你们都一样吗


                      IP属地:广东12楼2015-03-19 01:02
                      收起回复
                        成功


                        IP属地:新疆来自Android客户端13楼2015-03-23 18:55
                        回复
                          @HappyLee_12
                          《超玛一代》到底有没有9世界和AD世界?


                          IP属地:湖北来自Android客户端16楼2023-03-16 01:02
                          回复