EMU618社区

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

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

[复制链接]

签到天数: 1806 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:20:46 | 显示全部楼层 |阅读模式
原帖丢失了,重发一份。
# L' S: t' O9 O7 `
& Z& p4 ]  A3 s% t3 o修改内容:: @7 V/ ~" q" H% Q
1.P ROM由128KB扩容到256KB
3 L( x! A" n$ b# r: g3 B/ F2.按START+B武器数量为99' {. h! h' _! ?8 u0 S
3.按START+A补血6 A& \) ~( ~: ~& ?" I4 d, \

* W2 u( O. ?8 S$ k/ p这个HACK ROM本来以前答应某人做个例子给参考一下,因工作忙以及以前用的切BANK方法不完善的关系所以没放出来( {9 W4 n0 w0 V! u$ u' t
; j: F3 A7 L- g4 W9 ]
从原单位滚蛋后就有时间来弄一下
  |4 E: X$ q1 r  V
* w% \- J( N; X关于如何扩容:在文件头后面或驻留体前面添加一大量0xFF或0x00,有可能或在程式中间添加,在哪里视游戏而定吧,有何规律我也不清楚
. n1 N+ I: w+ b6 N& u0 A$ g
) S& N  B) a, l" Q, L0 t7 @关于如何切BANK:请看相关mapper资料吧
7 D7 X: d  Z+ J9 v: i# E; |% q
$ s- ?: C: E' G说说我双截龙3 MPPPER 04如何切BANK:

  1.   ]4 H5 [+ l% F& u% u6 u
  2. $xxxx. N. w! M' j1 q( l2 A
  3. LDA #$07+ B7 k- B1 Z, r
  4. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF  C% {0 o! `5 Q+ n& w$ c- Q% f) g! J
  5. LDA #$0E) n1 ^& \) `6 w$ _/ ~1 D9 |
  6. STA $8001 ;把0x0E写入8001端口,把ROM的$1C010-$1E00F地址内容写入内存地址$A000-$BFFF
    9 w9 c9 G* F  }" _  j9 B1 L0 P6 V
  7. JMP $A000 ;跳转到$A000执行# n6 B! i9 j' a' y

  8. 4 w2 L# U1 k1 N$ B( J/ e) N
  9. $A000:
    $ Z, n% u2 a/ R% B
  10. .6 y9 L, M, T! W0 u3 l
  11. .
    " Z5 \* O3 M9 f* E" Q6 T' K" |
  12. .4 ^# H2 }) Q/ H3 @6 o& v/ i$ V
  13. .6 z- w5 \9 V- k2 I. a
  14. JMP $xxxx ;执行完自写的程式后跳回去
    % [5 R2 E# o% A) k# L; x
  15. 4 s, c9 ^' S! y! Q9 Q- w0 M' }
  16. $xxxx:" e) @  ~7 Y% e1 V+ k
  17. LDA #$07
    & K: G2 j$ _' A& r8 t# R
  18. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF+ n/ Q1 E8 c0 x9 Z. D) J; Z0 q- M
  19. LDA #$0D# M) i, ^8 H  P" x# ^
  20. STA $8001 ;把0x0D写入8001端口,把ROM的$1A010-$1C00F地址内容写回内存地址$A000-$BFFF
    3 D) _& o, o5 [( S+ E5 Q

  21. # r( S: V: B% k- v
  22. 切BANK前建议做压栈操作保护寄存器数据,当切换完BANK后出栈还原寄存器数据,这只是建议) |$ B! H6 i2 O' n! L
  23. . O& N" @8 i5 f
复制代码
关于什么时候切BANK:用NMI中断来切BANK吧(在NMI中断程式中插入切换BANK程式)3 l* _5 V0 f5 S( q. ~

0 s+ @6 }4 {  C附:ROM 16KB BANK编号2 k+ h: k  t5 b
- t" p  G3 t/ R) x0 |
ROMf地址      BANK编号
& K6 W  E1 M' ?: f" |6 y00010-0200F  0
) s9 u$ F# `8 I1 P' u# ]02010-0400F  1
# D( I, i; i! g: K04010-0600F  2& N) w- o. z& K7 v
06010-0800F  3
9 o8 K+ o' p; ~" X/ n7 _08010-0A00F  42 B. t9 C* z, X# s1 ^) t. v
0A010-0C00F  5
' X5 w' |2 E: V0C010-0E00F  6  F4 L/ C3 m$ z: ?
0E010-1000F  72 V: Z7 ?3 u! |5 f. {5 v2 n
10010-1200F  8" ]% H9 p( s" P* w* p% @( o2 n' Y
12010-1400F  9
5 c3 Z. D  G' M$ A+ i! ~2 B14010-1600F  A
9 f2 q( b3 ], m  o- i2 r4 m& Z16010-1800F  B
6 f. a) v, w- t1 v18010-1A00F  C" k2 K+ v' v7 T
1A010-1C00F  D& e3 e' v9 E; ?/ @. E0 _0 K
1C010-1E00F  E  c% B$ z3 E/ w: u; P- L. Z* ]
1E010-2000F  F
9 G: _, A2 h* @$ {$ e% @+ `& D, f" F.. y) i9 {' U+ Q7 p! H
.7 P/ @, h7 d* H
.
' ?! H  p0 D: q% H' T& K; Y
1 `/ ^) f3 z# r: S解释一下我为什么把P ROM 128KB扩容到256KB,不扩容到144KB?
3 U1 j% W6 I2 h. T
( M$ Z4 t. t; z9 y5 d; ~5 R因为扩到144KB的话有的模拟器是不认,无法运行0 h/ k1 ?+ M# I6 ]8 t8 k) \
0 @1 Z  s+ b; `* ~! g1 ~( x) M
为了全FC模拟器能兼容,所以只好扩容到256KB- e! ?$ {' U! u  u) n& m8 w

) [: h( Q: g. J" U补充:扩容后记得修改ROM文件头P ROM 16KB数目(地址:0x4),不然有可能引致载入ROM失败或死机4 r5 l5 c& A$ m! y% x
& y7 |6 Z- s1 J  a, }) u

本帖子中包含更多资源

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

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

签到天数: 434 天

[LV.9]以坛为家II

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

签到天数: 2778 天

[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:}

签到天数: 215 天

[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, 2024-12-22 11:03 , Processed in 1.086914 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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