日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

FC超级玛丽研究(NES游戏)

發(fā)布時間:2023/12/29 综合教程 41 生活家
生活随笔 收集整理的這篇文章主要介紹了 FC超级玛丽研究(NES游戏) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

理解本文需要6502匯編語言基礎,讀者可先閱讀本人之前的一篇文章和6502匯編指令速查表.pdf。

為便于理解,本文所有內存地址都用[]表示(如:[00CE]),所有ROM文件地址都用<>表示(如:<00CE>),所有數值都用$前綴或0x前綴表示(如:$CE或0xCE),$CE主要用于表示匯編語言十六進制數,0xCE主要用于表示文字注釋十六進制數。

定義關卡表示方式

第x大關的第y小關簡稱x-y,例句:關卡8-4為最后一關。

8-4過去后可進入難度加大版,同樣是從1-1關開始,變化主要有:蘑菇怪變鐵烏龜,一些敵人步行速度快了,梯子短了,錘子龜爆發(fā)容忍時間短了。

定義敵人名稱

蘑菇怪:最簡單的敵人,只能在地上緩慢步行,一踩就死。

烏龜:踩一下靜止不動,再碰一下就滑行。

鐵烏龜:同烏龜,但不怕火力花。

刺猬:不可踩,但怕火力花。

快樂云:不斷放置刺猬,但場景里一般最多出現3個刺猬(內存限制)。

章魚:在水里出現,斜向上運動或垂直向下運動。

魚群:在水里出現,或成為飛魚。

錘子龜:會扔錘子,但怕火力花。此敵人一開始在原地跳躍上下運動且扔錘子,過一段時間(錘子龜爆發(fā)容忍時間)后,錘子龜爆發(fā),直接向左走,遇到障礙就跳過去,整個過程都扔錘子。

導彈:可踩,但不怕火力花。

火焰:不可踩(以下和火、庫巴有關的均不可踩),一般由庫巴噴出。

火串:不斷旋轉。

火球:從巖漿中向上噴出,到達最高點后降落。

庫巴:會噴火(生成不同高度的火焰)和扔錘子。

避免在fceux中運行出現0-1關

將<031E>處的8D5F07用EA填充

內存地址含義

[0057]瑪麗X方向運動速度(矢量,符號位代表方向)

[0058]-[005C]敵人X方向運動速度,最多容納5個敵人,且出現5個敵人時,其中2個敵人會閃爍

[0086]-[008B]瑪麗橫坐標和敵人橫坐標

[008D]和[008E]火力花橫坐標

[00A6]和[00A7]火力花方向(0x04向下方向,0xFD向上彈起)

[00CE]瑪麗高度,[00CF]-[00D3]敵人高度,[00D5]火力花高度

[00FA]置1后播放暫停音效關閉背景音樂,置2后播放取消暫停音效打開背景音樂

[00FD]-[00FF]對這3個字節(jié)其中的1bit置1可播放對應的音效(bit代表其中一位,一個字節(jié)有8位)

[0117]和[0118]得分位置X方向,[011E]和[011F]得分位置Y方向

[075A]生命數,0x00表示剩余可用生命數為0

[075E]真正的金幣數量地址

[075F]當前大關,[0760]當前小關(都是從0開始標,即0x0000表示1-1,0x0703表示8-4)

[07DD]連續(xù)6字節(jié)為分數地址

[07EC]-[07EE]金幣數量百位、十位、個位顯示

[07F8]-[07FA]時間百位、十位、個位

運行時地址(即內存地址)與ROM文件地址對應關系

例:運行時內存地址[C30C]對應于ROM文件地址<431C>

關系:運行時內存地址=ROM文件地址+7FF0

解釋:運行游戲時需要將ROM文件里的指令和數據存放到內存中

修改ROM文件可實現的效果

<36D7>的A903指令可改火力花初始方向

<3A41>炮臺向右導彈速度,<3A42>炮臺向左導彈速度

<431C>的0xF8蘑菇怪步行速度、烏龜步行速度、鐵烏龜步行速度,<431D>難度加大版對應速度

