设为首页收藏本站

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑 $ q3 ~& L1 |" n& a$ c  H

8 V6 j1 d9 i% J    [FC][最终任务][END选关]( g. y: {, V  c9 n8 j- ?& s9 L5 r

" R. T7 |' C& j8 V8 z6 p* Z时间:2017.3.29) A4 V: c6 k4 z8 Q( M9 Q$ ]* V
作者:FlameCyclone
: D1 k- |+ N* n3 ^- ^内容:5 ?* Y7 V7 [" F) Z7 T$ Q* }
    1.关卡选择:   标题时,左或B减,右或A加(1-5关);
* G4 j* f* Y+ O9 B- e    2.无敌锁定:   暂停后,按上键切换;
/ g! B' J  c: o2 Z# n    3.生命加满:   暂停后,按下键切换;3 S2 c* M* o& [. u! l6 F( y: g6 y
    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);" w: C' v) S0 y
    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);4 ]' e, f, v) w4 Y+ A, L
    6.B弹数量:    暂停后,按A键切换(1个或2个);) {) x8 k  g  b3 }# p
    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;
3 M' X9 G1 r: e& b$ \; `' T! w. C) v; p* G: ^
! [0 |" S7 b. ^0 Q8 d# F* d4 r- [- o" A
* Y' L5 I8 v( e' P- s# F

: B( {! l+ S+ w; x. q# D! b+ O; T5 J! y5 y

. c2 Q1 [5 E  p6 n) A2 G" F
游客,如果您要查看本帖隐藏内容请回复
6 F0 T( ^9 a2 f( X- J- R
FlameCyclone.ys168.com& w8 x: v) e) ]" ]. H/ L
www.nesbbs.com
  1. ;[FC][最终任务KEY][END]3 S/ @7 V. }. L2 v
  2. button = $04    ;单次按键
    3 d4 u& U6 n0 N& U' ]6 S
  3. flag = $6000    ;功能开关标志
    9 C. B/ Y1 D/ B7 w- f5 F: B
  4. pause = $000E   ;暂停地址  G& H! D! t3 U7 K
  5. % B3 P8 x% [; S; G1 j/ _$ B: m
  6. .ORG $80003 C/ F5 V/ a/ ^& q
  7. LDY #$08    ;自带的按键程序
    - B$ u5 {/ y# \6 K8 O$ x
  8. ADDR8002:2 \& m) y9 K! _! P* a
  9. LDA $4016,X
    : K( x5 M, R) u8 |
  10. LSR
    5 I% \' Z, Z8 Y
  11. ROL $0021
    , o! Q- m/ {5 h# E( ]
  12. LSR
    , [9 C* F6 V/ W5 K
  13. ROL $0029( j/ I% B& b; Z' r8 Q
  14. DEY
    0 @, x1 Q7 y4 b' ]! d
  15. BNE $8002# G6 X5 o9 s  o
  16. LDA $0021
    8 p3 j; h: h% M' e# A
  17. ORA $0029( t( D6 _7 u( _  y2 ?
  18. STA $00215 a/ [" u0 f5 l9 g8 H3 Y
  19. LDA $0020
    2 Y5 ^5 v5 W/ |- l/ j" m6 F. f
  20. AND $0021- [& j% Y+ M, V# `3 _) O
  21. STA $0020  j& `* Z* e- C4 T' }( D3 j
  22. LDA $06,X
    9 t! d6 @8 f7 h0 V4 S
  23. EOR $0020: D7 q( p+ ]2 }, f# O/ q4 d, Q
  24. AND $0020! _. u  |& ^9 R( l7 ]0 ~5 e" p
  25. STA $04,X
    : X2 l. _9 k1 N1 [+ ?; D$ w
  26. LDA $0020! a6 d( W; G) x, r6 C& J6 t
  27. STA $06,X: g: M& ?1 O" H- W5 C+ E
  28. JSR KEY_OPERATE
    + _& K3 V& q0 d/ C, F9 f0 x: d
  29. JSR Function    ;功能调用, \% d: I1 G& e3 p. W$ a& \& f
  30. JSR Weapon    ;武器切换调用
    4 H# M1 v9 {9 u3 j0 i" i
  31. JSR Power    ;威力调用+ O/ f. H: O3 h
  32. JSR BULLET_NUM    ;子弹数目
    6 D! T! w, R2 R; v
  33. JSR BULLET    ;副武器类型) A+ m( Q) Y; P/ K  M$ V  \) ^, @
  34. RTS
    ( d, F& m- t2 n- i3 Z5 X8 S
  35. " `! `# p$ t, S: K

  36. ) x0 a. S; c7 P

  37. * [2 n# Y' L6 V- r, x+ i
  38. .ORG $8050/ M3 Z5 A1 I0 i) Q$ u; N- D0 K/ ~
  39. Function:    ;功能9 z+ Q1 q8 v5 {2 B/ \1 ~3 a6 h
  40. WUDI:    ;无敌& R1 x& a! Y( x/ j' {  k% A" D
  41. LDA $6000,X: Y! ~6 w6 P6 K6 h/ Q
  42. AND #$08    ;开关判断
    " r& S6 m) e$ N6 F
  43. BEQ LIFE5 Q8 l6 L5 r: t3 p! l
  44. LDA #$059 N$ f' A0 ^3 i, S2 f
  45. STA $05DC,X    ;无敌锁定, L5 Q) o6 c2 p' N7 @
  46. LIFE:    ;生命
    " e1 @6 o+ k; }" v+ v
  47. LDA $6000,X: g" v7 U/ x: A% g
  48. AND #$04    ;开关判断1 N8 ^6 J  |8 E* D. |7 S4 V. d
  49. BEQ FUNRTS; g2 V- g' x3 w
  50. LDA #$05! D) v2 M$ Q8 @6 G0 o, O; r& z
  51. STA $1C,X    ;生命赋值
    1 h! v1 m$ A1 c
  52. FUNRTS:, ]) a" C6 w( b/ U+ u' X3 o1 {
  53. RTS
    ; N$ l  H: q0 A7 j5 u6 `
  54. ! v+ p7 C" }% @8 r$ \
  55. Weapon:    ;武器切换4 _9 ?! _- s/ e4 V" n# f' h
  56. LDA pause    ;暂停状态判断% j: o# k. S1 ^' T8 _
  57. BNE WEARTS2 @& d5 f/ Y4 F* V! l6 t7 M0 M
  58. LDA $04,X
    5 }6 n2 Y  L- Z+ A( |) C4 D$ J
  59. CMP #$20    ;选择键判断, z0 t" q4 i, x; Q0 ^2 F" {
  60. BNE WEARTS) r2 [; E- m& g, U. N
  61. LDA $12,X
    8 k% |; e2 F5 P& z0 C2 B. {# p* Y
  62. CMP #$03    ;武器值判断& x( c; j  c: G4 F; q
  63. BCC WEAINC6 Q! Y) G0 k* P8 f
  64. LDA #$FF2 M1 ~9 S4 e+ A) q
  65. STA $12,X    ;武器重置
    + e8 T' i$ |; X( ~' ~
  66. WEAINC:8 X+ }: E/ Z2 g8 C: v
  67. INC $12,X    ;武器增加
    4 X/ K7 Z% W8 B& o; b

  68. & A: L+ |: ]& [) ?% C& U5 D# [' k
  69. WEARTS:
    ' f  g! U$ R' _5 j: |- ^2 F
  70. RTS: h, T" v8 F9 R
  71. & n4 {3 m( ?! x- ]" G
  72. Power:    ;威力/ R% _. d1 i0 M: h9 }( Q, a* e
  73. LDA pause    ;暂停状态判断& W. A5 m2 G. c5 O: x
  74. BEQ SPERTS: Z6 H" n' I  n2 S2 l8 x% `& Q
  75. BUT_LEFT:
    : E* g" O1 s2 B% J
  76. LDA $04,X
    4 i9 V" O2 r' d4 j
  77. CMP #$02    ;左按键判断
    1 I% z! y* I1 g) h
  78. BNE BUT_RIGHT
    8 B, {5 _' G$ E6 C3 \5 A7 H; N
  79. LDA $88,X0 j* j! n; b! V  d6 L
  80. CMP #$00    ;威力判断5 z& v. n( m6 \
  81. BEQ SPERTS  F  F$ W/ \" e% @+ t" E  A0 X2 G
  82. SPEDEC. N4 m% J; A# m) d4 V( ~' w
  83. LDA $88,X    ;读取武器值
    8 q% h* n& C0 v2 x4 a
  84. SEC
    : Z, E5 b' Q6 U  B# d4 T
  85. SBC #$08' N7 z: Y3 m" T3 y& Q; u' y  k* g
  86. STA $88,X    ;威力减小
    8 S% w' u/ p' `' K2 q) B
  87. BUT_RIGHT:- t; G& c! J) ~+ j
  88. LDA $04,X
    - {- q  b' K; }, @2 J' O
  89. CMP #$01    ;右按键判断
    " j- r& s6 Z; U+ o
  90. BNE SPERTS
    / d" n% X: w1 c+ v- U
  91. LDA $88,X
    " @; i: C, R; C; Y' p# s6 t" ~
  92. CMP #$10    ;威力判断
    2 {, K- H0 y9 w9 w; B/ ~* s
  93. BEQ SPERTS
    " X2 N/ ]; x, {
  94. SPEINC:- B6 K8 E8 f" {4 P. F" L
  95. LDA $88,X    ;读取武器值2 H) q( }7 L" s4 N. S4 `+ _
  96. CLC
    2 [4 n) v& f: v2 ?" W" h7 E
  97. ADC #$08% N. P# b6 R5 f* N
  98. STA $88,X    ;威力增大
    ' p; m) |7 c$ B) P8 k) L- T: I

  99. * Y2 u4 |: Y  y( [0 I
  100. SPERTS:% ]+ P  a# x" v  g  x7 p" e
  101. RTS8 P3 s5 ^  ~" \$ V
  102. - \' D$ l, k  G) q" d; ]+ R. `! Y
  103. BULLET_NUM:    ;子弹数目
    ; D( p. W6 R" n- Q
  104. LDA pause    ;暂停状态判断
    ; a, H" K# v/ N" s$ I# h
  105. BEQ BULRTS: u7 ?4 a4 f/ _4 V% T  j
  106. CPX #$00    ;主机玩家判断
    ; m4 v9 j3 d' M  Y
  107. BNE BULRTS; v3 |& O% F6 p( h8 |0 G
  108. LDA $04,X    ;主机玩家判断4 ]) W; e' r  C2 Q. T$ W" k# `
  109. AND #$80    ;按键A比较
    6 ~* _; x4 a( Y! H# |" m
  110. BEQ BULRTS
    5 M* |, t/ B0 @: D2 Y- j1 f* y
  111. LDA $87    ;状态判断, _# `7 a+ B. Y3 z# r
  112. BEQ BUL_2$ x. i+ F2 d- f- _: K9 K
  113. BUL_1:
    1 o( A& b3 {8 s; J
  114. LDA #$00
    ! z& ]0 o3 t" r5 {* I
  115. STA $87    ;1发子弹/ L4 Y) f* n/ l. D0 Z( s) s4 R
  116. BEQ BULRTS
    ) b& L" l' u% V
  117. BUL_2:, V7 ]" S. @' k1 G
  118. LDA #$01
    5 O% }$ S! ~! S  M1 M& w' I& Q! x
  119. STA $87    ;2发子弹
    + t8 c" L% N; M: ^5 t

  120. " V7 t) s0 c% l1 K' X
  121. BULRTS:+ C1 [, a7 f0 M" R3 e# i& g
  122. RTS5 _' |5 z, j! l9 d) m; X: g- D

  123. % p$ U- B8 s# h4 I* x& h

  124. 3 w+ y# ?; s2 ~; H
  125. BULLET:
    9 a* d7 x) h. @9 u
  126. LDA pause    ;判断暂停状态
    7 C+ |0 f9 i0 @. N) x. T" p
  127. BEQ BULLETRTS, R9 O* ?' ?; Z# V. v( v
  128. LDA $04,X: I# n0 c3 b- F8 k
  129. CMP #$40    ;按键B比较# W" M! T: S0 {- w8 a
  130. BNE BULLETRTS
    ; s0 Q5 E1 s2 f7 ?: z0 w
  131. LDA $6002,X    ;读取副武器
    + ^- {1 c: `. y- b' G) t% Q* V
  132. CMP #$038 `! }' D! J4 ~+ V% [6 i
  133. BCC BULLETADD7 y) j+ a& [* @) h/ W5 o  ]
  134. LDA #$FF! K: V4 B' P8 d) |
  135. STA $6002,X
    ; ?; l+ W! M9 W9 b* R9 H
  136. BULLETADD:
    5 Z2 Q4 ?) I1 m- d" e+ P: D
  137. INC $6002,X
    5 N4 W9 j) H0 K" }' W; W4 f
  138. & f. q8 {6 q/ E' r: [
  139. BULLETRTS:: v  L0 P. w* n  u2 u
  140. LDA $6002,X
    1 e6 p  i+ Q) p) Q. f
  141. TAY
    ' w! l! @: ~& k: Q( ]* Z
  142. LDA BULLET_DATA,Y$ h9 ]+ X  ~( R7 d
  143. STA $6004,X    ;写入副武器数据
    - P/ A3 ~1 N. R4 m
  144. RTS5 S0 a# o( N$ ]0 F; Z0 N

  145. 8 t: H/ ^  w2 e6 |( _
  146. $ p& I8 n& M% S1 N1 `! C
  147. BULLET_DATA:
    4 C& m* _/ Z( M; r0 W
  148. .BYTE $06,$02,$03,$04
    7 L2 r/ j) v% C

  149. 3 [4 D' R. P. R# P% a
  150. 0 V( b4 ^( }# ^  t& {$ B" V* R* q

  151. 7 [7 ~" v5 e6 W5 y
  152. KEY_OPERATE:    ;按键开关操作
    " g, h! G+ {/ w: F& Z
  153. data_protect:    ;数据保护  D4 l0 s+ w, Y2 b. V7 n! z. _2 }
  154. PHA8 x+ H# \1 N2 a2 k
  155. TXA
    5 Q$ F! @; d: o
  156. PHA& j$ o' w6 R% b) H
  157. TYA' V; j6 z* Q9 b# r
  158. PHA
    * n, U) i$ l5 _& Y/ Z: \

  159. : R3 E8 ]7 G) m9 G$ H' F
  160. FLAG_INI:    ;开关标志初始化
    - l. m  d2 X; B9 q- D4 t; h
  161. 5 @8 o5 k6 G( G& @1 z
  162. LDA $600F
    % t1 u. s. ~1 t: V# O) B/ p' n
  163. CMP #$010 V9 A  ~! X+ \4 H
  164. BEQ pause_cmp2 ~- J! M. I1 x$ Z/ u1 F' [
  165. LDA #$00
    * P" E2 g9 f/ u' j
  166. STA $6000
    ! ^  Q) r/ b! v1 `& f* I% k
  167. STA $6001
    $ ~, I% R6 E+ v- g0 M0 f
  168. STA $60025 H8 C6 \' c% Y/ m1 h
  169. STA $6003
    0 z# I) w% b1 E* q
  170. STA $6004
    7 `7 H1 I, D9 U7 p7 F& g
  171. STA $6005; E( t$ \2 z# o5 y
  172. LDA #$019 n7 h2 u6 k4 g  b
  173. STA $600F
    9 v, W/ g* y+ \3 X1 B
  174. ! [8 n& ~4 B; j& F
  175. pause_cmp:    ;判断暂停状态, |( N9 @3 j* k' [( q$ m
  176. LDA pause
    ( K& C* q* ?$ E" `, g3 W0 ~( C
  177. CMP #$01    ;判断暂停状态
    & a' \% [! r4 N+ Z, M& S5 c0 F
  178. BEQ button_press  k- e- \1 U' }& X1 H# o9 Z
  179. PLA
    & s* R# p7 x; e3 v
  180. TAY
    1 E& x# N/ N- B
  181. PLA
    1 m# }' H8 w9 ?; c5 S
  182. TAX6 t; s1 m4 j$ |. T
  183. PLA2 |/ ?. B% O) N& f
  184. RTS
    ; f6 ?' N; Z3 s9 O3 V
  185. 7 R  Q4 a$ L5 ^: f6 m
  186. button_press:    ;按压操作
    3 f. N2 M3 O$ g, @' y
  187. ini_Y:7 K7 y% ~+ R5 E! u$ f* |& G
  188. LDY #$00* |3 J: a) H" L
  189. button_cmp:
    & T7 ?1 |0 d( y" _: h
  190. LDA button,X' E. `# ?! S& a) K6 m- l
  191. CMP ora_data,Y1 T; i+ a3 O3 A* S( ^; L; p
  192. BNE count_Y_cmp
    : B4 c& l, c5 l9 P* S* W
  193. flag_cmp:' Z# h* L( k- m& ?# }, |( X
  194. LDA flag,X0 o0 d. q5 C( B  q! c, H
  195. AND ora_data,Y
    " ^. \0 ]6 F& |& G  x
  196. BNE flag_and
    / L' R8 h$ c" p
  197. flag_ora:
    2 X1 M. J& d- d2 {& }) C$ x3 ]
  198. LDA flag,X
    , o' O0 E4 Z) K, q1 p( c3 i8 p
  199. ORA ora_data,Y
    4 Q+ y: D: X* z* i- {3 {' p) g' ~
  200. STA flag,X
    ( w# Q& D) K& w! d% y
  201. BNE count_Y_cmp4 R5 V3 B& a0 y! r/ ], ~( H
  202. flag_and:
    . q4 D+ C# e$ H, X& m* o6 s
  203. LDA flag,X
    - I1 S5 ^0 S' J+ a# o) k
  204. AND and_data,Y
    # w$ q8 k+ j) K  h
  205. STA flag,X
    ( r  [  |$ M: n/ W
  206. count_Y_cmp:' Y# V( I0 P8 L* \) h$ v: Z* x) S
  207. INY$ q7 r! ?( t/ v0 y* G& j
  208. CPY #$08
    7 d6 {' o) v  M
  209. BCC button_cmp, e3 T  i9 D* H: V! Y; K& s
  210. . E/ K. U  a. S8 E
  211. data_extract:    ;数据恢复
    5 D6 y2 L* Y$ z5 ?( E" H8 R
  212. PLA
    5 W- x9 J$ Q) k! K! z1 T/ B$ h5 m
  213. TAY7 Y# w7 A4 A: O+ k( u, R( a9 ]1 n
  214. PLA% y# f1 v$ p! X. k0 B8 B$ x
  215. TAX
    7 {' G" M9 x5 K+ Z7 G5 I" ]; k
  216. PLA, ?  b( s7 b8 V6 `" @8 J# l2 E

  217. : h! x# \+ V9 ~* a! _7 T- {
  218. return:% n0 S- @6 d! P& A6 Y9 p( h; D
  219. RTS
      o# A+ D  [: U- k! e

  220. 7 R: K: k* Y8 P7 D( K
  221. ora_data:   ;按键相或数据
    2 v* p5 a* a4 o/ [
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10* [- F2 f! Y. A% |
  223. and_data:   ;按键相与数据
    1 `8 `. G3 p" U- A+ F+ D
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    $ B6 _; L' m/ ]2 t. l
  225. ( v, ]1 q1 @0 \1 t! G! v

  226. - X! x- W  R* p: M4 {6 n- O: L

  227. ' L& f3 M' {) Z8 ^9 ], Z

  228. 8 G* J6 f/ |5 N- N$ s0 i

  229. * J4 J9 p4 [. A3 g

  230. - Z! a) L+ j% ~# U
  231. ) B7 {+ ?  {& k1 r5 Q8 W9 E

  232. % w, P/ i$ s+ m9 G  b
  233. ; ^0 }6 x3 S- S  j, q2 C8 ], Y
  234. .ORG $C264    ;自定义的MAPPER2切页程序, C4 ^( E8 D7 v4 n$ x
  235. PHA' e( a. c. M; v8 g2 m! _# m9 k* |
  236. TXA1 X9 L, Z' `% S' {& E9 v
  237. PHA& i4 z4 f& j* A
  238. LDA $0066+ d4 p. j( h  F8 L( W# z
  239. BNE ADDRC280
    & L5 a4 i; J5 ?: {
  240. LDA #$07
    # }: y( |- m7 L5 @- L4 l$ Z6 b, ^
  241. LDX #$03! X3 l) d9 _) n
  242. JSR $CD9B    ;自带的切bank方法
    5 y5 I$ S- q1 L" n$ l) t
  243. PLA
    , `# ^8 a6 i0 C. p& b! l2 Q+ ]. f
  244. TAX
    ; P( \2 r' u& W5 n% x" s
  245. PLA
    + p! t0 d' ^- l# {
  246. JSR $8000
    " u. F) A. I3 q4 Q) R
  247. LDA #$06  G3 |% X9 k. F4 v* }* L: c
  248. LDX #$03
    & H+ l$ L/ ~/ c/ Y, m$ h3 G# f
  249. JSR $CD9B    ;切回原该切得bank(可以不用)
    ) V& c3 b% l4 [# H9 J
  250. RTS2 b1 |/ Q* b0 _
  251. ADDRC280:
    " n+ A. m; Q( G: x9 e
  252. PLA  ?+ U. C2 ?5 S# k* l0 G
  253. TAX; i) c8 L% Y) D: ~# Z* D
  254. PLA* q* c) ?9 e7 w, [" z( T* C. Q
  255. RTS
    5 S1 T/ P) ]( f$ d

  256. 5 b# b3 Q& G3 I4 F

  257. ' r1 E) s: y& o5 c
  258. ;[FC][最终任务PPU][END]
    5 ^' x* X6 m$ g, N8 |( H4 o
  259. .ORG $C056    ;跳转到PPU重写程序
    ) V5 o2 G8 U! |: T
  260. JSR $7000
    5 D  T; `# m; G" R! i$ G7 K) Y4 k

  261. " L/ o3 r9 W7 b- Z( X, O
  262. .ORG $CEBF
    : `, E3 i! n/ H) B$ }
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入
    ( N0 G4 Q( c& W* W2 i0 s" x; E
  264.   ) O; O  h5 x2 u" X! O9 t& P
  265.   .ORG $E460# w+ u, Z2 n$ l
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入
    5 J  y# m* m0 f1 _- ~6 d/ G
  267.   
    * h1 v* H2 l1 a9 F' i
  268. .ORG $71F0
    6 d. k2 D: a2 G, O
  269. STAGE_DATA_WRITE:
    + j6 Y7 |, H% i: u  J
  270.   LDA $60105 ^% ?8 p  T& h" S0 r* z
  271.   STA $1E    ;关卡写入
    1 V" C9 _# |5 h4 T6 h( E! E
  272.   LDA #$00
    - Y$ }$ D& V: Z4 }0 J# o
  273.   RTS! T; R1 I2 J- A' o' P. x" w
  274. .ORG $71C03 w8 t$ l2 d. e$ p5 A5 P' k
  275. BULLET_DATA_WRITE:    ;副武器数据写入
    8 ^. C7 s3 M9 Q% K2 V% D
  276. CPX #$0E# `8 M8 X1 q8 I' y4 i* p
  277. BCS P2_BUL" |9 w/ r3 o' r& k& u+ K
  278. P1_BUL:& Y4 E$ w0 K- l, l
  279. LDA $6004* D# ^* y/ _* A" N
  280. JSR $D7D0    ;P1副武器数据写入" i) z7 p$ C6 [3 D
  281. RTS
    # {$ Z: g* y# i' V) J
  282. P2_BUL:* H: f6 w7 [# p: g# h
  283. LDA $6005: b& S9 P! z9 U7 i& d* m
  284. JSR $D7D0    ;P2副武器数据写入( x5 P4 K8 h: _/ ?; y3 M7 I
  285. RTS
    0 d! ^# l2 Y; D
  286. 3 m$ S: _) d, a/ G
  287. 6 O3 G$ L3 c. g0 `7 ]
  288. .ORG $7000
    6 ]( Q# ~& Y+ f5 p* _
  289.   2 z" V8 V* g  L/ P
  290. STY $4014    ;补上覆盖的精灵写入指令
    4 @0 x* J) f0 E: l$ F* P8 X+ ]
  291. PHA( t4 I# l8 \) I' l; S* o
  292. TXA
    ( E  h( Q% K1 x5 v
  293. PHA
    ) ^/ q$ q: w) A1 T6 }2 J
  294. TYA4 u. R* T: N0 O- b# _
  295. PHA
    ( D0 z! Z1 a$ w# I& y; }, H' }
  296. LDA $0C) c0 `, K! G  ~6 g# \; k
  297. CMP #$01    ;比较是否为标题画面3 n& j2 w$ R/ c
  298. BEQ PPU_STAGE3 q$ J6 G! y2 R3 ~7 |; Y
  299. PLA5 X: E3 @+ y$ a' A3 y" ?
  300. TAY
    : y2 f7 s. K4 Y+ X7 J
  301. PLA
    : F. U% _0 n# G: k: C
  302. TAX
    4 F0 r+ u0 N7 ?% O9 o
  303. PLA6 n! c* Y0 d* E4 R7 u9 Q1 y5 O
  304. RTS
    * F8 N  F/ d# x4 a# [
  305. PPU_STAGE:    ;STAGE显示程序+ w8 B  v3 U7 ^. Y$ V8 l
  306. LDA PPU_ADDR_DATA
    . I# H! n3 Z$ C2 X$ Q% |
  307. STA $2006
    ' f9 ]2 C' ?( b) F5 v9 c
  308. LDA PPU_ADDR_DATA+1! c' d: D" b5 g) \( u
  309. STA $2006    ;坐标设置" ?/ q: [1 |  r) H2 i
  310. LDX #$004 T: G3 x% z9 A" \  p# y& L$ j0 Z
  311. PPU_STAGE_WROTE:    ;写入STAGE字模
    . l! W1 e( ?! w9 _0 S) q+ x& a
  312. LDA STAGE_DATA,X
    ' A8 _! d5 d! K2 m7 _" y2 f0 z+ Y0 z
  313. STA $2007
    ( x6 A$ a$ C/ f; y6 o5 q
  314. INX: s% E" r7 s1 |; H4 \: u
  315. CPX #$06
      }2 J- C' }# u, r4 A+ ^
  316. BCC PPU_STAGE_WROTE
    & H! B% w6 b8 d; ^8 W
  317. LDA $6010
    2 V, R) c* p0 r! f! O3 }) n0 w
  318. CMP #$FF    ;关卡数据初始化条件判断& t8 Z. ~- _, r; S/ f8 v( |9 v1 F
  319. BNE KEY_B
    3 L7 l; e8 k  z6 q) s
  320. LDA #$00
    6 s% o" m' H) d( h) N
  321. STA $6010    ;关卡数据初始化" m1 k% |# I" Q3 g
  322. KEY_B:    ;关卡减少  j( c' l. \& A6 x8 Q" `
  323. LDA $04
    ' `" p* C2 c7 l
  324. AND #$42    ;按键B或左减关
      `: v5 y% x% k' F6 T8 h
  325. BEQ KEY_A! s7 y5 N6 @3 b6 D
  326. LDA $60109 ~  {; r" c- I" w  v) G
  327. CMP #$00    ;关卡比较( [9 k' D0 ~9 N/ ?& m* R& w) F
  328. BEQ KEY_A, s) x4 k- m+ ^2 O1 `/ |
  329. DEC $6010   ;减关
    : v) C; Z  |0 N: j0 [4 F
  330. KEY_A:    ;关卡增加  @# s! M& x1 ]; r1 m
  331. LDA $04
    : K. f  |% [- T+ L% f
  332. AND #$81    ;按键A或右加关5 ]$ o. Q4 A7 Y  B$ J' G
  333. BEQ PPU_NUM_WRITE
    7 ~7 I; O+ G" j/ Q. j, o3 J
  334. LDA $6010, Y+ B9 ]/ q  v& i( E# f
  335. CMP #$04    ;关卡比较
    9 h. w9 m1 c" n
  336. BEQ PPU_NUM_WRITE
    % N& C) y( B8 d# y0 O+ m
  337. INC $6010    ;加关
    , q( [/ x9 {7 w
  338. PPU_NUM_WRITE:4 B) n. v/ L/ c. g' ~5 p
  339. LDA $6010
    $ `, C5 Y' n( Q& N" W7 t- X
  340. TAX
    ! d/ V+ C7 }2 _. s
  341. LDA STAGE_NUM,X    ;写入数字
    % N4 o5 ^# L" h+ R) g/ A4 a
  342. STA $2007
    ! g9 X: q9 s/ `7 M1 `4 [! ]
  343. PPU_RTS:. a7 P4 W, a7 \" Y$ G
  344. PLA
    0 H( d+ m9 f, T& F* W/ a$ `$ B  ]9 ~
  345. TAY+ X, b- f- ]. S& U3 @5 y* d7 X0 D
  346. PLA
    ( g7 D& B& b0 B1 F3 [
  347. TAX- x0 G$ U; a3 h* d- o: A. q
  348. PLA4 M" e& F9 c' L2 ]4 h& P7 [
  349. RTS
    4 f' R# M' e& s; E8 T: H4 {$ C3 h+ |

  350. 0 |' k& g5 |* _- z7 y1 a

  351. + l2 {* {, z4 J0 x1 a0 J' V
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据+ a' X6 d) l) O5 y( E
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00- z, L+ m* V- l6 h
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据+ ~+ r5 a% m7 Y. F+ j9 `5 |$ B
  355. .BYTE $D1,$D2,$D3,$D4,$D5
    * v& h5 f' e/ [$ C2 f6 s

  356. : {! m3 c. f. L4 ?
  357. PPU_ADDR_DATA:1 l8 z9 S% u; y; m: M. N3 ]
  358. .BYTE $23,$0C
    1 Q" s0 ]% W  x& H6 Z, E3 R% X
  359. - F5 P! H' z0 u! ?1 d2 Y3 z( K
复制代码

本帖子中包含更多资源

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

×

评分

1

查看全部评分

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

签到天数: 1617 天

[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 | 显示全部楼层
感谢楼主分享新游戏
回复

使用道具 举报

签到天数: 1091 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 852 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 2012 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 57 天

[LV.5]常住居民I

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

使用道具 举报

签到天数: 3128 天

[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: F, N8 m& }) f0 p" f2 F, {+ T. l
最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊

4 p0 o: H* Z1 M$ @7 T0 e" b已经加上了,赶紧下载吧
[发帖际遇]: 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:35. u6 V4 X0 r, W: f' }1 ~* l
旋风又疯狂大修改了 哈哈

* e9 \) a9 H8 R& ~. C. A0 R疯狂不起来,无聊了而已
[发帖际遇]: 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-7-15 23:51

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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