EMU618社区

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

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

[复制链接]

签到天数: 2112 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:20:46 | 显示全部楼层 |阅读模式
原帖丢失了,重发一份。: y8 m( b& [" k" u% u* W9 w2 n+ W

% s2 X6 V' k4 K! e5 |7 I: Q1 z修改内容:
9 |% }: x2 D" q1 o2 q5 C! X" L1.P ROM由128KB扩容到256KB
/ G( Z8 b7 [- x$ d2.按START+B武器数量为992 k# {1 J( K4 g' ?9 H
3.按START+A补血* @& e& y9 W  Q7 i( t# W, L
% q. @  W2 Q# V
这个HACK ROM本来以前答应某人做个例子给参考一下,因工作忙以及以前用的切BANK方法不完善的关系所以没放出来. O" x( ?: I/ s4 @

& c" I- I! O6 c! b! V' F% Q0 {从原单位滚蛋后就有时间来弄一下- y' y2 @- F' N9 |5 ]& }

2 y' G) x" G; Z3 Q$ P) {" c. |关于如何扩容:在文件头后面或驻留体前面添加一大量0xFF或0x00,有可能或在程式中间添加,在哪里视游戏而定吧,有何规律我也不清楚! y% q+ Q, _; e1 W8 s
. {+ y  E4 _& [# m& O; T( u
关于如何切BANK:请看相关mapper资料吧& x3 \1 U8 `! {. [9 U
8 c- x, A) ?$ l! T  p- B
说说我双截龙3 MPPPER 04如何切BANK:

  1. - z$ C! F: Z# b# N4 t$ f# ]
  2. $xxxx0 S+ _& L$ H& E
  3. LDA #$07& u& A5 I; d0 [
  4. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    - f: m3 `- h9 Y6 r
  5. LDA #$0E7 }( C! a/ v2 w( I  t' H
  6. STA $8001 ;把0x0E写入8001端口,把ROM的$1C010-$1E00F地址内容写入内存地址$A000-$BFFF
    7 \/ H: b; Z* p  ]
  7. JMP $A000 ;跳转到$A000执行4 W, h& K6 r4 u! U) s

  8. 9 X' D! P! g; M' M
  9. $A000:
    $ L! }6 g/ C0 x" h1 A, L& n3 ?% Q
  10. .# n+ w! {3 t2 `' Q0 f' C' Y5 s2 a% j
  11. .
    0 \$ L, K$ h8 c3 d2 Z
  12. .
    6 R7 g+ a1 S! f
  13. .; ]3 u1 U8 F4 ^* S; W
  14. JMP $xxxx ;执行完自写的程式后跳回去
    8 _  s% z, x5 G8 ^' O# ?# x

  15. 3 g8 r. T& a: H( M) g
  16. $xxxx:" }. m1 z. d- c& Y# Y3 o0 @
  17. LDA #$07; |% H3 U/ A. Q2 m, H0 {
  18. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF0 c4 K1 ~& Y: e3 V2 v
  19. LDA #$0D
    6 B. k' o+ X7 H: D, h
  20. STA $8001 ;把0x0D写入8001端口,把ROM的$1A010-$1C00F地址内容写回内存地址$A000-$BFFF
    9 ^8 C! o  P/ N9 l" a& N- s# z
  21. 7 g; z) d# y- C; I  V3 v& W$ Q! a
  22. 切BANK前建议做压栈操作保护寄存器数据,当切换完BANK后出栈还原寄存器数据,这只是建议
    9 i: Z' c5 i2 T2 ]6 `

  23. 2 X1 B8 K; s7 ?9 S- c
复制代码
关于什么时候切BANK:用NMI中断来切BANK吧(在NMI中断程式中插入切换BANK程式)
; f  P( J9 m" t, |. b! D; T9 e% ?; @) n
附:ROM 16KB BANK编号
3 m9 ^$ h6 m  j% w/ V8 [! }6 d& d! l# _
2 {: ]% _, G. g9 `  X2 D$ H6 d, f7 sROMf地址      BANK编号
, z+ S1 J' T1 c4 R! Q& `00010-0200F  0
! `4 F6 m" f3 T* H02010-0400F  1  m! C! z+ G( ?' H) J1 W
04010-0600F  2: j2 G5 G0 M/ @) C- A
06010-0800F  3
! g6 M( y, E& h6 b. `08010-0A00F  4
  S( M7 ^  m$ _3 Q3 d- a& B0A010-0C00F  54 j6 w; a. }5 N: B5 p: s, ]
0C010-0E00F  62 t. |- |" I9 J! B5 g, o. Q
0E010-1000F  7
$ |1 S# K. U0 g' X8 \2 T10010-1200F  8
5 q' v* o  X" s  L( M4 T" s12010-1400F  9. f' c/ z" B' s0 Q
14010-1600F  A
# d# n3 l- x$ ]16010-1800F  B3 i/ U! F& S0 y# @# f
18010-1A00F  C0 `" P) M& a; l1 K# e
1A010-1C00F  D
5 C8 I: P# r1 e1C010-1E00F  E5 V" M+ q+ O) U$ E1 g4 F
1E010-2000F  F8 m  Z/ K6 Z8 l- x% [
." q- R% y0 t. s6 @; k
.
9 l4 w3 w: U* q3 `( E( [.6 ]2 _! S! S3 X0 _8 j8 i( p* l2 l
5 T" ~" T8 d! L0 ^. e$ h. b; l. e
解释一下我为什么把P ROM 128KB扩容到256KB,不扩容到144KB?$ A2 I( V2 D& h4 A

  F6 m9 M4 E6 ]% L1 `5 _" A' V因为扩到144KB的话有的模拟器是不认,无法运行& L! @( J. s8 V+ ^9 Z: E& i0 t, e

8 r. P7 X4 F* B' Z为了全FC模拟器能兼容,所以只好扩容到256KB
( Z3 p6 t' G3 A
1 h; i* m) {/ t3 {+ a7 u补充:扩容后记得修改ROM文件头P ROM 16KB数目(地址:0x4),不然有可能引致载入ROM失败或死机
: m! D! D( v5 F9 P( K! O; ~: b5 w' X/ u9 j6 {

本帖子中包含更多资源

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

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

签到天数: 434 天

[LV.9]以坛为家II

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

签到天数: 3079 天

[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-10-26 17:39 , Processed in 1.062500 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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