<4336>錘子龜爆發(fā)容忍的時間默認0x80,<4337>難度加大版錘子龜爆發(fā)容忍的時間默認0x50

將<4AA8>的內容用EAEAEA填充可使敵人不下落

修改<4C50>的0xE8可變空中導彈速度

<585F>的0x30烏龜滑行速度

將<5B4C>用EAEA填充可不反轉

判斷是否出現食人花
00:98F2:AD.60.07..*LDA.$0760;00:98F5:0D.5F.07..*ORA.$075F;00:98F8:F0.2B.....*BEQ.$9925

當[0760]和[075F]均為0時跳過食人花,均為0恰好表示1-1關(下標從0開始),所以只有關卡1-1沒有食人花,其余關卡水管均有食人花。

如將0xF0改為0x10可關閉食人花,因為這樣就強制跳過布置食人花的指令(當然改為102B并不是強制向后跳轉0x2B個字節(jié),只是不為負背景下的等價)。

判斷時間是否為0,Time up
00:B769:AD.F8.07..*LDA.$07F8;00:B76C:0D.F9.07..*ORA.$07F9;00:B76F:0D.FA.07..*ORA.$07FA;00:B772:F0.26.....*BEQ.$B79A

如果[07F8]連續(xù)3個字節(jié)均為0則代表時間為0

過關結算時間
01:D312:AD.F8.07..*LDA.$07F8;01:D315:0D.F9.07..*ORA.$07F9;01:D318:0D.FA.07..*ORA.$07FA;01:D31B:F0.F1.....*BEQ.$D30E

100金幣生命數+1
00:BC0C:EE.5E.07..*INC.$075E;00:BC0F:AD.5E.07..*LDA.$075E;00:BC12:C9.64.....*CMP.#$64;00:BC14:D0.0C.....*BNE.$BC22;00:BC16:A9.00.....*LDA.#$00;00:BC18:8D.5E.07..*STA.$075E;00:BC1B:EE.5A.07..*INC.$075A;00:BC1E:A9.40.....*LDA.#$40;00:BC20:85.FE.....*STA.$00FE;00:BC22:A9.02.....*LDA.#$02

這段指令為瑪麗吃到金幣后的事件指令。首先[075E]自增1,讓金幣數量加1,然后讀取金幣數量,和0x64(對應十進制的100)進行比較,如果不等就向后跳轉0x0C個字節(jié),吃金幣事件就結束了,如果相等就不跳轉,將[075E]置0,表示金幣數量清零,然后[075A]自增1,表示生命數加1,最后將[00FE]置0x40,表示播放1UP的音效。

敵人下落修改高度
00:BFEB:75.CE.....*ADC.$CE,X;00:BFED:95.CE.....*STA.$CE,X

0x75改成0xB5(即LDA),無法實現,因為瑪麗也不下降了,將<4AA8>的內容用EAEAEA填充可使敵人不下落

噴火速度
01:D204:B5.87.....*LDA.$87,X;01:D206:E9.01.....*SBC.#$01;01:D208:95.87.....*STA.$87,X

火焰橫坐標自減一,實現噴火效果,如修改E901為E902則2倍噴火速度。

求敵人反轉后的X方向運動速度
01:DB36:B5.58.....*LDA.$58,X;01:DB38:49.FF.....*EOR.#$FF;01:DB3A:A8........*TAY;01:DB3B:C8........*INY;01:DB3C:94.58.....*STY.$58,X

首先讀取敵人的速度,然后和0xFF異或一下,相當于按位取反,再存到Y里面自增一下,最后存回敵人速度內存區(qū)域。

可形成+1和-1互換,+2和-2互換等等。即0x01和0xFF,0x02和0xFE。

