设为首页收藏本站

 找回密码
 立即注册
搜索
查看: 3223|回复: 54

[原创FC/FDS-HACK] [FC][最终任务][END选关]

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑 / T. Z* F/ }8 D" \

; `) G0 v2 o2 B0 ]6 e4 `    [FC][最终任务][END选关]/ t8 @) @& A( t; d
4 J" ^' y' E" F. p& L" j' c
时间:2017.3.29/ P7 H4 }9 b7 \3 {
作者:FlameCyclone' e1 y- D* K7 M" h/ O
内容:
6 ~+ W4 X, D0 {" _0 |% G6 q9 g( h    1.关卡选择:   标题时,左或B减,右或A加(1-5关);
% Y! {+ K6 p& c1 C( j0 R+ l  A3 M    2.无敌锁定:   暂停后,按上键切换;
- Q# @" z8 ^1 _6 p( T# @    3.生命加满:   暂停后,按下键切换;& h1 p8 T  f0 M, D: I
    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);# ^- q: v! X1 D& w
    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);
. N. D7 s) v! I2 F( a    6.B弹数量:    暂停后,按A键切换(1个或2个);
% M5 C! k: H' L, e% q! `    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;# n  P) ]+ u0 C* {
" ?, {7 @- Q2 u, ]" C
% [6 K. v4 J9 D2 h! k

; W! s9 l7 ~6 s. D& |6 D+ F3 _3 M/ `# W+ J* Q9 S

2 Z( p# ^. u1 d1 n* Q) s5 k. U8 p; R7 j' A5 J3 |- q
游客,如果您要查看本帖隐藏内容请回复

2 E2 r1 z: X4 Q: V3 i! L$ g! `0 _FlameCyclone.ys168.com
0 \8 ^+ K5 Z# y0 qwww.nesbbs.com
  1. ;[FC][最终任务KEY][END], o- R$ C+ b: |# X( r- w+ n
  2. button = $04    ;单次按键- U6 p  p8 P( D8 Q/ i
  3. flag = $6000    ;功能开关标志
    3 k+ l" T1 d6 b# T  w6 ^) T
  4. pause = $000E   ;暂停地址! M; D+ x8 U4 T' J

  5. $ I+ m0 J/ i4 l/ n
  6. .ORG $8000
    3 T; U" s  h( F
  7. LDY #$08    ;自带的按键程序
    5 M% G  J5 K- T
  8. ADDR8002:
    ! V* }3 Q' m& \3 k* L# L" l
  9. LDA $4016,X
    6 _* G! l# l2 J0 y# H6 ^: c
  10. LSR; V1 I- |1 U, @4 ~4 J8 p3 Q
  11. ROL $0021
    - c- f5 C; R; a) M& l$ {
  12. LSR, w/ l$ l! Q. H
  13. ROL $0029
    1 U9 c3 r/ d! t% h+ Z2 y% O
  14. DEY
    ) U4 o8 P, s! d5 _2 P, ^
  15. BNE $8002
    ; j, r4 n0 M5 {' v$ G5 B) C8 w
  16. LDA $0021! _# [& W% F+ ^' p7 b, i5 Z
  17. ORA $0029- D. C# l, c4 U/ J
  18. STA $0021
    3 ~8 l+ |8 i0 r) }; s$ V
  19. LDA $0020/ k1 [" Y" ]2 D% W& g7 q
  20. AND $0021/ S' q7 v8 G1 X& p2 p) G
  21. STA $0020
    : [" l9 ~1 @, y8 W: p# l
  22. LDA $06,X
    , k8 ?! b, a) t( B5 `! N: t3 I
  23. EOR $0020
    ; D% n& X3 l$ x4 z7 R* F
  24. AND $0020
    . U5 A5 Y( i0 N0 _( D/ R
  25. STA $04,X
    8 A" E, x- E$ b- B7 u( U3 [
  26. LDA $00204 M2 A. Q; @. e+ {
  27. STA $06,X
    , {3 |9 f5 Y& S  |0 M
  28. JSR KEY_OPERATE
    2 K! A' B6 [% x! h  J
  29. JSR Function    ;功能调用; `9 s9 t( C6 `) S2 y! D
  30. JSR Weapon    ;武器切换调用
    ( b% |$ `5 W5 ?7 b
  31. JSR Power    ;威力调用9 _& d8 b0 ~* Z9 {" z$ k/ v
  32. JSR BULLET_NUM    ;子弹数目2 \$ Y' X# v& r% B# t2 g$ |9 [
  33. JSR BULLET    ;副武器类型4 R: T& m% j3 u1 U- Z
  34. RTS
    & M0 _7 b3 [: r2 m
  35. 4 V0 r* ?7 f0 n$ C9 ^2 N5 {* T

  36. 3 R% r8 \( C8 k% B
  37. , S4 G: _0 ?6 y& K, |1 I( q
  38. .ORG $8050# u; ~" d! T- ]' ~8 e
  39. Function:    ;功能" e! V7 t% A) S2 b1 d  U( B* t
  40. WUDI:    ;无敌4 [; X" N# j# ?- z7 S
  41. LDA $6000,X, Q9 G2 |9 b9 H; v; e
  42. AND #$08    ;开关判断
    * I6 \5 e+ R) l* K  |, b
  43. BEQ LIFE3 ~& x3 ~% ^. R
  44. LDA #$050 ~, q" H: Y! [. G2 I; r
  45. STA $05DC,X    ;无敌锁定
    " O% c# |" f( a/ |- [! B: @
  46. LIFE:    ;生命
    9 r: A4 m6 P$ X3 O! f
  47. LDA $6000,X
    ! a8 o- D+ Y# o5 f
  48. AND #$04    ;开关判断
    * N2 |" e7 e* F; z9 p9 w0 s/ E/ a
  49. BEQ FUNRTS
    4 `& q0 {$ b* a
  50. LDA #$05! J: S9 U; {6 n
  51. STA $1C,X    ;生命赋值
    / q- N& i, @3 v) H( w; ?9 e
  52. FUNRTS:. @+ P. r8 R( R3 a: p; T% h
  53. RTS5 Q* \$ N3 L2 e6 r$ w2 U2 \2 J) S

  54. : ~! G; n6 x' Q% q, K5 l8 Y/ O; F
  55. Weapon:    ;武器切换3 w" q- p; J# b
  56. LDA pause    ;暂停状态判断$ f$ y5 z$ Z4 b' H1 X
  57. BNE WEARTS$ s1 w7 j" A2 H0 v  Q+ {& `/ [9 b
  58. LDA $04,X& d) Z, X; R% |( J1 M* |% ^0 f, V" p. `
  59. CMP #$20    ;选择键判断- l8 s# |8 J/ J9 E/ f
  60. BNE WEARTS/ D6 ]: o, o! M- P
  61. LDA $12,X% B  w* g9 f3 w" |' |
  62. CMP #$03    ;武器值判断
    . @: w0 V! V  R! x2 Q# I1 W9 d5 q% P' J, f
  63. BCC WEAINC$ y9 c' C* b; W$ ?3 ]8 |, t
  64. LDA #$FF, p. R3 _9 d; o  i) p
  65. STA $12,X    ;武器重置
    7 D( k, H. V: _: h8 N2 R6 D! p
  66. WEAINC:* y3 ~4 Z, q) u
  67. INC $12,X    ;武器增加
    7 Y" s* j' w; y( c: h* e

  68. / L  s. n5 `# H  T  W1 E
  69. WEARTS:9 G! Q9 q" Y& m5 F4 l3 T, E. Y
  70. RTS
    9 K9 c% s: b# B! X* S; l

  71. , C& Z0 N8 d" b5 S7 f" \( Q! ~
  72. Power:    ;威力
    + P1 L* E9 r! z9 ]- h+ `3 \
  73. LDA pause    ;暂停状态判断3 X0 K3 X3 I" G2 _0 M
  74. BEQ SPERTS- \+ k. }3 A! a$ E: q2 b
  75. BUT_LEFT:  X# u0 g( a+ [8 i1 Z
  76. LDA $04,X3 Y8 T$ d9 y6 ~. H/ a
  77. CMP #$02    ;左按键判断2 I/ N0 U& c, x
  78. BNE BUT_RIGHT
    # v, {" D6 ]5 o" C( i1 o! b  j
  79. LDA $88,X
    ( C/ _1 S, S4 s" p# p: }
  80. CMP #$00    ;威力判断: C9 G! p1 n0 f3 f2 G" h2 \  _
  81. BEQ SPERTS5 s6 p9 w$ H& ?3 H4 t: [& U0 N& x* D
  82. SPEDEC
    + r0 C% _  @+ o
  83. LDA $88,X    ;读取武器值/ T' |, q9 \9 Z3 W# _
  84. SEC
    0 @$ `+ I# U1 T% A
  85. SBC #$08
    4 B- h, g9 [  d  j
  86. STA $88,X    ;威力减小
    9 Y; R  }  N/ |9 t
  87. BUT_RIGHT:
    2 F; v1 V+ n6 C! f
  88. LDA $04,X
    0 S: K5 X9 w* s4 f
  89. CMP #$01    ;右按键判断- H( i/ ?5 `4 a+ R$ m0 V1 N
  90. BNE SPERTS+ S. L* z5 y" U) T
  91. LDA $88,X! w- T5 ?" R  G1 J
  92. CMP #$10    ;威力判断
    * G' n' c* T5 p* s& d; T
  93. BEQ SPERTS
    & b5 L+ b. S6 R& M
  94. SPEINC:* A: {- w$ ?- E( D3 ]
  95. LDA $88,X    ;读取武器值
    ! [0 s! J: B9 w0 `, A
  96. CLC
    ' _- R: ^; e7 p! m0 \
  97. ADC #$08
    . ]2 `, [/ N1 d% Q: D4 W
  98. STA $88,X    ;威力增大, T3 j! W! N, q, @6 p8 b
  99. $ L; R) K2 d) {' T) K  P
  100. SPERTS:
    7 _3 ?6 Y, @9 W" e, k
  101. RTS- k$ h! t; k- p* W& X- j. |
  102. ! D, F- B: T5 b
  103. BULLET_NUM:    ;子弹数目
    ' e* f7 M% m& ~4 V! T; d
  104. LDA pause    ;暂停状态判断2 r* W4 A% Y' B* [& N5 J
  105. BEQ BULRTS6 A' ]2 ?+ A! \& Z5 N+ i
  106. CPX #$00    ;主机玩家判断
    & x! F4 w8 m5 R% h
  107. BNE BULRTS) }6 A% ^+ C5 z  o
  108. LDA $04,X    ;主机玩家判断; m0 U1 l; C' z, L$ z  T
  109. AND #$80    ;按键A比较
    3 E# F, G! u5 X; z
  110. BEQ BULRTS
    6 B, h2 M7 K. d8 _0 S
  111. LDA $87    ;状态判断
    3 w" \8 g9 }" \1 F" B" S
  112. BEQ BUL_2% v# X1 R6 T5 A2 G
  113. BUL_1:
    7 G9 J! N5 p4 W, C& }6 X7 ^; T
  114. LDA #$00
    0 ]/ `* e( Y! W! {/ k
  115. STA $87    ;1发子弹; H8 i% n7 H0 Y5 R
  116. BEQ BULRTS
    ' u; ?8 u" z& o/ i6 v- \" J
  117. BUL_2:
    2 i  K! H; [, i  O! G3 b% e8 {$ p
  118. LDA #$01
    2 @' d1 |. y" H+ `
  119. STA $87    ;2发子弹" ]! N7 G  G( J2 F2 u+ G
  120. , b4 K+ U  J) k. q6 M
  121. BULRTS:; F5 {' m, `, ]/ v. l5 z1 Q
  122. RTS) [5 d* R. j" x  N- P
  123. # \9 u. r  G. ^% c
  124. / p; T. `) i8 E7 @( z
  125. BULLET:7 Z9 X7 e+ ~3 l0 D
  126. LDA pause    ;判断暂停状态9 `" F: ?  C9 g. ^6 c0 s
  127. BEQ BULLETRTS+ h, K, m* b9 s; B2 ]
  128. LDA $04,X, Z3 z" y% S& c5 j3 Q9 R
  129. CMP #$40    ;按键B比较1 K& z$ q) ~$ v% C
  130. BNE BULLETRTS
    7 y# A' L( x% j3 z! D. h. ]
  131. LDA $6002,X    ;读取副武器
    * N7 ?9 M) y0 g
  132. CMP #$03
    7 a' i3 X3 ]7 Y, j0 l! N  t$ T
  133. BCC BULLETADD
    , R8 N8 b9 x0 q; l% I3 k; U1 [
  134. LDA #$FF
    ( R9 a# D9 l. t, k" B
  135. STA $6002,X7 x( t9 V9 I; t  b( I
  136. BULLETADD:
    & ]0 ^5 K- a9 A% E& C
  137. INC $6002,X
    & M$ j; H  i1 u* m# q
  138.   R7 [# J8 @& G+ P
  139. BULLETRTS:  ?0 y+ L4 d6 W4 x
  140. LDA $6002,X
    # |+ F- W( k1 ]1 ]
  141. TAY7 u( v$ J3 _1 c5 L
  142. LDA BULLET_DATA,Y
    : D7 l3 m2 _/ q* z
  143. STA $6004,X    ;写入副武器数据# X7 Y# P( w' }% Z0 l% u* B
  144. RTS
    3 h2 I4 r' j" _) M# i$ ~' _
  145.   C4 y) \4 ]7 x

  146. 8 f" t4 Y5 R# x# D* B  W2 d
  147. BULLET_DATA:: J! e5 @1 b/ c3 n3 y  @( r4 [* E
  148. .BYTE $06,$02,$03,$045 O+ K) A4 i$ k2 N

  149. # ]; D' {- E0 a4 n

  150. 9 b+ w! l- w* i3 }; x- G+ k8 H$ `- K

  151. 7 D2 Q( C7 ~. w/ F$ g/ c
  152. KEY_OPERATE:    ;按键开关操作
    # G% O" J- t' j1 G
  153. data_protect:    ;数据保护
    ( e1 a9 w. t- ?# m/ X; H$ p1 y6 b: X
  154. PHA
    , H8 D; i9 d7 N3 \- q" G
  155. TXA: d& u' v, L# N7 R% v# d
  156. PHA
    & O$ p, O& Y; \& `
  157. TYA
    ; e- g5 d2 T- `6 {+ D
  158. PHA
    2 ~- i% m6 @# W/ p2 s' B) D
  159. . q2 E9 P  s- I( p+ `" X, f
  160. FLAG_INI:    ;开关标志初始化
    ( B6 K. t9 ^  f  y* j

  161. 1 C/ V- q6 L( M
  162. LDA $600F
    9 E0 s; Y0 s6 y7 I
  163. CMP #$01
    ' B9 I5 q2 D8 J, l9 ^. k
  164. BEQ pause_cmp# }9 ~6 u- i6 G- r6 J7 j+ K% c
  165. LDA #$00  U9 y8 i5 u% M# R$ G
  166. STA $60007 Y0 T6 \! n4 o( o! A
  167. STA $6001
    , c0 P; t4 e1 V: ]3 c
  168. STA $6002
    % e& e- U" X" P; \" i0 {
  169. STA $6003
    1 {, v" L  b7 T' _* P) Q8 \2 U. V
  170. STA $6004
    0 r' |  o" z# {( `/ p3 Y
  171. STA $60056 D% }; p/ b8 ]
  172. LDA #$010 ~7 A& Z% E. B! V, _7 N; a
  173. STA $600F
    0 v. H, x7 I% f- h

  174. ! j7 d, U% |8 {7 I
  175. pause_cmp:    ;判断暂停状态  w* Q/ N# M. a5 i% H
  176. LDA pause5 e6 V, h; c3 B8 p
  177. CMP #$01    ;判断暂停状态! ^/ F- O& i# V9 i( g$ e! d
  178. BEQ button_press/ R; C5 q7 W  s, }" o* c. k
  179. PLA6 _. p  k8 J9 I8 r# W7 b
  180. TAY
    7 {$ |) Q  B8 x- u2 W
  181. PLA) U) E. i8 f% P# Y
  182. TAX0 g5 L) ?2 H% p/ K7 J. Y. h. B. {
  183. PLA
    6 w; Q: W# [4 i+ U
  184. RTS# t6 }/ R  j' a( ]* a' G6 c$ ^

  185. " ^: Z2 }* O1 h, C4 L: v
  186. button_press:    ;按压操作
    * L$ k- F( }( h0 \
  187. ini_Y:- c* w$ e3 m& y5 C8 I
  188. LDY #$000 ]2 Z1 P0 B( A9 o( z$ p4 O5 j
  189. button_cmp:
    4 E) |! H3 P+ X; ^7 d9 b
  190. LDA button,X
    0 e+ R8 ?3 A5 t; ?: p
  191. CMP ora_data,Y
    / E- w; R, q9 ^8 Z6 n+ t
  192. BNE count_Y_cmp3 w/ A! S/ d( X3 K
  193. flag_cmp:( R+ k5 A$ d4 O& P6 X- f4 b, b5 B
  194. LDA flag,X# p7 Z2 m2 q( ?3 Y7 V! Z2 _) g  r
  195. AND ora_data,Y
    5 R8 T. [- |" p5 X- D$ Y
  196. BNE flag_and
    , B) V: W$ }# J5 ~2 j9 u
  197. flag_ora:' r8 U2 P8 ^' I( G
  198. LDA flag,X
    ( ~* w$ z7 p, w
  199. ORA ora_data,Y! T8 O' `7 k% u2 R1 s) N" t/ \
  200. STA flag,X
    9 V; C' x7 ~5 W
  201. BNE count_Y_cmp. Z0 m2 `# j: |( i) w' Z5 Q0 K
  202. flag_and:
    3 `6 f0 d; r( N7 A3 n& H: @. A+ V* R
  203. LDA flag,X
    ; N$ G: x) D' e
  204. AND and_data,Y
    0 w' R! i6 V3 U
  205. STA flag,X" P7 s* g/ f, d+ T
  206. count_Y_cmp:- T" e- Z7 s: a
  207. INY
    : [; A, J) X) ?9 u- @/ {
  208. CPY #$082 ]1 R+ n4 g' L5 S3 p9 ?
  209. BCC button_cmp  ^5 |/ U) l; t0 C& L! C

  210.   F' p3 K- K6 I' P4 j
  211. data_extract:    ;数据恢复0 N+ S2 ~4 A8 r& W
  212. PLA
    ' H! A: h, y1 h# F# `2 k
  213. TAY3 _! \! @( D7 |/ [" p$ E# I8 |" O
  214. PLA+ y2 F9 P$ w1 Y7 p
  215. TAX
    : E( C- e% t2 G' e$ x" P& L
  216. PLA
    : H$ I# N4 H% o3 l, q
  217. 5 [, T+ R$ B+ w' c  ^/ p+ ?
  218. return:
    ! z( \5 l9 N6 W4 H6 y( Y2 ~
  219. RTS
    / a) p. Y) K7 |& x9 r  x; C+ _
  220. : b" e9 {$ t& h* `7 n
  221. ora_data:   ;按键相或数据! v+ o; @& a$ a' D
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
    4 ]# Y8 i' f, O& n
  223. and_data:   ;按键相与数据. u4 C: H9 ^3 K- e+ v1 R
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF! t4 F! s' K# O' s+ [, q
  225. 6 r" d0 n: U+ _- K' J7 k; O; f

  226. & @7 k- O5 H# `7 L* y

  227. 3 L( S$ e! ~6 \- r0 b, t
  228. 8 v, O0 A/ [) X0 M

  229. , r: z/ Z' T& z) z  R; [, f8 r
  230. ) |& ?; H; @- T2 i# k$ g* L

  231. . H& B( f* m& b. P9 p: u3 o

  232. 0 f& F' R4 Q: V4 y
  233. 3 k" v- B, t. s- w$ ^
  234. .ORG $C264    ;自定义的MAPPER2切页程序- {/ n% a' I) m
  235. PHA
    9 ?' b0 N0 l3 F3 W
  236. TXA
    . R  U* P0 n6 i
  237. PHA' S3 K; X7 y: X! l1 H5 Q6 V7 f8 g
  238. LDA $00663 @/ ]; `1 w: M- x. @& i1 g& D
  239. BNE ADDRC2807 e& _% N' P) `3 b! ^! o
  240. LDA #$079 P" h& h# e+ q0 b. j  |
  241. LDX #$038 n  S" k: g2 [0 L
  242. JSR $CD9B    ;自带的切bank方法# _4 a( N" l: m" D, A* o6 a  `
  243. PLA, ~: n1 ^% N- T% Q- n  |3 i
  244. TAX
    , ]: Z" A* @2 |$ V
  245. PLA
    , n6 N" f' ^- L: v  g% S
  246. JSR $8000
    1 U1 T' k8 _# ~0 ?6 o
  247. LDA #$06
    8 K  Z/ z7 s( S, f8 i- |; ]1 {
  248. LDX #$03
    6 m( K: c7 s# c/ i3 O/ [% N* _
  249. JSR $CD9B    ;切回原该切得bank(可以不用)
    * U8 _& M1 r6 p- ~$ B7 b
  250. RTS
    / y& z( |  j1 x' x4 O. `
  251. ADDRC280:
    3 H  q. u2 E/ [6 H; S( o
  252. PLA/ a  r" t) H9 {& [
  253. TAX
    8 P5 ]7 y: j+ W" {. x# D+ Z' ~
  254. PLA
    + t( o& i. a! S1 h* f4 z5 {. p
  255. RTS
    8 y/ y6 h  E. o- S4 V* R  [1 Z
  256. + {2 g4 p: W, x5 C5 t# Z! Y7 i
  257. 2 W5 E. u$ p& S6 k
  258. ;[FC][最终任务PPU][END]
    / H& _' P6 x  \6 A- u
  259. .ORG $C056    ;跳转到PPU重写程序3 C8 W, [; N, G5 w2 Q  |1 x9 c
  260. JSR $7000
    " N4 s, {$ w2 f( E
  261. # ^% M% ~# T! l
  262. .ORG $CEBF" C% U- l- D8 A0 i3 @& G1 ^# M
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入: q1 ]3 W& d' x5 L
  264.   0 B8 r; \4 O3 Z* C2 \6 e8 `
  265.   .ORG $E460/ X6 y1 Q  S3 v) M1 [  G3 \- U
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入6 g1 E% m! i+ p2 T* U
  267.   4 h: y, ^3 b+ u/ a. H1 Y. [* }
  268. .ORG $71F0
    6 i" F& t" @+ H. s- `( |
  269. STAGE_DATA_WRITE:
    / C7 q9 ^3 Y$ D0 j' k* l6 e
  270.   LDA $6010- {8 [" X& f* f" T: p
  271.   STA $1E    ;关卡写入
    ) }) C4 U5 w4 R% B- y+ X
  272.   LDA #$008 R/ X1 E8 J# K" z- B3 @  u
  273.   RTS1 w  h& A/ _8 O% l/ r
  274. .ORG $71C01 x3 M! X) C7 L: P0 H, i, R7 i8 G
  275. BULLET_DATA_WRITE:    ;副武器数据写入
    ( m0 v3 F7 f. g8 m4 ~8 p. k# H; r
  276. CPX #$0E$ Q0 q- j. s! f# B* ?9 _
  277. BCS P2_BUL8 k5 i7 M2 q0 g5 t* x* g& f3 U
  278. P1_BUL:9 q0 ^& c+ ?! v
  279. LDA $6004
    ! h% W& _6 W' Q% F
  280. JSR $D7D0    ;P1副武器数据写入, U% Q. g7 `/ |& b; c' a! Z1 n- B
  281. RTS
    : e7 q2 q) g' x  x) t( \6 F; o0 V  }
  282. P2_BUL:
    - \* U7 _; `# X. M  h& f$ p; R
  283. LDA $60059 l% c. R7 D( I, C) q
  284. JSR $D7D0    ;P2副武器数据写入9 d1 \; c4 V  o) b# `& w1 G
  285. RTS% L: y1 ~5 J9 d
  286. ( g8 z$ `  ~9 l7 F9 _

  287. 3 J; P0 k0 K$ \
  288. .ORG $7000
    / v3 w6 G( `* m& t% P
  289.   : \1 j# Q+ @$ |7 Q
  290. STY $4014    ;补上覆盖的精灵写入指令
    2 \# M5 E- ?, C0 U6 g& {: y
  291. PHA
    4 L( q4 F- q2 k
  292. TXA$ ?9 u4 `  j+ b4 [$ f( g
  293. PHA) {! ?" `! R1 j- ]
  294. TYA1 `( R* K8 f: C4 Q9 l. X
  295. PHA
    1 \, H6 k5 \% W) E, _, x
  296. LDA $0C
    : m  e+ ]7 `; `4 p* @# F
  297. CMP #$01    ;比较是否为标题画面
    1 a* ?7 m& z0 l, P7 s
  298. BEQ PPU_STAGE
    * s. a. u, [7 p; h4 R( ]" u% J
  299. PLA
    & ?$ h+ l1 f( h4 p2 l
  300. TAY
    % o+ g0 _. ?5 d
  301. PLA
      _+ v8 Y9 f  v& Q0 A9 Y/ n! c
  302. TAX) S" a8 B+ ]. \6 x$ y
  303. PLA
    - h% G1 _4 g' l. P+ p# R: c8 O% E
  304. RTS4 \$ y3 \" G. s/ R
  305. PPU_STAGE:    ;STAGE显示程序& u$ i" X1 l3 m+ j* F2 G* J
  306. LDA PPU_ADDR_DATA
    # x: d$ K8 b$ t
  307. STA $20068 E& c, w- ^# }1 ?5 W: W7 w0 u
  308. LDA PPU_ADDR_DATA+1
    / }( z) A5 R* i# D6 H  p' F, l
  309. STA $2006    ;坐标设置4 d: P8 F9 i. c. d, D; n5 Y( v+ B
  310. LDX #$00% x: }$ Z: T1 W# g% O( k4 Z
  311. PPU_STAGE_WROTE:    ;写入STAGE字模
    $ r( D% `3 I$ d: K9 U! Y. O
  312. LDA STAGE_DATA,X
    7 J- K2 k: B( m5 S. X! R) P
  313. STA $2007
    6 `; ], E  r7 R9 P0 {
  314. INX& g. N0 a& a; m2 L: s& _1 R5 t
  315. CPX #$066 I4 ^* f3 h$ v) S
  316. BCC PPU_STAGE_WROTE
    ; w7 J# I$ \8 `7 R  M( P  n! J
  317. LDA $6010
    " g9 k* Z% b; Y- R. N1 j
  318. CMP #$FF    ;关卡数据初始化条件判断
    3 \5 P7 S/ E9 _4 H& o! q. N. ~( G
  319. BNE KEY_B
    9 _/ m( K  N3 p$ {
  320. LDA #$00. n! u2 y; C, A9 G
  321. STA $6010    ;关卡数据初始化
    * S" @5 E  x" j
  322. KEY_B:    ;关卡减少
    $ M* T4 x0 a$ G3 K
  323. LDA $04
    . F; F1 _5 r0 \! [) ?( L
  324. AND #$42    ;按键B或左减关3 Q! e' g0 z1 h# e* \
  325. BEQ KEY_A
    % Y/ [3 m7 y0 ^/ P) K
  326. LDA $6010
    . D2 z. F. ~, K3 k  G% D% ?
  327. CMP #$00    ;关卡比较7 J) w" l# p+ e, R; @
  328. BEQ KEY_A$ I6 f3 i& {% B$ Z
  329. DEC $6010   ;减关
    . j8 G7 U4 ?/ l. X+ i
  330. KEY_A:    ;关卡增加* t' L/ O1 A8 u% G3 i
  331. LDA $04& t1 Z0 l+ t) O: C5 `9 P6 {
  332. AND #$81    ;按键A或右加关
    ! K" a$ g0 ~. Z5 R1 x7 M, u( b+ h
  333. BEQ PPU_NUM_WRITE; F& N" U7 `+ U. C- Y4 B# V+ D0 r' O
  334. LDA $6010+ }0 b" c; I6 p, o
  335. CMP #$04    ;关卡比较( L# E% C1 a. Y  L1 Q0 N) n
  336. BEQ PPU_NUM_WRITE. J7 F* Q$ h, ]. ]
  337. INC $6010    ;加关) S2 i$ _6 A0 v' A( B
  338. PPU_NUM_WRITE:# Y: e$ P% K3 P. N2 u/ c8 w
  339. LDA $60109 O4 K$ C2 V7 G1 n! \; ^( s$ v
  340. TAX
    % F; j' F7 n+ f6 g
  341. LDA STAGE_NUM,X    ;写入数字
    " M- h1 J1 |3 O2 x
  342. STA $20074 P8 m" N8 D. r' F& S+ j: {4 Q
  343. PPU_RTS:
    , i4 [& _) ]! _0 r) }( w4 i
  344. PLA
    / m4 V6 k6 @* L3 |2 {1 f5 Y; P7 Z
  345. TAY
    1 x/ _0 c9 ?! y- k$ m/ I
  346. PLA
    6 z4 |. u, O9 M4 J7 ~
  347. TAX5 F5 [9 E" M& T$ M( {+ |" Z4 |
  348. PLA
    - R, ]: R8 b8 Z) g5 u( Q
  349. RTS
      q- J5 X' m! C- V9 N
  350. 7 [9 x- R, A" H3 s: N, d( {
  351. ) {# P3 ?; \  r/ F; v, y0 ~7 w
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据- {: T& ~- j7 |* a+ i# g
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00
    7 F9 _. P6 v4 I3 `- Y7 Y
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据. U- y% x) a" V1 R9 U- f* }
  355. .BYTE $D1,$D2,$D3,$D4,$D5
    ! c9 F/ @" I+ ?1 l3 n) f# i% Y# v
  356. 1 \7 K9 J9 P$ E8 ?
  357. PPU_ADDR_DATA:7 K; E* N4 c! W9 n/ D
  358. .BYTE $23,$0C! t( b( ~) H- {3 K
  359. : R8 h6 e$ O4 B9 v6 x: w& H
复制代码

本帖子中包含更多资源

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

×

评分

1

查看全部评分

[发帖际遇]: yandagui 发帖时在路边捡到 5 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜

签到天数: 1622 天

[LV.Master]伴坛终老

发表于 2017-3-29 01:16:54 | 显示全部楼层
感谢分享!支持!
回复

使用道具 举报

签到天数: 187 天

[LV.7]常住居民III

发表于 2017-3-29 09:18:26 | 显示全部楼层
感谢楼主的分享
[发帖际遇]: dabayu整理箱子竟然翻出了 1 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 343 天

[LV.8]以坛为家I

发表于 2017-3-29 10:12:16 | 显示全部楼层
最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊
[发帖际遇]: nianxu踩坏了花花草草,被罚款13 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 2366 天

[LV.Master]伴坛终老

发表于 2017-3-29 10:20:54 | 显示全部楼层
感谢楼主分享新游戏
回复

使用道具 举报

签到天数: 1104 天

[LV.10]以坛为家III

发表于 2017-3-29 11:12:57 | 显示全部楼层
这个就是所谓的空中魂斗罗!网上有大神修改很强大的!感谢楼主的分享!
回复

使用道具 举报

签到天数: 852 天

[LV.10]以坛为家III

发表于 2017-3-29 11:31:41 | 显示全部楼层
好东西,收下了
[发帖际遇]: kexiao1223花17 个 柠檬买彩票,血本无归T_T. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 2030 天

[LV.Master]伴坛终老

发表于 2017-3-29 12:47:42 | 显示全部楼层
这是那个空中魂斗罗么
[发帖际遇]: 找不到服务器 被钱袋砸中进医院,看病花了 4 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 57 天

[LV.5]常住居民I

发表于 2017-3-29 17:08:41 | 显示全部楼层
支持,楼主非常棒的实例,拿回去研究了,多亏了楼主,fc的很多东西都已经不再是秘密,我们这些后来者也可以做出更好更棒的作品,非常棒的教程!还是那句话:非常感谢!
[发帖际遇]: 曹的爽 打扫环境卫生,被奖励 6 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 3145 天

[LV.Master]伴坛终老

发表于 2017-3-29 18:15:17 | 显示全部楼层
感谢楼主分享!
[发帖际遇]: afti 在论坛发帖时没有注意,被小偷偷去了 5 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 1783 天

[LV.Master]伴坛终老

发表于 2017-3-29 21:34:32 | 显示全部楼层
楼主厉害,顶一个
[发帖际遇]: pp12辛苦发帖,赚了 1 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 39 天

[LV.5]常住居民I

 楼主| 发表于 2017-3-29 22:16:40 | 显示全部楼层
nianxu 发表于 2017-3-29 10:12
6 s' D+ ^5 I+ k9 D% y1 C% n' J最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊
3 }2 O) D4 ^- ]& O: N8 ]: ^5 m& B9 z
已经加上了,赶紧下载吧
[发帖际遇]: yandagui 乐于助人,奖励 2 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 2060 天

[LV.Master]伴坛终老

发表于 2017-3-30 00:00:09 | 显示全部楼层
这个不是空中魂斗罗吗?。。。。。
回复

使用道具 举报

签到天数: 39 天

[LV.5]常住居民I

 楼主| 发表于 2017-3-30 12:58:51 来自手机 | 显示全部楼层
是啊,为何叫空中魂斗罗
回复

使用道具 举报

签到天数: 179 天

[LV.7]常住居民III

发表于 2017-3-30 19:35:27 | 显示全部楼层
旋风又疯狂大修改了 哈哈
[发帖际遇]: 九月鹰飞 打扫环境卫生,被奖励 2 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 39 天

[LV.5]常住居民I

 楼主| 发表于 2017-3-30 21:45:08 | 显示全部楼层
九月鹰飞 发表于 2017-3-30 19:358 v& V& w( O/ S( }' I( o  I/ ]2 M
旋风又疯狂大修改了 哈哈
% K; ~  b2 R1 v) ?0 H0 \' c
疯狂不起来,无聊了而已
[发帖际遇]: yandagui摆地摊卖菜,占道经营被城管罚款 2 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 48 天

[LV.5]常住居民I

发表于 2017-4-1 07:52:40 | 显示全部楼层
非常好的修改,感谢分享。
[发帖际遇]: 一个袋子砸在了 cococo8858 头上,cococo8858 赚了 5 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 39 天

[LV.5]常住居民I

 楼主| 发表于 2017-4-2 20:43:27 | 显示全部楼层
没人看以后都不想改了
[发帖际遇]: yandagui摆地摊卖菜,占道经营被城管罚款 4 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 666 天

[LV.9]以坛为家II

发表于 2017-4-2 21:50:46 | 显示全部楼层
Thx for sharing
[发帖际遇]: tom55473220 捡了钱没交公 柠檬 降了 1 个 . 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 71 天

[LV.6]常住居民II

发表于 2017-4-2 22:06:54 | 显示全部楼层
路过帮顶,呵呵,真是好作品。{:4_144:}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2026-8-5 01:25

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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