EMU618社区

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

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

[复制链接]

签到天数: 2071 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:20:46 | 显示全部楼层 |阅读模式
原帖丢失了,重发一份。
/ c* `$ a! f$ N$ Y( t" x: P5 Z5 I$ n8 ]3 w% p9 L0 x0 P9 K
修改内容:  i2 N( [5 H6 }% p* s! k. h
1.P ROM由128KB扩容到256KB6 ?( Q  z1 ^- F5 l: F
2.按START+B武器数量为99$ [+ O6 b0 M: K9 G- f
3.按START+A补血
1 d. y6 z( x* A/ s3 M, {2 ?+ G1 S6 z: P- z8 x$ h, d
这个HACK ROM本来以前答应某人做个例子给参考一下,因工作忙以及以前用的切BANK方法不完善的关系所以没放出来
4 L9 L4 C. y1 E
2 p, u* ?0 W2 h, X从原单位滚蛋后就有时间来弄一下
% j: ?5 [/ ~7 F$ l5 G4 w9 t7 D4 o$ |! X; ?" c5 J$ W
关于如何扩容:在文件头后面或驻留体前面添加一大量0xFF或0x00,有可能或在程式中间添加,在哪里视游戏而定吧,有何规律我也不清楚
) _% l/ K7 ^* U5 G' c+ a  D- H" j0 _1 l+ A/ Q+ b! a
关于如何切BANK:请看相关mapper资料吧
# C3 m6 o, n- l( N/ m- W3 i  o
' s& B, n% h* d# R2 Z. _# d% w6 Y, {说说我双截龙3 MPPPER 04如何切BANK:

  1. / [. K) q+ ], E& |
  2. $xxxx
    / E- O& J9 p3 i& N* `6 l5 E7 ^
  3. LDA #$07
    5 }. E& Q7 C9 r& ~/ m/ \$ K
  4. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF8 a- n% ~  J: C# ^$ q2 q& o. I+ p
  5. LDA #$0E
    9 P& a! ]0 g; L: U9 I4 v2 x
  6. STA $8001 ;把0x0E写入8001端口,把ROM的$1C010-$1E00F地址内容写入内存地址$A000-$BFFF! \% a- }. {. x# f) h  [
  7. JMP $A000 ;跳转到$A000执行: W8 T7 y$ c3 e9 c. C- m; e
  8. 1 ?" _! Q, R7 `% k* e8 b) l
  9. $A000:
    * b1 x2 X9 T) t" J5 J/ k
  10. ., C" s) R1 z5 d& x: K
  11. .  A# W1 m% P9 E: `' A2 v2 L
  12. .
    7 h+ F5 ]5 W' k  m; K% F2 @
  13. .. S0 T  m" I7 c, S7 A
  14. JMP $xxxx ;执行完自写的程式后跳回去
    $ y; \; i9 d# V+ _

  15. 4 @7 U  z, z  `" O: J7 u; p+ t) ?
  16. $xxxx:
    5 P% G9 `% }1 a. Z! W$ e; H$ O
  17. LDA #$07: l- _- c6 z: T3 y8 i& J: d  O5 t
  18. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF: H) t# {7 t9 F* ~& h' z% C) H, Z
  19. LDA #$0D
    3 k. H+ h/ m! \) Y! u
  20. STA $8001 ;把0x0D写入8001端口,把ROM的$1A010-$1C00F地址内容写回内存地址$A000-$BFFF
    " n- v" m  X  `7 m- P# u( ^- M0 i

  21. * F' V& I" t% y" I6 j( J
  22. 切BANK前建议做压栈操作保护寄存器数据,当切换完BANK后出栈还原寄存器数据,这只是建议+ V1 N/ I) d- x6 A8 F  \

  23. 3 T+ }  N' Y' y: N1 J
复制代码
关于什么时候切BANK:用NMI中断来切BANK吧(在NMI中断程式中插入切换BANK程式)
: n$ w0 }" C$ z+ {
, W* y1 \- X# q附:ROM 16KB BANK编号
$ s. m8 W* l- e3 q& J1 B# m
/ E# D7 B% D' t' R. m8 w3 |3 ^# }# eROMf地址      BANK编号: g0 x3 s3 n; m# a% K3 Q& v# P) J! u
00010-0200F  0, V& I9 d" E+ y0 O  m6 ?
02010-0400F  1
& a$ A! D! r$ A! e; p04010-0600F  2; h9 ]+ b8 @8 T
06010-0800F  30 D, c3 B  n: |+ {# g. O" s3 b
08010-0A00F  4  F' e5 N, T( ]' S6 r8 B2 |; s" m
0A010-0C00F  5
, y! |/ t' @& C, G: B( C6 b* \. Q0C010-0E00F  6
" {' d0 f/ j- O& k2 r0 T0E010-1000F  7
  d$ k. d: y" q" c+ _10010-1200F  8$ ^+ C- _- X8 P7 c, n
12010-1400F  9( A. O( W0 H7 u+ L) ?( z( M
14010-1600F  A3 c4 ~# }" E! N9 b, u' {% @
16010-1800F  B7 V$ ?! m  m5 A/ h+ v$ `& i4 f
18010-1A00F  C0 g% _% h: P2 t
1A010-1C00F  D
$ d! p) z0 S" o% J' J# S2 m1C010-1E00F  E
( C  ~4 q) F+ Z+ {6 W( q. f1E010-2000F  F
' L& j5 x# W2 Z& o, f.4 [7 U! P& S+ X
.
( w8 W* Z+ u7 I/ Z4 @.3 R. h; `& i2 n

& c4 |" A. b- M3 P4 L解释一下我为什么把P ROM 128KB扩容到256KB,不扩容到144KB?
4 n( y, P; t5 {. k0 N  h4 A/ W! D; a
因为扩到144KB的话有的模拟器是不认,无法运行* r% F, F0 e1 e* Y3 V
8 k. E" M6 j9 d. }' i5 [
为了全FC模拟器能兼容,所以只好扩容到256KB6 S% C# X2 S! Q4 D8 w
9 w/ c' |! N& j% b& e3 L
补充:扩容后记得修改ROM文件头P ROM 16KB数目(地址:0x4),不然有可能引致载入ROM失败或死机
7 x& P0 z  w, _* ]- R$ J
) D' c' y: o9 P- O. l

本帖子中包含更多资源

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

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

签到天数: 434 天

[LV.9]以坛为家II

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

签到天数: 3042 天

[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-9-15 12:20 , Processed in 1.100586 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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