EMU618社区

 找回密码
 立即注册
搜索
查看: 2986|回复: 53

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑
, ^* q; ?. s! S, @' ^% n, w6 O5 w. k7 |5 t; D9 M: Y/ L- K/ h
    [FC][最终任务][END选关]
! I7 y1 j2 B9 ?0 k- r- s% K5 n5 T( U# v5 c9 _
时间:2017.3.29
( f" K9 U4 M. h: J+ F& G作者:FlameCyclone) {5 j4 e6 M% K
内容:
# c% m0 @6 t  p& O1 d" T    1.关卡选择:   标题时,左或B减,右或A加(1-5关);2 Q: c4 _* E7 R8 E. q
    2.无敌锁定:   暂停后,按上键切换;
! }0 P" t1 i8 ~5 r+ ~! x% s" W    3.生命加满:   暂停后,按下键切换;& R" `8 i( [/ j2 L4 n! D! N
    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);5 _% ?# C5 l# P3 \! r5 @
    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);8 l: a2 B  k+ h9 j
    6.B弹数量:    暂停后,按A键切换(1个或2个);8 |# S( h/ ?0 i  n7 ~
    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;
; S4 C  ?- j. u! I( A" u, |$ N- U6 w7 K# o: v7 @2 k5 |* D& X. i

9 {$ t8 m: ~' O2 t# N6 r) \6 u8 X* O& v& Y+ m: t6 x8 A
9 n' a2 j( f! K
4 D9 d: R6 q% u& |( ^6 V6 s
2 Y1 g4 {. [, X
游客,如果您要查看本帖隐藏内容请回复
8 O, {5 |" u7 `7 d5 m4 O+ Y
FlameCyclone.ys168.com: N$ V6 q! r( Z! n7 X  m
www.nesbbs.com
  1. ;[FC][最终任务KEY][END]2 X. W7 x: Z& z  h
  2. button = $04    ;单次按键7 m: _% W4 D$ N+ R, B
  3. flag = $6000    ;功能开关标志
    , [3 I( e  j7 r! T! B% w
  4. pause = $000E   ;暂停地址
    8 S1 [; f! I+ K$ O% ^! n  [
  5. # {  M, b- W& q2 P4 H
  6. .ORG $8000
    1 H# F/ n% n0 S% L( _
  7. LDY #$08    ;自带的按键程序
    ! A/ V9 G/ z# C- @
  8. ADDR8002:% \" ]( t" O% @1 i! q# }3 e# N+ N$ @
  9. LDA $4016,X
    ' Y  ~5 K/ A) a
  10. LSR
    7 P6 E' J- C5 i- I( N, f* w/ b5 M  e
  11. ROL $00218 z' l5 b5 B$ D1 a  m: m9 q
  12. LSR9 l2 b- s9 L5 X5 J' \" b
  13. ROL $0029
    & d9 N1 K" ]" E
  14. DEY4 a9 \6 z/ N+ m% E' c
  15. BNE $8002- G3 k- B1 M1 j: I& X7 v
  16. LDA $0021
    3 `/ L- p! F! l( ]# D
  17. ORA $0029
    - ~) d# j# V9 ]
  18. STA $0021+ B$ j) e) `' E; B0 c1 b/ B
  19. LDA $0020
    : k  E6 d9 u# z1 I* d
  20. AND $0021
    - x; Y6 D# ]. H( \0 d9 f" F
  21. STA $0020
    / F4 K+ A* F5 a( N- _. A
  22. LDA $06,X8 j/ r) J3 h* O- X2 H
  23. EOR $0020  k9 W/ p6 Y) c1 S  X0 [
  24. AND $0020
    5 C3 h! e' V& I3 R2 p
  25. STA $04,X
    $ {* N7 W! \1 I5 J2 v; y
  26. LDA $00208 g; }" S& |+ _2 k) @: a" N
  27. STA $06,X: v* f6 S8 I' D) x4 k( j0 E
  28. JSR KEY_OPERATE; Q+ W) @2 t* h$ H2 S
  29. JSR Function    ;功能调用
    2 X2 g' z$ b0 l9 E" n4 m$ \
  30. JSR Weapon    ;武器切换调用
    ; [5 ^; I# H* {5 Q
  31. JSR Power    ;威力调用1 h# W; S1 o# r3 X" o7 a
  32. JSR BULLET_NUM    ;子弹数目
    ; R2 t7 e4 S& E' _
  33. JSR BULLET    ;副武器类型; p: K4 v! g: f2 x. p5 g
  34. RTS, ^# L- N& w- ]3 k

  35. / W2 @3 X) h* N
  36. . O3 R' k' s, g, f4 W7 x0 Z. d4 y
  37. : t7 j' z2 m$ K: T6 _* t; \
  38. .ORG $8050# F, m( R3 ?" S4 y
  39. Function:    ;功能; p. ~8 g0 I! `1 B
  40. WUDI:    ;无敌
    ' @( @1 s( \) S# [4 G
  41. LDA $6000,X* e# x: V  f# q% P( z8 C" f* Z
  42. AND #$08    ;开关判断$ o/ _2 w, F' @: y
  43. BEQ LIFE
    ( ]* V: \+ A; c: U% `4 ^) ]3 w0 V, E
  44. LDA #$058 w% e5 }" M4 ^" e" Q
  45. STA $05DC,X    ;无敌锁定' y( f# g2 t! v: {0 Y
  46. LIFE:    ;生命
    - J" y" @2 y: {
  47. LDA $6000,X6 q) w) Z6 \3 K  ^/ D
  48. AND #$04    ;开关判断
    $ I) {: y  R) r" A. e# t  g9 O
  49. BEQ FUNRTS7 d: D( r' d' n# q( Q% Y% D1 i
  50. LDA #$05! f2 M2 G' _; @& |
  51. STA $1C,X    ;生命赋值
    # ^" h2 ]8 s2 G+ z; J
  52. FUNRTS:2 G6 a9 H4 V9 S9 K: P
  53. RTS  A- f& z1 ?5 h& F  y
  54. $ Y- K1 ?  n2 b9 ^& S+ e8 u% j
  55. Weapon:    ;武器切换( v! k7 V9 [/ c$ E: ]5 k/ {1 z* m
  56. LDA pause    ;暂停状态判断
    - G9 n) O- A) o* K9 @: b
  57. BNE WEARTS
    ; ^6 U8 u% H' p
  58. LDA $04,X' S$ g, x, N7 D- t5 x+ u
  59. CMP #$20    ;选择键判断
    + p& Q2 O% ~% }' d3 H
  60. BNE WEARTS  f4 o7 R+ a' l  P- \$ b/ m
  61. LDA $12,X
    6 ^+ c7 ?( g& f2 }, |7 _7 T  I, [" X
  62. CMP #$03    ;武器值判断
    + @1 d* Z4 ?/ x3 b3 Y. d+ V; b
  63. BCC WEAINC
    . o3 l6 [8 D; R3 U: d4 _
  64. LDA #$FF
    ; \& {8 X% G# L- S
  65. STA $12,X    ;武器重置# h# }' G2 d1 \" H3 F, e% \! H
  66. WEAINC:. o* u& x8 Z% ?& ^/ |; Z& S, G4 U
  67. INC $12,X    ;武器增加; R- W( V) X# ?) k  h  H, U

  68. ( }3 X0 c7 d( T5 ]; q/ m
  69. WEARTS:
    1 X1 U& I; B" E, Z# U$ |
  70. RTS
    8 Y; x- e, ?5 m" @+ [. @
  71. ' P" [! f- d5 e' G4 N
  72. Power:    ;威力
    7 h5 i: z! j: i) d, s
  73. LDA pause    ;暂停状态判断
    % N& x% ~7 _6 D5 p
  74. BEQ SPERTS1 j4 i; T5 l9 D- O0 |8 Y# W% N
  75. BUT_LEFT:
    " {8 R1 H: t6 }: c8 F' p* y. b
  76. LDA $04,X
    / ]4 X; X. x' |( M
  77. CMP #$02    ;左按键判断# u4 n$ Q3 I* Q- p
  78. BNE BUT_RIGHT
    # m8 l6 q) r" \" m  c* B2 F
  79. LDA $88,X
    3 u. R/ ?( i$ z( A1 A
  80. CMP #$00    ;威力判断
    2 p7 V% x7 ]/ Z$ D: U$ L, d
  81. BEQ SPERTS
    5 M' L7 {1 `8 r0 D
  82. SPEDEC
    ' b! A- o5 o. U4 ?+ N0 X7 C
  83. LDA $88,X    ;读取武器值  S0 `% h# \3 x! Y* ?7 A) ]
  84. SEC
    1 y+ ?. R/ B* p3 p1 z: H
  85. SBC #$08$ l) A$ k6 X2 l% F
  86. STA $88,X    ;威力减小+ v5 M* y  [/ \- t% l
  87. BUT_RIGHT:
    ' o5 ~# q& l0 @7 o* ]* b- i! Q7 n
  88. LDA $04,X
    7 C3 Z2 w* y) X, @* a
  89. CMP #$01    ;右按键判断7 q' O2 K0 L0 J, P
  90. BNE SPERTS7 y4 z9 p3 _- e. |1 o
  91. LDA $88,X
    & N9 x6 M9 |* j5 z) N% i. B* `# }
  92. CMP #$10    ;威力判断
    2 I8 n2 A# q2 ^( m
  93. BEQ SPERTS
    - p. `' Y' M; f( w1 k* P1 }% t& d
  94. SPEINC:
    3 [. H" z2 y& a& E8 c+ @' |
  95. LDA $88,X    ;读取武器值
    ) v- }( s0 y7 n- M+ V
  96. CLC* ~. c  k' M1 ]  o" f2 G" D$ y
  97. ADC #$08: H% z; [) o* g$ D3 {
  98. STA $88,X    ;威力增大
    & c4 c9 b: V) N
  99. 5 U2 {, O) C% f- L/ r; U7 ^  O
  100. SPERTS:
    ; X9 C2 Z0 _9 e$ |& N
  101. RTS
    % U% o4 r% E; k+ Q
  102. * {/ t: u7 R& ^/ i; L; K" ~3 P
  103. BULLET_NUM:    ;子弹数目
    / J/ W& w5 A( B% v$ Z/ ?. @/ M' C
  104. LDA pause    ;暂停状态判断
    / |' @, H+ t, t0 x8 I
  105. BEQ BULRTS% E5 J7 @$ z3 S* h
  106. CPX #$00    ;主机玩家判断/ z3 U! f1 a* \/ {6 n
  107. BNE BULRTS
    , i7 n" \. f! i, t# w' N  }
  108. LDA $04,X    ;主机玩家判断, i4 ^% M& y# g0 R. Y
  109. AND #$80    ;按键A比较
      r' L4 P  _  i" O/ w
  110. BEQ BULRTS
    / m6 ^5 B. U, c
  111. LDA $87    ;状态判断
    ! [2 Y! Q: `: c: ~2 `8 R9 q  a( _
  112. BEQ BUL_2! o# n- `& ~0 }! y+ Q# J" z
  113. BUL_1:
    . U) E) u4 {% Q, l6 F1 F9 t
  114. LDA #$003 Q- g% p& G, X0 S
  115. STA $87    ;1发子弹
    1 V0 F- k2 I9 X7 r( H& X# L- o; }5 j
  116. BEQ BULRTS
    2 n( z; J) |9 }; {7 d/ R
  117. BUL_2:
    9 V8 n$ L2 g, g& }5 w6 Z
  118. LDA #$01
    ; p/ c  O+ t' ?! J" q' C
  119. STA $87    ;2发子弹1 L4 O. U& N7 q/ C) g
  120. ( E% [. F7 E/ C, L. X& l
  121. BULRTS:$ ~2 R+ C7 ^3 \" ^, c' R) `
  122. RTS* }, I5 r8 x- ~" C! e# |

  123. 1 m* W; T) P6 E9 l% U9 S1 {

  124. 2 x+ O) r& [  a. N
  125. BULLET:- h1 i2 E; p4 V9 c; x
  126. LDA pause    ;判断暂停状态
    ; K, J( q7 @4 g: n/ Y/ O9 t
  127. BEQ BULLETRTS- p( m8 ]! C3 ?6 _6 f7 P
  128. LDA $04,X
    , n) u. Q7 v$ J  r& N
  129. CMP #$40    ;按键B比较  H* v9 C5 }) A- w; ^1 d4 U1 y
  130. BNE BULLETRTS" h, x6 |! Z% w
  131. LDA $6002,X    ;读取副武器
    . D8 l) ~5 ^8 O5 W, n
  132. CMP #$03# {9 G5 J; y! L7 Z# l; x5 N- I
  133. BCC BULLETADD6 d7 t! z6 Y9 Z9 y* q6 K' N: n
  134. LDA #$FF
    $ I1 b$ g  [0 _  Q
  135. STA $6002,X1 a: U9 O4 _2 R
  136. BULLETADD:
    5 `. Q7 D2 x$ E  z# z
  137. INC $6002,X
    ; g/ G# `7 P4 g. G; Y
  138. 6 E: ]+ F) Z/ X. ?- l  p
  139. BULLETRTS:- P+ T+ ^( [4 T* S
  140. LDA $6002,X. |2 C& c4 ^% Y
  141. TAY" h4 q2 K; X( t0 ~8 ~
  142. LDA BULLET_DATA,Y4 x4 ~6 j$ y" a, o! E
  143. STA $6004,X    ;写入副武器数据# f) @5 Y  {9 _3 r6 Z) e( b
  144. RTS. x( J& j# x2 W$ S8 c% i' @
  145. # X4 a1 `2 w+ [3 H0 Z9 Z( Y
  146. 0 p9 @: F+ H6 z( r
  147. BULLET_DATA:7 z( Q! }6 B" F- t8 U0 }( l9 Q% c  u% g
  148. .BYTE $06,$02,$03,$043 Y+ g3 b8 j4 Y; \
  149. 2 s7 E, m2 A& Y1 T' J' D7 K
  150. 8 x1 b2 i* l# W( X* _- f3 `
  151. ) o" q9 y' G: A* q& d1 C
  152. KEY_OPERATE:    ;按键开关操作/ h. d, ~7 C4 l) _
  153. data_protect:    ;数据保护
      z8 J, u5 j. [2 _$ i9 ?
  154. PHA, z3 Z6 |" r4 U( G! b8 C
  155. TXA
    # V$ Q  L6 h# L* Z7 `; T/ o
  156. PHA" n' O! T- H% E$ R& U0 L
  157. TYA
    " S8 b9 k0 Z$ k  g( G
  158. PHA  W  R3 k/ `& G" l$ u' _

  159. * ]6 Z8 X% }3 D9 X8 L+ v
  160. FLAG_INI:    ;开关标志初始化
    - M/ Z" e. q; Q
  161. * k0 p- F; v) L$ K, M6 y
  162. LDA $600F
    ( X6 z/ r9 {" n; r( u
  163. CMP #$01
    # Z! c$ A! ?& y: N! |+ _. n( G4 a4 j
  164. BEQ pause_cmp
    8 W) h8 ^+ Y  q9 _
  165. LDA #$00! U, ~/ c8 I; E. A' M
  166. STA $6000
    $ P% c# V. O& C( p0 s8 {. V
  167. STA $6001
    ) ~6 g5 s- b7 c1 ?% |& [
  168. STA $60025 c8 \) Y* v( B) Y9 H' g# S- u
  169. STA $6003- ?+ q( Y8 y5 p! S0 \, a
  170. STA $6004; o" k2 u2 V- [2 P% c( d& h+ z
  171. STA $6005
    4 J, Q( l/ J. A; h: V
  172. LDA #$01
    ( V5 B- _6 C& v( C2 _
  173. STA $600F; X- }' `. z7 |# n; Q- x" f7 m

  174. 9 y1 p" W% f( A
  175. pause_cmp:    ;判断暂停状态
    # r  {9 o0 E2 {* ^
  176. LDA pause
    ( \- Y' u1 d9 R) X" g9 `' T7 Y8 x4 Y
  177. CMP #$01    ;判断暂停状态
    , x) H( O& G; {& w" u6 i1 x
  178. BEQ button_press
    8 h* r) \4 P" i* d
  179. PLA
    . D. N! o, \5 |  O  v$ E
  180. TAY4 A" F" G9 Y6 \
  181. PLA$ T- H3 C6 `) S" s- N% r  h! \$ i
  182. TAX
    7 g1 B( w# m" C$ E  t! L
  183. PLA
    : D$ k& f( E4 O' w5 I/ b
  184. RTS, _5 S5 k- s) b4 P5 b/ T, b

  185. 3 G# t, L- A, X, c* y
  186. button_press:    ;按压操作  I4 _3 Z: g$ h" u2 N
  187. ini_Y:
      ~4 M1 i8 x% I( j2 K8 F. U
  188. LDY #$00) Y) @9 L9 y- M/ W
  189. button_cmp:
    ; @( g) @5 r# s) W& |8 E7 G. C
  190. LDA button,X
    6 a* w3 A0 M6 C* R$ c
  191. CMP ora_data,Y
    4 a/ y& E: \. A. R
  192. BNE count_Y_cmp- l8 }! a. k3 ^. p9 ^* _
  193. flag_cmp:/ Y* A* i3 G6 @1 q6 a) p2 R
  194. LDA flag,X
    ' J( V4 c/ h; Z+ u4 d+ E
  195. AND ora_data,Y5 i) `( Y: n# X3 g9 s# n, c: C
  196. BNE flag_and
    + H2 c2 S5 P; ]# w0 i
  197. flag_ora:9 ^- q, k, b9 ]7 L
  198. LDA flag,X# k5 ]; c) l) S. o7 [  G
  199. ORA ora_data,Y5 ^! G9 d; h8 F7 V2 n% E, l( q
  200. STA flag,X% \6 |) f4 V' F$ e. w
  201. BNE count_Y_cmp* V* q" _2 O( Z  j8 X6 i1 o
  202. flag_and:
    9 a" y: Q0 H3 _2 `3 A0 B( Z
  203. LDA flag,X
    - A" o7 `. R. }0 E% t" e
  204. AND and_data,Y( T: @; _/ H( y9 f7 x
  205. STA flag,X( {- c/ e3 E/ Z( z
  206. count_Y_cmp:, z4 J: H5 B1 x- I$ J/ E/ W
  207. INY
    $ O% W" [: E8 n& @! w  N
  208. CPY #$089 ~/ @2 P+ q9 e: B) ^- K( v
  209. BCC button_cmp
    # M5 k: C/ ^+ z9 O$ j# h- N

  210. 9 O+ p3 |; U$ |: `, J
  211. data_extract:    ;数据恢复9 U! {, S" i; F9 v& `
  212. PLA
    * o* T, i" C# u; F/ G
  213. TAY9 n' y* V: t! G+ `. y# x# s
  214. PLA& I/ d$ b( j9 h/ E0 r" R
  215. TAX, s3 ]* |. C8 \$ o4 T' e! {
  216. PLA: @9 E/ _  |" c, _! f
  217. & n  Z: L7 Z2 [8 s
  218. return:. J1 X+ M5 P+ l9 v2 V3 z1 Y, u
  219. RTS
    1 Y: ~  z9 [- R- u& m. [/ l$ ]

  220. * m, L* w  i  Q5 G+ w
  221. ora_data:   ;按键相或数据
    5 F7 l$ \# M& y* p- [
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
    & s0 e! N, H: d- U
  223. and_data:   ;按键相与数据2 ^. p& a7 Q3 `# O
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    / e2 r9 t  k6 j2 Q* d6 s" ^
  225. & Q- [6 k: e5 j. |, h

  226. ! h* b- \/ W9 P, p! h8 j9 r
  227. / L" B3 b( J  w' y# L' f
  228. : U  C( V# O" C- F2 t

  229. 3 D0 s9 Y; g. ]( ]1 |0 _, A7 a
  230. ( o- I' x6 j4 x2 ^
  231. " C. e& c; C% b! G# o, v3 s

  232. 2 }1 ^  @3 t) ~4 l" a& i, G0 W

  233. - L' h! v2 M( G* ~
  234. .ORG $C264    ;自定义的MAPPER2切页程序
    $ ]* X* x1 E( g# p, S* y, L2 _
  235. PHA
    / c7 @* a% L  V# E; A/ u9 _% J
  236. TXA
    " u  D9 a) z5 H: s. f9 j" C0 P
  237. PHA: f+ I' m* _+ g$ N. G
  238. LDA $0066
    $ T" \5 X* U9 C: s5 a
  239. BNE ADDRC280
    / y4 q7 d: ~" V& Q3 K  a
  240. LDA #$07+ i3 D7 h; ?, {
  241. LDX #$03& \$ a  X+ j0 [0 s) ^  i
  242. JSR $CD9B    ;自带的切bank方法& k+ b" K6 n5 O2 F; k( ?, t
  243. PLA
    % z# A' K- M8 l
  244. TAX; z6 c) Q5 u( a0 D: e
  245. PLA( r9 K" |) x* S% }2 S
  246. JSR $8000' z* N+ R  e: D( B  Y$ l
  247. LDA #$06" y# y3 w9 t" Q9 @) q& u3 _9 V. J
  248. LDX #$03
    # y9 l" x5 \8 A% [
  249. JSR $CD9B    ;切回原该切得bank(可以不用)( M- H9 ]5 x8 [/ i
  250. RTS
      G  C8 F' v/ l  J! R
  251. ADDRC280:
    * y1 l: T9 n$ f2 m- I. L- H
  252. PLA0 V% v, Q4 N1 q1 X+ G" w
  253. TAX
    ! w* |. B. t' @* ~
  254. PLA7 v& x, G! K" g" H  m/ Z! D
  255. RTS) l  |; J7 D$ W8 i

  256. 4 m' [$ r2 K  H. V/ `
  257. ! B9 D6 o# ?( I$ Y
  258. ;[FC][最终任务PPU][END]
    % F6 w. u8 d; O8 t/ c/ I4 V
  259. .ORG $C056    ;跳转到PPU重写程序
    # D7 F' c5 j  z+ T5 b
  260. JSR $70007 D3 P$ o2 T# o3 p
  261.   C4 e7 \2 ^8 g+ W9 a/ o; J0 b+ @
  262. .ORG $CEBF/ m! ]. V5 F& y7 }3 z4 m# r% `: |
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入, S: @. i1 ?. ?, F( c# N
  264.   $ d" n  }6 M" |: {! q% Y
  265.   .ORG $E460
    * m2 c3 z, \9 T% B
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入
    ; Y  u) w( F. v
  267.   2 d1 t4 o5 M4 M% K5 F
  268. .ORG $71F0
    + b: a* c% M( f) X
  269. STAGE_DATA_WRITE:
    $ y1 K; Y% Z, x6 }9 q, {( u
  270.   LDA $6010# ?* p9 W& v9 G  k
  271.   STA $1E    ;关卡写入
    ) L* ]# F  S+ A& b& P6 S
  272.   LDA #$000 T/ v9 [) y9 ~* K( P' ^
  273.   RTS
    " p0 n( J$ r" B* H% G  r7 Y9 N; k7 d
  274. .ORG $71C0: V5 Z- R+ p* P# Y% p! t
  275. BULLET_DATA_WRITE:    ;副武器数据写入5 L$ E: E7 [! d( q
  276. CPX #$0E  E- w* H" X! R8 c1 [* _9 L: I
  277. BCS P2_BUL
    8 A' f5 V% \9 O3 |7 E3 g6 Z0 s% t
  278. P1_BUL:
    8 e% t1 `3 U4 P. P
  279. LDA $6004, S% A* D5 C) i5 E% t! e; e  R
  280. JSR $D7D0    ;P1副武器数据写入
    # l( F) G! W& v, z- C" Q
  281. RTS
    + \0 y8 `2 L( |2 e
  282. P2_BUL:
    - o: i" D; I) i+ ]$ q5 l, N# P: u: W
  283. LDA $60053 \# J/ }  S: z) X. j
  284. JSR $D7D0    ;P2副武器数据写入
    " K/ b* L' }  ~2 F8 U- g
  285. RTS* u. D" h2 {1 |& m1 C: t# R2 z3 k7 R

  286. $ ~! o0 C7 [. Y7 L

  287. ! G! C% O  y) q4 O9 y
  288. .ORG $7000
    3 b; x. d3 \' M' c0 S# B4 w& Q8 B
  289.   
    + J) {+ H  [4 N8 Q% v3 A
  290. STY $4014    ;补上覆盖的精灵写入指令- D% B+ C, p% B% u; Q
  291. PHA0 u$ @: a: g! T9 r
  292. TXA( {1 e* h* A) O3 G; i* l# }, U
  293. PHA: B% ]% c- U  V6 F- s7 Z
  294. TYA8 }3 x2 P5 e" m6 f2 r5 s2 g! e- ^4 f
  295. PHA
    0 W4 U% s3 M) N' L# Q+ r
  296. LDA $0C8 T0 P* T2 O& p0 J
  297. CMP #$01    ;比较是否为标题画面! A& f: u) V+ i! Q) W# V
  298. BEQ PPU_STAGE
    9 s4 D! A$ {  i! O; _
  299. PLA
    : I8 {; X& \( u+ l( w, k) w
  300. TAY
    , u5 j, [5 W2 |0 X: C/ N7 g! t
  301. PLA
    - I8 o5 U+ n) B+ D
  302. TAX% K9 S: R0 @" a5 ~/ U+ \
  303. PLA
    5 H* D+ Y& F* ?$ M
  304. RTS: n* M  R0 E% t$ l9 K
  305. PPU_STAGE:    ;STAGE显示程序
    2 Q6 b. ]# S7 d3 o4 F% Z/ `
  306. LDA PPU_ADDR_DATA
    0 d( {( T$ F0 {; ~
  307. STA $2006
    & g$ t0 N; m1 p. h. j
  308. LDA PPU_ADDR_DATA+1; V, B4 J  l* F  `$ L
  309. STA $2006    ;坐标设置+ R/ a/ u2 S, k# m  E0 F" K! z: C) w
  310. LDX #$00
      G2 b; J0 z; h2 v5 T$ c
  311. PPU_STAGE_WROTE:    ;写入STAGE字模
    * l; I) e0 Q7 s5 K$ [% j
  312. LDA STAGE_DATA,X( D7 t3 x! a4 t/ h
  313. STA $2007' n: @" {. o' l/ c; R
  314. INX
    $ q' B, n1 v5 |" L, B! J
  315. CPX #$06! s& h! H. O+ z
  316. BCC PPU_STAGE_WROTE3 U3 \1 v1 t  O0 _7 c( H
  317. LDA $6010# _. r5 |9 y$ g1 w/ y9 k- Z. }. Z
  318. CMP #$FF    ;关卡数据初始化条件判断, i2 b- q* L+ X% ]
  319. BNE KEY_B
    1 @6 M; D4 p* ?: `8 v0 n: |, N
  320. LDA #$00
    7 \2 y: U6 M# x$ o9 R
  321. STA $6010    ;关卡数据初始化
    ( L' C2 X  A8 B
  322. KEY_B:    ;关卡减少
    . i( K$ K1 ^6 v
  323. LDA $04. z: t. L0 ^8 v
  324. AND #$42    ;按键B或左减关4 X6 j2 ?/ Y1 a: G4 M
  325. BEQ KEY_A
    0 S6 B, b4 C6 n! g- M; P
  326. LDA $6010( b9 Q& Q- v& Y! Y; u9 U
  327. CMP #$00    ;关卡比较
    / c* k. j* t% }% s* X
  328. BEQ KEY_A  T' s" c* q- L. q& d
  329. DEC $6010   ;减关
    / `6 Y4 Q8 ]( K) i0 v/ m/ s8 d
  330. KEY_A:    ;关卡增加
    - O( ^; N# M1 t' x1 |
  331. LDA $04
    2 f. c" F2 ~9 M, K) M* x
  332. AND #$81    ;按键A或右加关
    / v9 S6 j5 Q$ j+ ^: J; S
  333. BEQ PPU_NUM_WRITE' x1 d/ C% R/ C
  334. LDA $6010+ z. R+ {! [) E+ f! x& ^
  335. CMP #$04    ;关卡比较5 _& d( J$ C& M# M# Y
  336. BEQ PPU_NUM_WRITE
    2 S8 L# a: p( m- [' q
  337. INC $6010    ;加关8 |8 M0 f  A0 u+ _# G  s& \
  338. PPU_NUM_WRITE:
    # v5 K  M, W* Q. G7 m
  339. LDA $60101 b& M; G1 x  _0 a( R# P
  340. TAX9 S' c& \/ k- O3 t, }
  341. LDA STAGE_NUM,X    ;写入数字  A. S! M# q0 X
  342. STA $2007
    ; z7 Y. \; A5 }- I" \  D8 j! h! z' R
  343. PPU_RTS:
    8 @) }8 W- N% ?
  344. PLA; m5 P- i  v; D( s5 [9 x
  345. TAY
    * {( e0 q# _" _: B. G
  346. PLA
    * l* ]9 a  S2 q0 }2 `0 R, l& k4 I0 g
  347. TAX& c4 t8 E. [4 f, P3 m7 Q% F
  348. PLA( y' @9 T7 t5 x) N
  349. RTS- L9 ~6 U. S7 L9 H
  350. 0 a$ g" J9 v, [; X! h( A
  351. $ C, h- y) K( L4 I
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据5 m8 u4 G$ R# W; ~7 i
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00  k9 q) U& J- {3 ^7 y
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据. d- r+ d3 z, h+ \; d$ W
  355. .BYTE $D1,$D2,$D3,$D4,$D5
    7 Y2 E: G2 [4 @! ~* |+ X! A7 }) A
  356. - x% Y  |/ I+ C1 Z/ q2 [
  357. PPU_ADDR_DATA:7 I! ^- Z. Y. t* ~4 [5 K- X
  358. .BYTE $23,$0C
    - z. P" z- O$ O. c* g) z
  359. * Q+ x& v# m; t3 f/ H  B6 v6 Z
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1752 天

[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 个 柠檬. 幸运榜 / 衰神榜

签到天数: 2367 天

[LV.Master]伴坛终老

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

签到天数: 1160 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 2114 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 3231 天

[LV.Master]伴坛终老

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

签到天数: 1803 天

[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
. Q& Q; K% o1 ?" D3 H. |& ?9 X( N: i最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊

9 @6 a1 ~0 R) J. j/ h已经加上了,赶紧下载吧
[发帖际遇]: 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- v0 d' ]- F& p# h
旋风又疯狂大修改了 哈哈
) S; U8 `- ~; t  J& Z6 D" n" j' o
疯狂不起来,无聊了而已
[发帖际遇]: yandagui摆地摊卖菜,占道经营被城管罚款 2 个 柠檬. 幸运榜 / 衰神榜

签到天数: 49 天

[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, 2025-11-2 10:06 , Processed in 1.107422 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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