EMU618社区

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

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

[复制链接]

签到天数: 1757 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:20:46 | 显示全部楼层 |阅读模式
原帖丢失了,重发一份。
! P- M. N  U$ i5 Z4 t9 |4 j" i" L
修改内容:. W1 U- S; P$ R" X
1.P ROM由128KB扩容到256KB& I) e& J( R2 z6 L
2.按START+B武器数量为99
) X/ C* @2 o: H3.按START+A补血
7 z) h3 P  K3 g
6 u5 f+ h- C# D# T3 W这个HACK ROM本来以前答应某人做个例子给参考一下,因工作忙以及以前用的切BANK方法不完善的关系所以没放出来
/ e. T/ ^3 g0 Y! `; E
" o8 B; ^$ [/ r  ]: s7 c- F6 t从原单位滚蛋后就有时间来弄一下
$ c/ j- U1 S! c: u  R2 ~' ~7 P7 M, d6 C  V5 f) {$ Y/ {* {
关于如何扩容:在文件头后面或驻留体前面添加一大量0xFF或0x00,有可能或在程式中间添加,在哪里视游戏而定吧,有何规律我也不清楚
! P0 N% G/ a$ D& ^/ E+ c1 D  i- N/ [: c
关于如何切BANK:请看相关mapper资料吧
8 L: _$ y) J  k7 C; o4 F9 O8 g
- p+ I' ?0 R& V9 _) q2 D说说我双截龙3 MPPPER 04如何切BANK:
  1. , P! S3 c( U: ^3 G
  2. $xxxx! m5 }5 [! y9 K2 x
  3. LDA #$07
    / R  K! i% z: D. i% X7 i: g6 J
  4. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF) e# r+ S1 S$ }' t. h1 N5 i
  5. LDA #$0E1 V& L5 }* L; P, n6 Z. w" v
  6. STA $8001 ;把0x0E写入8001端口,把ROM的$1C010-$1E00F地址内容写入内存地址$A000-$BFFF3 `( ?) e7 f: |8 v$ f  r
  7. JMP $A000 ;跳转到$A000执行
    ! A! B% P5 e: O0 i

  8. , R0 |9 S4 P7 A& G8 B
  9. $A000:
    % Y" ]  {* a3 p
  10. .- ?8 B- n( x  b# \! w
  11. .
    / b0 E" d$ n1 n# D" Z9 a
  12. .
    9 R9 W- y8 h0 z1 m6 U$ `* {
  13. .
    * y9 X4 _! e- c8 z3 l9 Z* x
  14. JMP $xxxx ;执行完自写的程式后跳回去
    1 q  g( ~$ J& p/ |
  15. 4 n7 Q+ y4 ^  L5 m) [" w: i
  16. $xxxx:1 I, v$ K, L9 M' q5 S7 W
  17. LDA #$07' J; p6 I, \: [  e3 j9 @2 \
  18. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF, n% i; ]# n% e' a: w8 M& U) ~
  19. LDA #$0D, l. V) q" \5 V; x( u
  20. STA $8001 ;把0x0D写入8001端口,把ROM的$1A010-$1C00F地址内容写回内存地址$A000-$BFFF
    . R: N1 M$ i3 W( y  P/ k2 f
  21. # w, k0 |( a: p# P$ J
  22. 切BANK前建议做压栈操作保护寄存器数据,当切换完BANK后出栈还原寄存器数据,这只是建议" p$ d7 ~) p4 _! `
  23. ! ~+ i4 P# t& L6 [8 Y( b
复制代码
关于什么时候切BANK:用NMI中断来切BANK吧(在NMI中断程式中插入切换BANK程式). S& ]! p2 B8 r4 z
4 |7 \5 t5 K8 P+ D- q' l
附:ROM 16KB BANK编号" ^7 P8 F2 I" ]4 X
% ^7 U; X% b+ b+ F, w, a
ROMf地址      BANK编号
% M/ C. [* A: `& q, S6 k00010-0200F  0! r. ~% ?3 L! H* C0 J
02010-0400F  1
" ^, g! a3 B2 g7 n* d04010-0600F  2
0 u7 \  a3 L; |! k06010-0800F  3% z' Y; q' h. t4 X* t0 n) O1 j' M8 l
08010-0A00F  4/ V$ q2 e6 A  [8 R
0A010-0C00F  5
3 o$ S% L- F& t) b+ f1 w' |0C010-0E00F  6, U4 x6 q! \  q7 _# U2 |1 w/ t
0E010-1000F  7
) v- T! x4 y8 T10010-1200F  8
  ~4 t  X( o3 W: Z. g+ D( l12010-1400F  9
( \! b2 ]/ i" o14010-1600F  A
7 \/ o; W* C0 z2 K16010-1800F  B+ z: n" i' N- J, Z# l* \* J
18010-1A00F  C
* Z( T; N0 [# J( y8 q- p1A010-1C00F  D
5 a! `9 W4 Z4 F2 g0 Z, K. ]: q1C010-1E00F  E
" ^! q" m$ j! q( I- D- s1E010-2000F  F
) ^% B( M$ s6 ], j9 m.( x- c* R* T# p9 a. i! p2 P7 U6 A
.
4 S& X5 V$ U$ W.9 W6 J( K# A' l+ j, i
& ?5 ]1 V" O7 i* ]. E) s6 B, Y1 o
解释一下我为什么把P ROM 128KB扩容到256KB,不扩容到144KB?
6 q6 ~7 v8 a3 e* m( R( J
) b$ s6 U9 I/ m因为扩到144KB的话有的模拟器是不认,无法运行3 X' ^$ N* _0 z' f' V" X
* g5 k/ }, r8 F# [& |# D4 L
为了全FC模拟器能兼容,所以只好扩容到256KB: S; B! v2 M& \# l7 y, k  [9 d2 [

" o; X1 z4 c3 s# w1 r补充:扩容后记得修改ROM文件头P ROM 16KB数目(地址:0x4),不然有可能引致载入ROM失败或死机
) A6 G, d4 q7 w5 M* |0 {: ~2 W

本帖子中包含更多资源

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

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

签到天数: 434 天

[LV.9]以坛为家II

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

签到天数: 2729 天

[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-11-3 02:15 , Processed in 1.113282 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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