雖然以前我就講過GB和GBC的基地址有些許不同
不過我沒想到以前找的基地址居然只能用來參考
實際上WRAM和HRAM都使用了同一個基地址+偏移
SRAM和ROM則有另外的基地址
而GBC的地址Dxxx則是有另一個基地址
只在遊戲以GBC模式運行時才使用
因此實際上VBA的GB和GBC基地址
以MECC格式表示方式如下: (以VBAM 2.1.4的32位版而言)
地址設置(GB, SGB)
@(BASE+3214974)+C000,1000,C000
@(BASE+3214974)+D000,1000,1D000
REPEAT 4
@(BASE+321497C)+2000R,2000,A000+10000R
REPEAT
@(BASE+3214974)+FF80,80,FF80
@(BASE+3214988),4000,0
REPEAT 255
@(BASE+3214988)+4000+4000R,4000,14000+10000R
地址設置(GBC)
@(BASE+3214974)+C000,1000,C000
REPEAT 7
@(BASE+329AFE4)+1000+1000R,1000,1D000+10000R
REPEAT 16
@(BASE+321497C)+2000R,2000,A000+10000R
REPEAT
@(BASE+3214974)+FF80,80,FF80
@(BASE+3214988),4000,0
REPEAT 511
@(BASE+3214988)+4000+4000R,4000,14000+10000R
各位看出來了嗎?
GB, SGB模式下
地址Dxxx使用和WARM, HRAM相同的基地址(@(BASE+3214974))
但GBC模式下
地址Dxxx使用了另外的基地址(@(BASE+329AFE4))
所以實際上GB和GBC的基地址
對於VBA系模擬器而言是不能共用的
不然就是得改用其他模擬器
其他模擬器貌似就可以共用GB和GBC的基地址