當前位置:編程學習大全網 - 編程語言 - PSP GBA模擬器金手指怎麽用

PSP GBA模擬器金手指怎麽用

PSP上的GBA模擬器GPSP是能夠使用金手指的,這點毫無疑問,可惜只支持GS碼,需要用到的軟件是gpSP cheat creator。

簡單來說方法就是這樣

新建壹個文本文檔

輸入

[作弊說明](如HP max)

作弊碼

[作弊說明]

作弊碼

等等

註意作弊碼要GS格式(gameshark)

然後保存

修改文檔名

要和GBA文件名壹樣,後綴名改為cht

放到ggbsp模擬器裏cht文件夾裏

玩遊戲時按三角選讀取作弊文件讀取那個cht文件,再激活就OK了

大概就是這樣,詳細的去BAIDU搜搜看吧

下面我以<機戰J>為例,介紹以下如何在PSP上修改GBA遊戲的具體步驟:

1.首先隨便找個gba的cht文件(附件裏的001)

2.把下列代碼寫入並保存為名字是002的cht文件(可先保存再改文件名)

gameshark_v3 991

5A347CA8 6D6CE7DB

gameshark_v3 992

2A25150B C28EAA9E

註:991為99個移動力+1的道具,992為99個格鬥能力+5的道具

3.使用gpSP cheat creator 打開(file-Open)002.cht,並保存為GPSP用的cht(附件的jzj.cht)

4.在psp上打開機戰j這個遊戲,打開作弊文件,本文打開的是jzj.cht。在次進入作弊界面,把[991,992設為ON(中文版為舊)。

好了,現在991和992兩種道具可以無限賣掉了,這樣就不愁錢花了,簡單吧。

————————————————————————————————————————-

GS碼掃盲:

1.GS就是gameshark,格式AAAAAAAA BBBBBBBB,

2.GS碼有有V1和V3這2種版本

gameshark_v1PS

gameshark_v3,

PAR_v1

PAR_v3

這幾種,他們之間並不兼容,使用時要註明

如果妳不知道妳得到的金手指是哪個版本,請都試試看

3.GPSP支持Gameshark / Pro Action Replay(PAR) 的金手指碼

4.完成1個代碼後,按回車,再按1次回車後可繼續輸入另1個代碼,全部完成後保存至記憶棒

下面為1個例子

gameshark_v3 MarioInfHP

995fa0d9 0c6720d2,

gameshark_v3 MarioMaxHPP

21d58888 c5d0e432

gameshark_v3 InfHlthBat+}

6f4feadb 0581b00e

79af5dc6 5ce0d2b1PS3,Wii,Xbox360,PS2,Xbox,GC,PSP,NDS.GBA,EMU,ROM,MAME,Arcade,Game,漢化遊戲,漢化模擬器6L#n3Q5M6V0W2v.`

dbbd5995 44b801c9

65f8924d 2fbcd3c4bb

gameshark_v3 StopTimer

2b399ca4 ec81f0711.

壹、金手指類型介紹:

VBA的金手指有3種類型:RAW Code、CodeBreaker Code、GameShark Code。它們分別是:隨機存儲器寫入代碼,譯碼代碼,編碼代碼(該翻譯根據其原理命名,準確名字不祥)。為方便,下文中將分別簡稱為:RAW、CB、GS。

RAW是我們最常見的類型,壹般的金手指都以這種方式出現。如:綠寶石中文版中的快速升級——02023E94:2710,這就是RAW碼。它是最簡單的內存寫入方式,無論是搜索還是編輯修改都十分方便。當然,它不是完美的。也正因為它有很多限制,所以才出現了CB和GS。

CB和RAW很像,但出現的概率比GS還小。現在見到的只有綠寶石英文版裏的壹些,如:容易捕捉野生怪獸——C2711CBA 6F6B,72EA7742 0E4D。仔細看看不難發現,它是用空格分離的(RAW用“:”),而且使用了2個代碼,這將在下面進行說明。

GS也是比較常見的代碼,在《口袋妖怪》裏幾乎各版都有,最著名的就是穿墻了:DC507600B95091F6(綠寶石中文),C518E2595ADBAF5B(綠寶石英文)。它的特點是——16位的16進制數,沒有任何分割符。它的功能也很強大,大家應該在無拘無束地馳騁於地圖上時體會到了吧。

二、金手指的組成及原理:

在介紹組成前,先說明壹下GBA內存的分配方式:

GBA(VBA的模擬是壹樣的)采用32位地址,內存地址從00000000到8FFFFFFF,其中被我們修改遊戲用到的為:WRAM——02000000~02FFFFFF,IRAM——03000000~03FFFFFF,ROM——08000000~08FFFFFF,即2個隨機存儲區和1個只讀存儲區。

