EMU618社区

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

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

[复制链接]

签到天数: 2050 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:20:46 | 显示全部楼层 |阅读模式
原帖丢失了,重发一份。2 f- ?5 s5 e: t2 M
( {0 _+ |/ f7 u6 z; Z
修改内容:# J7 }! f3 k1 W" ^" I/ _; K
1.P ROM由128KB扩容到256KB
  H) s9 D9 M0 V! S; _4 _2.按START+B武器数量为99
% e$ d# t5 |( X3.按START+A补血8 ~- ]+ q: x, {1 }0 v
0 e9 N) f4 }+ `0 F$ K) ]& Y/ y# Q
这个HACK ROM本来以前答应某人做个例子给参考一下,因工作忙以及以前用的切BANK方法不完善的关系所以没放出来
1 e! L2 a' ~9 E3 q- T" N" e$ _: J7 Q* _' ]' n' ?
从原单位滚蛋后就有时间来弄一下
  F: h& M8 o% t( e: t" z
2 r4 r0 p4 d! j# p& I- I, E关于如何扩容:在文件头后面或驻留体前面添加一大量0xFF或0x00,有可能或在程式中间添加,在哪里视游戏而定吧,有何规律我也不清楚6 `. Q+ q/ X3 e* \5 \0 |
% {$ z0 |9 ]3 R, J. C. A
关于如何切BANK:请看相关mapper资料吧
# m- k$ E; E$ T+ ~7 y/ c" r! M
8 i4 d% w) M8 [说说我双截龙3 MPPPER 04如何切BANK:

  1. 4 {7 X) T/ D6 t! D# u1 [
  2. $xxxx
    , Q/ x8 u7 ~( d& x
  3. LDA #$07/ o: |7 i3 P" q# Y5 z
  4. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    8 r5 i) V9 m* o3 T/ ~* y9 {, O$ N- b
  5. LDA #$0E; E) m6 S3 a+ @- h1 X
  6. STA $8001 ;把0x0E写入8001端口,把ROM的$1C010-$1E00F地址内容写入内存地址$A000-$BFFF# s6 [+ g; t4 i6 U& S& f
  7. JMP $A000 ;跳转到$A000执行% X, r" G* I* c1 z

  8. 4 t+ C8 T, n) `9 g" O
  9. $A000:! }# N: @! i1 N' h
  10. .( A- y, ?0 `- Y0 v" b5 d
  11. .
    5 B3 D9 z1 ^0 ^: y) w' {3 V
  12. .
    ) f8 B2 y  {* Q  T2 {/ y
  13. .2 b; W8 ^) _( T. O" {2 v
  14. JMP $xxxx ;执行完自写的程式后跳回去8 y1 k, i6 p0 B" j& @# z

  15. / W4 C7 _: r- p9 }; F
  16. $xxxx:
    - B# }2 q/ u+ |4 `3 V
  17. LDA #$07
    " K, u* E2 F% F
  18. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    : G  u/ ~0 H; H) _% _$ \% f
  19. LDA #$0D
    ; ?0 u" M! a2 q4 Q+ o/ M5 W
  20. STA $8001 ;把0x0D写入8001端口,把ROM的$1A010-$1C00F地址内容写回内存地址$A000-$BFFF1 u) J8 ^1 H+ O. {3 R$ z6 z
  21. 8 [8 Z. M6 K, S, Q. A
  22. 切BANK前建议做压栈操作保护寄存器数据,当切换完BANK后出栈还原寄存器数据,这只是建议
    % U& F' T/ t' a% Z

  23. ' p0 f8 b& u0 L
复制代码
关于什么时候切BANK:用NMI中断来切BANK吧(在NMI中断程式中插入切换BANK程式)
) t, Z9 v- U7 [+ g9 t
& ]+ l5 v- Y9 ~6 u附:ROM 16KB BANK编号9 e9 F" O" G, J- P

7 v/ M3 ?; `& I/ T, HROMf地址      BANK编号
2 l8 i9 ^" [" F3 m9 x& {00010-0200F  0
! a: t" K0 b! K3 m' X2 I. s02010-0400F  18 z' P9 S- F5 q5 R. M
04010-0600F  2
3 t2 z5 J' b7 {6 ?1 \+ U06010-0800F  38 G# }' s% h5 ^
08010-0A00F  4$ K: ~( F6 F2 w& |
0A010-0C00F  5
" L" i1 y# ?( T7 a% d/ R/ T0C010-0E00F  6
& l) J* W# X1 n* b+ P6 @0E010-1000F  7
  g$ y- {& P) U  t3 }10010-1200F  8
! n! F5 ~8 u6 [# ^12010-1400F  9' _- ~0 ]8 u( c: F% j
14010-1600F  A
; h$ f7 q+ N' K3 C9 c6 {+ `16010-1800F  B
" X# y) e* w4 `* h7 b18010-1A00F  C
- B* c7 p1 q9 f- B1A010-1C00F  D
1 m- I" K" L2 b6 z0 F1C010-1E00F  E
2 z4 H" Y$ N, n+ L, x4 A1E010-2000F  F5 c$ C, C9 b' w* k2 A6 ]! d  x
.
$ [, \$ D* n4 G+ d8 e/ U.
+ P( ]8 a* |$ T7 k0 x." F& P2 S: l$ B. K
$ g' [* p# x+ W$ e
解释一下我为什么把P ROM 128KB扩容到256KB,不扩容到144KB?7 Q% v4 K! I/ n: ]! B7 {
- x1 c7 `! z! v# N  R4 S# u1 ~
因为扩到144KB的话有的模拟器是不认,无法运行
% q# ]3 \2 e) O( C$ L0 _  N# Q8 I2 j$ d* p1 U. m9 t0 z
为了全FC模拟器能兼容,所以只好扩容到256KB
. e9 ~4 `' j2 B! B) F
9 e" ?8 q& a( T补充:扩容后记得修改ROM文件头P ROM 16KB数目(地址:0x4),不然有可能引致载入ROM失败或死机
5 B& Q' ]5 M5 u4 C! ?  f% z3 h: J% Q/ D

本帖子中包含更多资源

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

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

签到天数: 434 天

[LV.9]以坛为家II

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

签到天数: 3021 天

[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-8-25 01:29 , Processed in 1.104492 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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