模擬器基地址還是要有
但不一定需要在應用窗口中設置好
打開MECC直接選擇模擬器進程
不要從應用清單中選擇模擬器
不要在內存編輯器中載入任何內存區塊
基本就可以適用這個用法
直接打開遊戲代碼的窗口並新增一個代碼
代碼名稱任意, 以mGBA 0.9.1 win32為例
在代碼文本框中輸入以下
4@(4@(4@(4@(4@26E60E4+18)+3C)+4)+14)
這行代表GBA的02000000基地址
4@(4@(4@(4@(4@26E60E4+18)+3C)+4)+18)
這行代表GBA的03000000基地址
假設要修改機戰A的資金
@(4@(4@(4@(4@(4@26E60E4+18)+3C)+4)+14))=0098967F
這樣就可以了
假設要修改機戰A無限行動(敵我有效)
@(4@(4@(4@(4@(4@26E60E4+18)+3C)+4)+14)+58FB)=02;COUNT=3C;ADDRUP=48;
偏移+58FB在GBA地址是020058FB
假設要修改地址03001234的數值
@(4@(4@(4@(4@(4@26E60E4+18)+3C)+4)+18)+1234)=VALUE
如果覺得每串代碼變得太臭太長的話
可以使用全局變數$0~$9
同一個遊戲代碼的代碼清單中的代碼都能使用的變數
就像
$0=4@(4@(4@(4@(4@26E60E4+18)+3C)+4)+14)
$1=4@(4@(4@(4@(4@26E60E4+18)+3C)+4)+18)
這樣
然後代碼的部分就可以
@($0+58FB)=02;COUNT=3C;ADDRUP=48;
@($1+1234)=VALUE
這樣修改的一個好處是每個基地址的起始位址都是0而無需另外計算
個人覺得算是挺方便的吧...
不過有個壞處, 模塊起始地址會變動的模擬器無法適用本用法