EMU618社区

 找回密码
 立即注册
搜索
查看: 1497|回复: 7

[原创FC/FDS-HACK] [重发]双截龙3日版扩容+按键HACK

[复制链接]

签到天数: 2029 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:20:46 | 显示全部楼层 |阅读模式
原帖丢失了,重发一份。; a$ D8 k% i+ A2 E
6 q3 [( I( s) i, v8 Q: r
修改内容:
6 i& a& o8 U, e# r3 X1.P ROM由128KB扩容到256KB
5 m% Z% I: ~% z2.按START+B武器数量为99$ l" y6 l6 L4 ^8 m6 U- O! a
3.按START+A补血! I5 i& K' b# L5 C$ ?

8 B8 ]: R. P$ W- [) h这个HACK ROM本来以前答应某人做个例子给参考一下,因工作忙以及以前用的切BANK方法不完善的关系所以没放出来
! p( p. f) f* N) x$ l9 X! O$ p9 P/ y/ D+ Y3 [
从原单位滚蛋后就有时间来弄一下
# H1 i2 C$ N2 B0 n* \# r3 j1 Y- r" q0 @4 Z; c" h4 ^5 D
关于如何扩容:在文件头后面或驻留体前面添加一大量0xFF或0x00,有可能或在程式中间添加,在哪里视游戏而定吧,有何规律我也不清楚2 C+ ?2 Q+ J  i
0 A  {, P9 j) i& [4 ?$ d4 J
关于如何切BANK:请看相关mapper资料吧
1 M6 O0 v4 ~( `# W( |
8 C& T8 r8 B- n9 o# ?说说我双截龙3 MPPPER 04如何切BANK:

  1. , p' K0 q: |& d" A4 p. l, P6 ^
  2. $xxxx
    + X6 W3 u. u1 H2 Y7 i8 R( z; W
  3. LDA #$07
    $ J: y" x0 B9 [" U' r
  4. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF, _2 h3 M; a7 O8 B9 z" ^
  5. LDA #$0E; K$ K7 `2 _0 s6 F* k( g
  6. STA $8001 ;把0x0E写入8001端口,把ROM的$1C010-$1E00F地址内容写入内存地址$A000-$BFFF# Z- E6 X4 M) c5 K
  7. JMP $A000 ;跳转到$A000执行& r- b' t: _% r7 N5 V! y7 N
  8. + ?7 G/ q. B& N) O8 v
  9. $A000:
    . x/ F/ k7 I  H; D- M- F  a
  10. ./ S/ n5 [" [- m
  11. .5 H" y8 Y; i6 `+ `% Z) v0 O9 U
  12. .2 k; g) K' v9 z. Y: A  o3 ^$ w
  13. .  [' s; Y7 x; T& r3 G& u! H
  14. JMP $xxxx ;执行完自写的程式后跳回去0 P0 B+ x% n# V5 B# P, U5 R
  15. 9 H1 Q$ V  n" M, N' F% ?
  16. $xxxx:
    . r6 j. W1 A, [% f) M& Z
  17. LDA #$07
    6 _9 U( W% }) m0 R9 i! n7 y
  18. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    $ M( J% a; f6 r& f) c
  19. LDA #$0D7 u- t5 D: Z& O9 j1 B
  20. STA $8001 ;把0x0D写入8001端口,把ROM的$1A010-$1C00F地址内容写回内存地址$A000-$BFFF3 o0 U# c! m' l( K0 W! [3 G

  21. 3 z: f+ M  j) ^
  22. 切BANK前建议做压栈操作保护寄存器数据,当切换完BANK后出栈还原寄存器数据,这只是建议
    6 b5 r7 g' i$ [3 G/ F  x
  23. ' c8 i, _! g) H/ B6 H2 e
复制代码
关于什么时候切BANK:用NMI中断来切BANK吧(在NMI中断程式中插入切换BANK程式)
/ y' f% O  _$ v' H% p! o* l) x$ U" \: R$ v2 H& B
附:ROM 16KB BANK编号
4 D" F6 |3 |; W: x
( k' T( M- p3 L# B1 k" i% e( uROMf地址      BANK编号, P. L; I& Q9 f: p: I) I7 m
00010-0200F  0
* Q2 \  k. J+ `! k02010-0400F  17 I- Z' D7 ?0 x! L
04010-0600F  2
+ D7 H) |4 `& c' t& j06010-0800F  3/ x& {; L1 H1 [* {2 o
08010-0A00F  4
# i6 N) x. o4 k% w, {0 {, E0A010-0C00F  5( D) R2 U" t# H% T8 s0 D
0C010-0E00F  6
) G; @! E7 i4 O0E010-1000F  7: u8 _0 f, E- w  v
10010-1200F  8
5 K5 _7 u* Y7 q& d) S& X! m12010-1400F  9! _) @" A  X6 h3 A9 x
14010-1600F  A
  M9 @& D0 w% h4 Z, f, [16010-1800F  B
7 P9 V/ y; `% J' ^- ?1 A9 B7 B18010-1A00F  C9 B- c& T- G: ^" H% M. v
1A010-1C00F  D* U3 {: Y% L/ d) g" q( ~; B
1C010-1E00F  E
. b. b' J" l1 S- i1E010-2000F  F5 @2 w% Z5 U5 }. ~$ M0 o
./ o6 f2 [0 M& F4 X
.& k4 \7 t* F' O) c
.3 a- V: c2 K3 U: p) M  g% t

; f; x( i. I" j/ c$ m8 b解释一下我为什么把P ROM 128KB扩容到256KB,不扩容到144KB?$ `8 {2 U" F& w$ U2 K# F2 w; z

6 U( g6 a* r9 j. q4 u4 C9 j因为扩到144KB的话有的模拟器是不认,无法运行
+ [( I* O& z" C+ {  b* H: c0 k& y$ @5 X4 W# Z$ ~% `3 D0 G
为了全FC模拟器能兼容,所以只好扩容到256KB
1 r8 ~% w) V0 \5 R
$ M/ Q- N9 C0 W- X9 v. d8 h; Q补充:扩容后记得修改ROM文件头P ROM 16KB数目(地址:0x4),不然有可能引致载入ROM失败或死机8 M+ ]; g! o& H. H, e1 |$ C0 Z- I

" [, U' r, ?9 N% f% O

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
[发帖际遇]: 疾风之狼 在网吧通宵,花了 1 个 柠檬. 幸运榜 / 衰神榜

签到天数: 434 天

[LV.9]以坛为家II

发表于 2013-10-24 19:23:39 | 显示全部楼层
{:4_98:}沙发支持,顺便下载!
[发帖际遇]: 283167657 打扫环境卫生,被奖励 2 个 柠檬. 幸运榜 / 衰神榜

签到天数: 3001 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:29:43 | 显示全部楼层
这个。。。只能膜拜了。
[发帖际遇]: 天迹云间踩坏了花花草草,被罚款4 个 柠檬. 幸运榜 / 衰神榜

签到天数: 594 天

[LV.9]以坛为家II

发表于 2013-10-24 19:36:57 | 显示全部楼层
支持了 如果能把圣火徽章外传日版扩容就可以中文汉化了吧 这是大功一件哦 先谢谢了

签到天数: 881 天

[LV.10]以坛为家III

发表于 2013-10-24 23:17:03 | 显示全部楼层
圣火徽章外传……唉,外星汉化那个玩起来看得蛋好疼

签到天数: 1418 天

[LV.10]以坛为家III

发表于 2013-10-24 23:32:44 | 显示全部楼层
话说这个我一直都没搞懂{:4_106:}

签到天数: 216 天

[LV.7]常住居民III

发表于 2013-10-28 00:20:58 | 显示全部楼层
感谢up分享

签到天数: 1296 天

[LV.10]以坛为家III

发表于 2013-10-28 16:31:04 | 显示全部楼层
谢谢楼主的分享,支持一下!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2025-8-4 18:37 , Processed in 1.120117 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表