ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:865.27KB ,
资源ID:5331461      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5331461.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(GBA金手指代码教程.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

GBA金手指代码教程.docx

1、GBA金手指代码教程初心者教程準備工作VBA模擬器肯定是要的,筆者採用的是1.7-beta4英文版。另外函數型計算器也要有一個,用來換算十進制、十六進制和二進制,當然也可以用Windows自帶的計算器代替。在打開Rom前,先熟悉一下VBA的金手指菜單,見下圖。Search for cheats搜索代碼Cheat list代碼列表Automatic save/load cheats自動保存/加載代碼列表文件(不推薦使用)Disable cheats啓用金手指功能(這是個作者失誤的地方,字面意思是禁用金手指功能,但實際效果相反。打鈎就是啓用金手指。) - 本文原载于A9VG游戏社区Load che

2、at list加載代碼列表文件Save cheat list保存代碼列表文件金手指列表最多可以保存100行代碼,且可以另存爲列表文件。(擴展名clt,佔7.82K)筆者建議保存列表文件前把列表中的所有代碼設置成禁用狀態,(設置方法後文會介紹到)這樣以後打開列表文件時就可以避免自動啓用某些自己暫時不想啓用的代碼。如果啓用自動保存/加載代碼列表文件,那打開Rom時會自動加載與Rom同名的clt文件,關閉Rom時會自動保存此文件。還有模擬器的卽時存檔功能也可以把代碼列表保存在卽時存檔文件中,包括哪些代碼啓用哪些禁用都會完整保留,可以善加利用此點。另外筆者習慣把Search for cheats和Ch

3、eat list兩個功能加上快捷鍵,增加方法見下。打開上圖的Customize,出現下圖的對話框。先選中左邊的CheatsList,再把鼠標移到標紅圈的框内。按住Alt鍵不放再按下E鍵,框中會出現Alt+E的字樣。點綠圈中的Assign添加Alt+E的快捷鍵。CheatsSearch的設置方法一樣,筆者設置成Alt+A。效果見下圖。之所以設置這兩個快捷鍵是因爲SFC模擬器Snes9X的金手指快捷鍵也是這兩個,當然各位可以按照自己的喜好來設置。修改始動以下以美版Final Fantasy & 中的一代爲例,作最簡單的修改介紹。開始遊戲。初始資金是500 Gil,如下圖。按Alt+A,打開搜索代碼

4、對話框,如下圖。Search type下選擇Specific Value(搜索指定値)Data size決定搜索的字節數,8 bits代表單字節,16 bits代表雙字節,32 bits代表四字節。此時應選擇16 bits。Compare type一直選擇Equal(相等)就行了右邊的Signed代表帶正/負數的十進制,Unsigned代表不帶負數的十進制,Hexadecimal代表十六進制。這裡爲了保持正統,一律用十六進制。接著在Enter value中輸入500 Gil的十六進制1F4h(h代表十六進制的符號,實際輸入時無需輸入此字母),點Start按鈕,再點Search按鈕,此時效果見下

5、圖。此時出現了一大堆地址,代表還未搜出唯一値。那麼先繼續遊戲,去設法讓此數値發生變化。在購入一把武器後,數値變成了492,見下圖。再按Alt+A,接著在Enter value中輸入492的十六進制1ECh並點Search按鈕,結果見下。此時找到了唯一的地址02002ab4,這就是金錢的地址。(如果想重新搜索其它項目的地址必須再點Start按鈕然後重新打數字搜索)接著用鼠標點這個地址,再點下面的Add cheat按鈕添加代碼,出現下圖的對話框。這時可以在Value中輸入自己想修改的數値的十六進制形式;在Description中輸入代碼的註解,可以幫助記住此碼的作用;點OK按鈕就行了。但注意圖中的

6、紅圈部分,16-bit前有個點,表示此時最多可修改兩個字節,卽可以修改0000h至FFFFh。如果想增加修改範圍可以先點Cancel按鈕取消,回到之前的搜索對話框,然後選中左邊的32 bits,見下圖的紅圈。此時再點Add cheat按鈕就會見到下圖的樣子,那個灰點移到了32-bit處,此時可修改的範圍擴大至00000000h至FFFFFFFFh。輸入F423Fh後效果點OK按鈕關閉此對話框,再點搜索對話框的那個OK按鈕。這是再看看修改後的效果,見下圖。資金變999999 Gil了且金手指不關閉的話這個數値是鎖定不變的。此時按Alt+E打開代碼列表可以看見之前搜到的代碼已經被添加進列表了,代碼

7、註解也有,見下圖。 代碼左邊的鈎子代表此碼是啓用狀態,點擊該處去掉鈎子就能關閉此碼的鎖定效果了。當然也可以直接在上圖的對話框添加代碼,點Cheat按鈕後出現下圖的對話框。可以在此框中自己輸入地址、修改値、註解、修改範圍和數値類型,但須注意以下重點:如果選擇16-bit,地址尾數必須是0、2、4、6、8、A、C或E;如果選擇32-bit,尾數必須是0、4、8或C。列表管理當列表中的代碼越加越多時下方的代碼就看不到了,見下圖。此時要把滾動條拉下去才能看到下面的代碼。但VBA有個不體貼的設定就是下方代碼無論啓用還是禁用任何一條後都會自動彈回最上方,這裡就教大家一個竅門: 把滾動條拉下去後利用Ctrl

8、鍵和Shift鍵配合鼠標可一次選中多行代碼,(就像在Windows的資源管理器下選擇多個文件那樣)這時點擊下方的Enable/Disable按鈕就能啓用或禁用所有選中的代碼。(啓用的變禁用,禁用的變啓用)同理,一次想刪除多行代碼也可以用此方法,換點下方的Remove按鈕就行了,具體效果見下圖。還有那個Remove All按鈕是把列表中所有代碼清空,且清空前無提示,使用前請三思。中級教程之前的是最簡單的修改,算是熱身吧,現在教些有點難度的了。這次的修改例子是美版Castlevania Aria of Sorrow的怪物圖鑒全部開啓。涉及到圖鑒之類的修改通常要用到二進制和十六進制的互相換算,因爲此

9、時修改單位通常精確到最高的比特級。還是照舊先打開Rom,然後New Game。此時圖鑒空空如也,見下圖。接著去闖城。在遊戲中可以打死的第一種怪物是Zombie,在圖鑒中排第二個位置,見下圖。旣然佔第二個位置,那麼在二進制中圖鑒地址的第一個字節就是00000010b(b代表二進制符號,實際操作時無需輸入此字母),換算成十六進制就是02h。這裡我解釋解釋一下,1個字節可以拆分爲8個比特,從右向左是低位到高位。圖鑒中第幾個怪物圖鑒開啓了,那麼那一位比特就被置1,否則就是0。現在第二個位置圖鑒開啓了,那麼從右向左數第二位就被置1,所以第一個字節的二進制形式此時就是00000010b。現在就可以開始搜索

10、了,把搜索範圍擴大成32 bits,類型選十六進制,然後輸入02開始搜索。此時已找出了部分地址,圖鑒的第一個地址就在其中。接著繼續遊戲,第二種能打死的怪物是Bat,見下圖。由於Bat在圖鑒中佔第一個位置,那麼最低位也被置1了,所以此時第一個地址的二進制應該是00000011b,卽03h。接著在搜索對話框中輸入03再搜索,此時應該衹剩下兩個地址了:02010364和020133a0,後面那個就是正確的地址。旣然地址找到,當然要把這些地址全部置1了。由於遊戲一共有112種怪物,而每個字節最多可以將8比特置1,所以一共要修改1128=14個字節。那麼從020133a0開始連續把14個地址修改成FFh

11、吧(因爲FFh的二進制就是11111111b),卽輸入以下代碼:020133a0 ffffffff (四字節修改)020133a4 ffffffff (四字節修改)020133a8 ffffffff (四字節修改)020133ac ffff (雙字節修改)這樣就能將全部怪物名稱全改出來了。但是光改出怪物名稱還不夠,每種怪物身上掉落的道具名稱還未改出啊,見下圖。這時可不妨大膽地再往後多修改幾個地址。當改到020133b0時第一格道具名稱也改出來了,表示此地址是第一格道具名稱的起始地址。接著一直修改到020103bc時所有怪物的第一格道具名稱也全改出來了,代碼如下:020133b0 fffffff

12、f (四字節修改)020133b4 ffffffff (四字節修改)020133b8 ffffffff (四字節修改)020133bc ff (單字節修改)同理,所有怪物的第二格道具地址是從020133c0開始,具體代碼如下: 020133c0 ffffffff (四字節修改)020133c4 ffffffff (四字節修改)020133c8 ffffffff (四字節修改)020133cc ffff (雙字節修改)關於搜索前如何確定Data Size,這裡分享一下筆者的經驗: 搜索金錢和經驗値等數値較大的單位時大可以選擇最大的32 bits來搜索;搜索HP、MP和人物能力時可以選擇16 bi

13、ts;搜索道具種類和個數時建議選最小的8 bits。總之,Data Size選得越大搜到的結果越少,當然可以更快地找到想要找的地址,但往往會把眞正的地址搜漏了,導致找到的地址全是錯的或乾脆一個地址都沒找到; 而Data Size選得越小搜到的結果越多,眞正的地址不容易被遺漏,但需要反復多搜幾遍將搜到的地址數不斷減少才能找出眞正的地址。當然也可以利用模擬器的卽時存檔功能,用Shift+F1、Shift+F2等分別保存幾個數値不同的卽時存檔,再反復讀取它們同時反復搜索這些數値,可以很快地找到眞正的地址。高級教程頂樓講述的是尋找代碼的一些技巧和經驗,能領悟多少就看各位的造化了。接下去就是本文的高潮部

14、分,筆者將講解形形色色的VBA金手指碼的格式。首先見下圖。這是在代碼列表中點Cheat按鈕出現的對話框,Size那一欄決定了那行代碼的修改量:8-bit代碼單字節修改,修改値範圍是00hFFh;16-bit代碼雙字節修改,修改値範圍是0000hFFFFh;32-bit代碼四字節修改,修改値範圍是00000000hFFFFFFFFh。其中選雙字節修改的話地址尾數必須是0、2、4、6、8、A、C或E,四字節修改必須是0、4、8或C。通過這種方式添加的就是VBA自身的格式(以下簡稱VBA格式),它的地址範圍一共有兩段,具體見下:第一段是02000000h0203ffffh,第二段是03000000h

15、03007ffffh,任何VBA格式的碼地址都離不開這個範圍。當然VBA格式的碼也單調了些,就是直接修改並鎖定數値,這個EC也能做到。而且代碼列表中最多衹能保存100行代碼,就算每行都是四字節修改也衹能修改400個地址,對於一些SLG或SRPG來説400個地址肯定不夠修改。雖然可以通過刪除後添加新代碼或把代碼列表另存爲多個clt文件解決100行代碼上限的難題,但這麼做始終不方便。那麼接下來筆者將介紹其它幾種金手指格式。Game Shark & Code Breaker這兩種金手指是北美的兩家金手指廠商生産出來的正牌金手指。很慶幸VBA可以兼容它們的格式,且在代碼列表中不同格式的碼可以共存並互不

16、影響。筆者先貼兩段這兩種格式的碼給大家看看。Game SharkM Must Be On90228AE1216CD61188E40A0B585E6716AEADEnter Debug Menu Sel+Up78583111C11CB1BEA190F34717CF08B36EA5Exit Debug Menu Sel+Dwn7C59241BC739B1BEA190F347078F8AB77AABCode BreakerEnable Code (Must Be On)0000D1E9 000A100D8F94 0007Infinite HP8201509E 03E7Infinite MP82015

17、0A0 03E7可以看出Game Shark(以下簡稱GS)格式根本看不出地址和修改値在哪裡,這種形式的碼就被稱爲暗號化形式;而Code Breaker(以下簡稱CB)格式根VBA格式很像,一下子就能看出地址和修改値在哪,這種就被稱爲復號化形式。其實GS碼包含的命令種類和CB碼是完全一樣的,不過在VBA中要使用GS碼的話非得將必須碼置頂(M Must Be On就是必須碼),當然要是必須碼上面有其它格式的碼存在也是允許的。不過筆者也不推薦使用GS碼,首先那暗號化的形式根本讓人看不出甚麼地址將修改成甚麼數値,最麻煩的就是那必須碼。由於GS官網公佈的幾乎都是美、歐版遊戲,日版遊戲的必須碼很難找到,

18、使得GS碼的使用率大打折扣,所以筆者推薦大家使用CB碼。因爲CB碼在VBA中沒有必須碼也能使用,而且它是復號化形式,除了第一個數字代碼不同的命令外,後面的地址和VBA格式完全一樣。接下去筆者將講解CB碼的各種命令。3XXXXXXX 00YY表示單字節修改並鎖定修改値,YY前面的00卽使改成其它數字也不作處理。舉例:02002839 33 (單字節修改)轉換成CB格式後就是32002839 00338XXXXXXX YYYY表示雙字節修改並鎖定修改値。舉例:02002838 5533 (雙字節修改)轉換成CB格式後就是82002838 5533 4XXXXXXX YYYYaaaannnn zzz

19、z表示從地址XXXXXXX開始,連續作nnnn行修改,每行地址間隔zzzz字節,每行修改値遞增aaaa,第一行地址修改的初始値爲YYYY。這個就是俗稱的壓縮碼,有了它短短的兩行碼就可以替代原本的數十行甚至數百行,使得代碼列表中那100行碼可以修改超過400個字節的上限。舉例:0202ab96 02010202ab98 04030202ab9a 06050202ab9c 0807轉換成CB格式後就是4202ab96 020102020004 0002因爲一共4行,所以nnnn取4h;每行地址間隔2h,所以zzzz取2h;每個修改値遞增202h,所以aaaa取0202h。再擧一例:03002320

20、 ff03002321 ff03002322 ff03002323 ff03002324 ff03002325 ff03002326 ff轉換成CB格式後就是43002320 FFFF00000006 0001先將第一行和第二行的修改値合併成一行,所以YYYY取FFFFh;一共有7行,由於開頭兩行合併了,所以nnnn取6h;地址間隔1h,所以zzzz取0001h;由於修改値全是一樣的,所以aaaa取0000h。那麼頂樓那個Castlvania的全圖鑒開啓碼就可以轉成如下格式:420133A0 FFFF00000007 0002420133B0 FFFF0000000C 0001420133C0

21、 FFFF00000007 0002原本12行的VBA碼就這樣被縮短了一半了,而且效果完全相同。另外要注意的是CB的壓縮碼衹能作雙字節修改。7XXXXXXX YYYY表示當XXXXXXX上的數値等於YYYY時,執行下一個命令。這個就是俗稱的條件碼,要配合其它的碼來使用才能發揮作用。比如72012002 01FE32012004 0001表示當02012002上的數値爲FEh且02012003上的數値爲01h時,把02012004上的數値修改成01h,否則跳過此命令繼續執行下條命令。注意我這裡說的是命令不是行,因爲壓縮碼雖然佔兩行,但也衹算一個命令,所以壓縮碼上面也衹需加一行條件碼卽可。這裡會有

22、人問到:條件碼有甚麼主要作用?其實條件碼主要是用來配合GBA的按鍵來使用的,就是當按下GBA的哪個單鍵或組合鍵時啓動相應的指令。那麼如何才能找到每個遊戲中代表按鍵的地址呢?先看看下面每個鍵位代表的數値:0001 A鍵0002 B鍵0004 選擇鍵0008 開始鍵0010 右鍵0020 左鍵0040 上鍵0080 下鍵0200 L鍵0100 R鍵有了這個鍵位代碼表就可以很輕易地找出每個遊戲的按鍵地址了。卽按住某個鍵不放開始搜索它的地址,Data Size選16 bits,然後換個按鍵繼續找,很快就能找到該地址了。比如美版的Final Fantasy & 中一代的按鍵地址就是02001df0。舉例

23、:72001DF0 010282002AB4 270F表示當按下R+B鍵時金錢就變成9999 Gil了。AXXXXXXX YYYY表示當XXXXXXX上的數値不等於YYYY時,執行下一個命令。這個和7開頭的條件碼作用正好相反,但其它細節都一樣,筆者就不多介紹了。EXXXXXXX YYYY表示在地址XXXXXXX上不停地增加或減少一定的數値,增減量由YYYY決定。這個就是俗稱的加減碼,可以對某個地址增加或減少自己定義的數値。當YYYY等於0001h7FFFh時表示增加;當YYYY等於8000hFFFFh時表示減少。還是以美版Final Fantasy & 中的一代舉例:A2002AB4 FFFF

24、E2002AB4 0001表示當金錢不是65535 Gil時就不停地增加直到等於65535 Gil爲止。那麼如何添加GS碼和CB碼呢?見下圖。點下面那個Gameshark按鈕就是添加GS碼,點CodeBreaker按鈕就是添加CB碼。點擊後分別會出現下面兩個對話框。Description那欄可以添加代碼註解,Code那欄添加代碼。注意GS碼必須要把必須碼置頂添加,那後面的碼才會生效;CB碼則不用添加必須碼。Game Shark碼轉Code Breaker碼雖然CB碼很好用,但CB官網那裡已經好久都沒更新新遊戲的碼了;相反GS官網卻更新得很勤快。那麼如何才能把GS碼轉成CB碼呢?答案是通過轉碼器

25、。此轉碼器的名字叫CBAcrypt(下載點見2樓),界面如下圖。把GS碼複製進左邊的框中且必須碼一定要置頂。由於GS碼是沒有空格的,所以要在每行的第8個字節後人工添加一個空格,然後再點Decrypt按鈕,右邊的框中就會出現轉換後的CB碼。具體效果就像上圖那樣。之前筆者說過CB的壓縮碼衹能作雙字節的連續修改,但要是需要作單字節的連續修改,並且地址不連續而是那種間隔性的時候怎麼辦呢?筆者在此推薦給大家另一款功能強勁的金手指。Action Replay這是與GS和CB齊名的另一種金手指(以下簡稱AR),在VBA中使用時同樣無需必須碼。廢話少說,先貼一段它的碼給大家看看。Have All Itemsb

26、4315888d5eab772c0ae59e97a0799aaae361d0ee67fb25d569fdb7ae807ff44b1e5d7a113cedbc149f752a0727c7b65 這就是從AR官網原封不動搬來的一段碼,作用是將美版Final Fantasy & 中一代的全部消費道具改出。可以看出它也是暗號化形式的,實際在VBA中輸入時也是輸入這種暗號化形式。那麼如何將它轉成復號化形式看它的作用呢?當然也是通過轉碼器,名字叫AR Crypt。(下載點見2樓)轉換方法稍後介紹,先介紹一下它的復號化形式中的各種命令。00XXXXXX nnnnnnYY表示從地址XXXXXX開始,連續作nn

27、nnnn+1行的單字節修改,修改値全都是YY。舉例:0200ac35 03轉成AR格式後就是0020AC35 00000003再擧一例:0200ac35 070200ac36 070200ac37 070200ac38 070200ac39 07轉成AR格式後就是0020AC35 00000407一共有5行,所以nnnnnn取5-1=4h;YY取07h。這裡要順帶解説一下AR復號化後的地址:開頭兩個數字是該行的命令符,後面的就是地址了。VBA格式地址轉AR格式地址的轉換表如下:VBA格式AR格式020xxxxxYY2XXXXX0300xxxxYY30XXXXPS:YY代表AR的命令符。02XX

28、XXXX nnnnYYYY表示從地址XXXXXX開始,連續作nnnn+1行的雙字節修改,修改値全都是YYYY。舉例:0203fffe 03e7轉成AR格式後就是0223FFFE 000003E7再擧一例:0203fffe 03e703000000 03e703000002 03e703000004 03e703000006 03e7轉成AR格式後就是0223FFFE 000403E7一共有5行,所以nnnn取5-1=4h;YYYY取03E7h。04XXXXXX YYYYYYYY表示四字節修改並鎖定修改値。舉例:03002ffc 05f5e0ff轉成AR格式後就是04302FFC 05F5E0F

29、F 00000000 80XXXXXX000000YY aannzzzz表示從地址XXXXXX開始,連續作nn行的單字節修改,每行地址間隔zzzz字節,每行修改値遞增aa,第一行地址修改的初始値爲YY。這就是筆者之前說的作單字節修改,且地址是連續間隔性的那種壓縮碼,也是GBA所有金手指中唯一可以作此修改的命令。舉例:02012a07 0202012a0a 0302012a0d 0402012a10 0502012a13 06轉成AR格式後就是00000000 80212A0700000002 01050003一共有5行,所以nn取5h;每行地址間隔3h,所以zzzz取0003h;每個修改値遞增

30、1h,所以aa取01h。00000000 82XXXXXX0000YYYY aannzzzz表示從地址XXXXXX開始,連續作nn行的雙字節修改,每行地址間隔zzzz乘以2字節,每行修改値遞增aa,第一行地址修改的初始値爲YYYY。舉例:02003a00 100302003a04 100502003a08 100702003a0c 1009轉成AR格式後就是00000000 82203A0000001003 02040002一共有4行,所以nn取4h;每行地址間隔4h,所以zzzz取42=2h;每個修改値遞增2h,所以aa取02h。00000000 84XXXXXXYYYYYYYY aannzzzz表示從地址

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1