EMU618社区

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

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

[复制链接]

签到天数: 1927 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:20:46 | 显示全部楼层 |阅读模式
原帖丢失了,重发一份。5 S: M0 ?7 {( \! D& S

! P0 y! f5 J9 P, I# ^) d1 E修改内容:
: X( M0 a4 v7 |1.P ROM由128KB扩容到256KB
+ j) i7 I" T0 q: G, x2.按START+B武器数量为99
/ e- d2 d' }* L, E5 t3.按START+A补血
7 p* o$ b& F& w" {# D
* f9 W  ^; N9 y/ d) |# l  b. r这个HACK ROM本来以前答应某人做个例子给参考一下,因工作忙以及以前用的切BANK方法不完善的关系所以没放出来
) h! f9 B8 M1 F! M
0 y, A+ F2 y. ]) A) D& ]! }从原单位滚蛋后就有时间来弄一下
9 [* V) y4 k3 v/ y5 S1 [2 ~# {  _5 j; P7 C
关于如何扩容:在文件头后面或驻留体前面添加一大量0xFF或0x00,有可能或在程式中间添加,在哪里视游戏而定吧,有何规律我也不清楚
% D7 y" ?. R3 S) M; T/ b0 d# g2 e# q6 m* R# U6 b3 p5 C
关于如何切BANK:请看相关mapper资料吧( X6 X( \% Q$ p8 a+ G
, |. S, h9 H& O, E3 b* {
说说我双截龙3 MPPPER 04如何切BANK:

  1. + R. f2 Z7 W7 f8 v0 Q: @9 G6 D- \/ w
  2. $xxxx0 @) x8 ^  ^' u  n( H7 ?4 `8 V% r- [
  3. LDA #$076 j' R, B: G; \+ f
  4. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF0 p4 }* X) o3 A, I9 g/ O
  5. LDA #$0E
    0 @+ \0 R. p( N: n* J
  6. STA $8001 ;把0x0E写入8001端口,把ROM的$1C010-$1E00F地址内容写入内存地址$A000-$BFFF# u0 D. v7 A: F' z; O: Z) J
  7. JMP $A000 ;跳转到$A000执行
      }" `) R! {$ a

  8. ( F* m$ a4 M# W, F
  9. $A000:5 m, z* e- H% r, F: }! {; `$ E, y9 @
  10. .
    4 D# E9 g) \8 }* [1 K
  11. .
    , y3 Y* H" c: m0 A) P# E
  12. .
    , C  p' |- Q; _2 e! W* C
  13. .* e( O" [8 @  V) o& _" N$ C+ @( }
  14. JMP $xxxx ;执行完自写的程式后跳回去
    2 h* [8 d* g, X4 y# z5 H

  15. % `( N3 \! B0 M" L6 ?$ c! |% S9 F
  16. $xxxx:
    % J0 `% ^' f  t6 ~$ _' p/ T7 W
  17. LDA #$07$ P/ R8 X. \; L* E9 h
  18. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF2 y. W0 K5 B& d2 E# m
  19. LDA #$0D
    ! A# j5 f" y2 _
  20. STA $8001 ;把0x0D写入8001端口,把ROM的$1A010-$1C00F地址内容写回内存地址$A000-$BFFF
    9 N, g! o, j  a6 a  K

  21. " g) |' G; R8 Q' K/ S8 |
  22. 切BANK前建议做压栈操作保护寄存器数据,当切换完BANK后出栈还原寄存器数据,这只是建议
    8 P* E% A* d" \; r2 \/ ?
  23. 2 Z' A1 Y: {6 L5 Z0 [
复制代码
关于什么时候切BANK:用NMI中断来切BANK吧(在NMI中断程式中插入切换BANK程式)
5 L7 G$ E; ]5 c) d% o, H; P5 Y! N7 b+ K
: y) P# R- k2 h4 Z附:ROM 16KB BANK编号
+ V" n( C- J1 k6 ^/ @4 t) P$ q
& [% B5 |, @" Z- ?. pROMf地址      BANK编号, ~% B, J' S3 [6 s" \7 q
00010-0200F  0
7 c6 A4 |5 X& x02010-0400F  1" E) d+ z* M" b% Z
04010-0600F  2
' `  a" a1 G; ?! x( F06010-0800F  3
! V4 K, R* P7 K5 @08010-0A00F  43 h6 P( F& S2 W6 M
0A010-0C00F  5
6 I3 k/ y% ~: P; L  `0C010-0E00F  6
  R, c+ X- p7 s* Y& ?0E010-1000F  7
5 w' v5 S) ]3 ?5 l' m0 I, v10010-1200F  8
% }( J- b( n0 G$ k. f+ {+ x12010-1400F  9
2 d$ U$ @# K& g3 m3 r14010-1600F  A# n5 Y  O/ h& r& t& ]2 G
16010-1800F  B
0 k/ @, c4 o" s18010-1A00F  C
3 l: |1 r2 w" Y$ }. r0 N# ]1A010-1C00F  D) c: P- ^: p: }% x" v' W6 D2 {  y# y
1C010-1E00F  E
* n% K! u2 D; j7 T( _/ v* ]1E010-2000F  F0 o6 Y# Q) s0 q1 K7 ]
.
; _- `5 U% G+ u3 j.- o4 Y3 Q3 Z& n
.' W: ^2 ^8 |; g) u

( M/ O: w, I$ D% s" X2 a解释一下我为什么把P ROM 128KB扩容到256KB,不扩容到144KB?- w/ |2 S! [3 X: z: l( S# ?+ ]

: N  [  l: ]3 p; i8 J因为扩到144KB的话有的模拟器是不认,无法运行" z0 r+ n/ e$ @( Y
: t2 s& M8 m8 F2 l/ w
为了全FC模拟器能兼容,所以只好扩容到256KB
% L& M2 Q- [( Q2 U
* V8 E- {$ V( s4 {补充:扩容后记得修改ROM文件头P ROM 16KB数目(地址:0x4),不然有可能引致载入ROM失败或死机2 ^8 s# k" E9 G- L

% @- s' V6 g2 A8 _0 Y% G

本帖子中包含更多资源

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

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

签到天数: 434 天

[LV.9]以坛为家II

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

签到天数: 2900 天

[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, 2025-4-22 13:26 , Processed in 1.135742 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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