1、RAW

代碼舉例:

020287E8:FE,02023E94:2710,02027DD8:04030201

解釋:

這是最簡單的代碼,由地址和數值構成。地址和數據間使用“:”(註意:是英文的冒號)分隔。其作用是將數據寫入所給的地址裏,鎖定後,該地址裏的數據將不再變化。其作用範圍為隨機存儲區,即02000000~03FFFFFF壹段。代碼形式為:0xxxxxxx:yy,或0xxxxxxx:yyyy,0xxxxxxx:yyyyyyyy。“:”前面是地址,後面是要寫入的數據。地址以“02”或“03”開頭是其最主要的標誌。支持8位、16位、32位數據的寫入(就是上面的3種形式)。各種形式之間可以互相轉換。如:02027DD8:04030201,這是32位數據的寫入,由於1個地址只能放壹個8位數據,所以實際上,系統是將數據“04030201”放到了以02027DD8開始的4個地址裏,所以轉成8位數據的寫入就是:02027DD8:01,02027DD9:02,02027DDA:03,以及02027DDB:04(註意,高位的數據在高位地址),換成16位寫入也是壹樣,註意地址的位置就可以了:02027DD8:0201,02027DDA:0403。

2、CodeBreaker

代碼舉例:

非加密:82031CF0 0003,加密:C2711CBA 6F6B,72EA7742 0E4D

解釋:

這種代碼也是由地址和數據組成,不同的是,CB碼使用空格做分隔符,通過翻譯識別遊戲運行時的指令代碼控制所要修改的地址數據的變化,所以針對不同的遊戲,CB碼有加密的CB碼和非加密CB碼之分。加密的CB碼通常會有壹個所謂的“開機碼”(註意:和硬件的金手指開機碼不是壹個東西),用來識別遊戲的代碼格式及是否有加密信息。如:綠寶石英文版中的CB碼的開機碼就是:9266FA6C 97BD,905B5ED3 5F81,B76A68E5 FAB1,其中的第1個:9266FA6C 97BD就是加密密鑰。而非加密的CB碼不需要開機碼,如火葉中的地點轉移CB碼:82031CF0 xxxx就不需要開機碼的支持。而且CB碼的代碼順序是有嚴格規定,不能隨便交換順序。如開機碼必須放第壹位。又如:CB碼往往帶有判斷代碼。仍以剛才提到的容易捕捉野生怪獸——C2711CBA 6F6B,72EA7742 0E4D舉例,還原回非加密CB碼為:72024214 BD79,82024214 BD90,其中7xxxxxxx yyyy表示當地址0xxxxxxx的數值為yyyy時,下壹條代碼生效,8xxxxxxx zzzz就是將16位數據zzzz寫入地址0xxxxxxx。所以這條代碼的意思就是:當02024214的值為BD79時,才將02024214的值轉為BD90。所以也不可以交換。這和RAW、GS完全不同,它們是可以隨便交換位置的。這就決定了CB碼的修改比較麻煩。對於帶條件的鎖定,因為當該地址沒有出現所需要的值時(這裏是BD79),是不會處於鎖定狀態的。這樣就可以解決使用RAW時,因為錯誤鎖定而容易造成死機的問題。CB代碼的作用範圍覆蓋全內存單元,但是因為開機碼需要專門的程序獲得,加密的代碼也要對原CB碼進行相關變換,十分繁瑣,加上CB在32位輸入時,還要進行壹些處理,降低了可讀性,所以限制了它的廣泛使用,不能不說是壹種損失。

3、GameShark

代碼舉例:

DC507600B95091F6,C518E2595ADBAF5B

解釋:

GS是非常特殊的代碼,使用32位的代碼形式,代碼內沒有分隔符。雖然作用也是覆蓋全內存,但其使用上比CB方便。因為RAW已經基本上解決了隨機存儲區的修改問題,所以GS通常是解決只讀區的修改的。如穿墻金手指:DC507600B95091F6(綠寶石中文),C518E2595ADBAF5B(綠寶石英文),它們實際上是:08087B70:2100(中文),0808820C:2100(英文),但是因為RAW無法寫入只讀區,所以使用GS解決。因為只讀區基本上就是rom的代碼段,所以GS通常稱為“編碼代碼”。那麽GS的原理是什麽呢?我們以中文版為例,看看08087B70到底存了什麽。查看遊戲的代碼發現,原先的指令為and r1,r0,就是進行r1和r2的“與”運算。修改後變成mov r1,0#0,就是將“0”放入r1裏。二者的區別就是後者可以使標誌寄存器的零標誌置“1”,從而達到使遊戲始終判斷“沒有碰墻”的目的。GS雖然不用“開機碼”,而且對8位、16位、32位數據的寫入都支持,但是沒有有效的搜索方法,即使找到了對應的地址,轉換為機器可識別的32位代碼也是個問題,所以使用上也收到了限制。

