设为首页收藏本站

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

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

[复制链接]

签到天数: 2015 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:20:46 | 显示全部楼层 |阅读模式
原帖丢失了,重发一份。9 s' I( V( d: S. L' q( t3 T  s

5 _" r2 [% [* z修改内容:5 H6 p8 b/ R' p9 G
1.P ROM由128KB扩容到256KB1 d& U7 J) w5 x9 Z: c7 k( _( f" y
2.按START+B武器数量为99
( Q3 J8 ^  ~% H4 H5 |+ i  x3.按START+A补血
& }$ ]  Y5 Q2 W" M& m" h" U, B) m& o6 l5 o( j
这个HACK ROM本来以前答应某人做个例子给参考一下,因工作忙以及以前用的切BANK方法不完善的关系所以没放出来
6 g2 t* i, w1 U5 h( z& x, ~3 q6 c
从原单位滚蛋后就有时间来弄一下7 V! u; v0 w0 g* t( R' s
+ m& ^. Y/ r( A! K/ r$ B
关于如何扩容:在文件头后面或驻留体前面添加一大量0xFF或0x00,有可能或在程式中间添加,在哪里视游戏而定吧,有何规律我也不清楚
% X, m( J: u5 T8 D% ~
4 [: n! z/ y7 _( O关于如何切BANK:请看相关mapper资料吧) I, e% d# i0 B* k
3 C* [) k/ A! A9 C1 F" E
说说我双截龙3 MPPPER 04如何切BANK:

  1. ; |8 }5 Y6 |& I" v8 P
  2. $xxxx/ X# o( F2 J' [/ T1 t6 {. F
  3. LDA #$07
    ) o; ~; u: S( G" Q* L9 J
  4. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
      R  z0 p. _. `% `( K# r
  5. LDA #$0E" K  t7 f; |7 O! Y% d
  6. STA $8001 ;把0x0E写入8001端口,把ROM的$1C010-$1E00F地址内容写入内存地址$A000-$BFFF
      ]% Q- T9 V& M# t& B
  7. JMP $A000 ;跳转到$A000执行
    ) o* Z9 b% f! P# R1 Y1 o2 X7 d

  8. ( x6 O+ O" S0 \3 K
  9. $A000:
    8 G8 S" y0 V& p! x
  10. .
    9 S* D# \$ L: N( e' b
  11. .2 e0 C. T) k* ^1 b' X- M- L' k
  12. .
    & a; m9 d" T6 S  I2 h( E; h
  13. .
    9 J+ U8 t- O5 B4 ^8 l: F
  14. JMP $xxxx ;执行完自写的程式后跳回去9 j" J: m2 x1 y

  15. # K1 O0 W( r; D- D8 C
  16. $xxxx:  S. h6 o" J6 K( I
  17. LDA #$07
    ( Q% p1 t# a- r
  18. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    9 t6 n" ^6 _0 l- B5 ^# j7 x3 M
  19. LDA #$0D
    ; B( l9 f0 [  J! T5 ]1 }8 V
  20. STA $8001 ;把0x0D写入8001端口,把ROM的$1A010-$1C00F地址内容写回内存地址$A000-$BFFF
    0 w$ Q1 L- S  E8 b
  21. , Q+ s* }4 C* _1 y) u( @
  22. 切BANK前建议做压栈操作保护寄存器数据,当切换完BANK后出栈还原寄存器数据,这只是建议
    6 S5 ]: }+ O! P, g6 V3 J# p2 \

  23. & ^7 C. K* |9 G/ g
复制代码
关于什么时候切BANK:用NMI中断来切BANK吧(在NMI中断程式中插入切换BANK程式)
5 w7 x8 [: w6 z3 ~4 E" v; C6 u( }/ q0 q* D, g' y9 C
附:ROM 16KB BANK编号
3 P* \) e( l8 x* V
! b+ ]3 Q# g& ]( w4 yROMf地址      BANK编号) F2 I, {: G9 B5 S% u& o
00010-0200F  0
; k2 g/ ^7 b0 d" a02010-0400F  1
0 X  `: ?3 ?: t6 V* v04010-0600F  2% Q! }; O! b0 z5 j
06010-0800F  3
0 ]- A1 w; B! M' C7 n$ i/ Y* ?08010-0A00F  4
& X1 j2 L( J( E0A010-0C00F  5: ]& ?. ~' ^1 e4 }" E" t
0C010-0E00F  6
* u5 R. L2 H4 a0E010-1000F  72 C0 H/ O3 C# R( y
10010-1200F  8
0 ]- V- s: u# R2 ^  }12010-1400F  93 H" ^/ p1 T& @  q( f1 |, m( P$ {& v
14010-1600F  A4 i. n$ h4 j  i% G
16010-1800F  B
( `9 T( t( U1 H4 F) T! S18010-1A00F  C
( M/ Y; C0 u" c6 o) L1A010-1C00F  D
7 k5 Z9 d9 w8 f7 n1 N1C010-1E00F  E3 Y% M6 J0 }# g, w" D
1E010-2000F  F
: O0 P, O* K* G* k.; B( t' b# [" m( `( M4 R3 F- P' q! q; J
.
2 @4 c& }/ b; F* Q& w1 A0 p& {7 V.
$ S+ o9 m. i" f& Q
3 |( |5 q6 B8 Z# H& L* v解释一下我为什么把P ROM 128KB扩容到256KB,不扩容到144KB?$ C1 b7 W* i& \; h0 ?! \

+ J; [5 e: l1 b  V) G5 p因为扩到144KB的话有的模拟器是不认,无法运行
0 Y# `( Z. F: b  p2 j+ q( d: x/ o1 Q; u+ C& _
为了全FC模拟器能兼容,所以只好扩容到256KB2 k$ Z0 z1 J4 x! c7 m
4 {  n+ F( l$ T
补充:扩容后记得修改ROM文件头P ROM 16KB数目(地址:0x4),不然有可能引致载入ROM失败或死机2 \6 @9 x& y& Y3 n! a
  G/ }, Q; p+ F! H

本帖子中包含更多资源

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

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

签到天数: 434 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 2987 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:29:43 | 显示全部楼层
这个。。。只能膜拜了。
[发帖际遇]: 天迹云间踩坏了花花草草,被罚款4 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 594 天

[LV.9]以坛为家II

发表于 2013-10-24 19:36:57 | 显示全部楼层
支持了 如果能把圣火徽章外传日版扩容就可以中文汉化了吧 这是大功一件哦 先谢谢了
回复

使用道具 举报

签到天数: 882 天

[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, 2026-7-18 11:45

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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