敵人反轉詳細匯編指令
01:DB1C:B5.16.....*LDA.$16,X;01:DB1E:C9.0D.....*CMP.#$0D;01:DB20:F0.22.....*BEQ.$DB44;01:DB22:C9.11.....*CMP.#$11;01:DB24:F0.1E.....*BEQ.$DB44;01:DB26:C9.05.....*CMP.#$05;01:DB28:F0.1A.....*BEQ.$DB44;01:DB2A:C9.12.....*CMP.#$12;01:DB2C:F0.08.....*BEQ.$DB36;01:DB2E:C9.0E.....*CMP.#$0E;01:DB30:F0.04.....*BEQ.$DB36;01:DB32:C9.07.....*CMP.#$07;01:DB34:B0.0E.....*BCS.$DB44;01:DB36:B5.58.....*LDA.$58,X;01:DB38:49.FF.....*EOR.#$FF;01:DB3A:A8........*TAY;01:DB3B:C8........*INY;01:DB3C:94.58.....*STY.$58,X;01:DB3E:B5.46.....*LDA.$46,X;01:DB40:49.03.....*EOR.#$03;01:DB42:95.46.....*STA.$46,X

本文待完善。

總結

以上是生活随笔為你收集整理的FC超级玛丽研究(NES游戏)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久久久综合网 | 武林美妇肉伦娇喘呻吟 | 性欧美bb | 免费欧美黄色片 | 桃色激情网 | 人人爽人人草 | 欧洲美熟女乱又伦 | 国产一区亚洲二区 | 午夜粉色视频 | 色婷婷综合网 | 国产第2页| 免费特级毛片 | 日韩视频免费观看高清完整版在线观看 | 久久久黄色 | 美日韩成人 | 欧美丝袜一区二区三区 | 胖女人做爰全过程 | 国产chinasex麻豆videos | 亚洲天堂一区在线 | 岛国精品一区二区三区 | 国产伦精品一区二区三区四区 | 日日爱网站 | 免费成人av网址 | 最近中文字幕在线观看 | 老司机深夜网站 | 69av导航| 中文字幕不卡在线播放 | 欧美日韩久久久久 | av网天堂| 日韩一区二区三区精品视频 | 黄污视频网站 | 免费看日韩毛片 | www.在线播放 | 一级特黄肉体裸片 | 午夜中出| 免费的污网站 | 国产a级精品 | 一本大道东京热无码aⅴ | 日皮毛片| 国产精品91久久 | 国产91一区在线精品 | 国产免费看片 | 99视频免费看 | 欧美日韩国产亚洲一区 | 91浏览器在线观看 | 天天视频国产 | 老外一级黄色片 | 99色综合网 | 操操av| 久久免费黄色网址 | 五月天伊人网 | 亚洲女优在线 | 狼人色综合 | 黄色草逼视频 | 99re6在线| 99福利网 | 色小说香蕉 | 久久精品波多野结衣 | 99精品视频一区二区 | 波多野结衣黄色 | 免费在线看污片 | 欧美激情久久久久 | 给我看免费高清在线观看 | 国产一级在线观看视频 | 日本欧美中文字幕 | 图书馆的女友动漫在线观看 | 少妇精品偷拍高潮白浆 | 在线国产黄色 | 国产精品久久 | 日日操夜夜干 | 欧美日韩国产在线 | 亚洲在线免费视频 | 少妇又色又紧又大爽又刺激 | 国产一区二区自拍 | 免费高清视频一区二区三区 | 亚洲精品日日夜夜 | 成人免费视频观看 | 日本少妇三级 | 日韩专区在线 | 黄色在线观看网址 | 国产精品白嫩极品美女视频 | www.好了av.com| 国产网站免费观看 | 日日夜夜爱 | 中文字幕日韩一区二区 | 国产丰满农村老妇女乱 | 欧美成人一区二免费视频软件 | 奇米777第四色 | 天海翼一区二区三区 | 麻豆tv在线观看 | 在线不卡视频 | 欧美性猛交性大交 | 中文字幕av无码一区二区三区 | 18被视频免费观看视频 | 午夜精品一区二区三区在线播放 | 免费成人av网址 | 日韩午夜三级 | 在线观看中文 | a级国产毛片 |