從上面的介紹中大家應該發現了:RAW無論使搜索還是編輯都是最方便的,但是局限性很大,特殊的修改不易實現,甚至無法修改。在敏感數據的修改上有很大的問題,常常是死機的罪魁禍首。CB修改很靈活,覆蓋範圍廣,而且具有判斷機能,適合敏感數據的修改。但開機碼的獲得和代碼轉換上困難比較大,長數據的輸入麻煩,代碼順序嚴格,規則太多。GS兼有RAW的易用性和CB的通用性,但搜索和轉換也是它的最大缺點。總之,3種金手指代碼各有利弊,在不同的場合使用適當的代碼形式就可以揚長避短,達到很好的效果。

三、金手指的添加與刪除:

各種金手指在VBA裏的輸入有壹些區別,由於高版本的VBA帶有對金手指類型的自動識別功能,所以即使輸入錯誤,有的仍然可以生效。但這並不意味著我們可以隨便輸入,因為機器的判斷往往和我們希望的有區別,所以良好的習慣還是要培養的。下面我們就說說如何輸入和刪除金手指。

1、RAW

大家應該經常使用這種格式的金手指了,對它的輸入不會陌生。打開修改—>修改代碼列表,在彈出的窗口裏(如圖所示),“代碼”和“修改”就是輸入RAW碼的地方(圖中的A、B)。不同的是:前者是批量輸入,後者是單個輸入,具體方法在初級教程裏已有,就不再說了。

至於刪除,對於RAW碼來講,只要把代碼前面的勾去掉就可以了,當然,也可以選中後,按“移除”。2個做法都不會留下任何信息在內存裏,所以不會有任何問題。

2、CodeBreaker

CB碼正確的輸入位置應該是“修改譯碼”(圖中的D)。許多人分不清CB和GS,往往寫到“金手指”裏,雖然在後期的模擬器裏可以識別,但早期的模擬器不支持這種輸入,會視為非法的輸入。和“代碼”的使用類似,按下“修改譯碼”後,將CB碼填入彈出的窗口,確定即可。這裏要註意:使用CB碼時,如果有開機碼,必須將開機碼首先寫入;在填寫CB碼時,註意代碼的先後順序,絕對不能改變位置,否則後果就嚴重了。

刪除和RAW壹樣,去掉勾或移除都可以。如果想同時解除多組CB碼,直接解除開機碼的鎖定壹樣可以。這樣以後恢復起來也容易。

3、GameShark

“金手指”(圖中的C)就是為GS碼準備的。也和“代碼”的輸入類似,只是不像CB這麽嚴格,把需要的寫進去,確定就可以了。

GS的刪除就比較麻煩了。因為GS通常是改只讀區的,所以那裏的數據不會像隨機存儲區壹樣隨遊戲進行而復原,所以單純的去掉勾或移除有時不會起作用。要徹底移除GS碼,首先刪除代碼,之後使用遊戲自身的SAV存檔儲存遊戲進度,重新載入遊戲(註意:不是重啟,要重新讀取遊戲),讀取SAV進度後,GS代碼的修改就解除了。

四、各種金手指間的轉換:

因為CB碼和GS碼的特殊性,手動計算代碼非常困難,所以轉換時,使用2個工具進行輔助——AR Crypt和CBAcrypt,前者是轉換GS碼的,後者是轉換加密CB碼的。。界面上2者有相似的地方,就是左邊是輸入框,右邊是輸出框。區別就是AR Crypt的功能鍵稍微多壹些,下面就分別介紹它們的使用方法。

1、RAW與GameShark的轉換

在AR Crypt下拉菜單“Creat…”裏,將類型設置為“AR V1/2”,然後上方下拉菜單處,置為“type 6”。下方單選框是設置轉換類型的。左邊“From”是原代碼類型,右邊“To”是目標類型。壹般我們只用到“RAW”和“AR V.1/V.2”。

RAW→GS:

對於“02”,“03”開頭的RAW碼,我們壹般不需要使用GS碼,但還是可以轉換的。將代碼填入左邊的輸入框。註意:對於8位數據的代碼,如:020287E8:FE(綠寶石中文,快速生蛋),應該填入020287E8:000000FE,因為AR Crypt默認的格式必須是xxxxxxxx:yyyyyyyy的。而對於16位數據的代碼,如:02023E94:2710(綠寶石中文,快速升級),應該填入12023E94:00002710,看清楚,首位的“0”要寫成“1”,這是轉換位數的識別代碼,不要寫錯。至於32位數據的代碼,如:02027dd8:04030201(綠寶石中文,全家具的第壹個),應該填入22027DD8:04030201,也就是首位的“0”變成“2”。填寫好後,將“From”設置為:RAW,“To”設置為:AR V.1/V.2,直接按下中間的“Proceed”,右邊就會出現轉換好的GS碼了。(由於設置的原因,轉換好的GS碼可能中間帶有空格,使用時請將空格去掉)。

