EMU618社区

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

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

[复制链接]

签到天数: 1776 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:20:46 | 显示全部楼层 |阅读模式
原帖丢失了,重发一份。
; C& _+ u; H3 z* ^. L9 Y: K) h1 R
修改内容:
5 v( |5 B/ b) C1.P ROM由128KB扩容到256KB0 {1 J2 B6 _: {% A. i: c8 a. Z
2.按START+B武器数量为99
3 Q  T3 K( r: W3.按START+A补血
: ]  \6 a. Z7 z3 A
3 z" C% z/ s$ N+ A/ x+ M这个HACK ROM本来以前答应某人做个例子给参考一下,因工作忙以及以前用的切BANK方法不完善的关系所以没放出来
9 d" w( x/ G6 u9 G
5 {7 R% u$ A4 r: X) S0 U从原单位滚蛋后就有时间来弄一下, `# a0 X5 l; S8 D" l1 L4 i1 i

5 A$ s$ f" u; y1 x1 x6 R7 U* V# B  o关于如何扩容:在文件头后面或驻留体前面添加一大量0xFF或0x00,有可能或在程式中间添加,在哪里视游戏而定吧,有何规律我也不清楚
4 f% L) u6 y# K# ^# E
/ L9 ]) V1 P6 k6 T$ x" `: T关于如何切BANK:请看相关mapper资料吧
3 c0 a: c4 Q  N; d7 |( U
* a3 Q7 |. C6 w- K$ ~8 g% u. ~说说我双截龙3 MPPPER 04如何切BANK:
  1. - m, T4 j( M- k4 o# e9 a7 f, M
  2. $xxxx0 H; e6 O. W' ?9 h
  3. LDA #$07& H: x% H6 D( R" p1 S# w
  4. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF9 A' k: F2 X! y. r, F3 Y4 S7 p& P
  5. LDA #$0E
    ( r6 i( V5 x# j
  6. STA $8001 ;把0x0E写入8001端口,把ROM的$1C010-$1E00F地址内容写入内存地址$A000-$BFFF
    ' {, T8 O( k7 `3 f- v, x
  7. JMP $A000 ;跳转到$A000执行
    % S8 a/ \' g" o! |
  8. - H6 g3 V# l# G" R
  9. $A000:# H) e: W' H* C1 N0 m
  10. .
    : z+ r+ y7 r7 S, P# u
  11. ./ X. @2 Z" [+ @" m; R0 O# ]
  12. .! [" H) A" f' Z$ f# G( z
  13. .
    ) F$ x' t1 n# ~5 q0 B) v
  14. JMP $xxxx ;执行完自写的程式后跳回去
    * |( C( @) e5 ]/ r8 K8 {
  15. ; v- d5 e( ]0 i( g/ ?- y. _' N
  16. $xxxx:
    + g! c- }# y( e
  17. LDA #$07
    - Z' S$ [- ?) g% q9 s5 d) T
  18. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    2 _% |, i9 e5 k4 j
  19. LDA #$0D
    - N0 h- J4 C3 z+ {
  20. STA $8001 ;把0x0D写入8001端口,把ROM的$1A010-$1C00F地址内容写回内存地址$A000-$BFFF$ E) E. t1 [+ {

  21. " B5 |0 g1 S2 g% Q7 d1 F
  22. 切BANK前建议做压栈操作保护寄存器数据,当切换完BANK后出栈还原寄存器数据,这只是建议1 N7 e( ^! j  p: V$ ^
  23. 5 O7 e# `( V! l- O8 W! i5 s, j
复制代码
关于什么时候切BANK:用NMI中断来切BANK吧(在NMI中断程式中插入切换BANK程式)
4 g. w7 N( J  }2 Y
  e2 e0 u; c* C" I1 L附:ROM 16KB BANK编号
7 \% [0 j* |( _# z+ T+ T! z" v) f
5 @7 D4 ^) }# O; O# ]9 }; O2 UROMf地址      BANK编号+ R: ]$ j: C  _& W* v% [
00010-0200F  0
$ n+ D- Q+ ~. _) a+ N! B4 q9 ]02010-0400F  1
- w* Z; z& `# Y5 i# V  w+ N) o# `04010-0600F  2- K) |4 b( F( J3 |/ B$ z  Y4 d: n
06010-0800F  3
5 k' l; M; o3 ^+ a2 S- J2 G* H08010-0A00F  4
0 ~$ V- A8 k" j! a% R' r. c0A010-0C00F  5
- S# E9 z5 @9 _, L9 s0C010-0E00F  6& p4 g! N0 f7 J- s/ [
0E010-1000F  7
$ m! s* n0 A3 a5 B4 Y- L3 o/ V10010-1200F  8, }6 I& b; i5 w7 D" G3 A
12010-1400F  9
. X" N/ u  K* {  C$ a: e14010-1600F  A. _9 \( U% k5 N6 N
16010-1800F  B
, G+ r0 f( f" x" I; y18010-1A00F  C7 Z" t) Z  P6 X9 W( R" O
1A010-1C00F  D9 M! v& c  }1 t! d2 d% t
1C010-1E00F  E
$ c9 a% E' ?+ X3 N+ {# x2 P$ F1E010-2000F  F
/ T' B- g/ \" N" o4 U! G.) A5 G+ e5 R8 C5 c$ G" ~
.. E* \* k/ E: [* {
.! X" t) N! E8 L5 O0 o" H7 i+ [2 w

7 `& j# H. R5 o解释一下我为什么把P ROM 128KB扩容到256KB,不扩容到144KB?( q1 m( y: f9 h: h
0 N6 X7 c9 j$ z2 |: x
因为扩到144KB的话有的模拟器是不认,无法运行
6 j- f  N3 b" N9 o& [. W
! {( c" n6 N8 P1 u. T为了全FC模拟器能兼容,所以只好扩容到256KB
& ?* v# @8 {$ c" y7 x/ L/ v1 Z2 k% d6 ^; s, k3 G. N1 z
补充:扩容后记得修改ROM文件头P ROM 16KB数目(地址:0x4),不然有可能引致载入ROM失败或死机6 C. f, P# V2 D% s7 ?! d+ g

# H% j! w5 s% o

本帖子中包含更多资源

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

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

签到天数: 434 天

[LV.9]以坛为家II

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

签到天数: 2748 天

[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, 2024-11-22 01:00 , Processed in 1.081055 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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