EMU618社区

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

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

[复制链接]

签到天数: 2028 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:20:46 | 显示全部楼层 |阅读模式
原帖丢失了,重发一份。
: o& F6 q, ?& ^& G# n& ~# q% P4 y4 v) ^/ [& t1 S4 |$ P% K4 y
修改内容:$ ^3 O% A* D  B) Z7 M
1.P ROM由128KB扩容到256KB
1 M8 M+ q$ q* {: ~2.按START+B武器数量为993 v$ r1 S# ^% G' [/ U& I- F0 W0 b6 H
3.按START+A补血
" a+ I, z1 B7 G. B/ Q# U- [/ C1 @& F( Z' X- l- `
这个HACK ROM本来以前答应某人做个例子给参考一下,因工作忙以及以前用的切BANK方法不完善的关系所以没放出来
8 D0 x, _2 U0 [. }# a* C( ?* \( y" o1 g
从原单位滚蛋后就有时间来弄一下9 X! o+ f; \" n+ Z  L, j

& S: @1 Y' _" f- c关于如何扩容:在文件头后面或驻留体前面添加一大量0xFF或0x00,有可能或在程式中间添加,在哪里视游戏而定吧,有何规律我也不清楚9 S  K2 Z: {* e
  N- _# |4 a* d
关于如何切BANK:请看相关mapper资料吧" F- Y! x/ q+ Y. u9 C+ [$ r

4 h# i7 D' L  m1 X$ ?说说我双截龙3 MPPPER 04如何切BANK:

  1. 5 U1 h/ A8 i( q) O2 w
  2. $xxxx% ]  m8 b- S* W5 G3 ^; D
  3. LDA #$07% F1 n- ^  B* z6 P. V& f
  4. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    3 T2 |( z6 G5 F. m" e6 q* C4 l9 F
  5. LDA #$0E6 N' V& I' ^) D
  6. STA $8001 ;把0x0E写入8001端口,把ROM的$1C010-$1E00F地址内容写入内存地址$A000-$BFFF7 D8 |6 K" X3 y1 `0 g0 |3 ]
  7. JMP $A000 ;跳转到$A000执行
    7 k) J/ G8 K- t: b
  8. 3 I3 C9 P5 `% a8 c: v1 y$ m
  9. $A000:
    4 Q1 U3 P+ Y* V9 V: ]# g* `
  10. .& {, f, f' x5 w. |2 M
  11. .
    2 l% o0 W# N& o0 B) z/ U; y1 T
  12. .7 F  M. V: `0 O! L; m
  13. .7 k+ K/ \3 P% x4 C: N
  14. JMP $xxxx ;执行完自写的程式后跳回去( R7 Q; u8 I6 b+ o3 m/ m5 u5 s6 {

  15. + h$ \* _  \$ k; s0 M
  16. $xxxx:8 r. k: Y6 `6 P, v7 o0 g
  17. LDA #$071 ^- {1 \% a5 [5 Z! {
  18. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    8 T( x8 ~6 L9 P1 B9 z! H' l
  19. LDA #$0D& @: Q+ r% l& m0 V" M
  20. STA $8001 ;把0x0D写入8001端口,把ROM的$1A010-$1C00F地址内容写回内存地址$A000-$BFFF
    / \% {. r" A6 w& z. U+ x
  21. ; d" }8 t* P3 t1 d4 D' e
  22. 切BANK前建议做压栈操作保护寄存器数据,当切换完BANK后出栈还原寄存器数据,这只是建议
    ' |- x" @8 r7 X# S! S

  23. " ]' m6 c. ]/ k& d9 {5 T
复制代码
关于什么时候切BANK:用NMI中断来切BANK吧(在NMI中断程式中插入切换BANK程式)0 l1 P  ^* l, Q' v" b3 D# _

( C; Z$ g" ^1 O$ O附:ROM 16KB BANK编号9 i0 W  W+ q* C+ A: y: }

' v( t2 O5 `( @) L! n9 o' Q2 BROMf地址      BANK编号* i" H3 l1 N, k9 c* u
00010-0200F  0: i$ c% R" u* a' O
02010-0400F  1
" P3 F/ r6 l! e: J0 Q' w2 U04010-0600F  2
( _6 o' }$ S, _/ L: D0 T. i06010-0800F  3+ [9 n6 G9 d( t  K# k
08010-0A00F  4, u$ ~# D. u# H$ ~5 ~0 Q  ]6 B/ f% d, X
0A010-0C00F  5
$ ]" u/ j4 b" x& @( f( w; \, O2 l0C010-0E00F  6
& s+ Q+ r* n2 i. F( W! W0E010-1000F  7' a; H% O7 X; ^
10010-1200F  8
+ H1 W4 G; U9 [  C12010-1400F  9
6 j8 A9 a. r: k- k% ~, Y& m14010-1600F  A" u$ s9 L0 e( g) v- F; ?; n$ j
16010-1800F  B
5 ~$ t  k! F" G4 n$ |9 W2 ?- f18010-1A00F  C; K; f6 C8 k0 T3 M
1A010-1C00F  D
1 P1 A& g. a0 ~4 w# F, B# ~+ J  |1C010-1E00F  E, [* l) e4 D3 P8 h
1E010-2000F  F
8 }" Z- G2 T$ u4 m: h7 I" I  T) r.
. N+ E3 q; _/ ~* D. @* p.
6 C. p. D4 `3 S+ Q1 a) T.& z0 l( M& Y* ?) |

/ P& s: O/ P6 P解释一下我为什么把P ROM 128KB扩容到256KB,不扩容到144KB?
# l5 l+ u; W' V- O* q) _) ^- F6 v
% N6 T) R. j3 U! U8 P7 t4 J因为扩到144KB的话有的模拟器是不认,无法运行7 l6 U/ ?: i& S, b9 `; ~
; k" L" l$ h+ c( E5 Y
为了全FC模拟器能兼容,所以只好扩容到256KB9 z! P: A& H/ @  K& n
, ?% K7 z) A4 \- z" x! Y
补充:扩容后记得修改ROM文件头P ROM 16KB数目(地址:0x4),不然有可能引致载入ROM失败或死机
- F7 @( ]. K/ U# e+ H' L2 ]: I. G4 h1 E7 |, P

本帖子中包含更多资源

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

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

签到天数: 434 天

[LV.9]以坛为家II

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

签到天数: 3000 天

[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-3 09:49 , Processed in 1.088868 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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