EMU618社区

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

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

[复制链接]

签到天数: 2190 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:20:46 | 显示全部楼层 |阅读模式
原帖丢失了,重发一份。
# |; t/ J9 c& L% P3 Q. v
" _5 K( R0 D! s3 L/ [修改内容:! s4 r" ^  g/ g# ]
1.P ROM由128KB扩容到256KB# ~6 f! E: B) r
2.按START+B武器数量为99
% {& B2 x" L2 e( }& m. z5 C2 ]3.按START+A补血
! [; q4 l/ s$ w* ^- y& q* o/ I7 b/ \# i4 J+ _
这个HACK ROM本来以前答应某人做个例子给参考一下,因工作忙以及以前用的切BANK方法不完善的关系所以没放出来
5 P% R+ C, `1 N' ^8 Y2 ^: n
. Y; S4 |: ^5 f从原单位滚蛋后就有时间来弄一下. A4 g& \% J& \

: ?8 S# R8 ~" k! g% w+ l0 h" W关于如何扩容:在文件头后面或驻留体前面添加一大量0xFF或0x00,有可能或在程式中间添加,在哪里视游戏而定吧,有何规律我也不清楚! D7 C$ L/ K5 K. M

( n& S. `; t. G- l关于如何切BANK:请看相关mapper资料吧! p6 [2 _, D0 a7 m1 G9 N$ g

$ x- h. @$ y: ^& l, p( V4 ^说说我双截龙3 MPPPER 04如何切BANK:
  1. 9 G! ]  _/ A% l9 @% D6 T
  2. $xxxx
    % O1 e3 M; b% `
  3. LDA #$070 W3 m) ^! o" V
  4. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    + _1 r% j, ]9 a- f  i  b2 u
  5. LDA #$0E2 w6 I* |# u% N% J  g& H! R
  6. STA $8001 ;把0x0E写入8001端口,把ROM的$1C010-$1E00F地址内容写入内存地址$A000-$BFFF& r+ X5 L5 K# N5 F6 J
  7. JMP $A000 ;跳转到$A000执行1 \* I( I; |$ T; `) Z

  8. ; H+ m# x; `! j6 k4 _5 ~
  9. $A000:
    7 V/ i1 [; l: y$ `
  10. .
    4 L1 X2 ~$ Y# l- V+ {8 K' W
  11. .* N6 R% P) A+ B* r
  12. .+ S. j  H" d: ]) H* x
  13. .
    ( l7 T( k1 g' H' ^0 p
  14. JMP $xxxx ;执行完自写的程式后跳回去8 ~/ C1 ~; I8 y. \* W
  15. 1 o! `1 D3 z; y: a2 s* _
  16. $xxxx:4 W1 U7 l1 y6 z; ]7 Y% {2 G9 B5 P2 B3 @9 y
  17. LDA #$07
    ! p2 I, g: j, W
  18. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    + ~. \0 `; \. h+ q
  19. LDA #$0D2 j8 K* y; k( D
  20. STA $8001 ;把0x0D写入8001端口,把ROM的$1A010-$1C00F地址内容写回内存地址$A000-$BFFF  o$ I/ Y8 @% u
  21. / O: U* Q0 a9 M/ V( [; f0 }
  22. 切BANK前建议做压栈操作保护寄存器数据,当切换完BANK后出栈还原寄存器数据,这只是建议; p# e% l0 F; M; A1 K  n( M
  23. 5 z) E( i) ]% X- H' Z! H, q
复制代码
关于什么时候切BANK:用NMI中断来切BANK吧(在NMI中断程式中插入切换BANK程式)
4 X% s4 v) {" S  g, @; B4 U1 p* W* v% S9 ]* \7 u
附:ROM 16KB BANK编号* ?- N% k% x- D3 ~$ h" }

+ B. e/ K! Q! Y% W7 I6 O0 KROMf地址      BANK编号
2 x/ ?' N7 F& I# M00010-0200F  0) I! l! R* P# ]% m' C5 R* w! Q
02010-0400F  14 @' A' {4 c+ O5 u7 p9 k) \0 ^
04010-0600F  2) Q; b" ~4 D0 R8 V1 w% i
06010-0800F  3) |8 t% g+ g, ~/ m
08010-0A00F  4
4 D- T0 E% I7 w. s" `/ e0A010-0C00F  5
8 m! U1 h+ R8 W/ {& I& m- y0C010-0E00F  6# k' j! R- M( ~8 |  i# Q
0E010-1000F  7
7 W3 P3 Y  R$ O$ t6 H$ a10010-1200F  8! U9 ]! Y* A! W! u- b. z/ ]
12010-1400F  9+ @- {8 s" X3 R! a
14010-1600F  A( g4 u, H5 V# t% M+ \/ I
16010-1800F  B: y& v9 d, R! j
18010-1A00F  C& h' ^9 {; t4 |2 a' S
1A010-1C00F  D
7 n, h' j6 {! s# M7 a1C010-1E00F  E
* }1 I/ a+ V+ q* H: F1E010-2000F  F
# W: H( A$ `( e# c* _. s0 O.
1 Q9 U* K- ~1 ]1 c) C.
* F& ^7 C7 c9 r+ V.) k9 J4 H! {; \; z8 U
9 a- U: t. j8 M; I7 R% a2 Q
解释一下我为什么把P ROM 128KB扩容到256KB,不扩容到144KB?8 \. j2 v) ~& o; @. Y( U/ J: A! y
1 @0 \2 Z1 t. v* y8 M2 x, u7 j% Q# t
因为扩到144KB的话有的模拟器是不认,无法运行
% T2 ^; S: x$ L* S& ^" v% Y" K/ v$ N4 |  n- f5 L( R- x
为了全FC模拟器能兼容,所以只好扩容到256KB
0 I% I* \& ]9 n8 P* x
( N$ o) x. y' _# R补充:扩容后记得修改ROM文件头P ROM 16KB数目(地址:0x4),不然有可能引致载入ROM失败或死机
0 n. q/ k4 |+ a  B( y
8 N* ^% Z( }' j* G+ o- l! j8 S

本帖子中包含更多资源

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

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

签到天数: 434 天

[LV.9]以坛为家II

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

签到天数: 3153 天

[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, 2026-1-13 13:35 , Processed in 1.094727 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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