设为首页收藏本站

EMU618社区

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

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

[复制链接]

签到天数: 1896 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:20:46 | 显示全部楼层 |阅读模式
原帖丢失了,重发一份。
' r! X. d# e% w, d* u6 C/ o) {
2 Y$ ?& I- ]# g5 M2 [  E修改内容:7 X8 b9 m, t9 H1 Y- e8 V6 p2 r; J
1.P ROM由128KB扩容到256KB
( K$ W) U+ O) X, x( j2.按START+B武器数量为993 s; E) n9 k& O7 _! O( C. M
3.按START+A补血5 ~8 {, `- j# }: n0 B* r2 J9 }

) k; h# f7 G5 n& s; U这个HACK ROM本来以前答应某人做个例子给参考一下,因工作忙以及以前用的切BANK方法不完善的关系所以没放出来
2 W+ C4 p; `* r6 T8 }( O3 t% Y$ Z' ~+ P1 _7 D
从原单位滚蛋后就有时间来弄一下
! f5 n# ~4 v# T7 ~, }, c; t* i$ s1 ~% m  i6 @
关于如何扩容:在文件头后面或驻留体前面添加一大量0xFF或0x00,有可能或在程式中间添加,在哪里视游戏而定吧,有何规律我也不清楚
  Q, ?5 i8 X- s: t, s5 x7 S. k1 L
关于如何切BANK:请看相关mapper资料吧3 S6 w( L' ^! F' h% H

$ |* L( g8 ?+ _$ ]说说我双截龙3 MPPPER 04如何切BANK:

  1. 2 D+ I  ]3 h! c" `' `1 q
  2. $xxxx! {9 K  v, P& f
  3. LDA #$07
    " D( [8 j( v; ~* }. ^$ [
  4. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    6 |7 `8 @+ y' a, S1 [/ s( ^9 z
  5. LDA #$0E
    ; H( p' A& w2 D* k5 W  Z
  6. STA $8001 ;把0x0E写入8001端口,把ROM的$1C010-$1E00F地址内容写入内存地址$A000-$BFFF  j, M9 U6 [* A/ c2 }% K
  7. JMP $A000 ;跳转到$A000执行
    . |$ i% S& m7 a  ?6 r
  8. ' Z* C; Z, q# ~: M& U3 Y+ h
  9. $A000:5 ]* _3 ^9 P. \1 X* C
  10. .
    # O( a+ r: i; ^3 C# z
  11. .$ P4 r4 G7 D! n: @6 t0 l
  12. .
    + X; J2 v2 @# r  `! x8 |
  13. .
    ' V; `$ @( |" I; q" G2 U
  14. JMP $xxxx ;执行完自写的程式后跳回去
    , `. {6 Q! ~( z) O) I" d( R- b2 z
  15. 7 s* B4 l% ^& k8 X$ K2 N, g
  16. $xxxx:
    3 R1 ]" g$ I; O* b$ P* r
  17. LDA #$07
    ! X! |( j9 }; l
  18. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    / b: B( s+ v+ r/ j7 q6 l6 N% S
  19. LDA #$0D* g6 L; x4 ~: b9 L" i
  20. STA $8001 ;把0x0D写入8001端口,把ROM的$1A010-$1C00F地址内容写回内存地址$A000-$BFFF7 |) F' _+ o+ y5 k5 s
  21. & o# g7 f0 o6 r1 F: }. u, B1 o
  22. 切BANK前建议做压栈操作保护寄存器数据,当切换完BANK后出栈还原寄存器数据,这只是建议
    " T& B" u- ?. x
  23. 2 [" j3 r  t# F5 Z# C: Y
复制代码
关于什么时候切BANK:用NMI中断来切BANK吧(在NMI中断程式中插入切换BANK程式)1 I+ K" N2 U- v3 K9 l* h3 g1 Z
6 u- g  O1 _  G9 N" h/ N0 w
附:ROM 16KB BANK编号
3 Y# l/ J+ i0 K: L5 j- E- x( k! _8 `4 V% ~
ROMf地址      BANK编号
2 p" ?( ?7 i  o- B6 H! \00010-0200F  0; Q; b. r0 p$ h& n$ F$ x
02010-0400F  11 y7 r1 [) c! Z! \" z* i
04010-0600F  2
5 }* N  }, X+ L/ b2 ^. p/ q06010-0800F  3
0 m, D$ {; g* K* s! a5 H/ B( E08010-0A00F  45 s# n0 _9 b7 e6 ]% z9 A* `$ r, c
0A010-0C00F  50 @$ ^+ R( |. W
0C010-0E00F  6
4 ~- a$ V9 G; x5 w0E010-1000F  7
% B# N0 U9 }4 J10010-1200F  8
8 N) R0 y+ p0 E12010-1400F  9
7 v6 z% @' L. {* O: R% t" ]14010-1600F  A
" }0 B" \9 W" P, j+ n3 Y16010-1800F  B, l* l: P* U# Z" o# V' _
18010-1A00F  C+ [6 B5 q! z2 D) h" I9 }& D6 x
1A010-1C00F  D
5 ^" g: s. M9 |& Y  y, l1C010-1E00F  E4 X9 ^+ F& G9 i3 c- m9 _  j
1E010-2000F  F
. u+ y: {* k3 i% l1 ^( z( H5 B) d) k.8 K+ p/ `( m" X: B
.. K* f9 p4 P5 [' Q. @9 j
.
9 @3 ]# J; n3 M5 D8 w
+ ^2 T9 z( O, ^# ~  u4 x解释一下我为什么把P ROM 128KB扩容到256KB,不扩容到144KB?# R' I2 z8 Z3 v$ {  Y# i( O$ X

4 k( |; G+ ^: X4 b2 `3 S3 f2 ^) w因为扩到144KB的话有的模拟器是不认,无法运行4 J* o" n2 S( n; c9 _
* [( |9 l$ @6 c4 L. j' Z8 S
为了全FC模拟器能兼容,所以只好扩容到256KB
: {1 @6 k0 c0 _
3 e' \4 Q- U; A2 W补充:扩容后记得修改ROM文件头P ROM 16KB数目(地址:0x4),不然有可能引致载入ROM失败或死机
0 T3 U4 e& F1 f1 d
/ n1 S1 h! T: Y( Q! K

本帖子中包含更多资源

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

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

签到天数: 434 天

[LV.9]以坛为家II

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

签到天数: 2864 天

[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, 2026-2-26 22:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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