對於“08”開頭的代碼,方法有壹點不同。如:08087B70:2100(綠寶石中文,穿墻),只需補齊為32位的:08087B70:00002100,之後就可以填入左邊了。註意:不要改變首字符,還保持原樣。之後不做任何設定,直接按下中間的“Creat”按鈕。這時會在下方生成壹個“64”開頭的代碼,暫時不理會它。而右邊出現的代碼就是我們需要的GS碼了。使用時仍然要去掉所帶的空格。

GS→RAW:

這個其實就是上面的逆過程,但因為事先不知道代碼是位於隨機存儲區還是只讀區,所以先采用同樣的轉換方法,之後再加以區別。

首先將32位的GS碼代碼寫入左邊的輸入框,“From”選AR V.1/V.2,“To”選RAW,按下“Proceed”,看到右邊出來結果了。下面就要看結果進行處理了:

如果結果前8位數是“02”、“12”、“22”開頭的,那麽只要全部變為“02”就可以了(想想RAW轉GS時我們做的變化,實際是壹回事)。而後邊的8位數就是數值,去掉前面多余的“0”就可以了。

如果結果前8位數是“64”開頭,那麽就要將“6”去掉,將剩下的7位數轉二進制,左移1位(即末尾補“0”),轉回十六進制就是地址了。數值就是後8位數,去掉多余的“0”就可以了。為方便說明,我們就來實踐壹下:將穿墻金手指——DC507600B95091F6輸入左邊,轉換後得到:64043DB8 00002100,前8位數去掉開頭的“6”得到:4043DB8,轉二進制得到:100000001000011110110111000,左移1位得到:1000000010000111101101110000,轉回十六進制得到:8087B70,所以RAW碼就是:08087B70:2100。大家是不是都轉換對了?

2、RAW與CB的轉換

RAW→CB:

RAW轉非加密CB碼比較簡單,只要註意數值的位數就可以了。8位的數據就將RAW碼的首位“0”變成“3”,16位數值就將首位的“0”變成“8”。之後地址和數值之間的“:”變成空格就可以了。如:02023E94:2710→82023E94 2710,020287E8:FE→320287E8 FE。如果想寫帶判斷的CB碼,判斷的條件地址,首位“0”變成“7”就是條件地址的數值等於條件數值時時執行下壹代碼;將首位“0”變成“A”就是條件地址的數值不等於條件數值時執行下壹代碼。

對於要使用加密的CB碼的遊戲,先將密鑰寫入CBAcrypt的左邊,然後在密鑰下寫入轉換好的非加密CB碼,按下“Encrypt”,左邊就會出現加密的CB碼了。

CB→RAW:

這個也是上面的逆過程。對於CB碼是否加密很容易判斷,只要代碼使用時,必須加上第1行以“9”開頭的開機碼,那就是加密的CB碼。轉換前需要用CBAcrypt先進行解密。解密時也是先填入密鑰(就是那個“9”開頭的代碼),然後填入待解密的CB碼,按下“Decrypt”,右邊出現的就是解密的CB碼。

對於非加密的CB碼以及解密完後的CB碼,將首位變回“0”就是RAW碼了。如果是帶判斷的CB碼,轉回RAW碼後將無法使用判斷功能,所以原來“7”和“A”開頭的代碼就可以不要了。

3、CB與GS的轉換

沒有簡便的方法,使用RAW做為中間媒介進行轉換吧。

為方便大家學習,下面提供壹些代碼互相轉換的結果,大家在實踐中慢慢學習體會吧,希望能對大家有所幫助:(加密的CB密鑰為9266FA6C 97BD)

RAW CB GS

0202076E:0002 D2201D23 7C06 43886F04BF29716A

0202433A:0001 DD3B48F5 DE3F 6D78CDEC1518218F

02023CB0:2710 82023CB0 2710 92472A55471E7A26

080586EE:2100 880586EE 2100 D4603F5DFDF00F02

0806776A: 6F01 8806776A: 6F01 C7EB8672FF85CA2B

  • 上一篇:北大青鳥設計培訓:初中生去北大青鳥學編程如何?
  • 下一篇:人體實驗的相關案例
  • copyright 2024編程學習大全網