1:地图读取程序
889268 AD 6A 0D LDA $0D6A [800D6A] = $000B ;章节读取(0B就是终章)
88926B 0A ASL ;章节数X2
88926C 18 CLC
88926D 6D 6A 0D ADC $0D6A [800D6A] = $000B ;章节数+1
889270 AA TAX ;A=X
889271 BF C4 9F 88 LDA $889FC4,X [889FE5] = $88A1 ;读取rom地图地址
889275 85 28 STA $28 [000028] = $80F4 ;保存到28
889277 BF C3 9F 88 LDA $889FC3,X [889FE4] = $A110 ;读取rom地图地址
88927B 85 27 STA $27 [000027] = $A13B ;保存到27
88927D A0 00 00 LDY #$0000 ;Y=0
889280 B7 27 LDA [$27],Y [88A110] = $7649 ;读取[$27]地址=88A110
889282 85 65 STA $65 [000065] = $75B4 ;保存到65
889284 A0 01 00 LDY #$0001 ; Y=1
889287 B7 27 LDA [$27],Y [88A111] = $C976 ;读取[$27]的地址=88A111
889289 85 66 STA $66 [000066] = $CB76 ;保存到66
88928B A9 00 7F LDA #$7F00 ;读取7F 00
88928E 85 6B STA $6B [00006B] = $7EA3 ;保存到$6B
889290 A9 00 24 LDA #$2400 ;读取24 00
889293 85 6A STA $6A [00006A] = $0088 ;保存到$6A
889295 22 FB A3 95 JSL $95A3FB ;这是地图解压缩的程序不用管了,后面的程序都是地图解压缩相关
就不贴出来了,不用管。
------------------------------------------------------------------------------------
黑色的程序不用理他,一些存取地址的程序而已
蓝色字体就是读取游戏的地图地址从889FC3开始每章3个字节换算为SNES地址就是8A1C3
打开ROM地址8A1C3如图,序章为E7 9F 88高低位互换 88 9F E7 换算为SNES地址就是8A1E7

(8A1E7-8A121一共27个字节的内容,这就是序章的地图地址,其实是包括了调色板,地图文件地址,可视地图范围以及能否移动
等等东西在一起的,其实只用修改8A1E7:2F 14 C8 就是控制地图文件地址,后面的字节是调色板,以及地图大小控制方面的,不用管)
可以看到最终章是10 A1 88 后面的就是其他的东西了,需要移植到其他地方去
89471:BF C4 9F 88→BF F1 94 82 ;可以自己找个空白位置。
89477: BF C3 9F 88→BF F0 94 82
8950E:BF C4 9F 88→BF F1 94 82
89514:BF C3 9F 88→BF F0 94 82
将8A1C3-8A1E6的内容复制到296F0然后就有空位新增地图了