设为首页收藏本站

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

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

[复制链接]

签到天数: 1995 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:20:46 | 显示全部楼层 |阅读模式
原帖丢失了,重发一份。' Y# D% t$ X- _* v0 M7 M

, R5 E6 u/ ?5 D; R修改内容:
# m% ~8 P+ E/ J. H% }7 Y+ w1.P ROM由128KB扩容到256KB
% l" G9 }& H4 T- m2.按START+B武器数量为99
; l+ z! P5 l3 R) R9 f3.按START+A补血5 ]0 D( r* p. U7 F
  ^3 z9 `/ T  N& |# E7 G, R4 m
这个HACK ROM本来以前答应某人做个例子给参考一下,因工作忙以及以前用的切BANK方法不完善的关系所以没放出来
; F4 H0 M0 B: U, e1 Y
& D6 _3 [& \0 C9 @  G/ @3 ^从原单位滚蛋后就有时间来弄一下
# n8 N! Y+ ]- `4 R' F1 v: x: b- g, ^0 r9 N: G9 V
关于如何扩容:在文件头后面或驻留体前面添加一大量0xFF或0x00,有可能或在程式中间添加,在哪里视游戏而定吧,有何规律我也不清楚
" o3 L  I) v" k% j* C1 M- t. i" Z
关于如何切BANK:请看相关mapper资料吧/ T1 \& M8 i2 b0 m  [
  c! |: v8 e/ W- Z  v, E
说说我双截龙3 MPPPER 04如何切BANK:

  1. & s6 Y9 G" P, Z# X  a. |) o
  2. $xxxx+ Y+ R9 i, `# ]0 u, E' y
  3. LDA #$07# R  `; h3 R- X* N
  4. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    $ g# m3 l: f) Q$ c
  5. LDA #$0E% D& C  b/ _, a1 \/ k. {
  6. STA $8001 ;把0x0E写入8001端口,把ROM的$1C010-$1E00F地址内容写入内存地址$A000-$BFFF
    0 N5 Q: a, Q# i. I$ U2 g' ~
  7. JMP $A000 ;跳转到$A000执行6 w- V1 g' A0 t7 W. {

  8. . D* j- h) h+ }( D) a: z6 `
  9. $A000:+ t$ v8 q+ d) _  R( M) X: p
  10. .$ C' a; [: T  x, \* I
  11. .
    1 q, `% Q, x4 M' |% ?9 g
  12. .9 m8 O% d" E8 P0 y, f$ U- G; B6 s2 V
  13. .
      d+ V" ^; q5 q; [/ W
  14. JMP $xxxx ;执行完自写的程式后跳回去
    3 f/ j* t! Q0 \* j* ]6 W8 m6 ]
  15. 5 `/ \3 l5 z2 o- t: ~3 M
  16. $xxxx:
    / \! w3 q1 M: b, ~6 |
  17. LDA #$07
    1 w5 B6 u( r- d7 ~' c) a
  18. STA $8000 ;把0x07写入8000端口,选择要切BANK内存地址$A000-$BFFF
    9 [& Q3 i. D/ |7 s/ ]& w
  19. LDA #$0D" h4 c5 W0 c6 N6 L3 G
  20. STA $8001 ;把0x0D写入8001端口,把ROM的$1A010-$1C00F地址内容写回内存地址$A000-$BFFF
    ; D* i. `6 F5 N
  21.   y4 z& H9 H1 p
  22. 切BANK前建议做压栈操作保护寄存器数据,当切换完BANK后出栈还原寄存器数据,这只是建议. z" J( N7 w7 w5 t5 S% v% H
  23. 5 [; v0 m2 Y6 M. k# e( K8 r/ ]
复制代码
关于什么时候切BANK:用NMI中断来切BANK吧(在NMI中断程式中插入切换BANK程式)* r6 T2 a4 ~3 X  P" Y" Y( Z% r5 r
: Z" ]6 h& _6 Q1 p: H- g* f3 h
附:ROM 16KB BANK编号
+ G$ b0 G' `7 x; a, F& d, C
( ^6 z- P" ?& o& \ROMf地址      BANK编号5 I1 f+ [, q4 l' G5 Y
00010-0200F  0
- E1 s0 x: ]5 \+ U& e# K4 A" d02010-0400F  1. P+ [( }2 x3 s. ]; z
04010-0600F  2( x8 }1 {( q- P! w9 B
06010-0800F  3
/ j8 [  ?0 @+ `+ ?% Z! F6 W08010-0A00F  4. p4 N) `- w0 r; H  B: b3 ]* x* H1 u
0A010-0C00F  5
8 C% Q% E. u" M  |0C010-0E00F  6+ a+ q$ @: ]0 {3 [
0E010-1000F  7) p1 I( i$ C' F) I5 I1 c' e
10010-1200F  8
( A7 p( K  F! `5 A# U12010-1400F  9
5 f8 Q+ j/ @" j3 a; K14010-1600F  A; c+ X/ \& S. ^- W; C) L; s
16010-1800F  B" R8 \3 m4 p" w% g( @' q( G* a
18010-1A00F  C
- v' ^% g# f  B" P9 g1A010-1C00F  D
* J. `' x( _: K% S+ E1C010-1E00F  E
. C8 x# P' R  m/ i8 n1E010-2000F  F
1 [( H! `7 u; Q7 ~+ r& Q1 p." N2 C- M. a; ~/ q* P
.( g9 Z5 r# S: p
.; {1 V4 o0 m  D. H5 M

& @5 `5 y- S6 i8 O8 I. ~解释一下我为什么把P ROM 128KB扩容到256KB,不扩容到144KB?# a2 W# s2 p8 M
$ T6 z8 P6 `  e: o2 O3 U
因为扩到144KB的话有的模拟器是不认,无法运行
% O/ c; z5 x2 G8 i% v
* Z- N1 u2 x- G为了全FC模拟器能兼容,所以只好扩容到256KB
# u0 E' n: B6 U
6 V( z: z2 l8 X; b% z补充:扩容后记得修改ROM文件头P ROM 16KB数目(地址:0x4),不然有可能引致载入ROM失败或死机
' x' |8 X# k& g6 l! G
: M. }8 t2 f- N7 x

本帖子中包含更多资源

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

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

签到天数: 434 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 2966 天

[LV.Master]伴坛终老

发表于 2013-10-24 19:29:43 | 显示全部楼层
这个。。。只能膜拜了。
[发帖际遇]: 天迹云间踩坏了花花草草,被罚款4 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 594 天

[LV.9]以坛为家II

发表于 2013-10-24 19:36:57 | 显示全部楼层
支持了 如果能把圣火徽章外传日版扩容就可以中文汉化了吧 这是大功一件哦 先谢谢了
回复

使用道具 举报

签到天数: 882 天

[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-6-28 04:45

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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