疾风之狼 发表于 2013-10-24 19:20:46

[重发]双截龙3日版扩容+按键HACK

原帖丢失了,重发一份。

修改内容:
1.P ROM由128KB扩容到256KB
2.按START+B武器数量为99
3.按START+A补血

这个HACK ROM本来以前答应某人做个例子给参考一下,因工作忙以及以前用的切BANK方法不完善的关系所以没放出来

从原单位滚蛋后就有时间来弄一下

关于如何扩容:在文件头后面或驻留体前面添加一大量0xFF或0x00,有可能或在程式中间添加,在哪里视游戏而定吧,有何规律我也不清楚

关于如何切BANK:请看相关mapper资料吧

说说我双截龙3 MPPPER 04如何切BANK:
$xxxx
LDA #$07
STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
LDA #$0E
STA $8001 ;把0x0E写入8001端口,把ROM的$1C010-$1E00F地址内容写入内存地址$A000-$BFFF
JMP $A000 ;跳转到$A000执行

$A000:
.
.
.
.
JMP $xxxx ;执行完自写的程式后跳回去

$xxxx:
LDA #$07
STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
LDA #$0D
STA $8001 ;把0x0D写入8001端口,把ROM的$1A010-$1C00F地址内容写回内存地址$A000-$BFFF

切BANK前建议做压栈操作保护寄存器数据,当切换完BANK后出栈还原寄存器数据,这只是建议

关于什么时候切BANK:用NMI中断来切BANK吧(在NMI中断程式中插入切换BANK程式)

附:ROM 16KB BANK编号

ROMf地址      BANK编号
00010-0200F0
02010-0400F1
04010-0600F2
06010-0800F3
08010-0A00F4
0A010-0C00F5
0C010-0E00F6
0E010-1000F7
10010-1200F8
12010-1400F9
14010-1600FA
16010-1800FB
18010-1A00FC
1A010-1C00FD
1C010-1E00FE
1E010-2000FF
.
.
.

解释一下我为什么把P ROM 128KB扩容到256KB,不扩容到144KB?

因为扩到144KB的话有的模拟器是不认,无法运行

为了全FC模拟器能兼容,所以只好扩容到256KB

补充:扩容后记得修改ROM文件头P ROM 16KB数目(地址:0x4),不然有可能引致载入ROM失败或死机

283167657 发表于 2013-10-24 19:23:39

{:4_98:}沙发支持,顺便下载!

天迹云间 发表于 2013-10-24 19:29:43

这个。。。只能膜拜了。

FE雅木 发表于 2013-10-24 19:36:57

支持了 如果能把圣火徽章外传日版扩容就可以中文汉化了吧 这是大功一件哦 先谢谢了

mzchjian 发表于 2013-10-24 23:17:03

圣火徽章外传……唉,外星汉化那个玩起来看得蛋好疼

文子萝卜 发表于 2013-10-24 23:32:44

话说这个我一直都没搞懂{:4_106:}

判官 发表于 2013-10-28 00:20:58

感谢up分享

qqture2005 发表于 2013-10-28 16:31:04

谢谢楼主的分享,支持一下!
页: [1]
查看完整版本: [重发]双截龙3日版扩容+按键HACK