EMU618社区

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

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

[复制链接]

签到天数: 2008 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:20:46 | 显示全部楼层 |阅读模式
原帖丢失了,重发一份。
6 i( L7 H" u; |0 m! t
7 ^. Z' g0 B5 K+ Q9 c$ H* S修改内容:* p/ q3 ~% D" B7 [7 Y1 g
1.P ROM由128KB扩容到256KB2 X, J7 q2 e, }$ d2 i8 N  F
2.按START+B武器数量为99- g; e& Q% J8 g( J1 {! y7 S( X
3.按START+A补血
$ w1 o% t0 @" N. b9 P( E  ~: E$ Q; f4 X( C4 t8 y  c% X7 T
这个HACK ROM本来以前答应某人做个例子给参考一下,因工作忙以及以前用的切BANK方法不完善的关系所以没放出来; s8 h; H" Y$ R
6 _% q$ k3 K# s7 N
从原单位滚蛋后就有时间来弄一下
! @( W+ n0 V# b3 h
9 y" [+ `. Q: P关于如何扩容:在文件头后面或驻留体前面添加一大量0xFF或0x00,有可能或在程式中间添加,在哪里视游戏而定吧,有何规律我也不清楚
( Q, W  [8 R7 }+ p* \* T  Q7 }9 z9 P, G# P
关于如何切BANK:请看相关mapper资料吧
: K% C) k) k1 }/ o5 \
9 i* q$ s8 Z1 J" U* |+ q说说我双截龙3 MPPPER 04如何切BANK:
  1. 7 s2 `2 {! T; I! n, a' M; D$ t
  2. $xxxx0 R! |0 X8 I5 j5 K
  3. LDA #$07
    ; `. ]) [  g& W1 {0 X) k) x( e: u% k- V
  4. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    2 v$ Z5 i- ~) p
  5. LDA #$0E
    8 }) j6 T! Z7 n1 k. ?, L' R0 u  _
  6. STA $8001 ;把0x0E写入8001端口,把ROM的$1C010-$1E00F地址内容写入内存地址$A000-$BFFF( v0 S3 U4 H9 y' ^7 e
  7. JMP $A000 ;跳转到$A000执行/ e0 s$ [" c5 O4 z% H7 W/ H; h

  8. ; q" J! w' j1 S7 J; a% `0 i
  9. $A000:
    ) O: j5 j+ w3 E, D% S
  10. .0 s2 K- ?3 |! i5 N) Z
  11. .
    3 k$ |. E# s) K; n
  12. .
    6 o/ [0 H7 S8 w& F
  13. .
    : a+ \, j( r- L5 f- |( F* v
  14. JMP $xxxx ;执行完自写的程式后跳回去' h" h8 @3 ]& t  r
  15. + H) i1 @9 i, P) g" Q# O3 w
  16. $xxxx:2 i% Y# ]( `2 R3 ^8 f. D) A
  17. LDA #$075 K/ B3 u. ]5 n1 s) h
  18. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    ( f0 c# O  f$ T4 L
  19. LDA #$0D
    8 R2 f1 F7 c' i( o: r% C
  20. STA $8001 ;把0x0D写入8001端口,把ROM的$1A010-$1C00F地址内容写回内存地址$A000-$BFFF# f9 F; L1 O8 h  Q2 M8 V7 G" r2 i
  21. - P0 p. }& ~" B& L- w' [% Z  B% Y
  22. 切BANK前建议做压栈操作保护寄存器数据,当切换完BANK后出栈还原寄存器数据,这只是建议4 |4 g9 X* y1 ?

  23.   {* b. Y, C; O- P! [
复制代码
关于什么时候切BANK:用NMI中断来切BANK吧(在NMI中断程式中插入切换BANK程式)- ~. G, y4 p$ K3 Q& D
2 ?( T! G$ `7 E  f
附:ROM 16KB BANK编号$ R2 ~6 B2 o7 E% y

# x' I* f4 Q9 w. AROMf地址      BANK编号& X* q& i1 ~8 Y% c/ I
00010-0200F  0
8 r# M7 O, m: D/ B02010-0400F  1
; D% n% ^/ O6 [! m. ^# A% j  h04010-0600F  2
% }4 m& r4 d' {  q; N8 u06010-0800F  3
" }: F% c3 D  }5 P* G08010-0A00F  4: m0 i; Z2 C+ H" N
0A010-0C00F  58 g9 H& g4 l  _# N' L4 ]; w' q, i! P
0C010-0E00F  6
: c0 Y  v; Q$ m0E010-1000F  7: k: G% x! m" m3 @0 U& G
10010-1200F  8( b( @) O: @1 N5 B9 n6 N" i
12010-1400F  91 K0 N, Q% w  ?. C; [2 D  ?
14010-1600F  A
& M7 U+ m. ~" I& l8 A16010-1800F  B( J" B- T8 ]" S
18010-1A00F  C
" x; u2 x, g/ h% m. d5 r1A010-1C00F  D
5 T) e" x3 Y0 X9 W/ W4 _1C010-1E00F  E
; z8 ~, |+ z' d; C& c4 w1E010-2000F  F
& o& i+ R0 x5 w.% S# @7 b' w1 M- @
.# b- h3 E( z" r0 e, D* t
.
+ w  w; G( Q) O, _
& o; U7 t1 _3 u/ o8 u) t, N, R解释一下我为什么把P ROM 128KB扩容到256KB,不扩容到144KB?
* r( N$ a* b8 ^# l+ \7 k( d
2 D" z3 d0 `- \4 `/ Q2 ~" J因为扩到144KB的话有的模拟器是不认,无法运行6 {$ j7 l. Z- r8 n  v& i9 X

4 M+ U  C5 {7 K" @: @+ b& O0 w为了全FC模拟器能兼容,所以只好扩容到256KB
: f  Y5 ?! F% k' V. t# ?& n: t% W  L9 e/ w# s9 _
补充:扩容后记得修改ROM文件头P ROM 16KB数目(地址:0x4),不然有可能引致载入ROM失败或死机; F, q6 ]. I8 L* X: I3 o/ _
* l+ i5 j4 E  b$ C+ A1 \0 a

本帖子中包含更多资源

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

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

签到天数: 434 天

[LV.9]以坛为家II

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

签到天数: 2982 天

[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-7-15 05:55 , Processed in 1.099609 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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