EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑
! v/ C0 s- [. n4 b( i% T
9 L6 K  _$ _7 \5 E$ g; B* ~" _    [FC][最终任务][END选关]
4 j4 z/ N- D" E7 {! u, Y" n
: J4 `2 n5 A! |4 l7 [' a7 R时间:2017.3.292 ~* O, _6 g4 }. a
作者:FlameCyclone
( J2 l; Y' p( e7 U+ h内容:  Y- }* z# l' g. D( j" c
    1.关卡选择:   标题时,左或B减,右或A加(1-5关);
) X, v" ~: k$ Z0 S8 C" G/ x    2.无敌锁定:   暂停后,按上键切换;( R* g4 }7 @( y" S) R! X: c  ]
    3.生命加满:   暂停后,按下键切换;: D6 D7 o( |1 b; \6 T; b( p8 k/ S0 S
    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);
7 `; K5 ]' z( `    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);
* d! m( o) i! A8 S# `* C: q" M    6.B弹数量:    暂停后,按A键切换(1个或2个);9 g7 x: B) R6 B1 o4 V' J9 k3 A
    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;( g: }. w; F# w1 Y+ G
: `+ s1 I/ ?- {2 ~& v
4 g, C8 R( O( ^1 @0 ]0 _& H
% K  K; Z8 R) h2 d% t4 s0 A

; A: T& x2 [6 q* k
+ Z, c' P8 |- S9 D4 S5 }/ j- Z0 Q5 Y0 X8 m% v; i: b1 J3 z/ |* Z
游客,如果您要查看本帖隐藏内容请回复
# L9 ^+ r2 c4 c8 s6 k  V
FlameCyclone.ys168.com' Y" z, ?4 u( z) G" T7 Z
www.nesbbs.com
  1. ;[FC][最终任务KEY][END]% }" _4 W! d9 U, X8 p8 g4 Y. F
  2. button = $04    ;单次按键
    ( }1 B; n- Z* d1 p& R
  3. flag = $6000    ;功能开关标志
    ' N2 w6 h8 L# U* O
  4. pause = $000E   ;暂停地址
    ) O! }% [/ v/ A$ r9 v1 u
  5. 2 M$ ]/ Q- n% z/ R2 z+ n% X5 N: P
  6. .ORG $8000/ f7 b) G# w$ Q# P3 w- p( d2 J
  7. LDY #$08    ;自带的按键程序* D. ?1 b' F6 r) h% m
  8. ADDR8002:
    + w0 r: @% j  X
  9. LDA $4016,X& x# D. H) }1 L% w' @6 l' v! [/ p
  10. LSR
      y; W7 I8 a2 B9 D$ _6 [
  11. ROL $00214 c) l9 t0 k$ c  A7 Y. K
  12. LSR9 X4 r$ C' d4 H0 T1 {; T. s
  13. ROL $0029
    " I. J' m2 ]% y( Z* `  |
  14. DEY: U, ?: T, Q) d# l) _3 L3 i+ |! e- G
  15. BNE $8002% E6 H! x9 {" n5 [: s
  16. LDA $0021
    - ~$ F  `/ {: C+ `) m/ W5 |
  17. ORA $0029( c0 m- b6 j' R; D/ _" Q1 l
  18. STA $0021' u0 y* T1 J9 \' t1 Z+ S0 @
  19. LDA $0020
    3 k6 s% R* _/ u- ?8 m. x' B
  20. AND $0021
    * N7 L- p$ k; @
  21. STA $0020
    - S& B  _8 K: R% t4 F1 D
  22. LDA $06,X8 J. f0 B, `* l1 S( ~8 T$ c: s
  23. EOR $00204 N$ ^$ p. F+ K6 c1 o* v2 f
  24. AND $0020+ j3 R  w) b  Z- K5 x) D9 U
  25. STA $04,X  T5 C) q" C8 u8 Y# a
  26. LDA $0020
    2 Y* E& d( B; Z$ a
  27. STA $06,X
    ! z7 C/ i1 j; B
  28. JSR KEY_OPERATE- e- Y( \5 C6 A/ S2 h
  29. JSR Function    ;功能调用" h5 u6 W3 K- n6 h6 J6 i+ {0 a5 R
  30. JSR Weapon    ;武器切换调用" f5 f7 l9 K0 {; s! b" Q' o! o
  31. JSR Power    ;威力调用# Z1 u' l+ L6 X- \1 {( v/ F- G
  32. JSR BULLET_NUM    ;子弹数目
    & j1 q0 Z/ o) ]0 F0 Z- }4 t/ P) l) F
  33. JSR BULLET    ;副武器类型
    0 g3 h: a, _$ E/ W1 g9 m# D
  34. RTS7 e; D2 A$ u  W5 h$ @9 {
  35. : n  D. k# H0 p' ^" v
  36. 5 w$ v7 ~# T/ I
  37. 1 ?6 V# o: z  S0 {5 R- ^$ D
  38. .ORG $80500 E. |( B6 |' l2 O, P1 y+ G
  39. Function:    ;功能% U# H" G7 w' B6 A+ r
  40. WUDI:    ;无敌
    , f/ Q# B1 j3 N  n+ d* z& n# Y
  41. LDA $6000,X+ G8 c; c- a5 l4 E  z, S
  42. AND #$08    ;开关判断8 s; N% w: Q! U" t% J
  43. BEQ LIFE
    " ]6 x0 l4 n& s. @5 ^) T8 N
  44. LDA #$05- G/ S5 x+ s* J* F: t6 L: ]1 A
  45. STA $05DC,X    ;无敌锁定
    4 F& k9 b# z; u2 X, m
  46. LIFE:    ;生命% A/ O7 s% H$ ?2 g7 e
  47. LDA $6000,X
    . s+ [/ F. j" F5 W6 e
  48. AND #$04    ;开关判断
    6 K& f; ^5 t% f  u1 M' v
  49. BEQ FUNRTS
      H; D/ W5 b3 C; A. `
  50. LDA #$051 c  v6 [  g9 ^' a: n
  51. STA $1C,X    ;生命赋值- y5 S: Y7 c: @3 k2 ~. ]
  52. FUNRTS:8 |& X9 M5 i! a1 T) ^8 h0 y* [" U
  53. RTS; d" X, Z4 C  _& j1 T
  54. ; G3 j4 r4 ~' J! E# Q2 ]
  55. Weapon:    ;武器切换0 |: t% W& `" S* O
  56. LDA pause    ;暂停状态判断+ o9 ^! c' o; L9 D/ G: M
  57. BNE WEARTS. W: s3 y* x! i. N* a+ ]. L7 F" ]' B1 {
  58. LDA $04,X
    . F! d& m% j. d+ Q# K
  59. CMP #$20    ;选择键判断( ~; W- |) l/ [+ t( F2 S/ L
  60. BNE WEARTS
    9 i. r  k8 K7 ]
  61. LDA $12,X/ C0 `& Z% x( |
  62. CMP #$03    ;武器值判断
    ! q4 @! o5 W1 j+ D; q
  63. BCC WEAINC
    ( d) \* ~9 D3 T. X& |
  64. LDA #$FF
    , c1 s$ l0 z! ~* R- u2 u
  65. STA $12,X    ;武器重置# R& G! G; f5 j" i( U3 m- L# E
  66. WEAINC:
    5 q# `' U* _* ?* n6 P# M/ ~
  67. INC $12,X    ;武器增加# B" b/ _5 c7 Q( Z# E+ l
  68. 4 C& h5 n6 T: n. y* \. c
  69. WEARTS:4 M: w# D- L8 i( @7 r
  70. RTS
    ( Q* u; ~, \2 ^1 K4 P  V" |

  71. : P  E9 y5 d6 k9 l3 Z
  72. Power:    ;威力
    " Y" ]! G) \# R3 ]; A/ s
  73. LDA pause    ;暂停状态判断4 C  f. R) X- T# s
  74. BEQ SPERTS1 U4 W8 w3 {( ^
  75. BUT_LEFT:
    ' H1 [  B* A; O0 h
  76. LDA $04,X
    6 ~& T& B  j1 g' l$ A
  77. CMP #$02    ;左按键判断& s8 R5 _: D. R- w8 F
  78. BNE BUT_RIGHT
    ) p5 T: i& p) V3 ~* a2 h0 J) O& \
  79. LDA $88,X( _5 d3 z0 w$ ]/ T2 b" w2 m4 C$ o
  80. CMP #$00    ;威力判断
    ( e( h: x; u. A8 h9 F
  81. BEQ SPERTS
    7 `5 `) i0 Z! R: K8 ^/ V' J! S
  82. SPEDEC& L7 Y3 `, q# s2 h0 o5 J7 l2 J
  83. LDA $88,X    ;读取武器值5 E/ Y- }6 @7 C6 d* @7 I
  84. SEC
    # y; P+ W  i' D+ J
  85. SBC #$08
    - V, i+ H0 ?. `* Z
  86. STA $88,X    ;威力减小; `& l' `* e- x2 R: s
  87. BUT_RIGHT:
    % L8 z# ^5 _( a
  88. LDA $04,X5 v8 J6 k* X: V
  89. CMP #$01    ;右按键判断- Y6 O4 _6 A: J4 R- @
  90. BNE SPERTS
    5 \8 V& \6 E. W  [4 H
  91. LDA $88,X* `% v' I" ~# {' l
  92. CMP #$10    ;威力判断
    + D) @% q* G; _3 r
  93. BEQ SPERTS, X( y( ?. g3 O! f; r
  94. SPEINC:
    . X+ q% R) D5 k" x" \  c
  95. LDA $88,X    ;读取武器值  P+ C  g. }& W  R! t# y
  96. CLC% o$ w! ^; h/ M7 F& i: Q  N
  97. ADC #$084 [" L% T, Z% D0 b, V$ S
  98. STA $88,X    ;威力增大; S+ m. x3 k( g" p1 ]6 q- v
  99. 0 q) f: N# j8 `; K5 \
  100. SPERTS:3 k! i% b1 e* [
  101. RTS
    % i1 L/ u, p! H' Y8 J& L: `% b: p
  102.   U* @& h- d: q& {/ I: g
  103. BULLET_NUM:    ;子弹数目
    7 }+ A8 z( P6 O1 M5 G
  104. LDA pause    ;暂停状态判断
    ) Y3 G# X7 F# i
  105. BEQ BULRTS; j; {7 ^) W# ]: e  S
  106. CPX #$00    ;主机玩家判断# i! u" m7 c' S/ b; M* @( s6 y! F
  107. BNE BULRTS* z% j  p5 K! _$ h
  108. LDA $04,X    ;主机玩家判断8 E8 ]& [$ k( U+ \3 k2 q# F
  109. AND #$80    ;按键A比较- w; R# l" z8 N; T6 {0 ~
  110. BEQ BULRTS2 `6 P' d+ s7 S7 ]/ b9 M1 F
  111. LDA $87    ;状态判断. Z, K- T) }2 B
  112. BEQ BUL_2
      @. o: }$ i% g2 t! Z# A# q* |
  113. BUL_1:- F6 l6 m" @5 Y: e9 R, Q
  114. LDA #$00
    2 T/ ]' i6 `; Q: H# c
  115. STA $87    ;1发子弹
      {: v7 c8 I/ K1 D0 _- {
  116. BEQ BULRTS
    6 V7 m, ]3 Q8 u9 p' x/ E( X
  117. BUL_2:/ O" l! u: s/ [
  118. LDA #$01# a" Z$ w- O& X; G  h
  119. STA $87    ;2发子弹2 `8 r4 G# V1 c1 e
  120. - o. |  `. {9 v
  121. BULRTS:9 R1 s6 ?1 h8 s' T
  122. RTS
    7 s2 x( C3 x/ @2 y" C9 C- l& J
  123. " D- W+ p, N1 j3 Z8 w
  124. 0 [5 x: ]* C5 k- b& L. b
  125. BULLET:6 d3 r5 G& R6 H" z5 L+ B
  126. LDA pause    ;判断暂停状态  j. V: l9 q( Z  g1 V
  127. BEQ BULLETRTS
    & {& K9 ^9 ^! t/ d$ w0 f
  128. LDA $04,X
    $ q  P+ {- \- F" u1 _
  129. CMP #$40    ;按键B比较% _# M9 D2 |6 U' L" f9 L: r0 o
  130. BNE BULLETRTS
    0 ^/ ]; ?0 j( @9 q& y, |
  131. LDA $6002,X    ;读取副武器7 `& X" [  V7 K
  132. CMP #$03' J1 p' r  _! _4 M' Y( z, B7 k
  133. BCC BULLETADD# F, }% l; {. ]
  134. LDA #$FF
    5 Q9 \6 k8 l6 l+ F
  135. STA $6002,X
    0 U% J: s3 v5 S( j2 R
  136. BULLETADD:
    / O6 t5 P% U3 R" u/ l; a
  137. INC $6002,X" D; S% X  Z' I! Q* G& X) |
  138. ! S3 }2 V( j( c' S- B& G
  139. BULLETRTS:
    1 l8 z' i6 U' ^' H* r" E7 M
  140. LDA $6002,X
    0 k% R; Z6 b3 J# ~+ x, u# A  l
  141. TAY
    ) \1 X9 |% B' e% a
  142. LDA BULLET_DATA,Y# G, }  C  [3 y; ?
  143. STA $6004,X    ;写入副武器数据( X7 o# p6 ^1 Y- u8 @
  144. RTS
    4 z% u. a% c5 ?, D3 B
  145. 4 P6 ~# Q9 t; a/ \, l" M
  146. ( v# y/ ~# ^' ?% {
  147. BULLET_DATA:: q' C% J7 X% C% O' r* B  B
  148. .BYTE $06,$02,$03,$04; N# h# ~" |$ ~$ D# l
  149. 6 e+ E, _$ E) n8 d! z3 k

  150. ; k/ Q( ]; D0 z

  151. ) L6 A2 x- ~6 J- U2 S6 d% z
  152. KEY_OPERATE:    ;按键开关操作
    ; [* o* t1 ~/ d. z) d% a
  153. data_protect:    ;数据保护
    . v/ t0 k. b' k/ ^! L. `# _
  154. PHA
      V9 z8 V1 ~: }( |( B8 ?
  155. TXA
    / V/ J' ^) k7 Q9 o1 h% Z, H
  156. PHA
    2 O  V, p  @% w7 Y# O
  157. TYA
    ( s' x. |: {5 S' p5 c- s/ a9 `$ ~
  158. PHA
    2 u* {5 N- }; |' T# [+ {* N

  159. 0 L( E* P. P5 j& P0 |* C( Q% O$ u
  160. FLAG_INI:    ;开关标志初始化# w9 {, c$ ?0 k4 T" A. L
  161. - {  G1 j% k( M% B3 V* O
  162. LDA $600F& f2 N5 Q- G0 K' ^! h  I1 \
  163. CMP #$01, G9 \0 k+ L, u* D* l
  164. BEQ pause_cmp
    $ p2 v) _! v8 e  E
  165. LDA #$007 t! [; P( c$ A- K8 Z) i3 {
  166. STA $60008 L& H: H5 y8 B4 @/ h  A8 N
  167. STA $6001
    & J% W/ y$ [" U
  168. STA $60022 {) j" n8 M+ W* u" Y
  169. STA $6003
    * K% m8 I5 \$ f. ]4 J7 P
  170. STA $6004
    0 X0 h9 [: G: D" \7 @& ]. P
  171. STA $6005
    # {2 |& M0 }6 A8 v- t
  172. LDA #$01. H5 g4 ^( X! w+ x8 A- O$ t
  173. STA $600F* {0 F( d! U$ P5 C# v1 i$ Q
  174. 9 H3 p4 R7 l) H# P$ L( _
  175. pause_cmp:    ;判断暂停状态. @0 [: J( {: E4 V$ e! k4 j
  176. LDA pause9 Z$ p: t. S# T8 l1 I" `
  177. CMP #$01    ;判断暂停状态4 R* v& }- K4 Y# L' J/ S; u
  178. BEQ button_press
    7 q8 X; v9 x" T) z% o/ Y
  179. PLA: ?+ K  h6 V4 m) U7 N0 w" {5 J
  180. TAY, r+ y4 L( a3 Z: Q+ a% P
  181. PLA3 N0 A8 `: Y3 u" _; G# `/ \
  182. TAX) Z4 l$ a0 }: e, W" H  v
  183. PLA- |+ n9 C) ]2 `* m) n7 Q
  184. RTS
    $ O: u4 w  Z  T2 t# R, C/ j

  185. 3 D: d+ p4 F/ [% C
  186. button_press:    ;按压操作
    . V: _. \  f1 c0 P& ~
  187. ini_Y:
    - |8 W% s* e2 C, ^$ e
  188. LDY #$00! \8 O1 |, D( X) f. \2 g
  189. button_cmp:! b: I$ M9 q# u: b$ t
  190. LDA button,X
    3 D/ x- |  m0 @' g9 W( T9 |
  191. CMP ora_data,Y
    5 q( K+ {9 k6 q  \5 C8 K. g
  192. BNE count_Y_cmp
    9 D+ C) E& @# H' E6 o9 x
  193. flag_cmp:
    * \% g9 r6 }% J' U
  194. LDA flag,X" f8 M$ V8 D6 J4 B
  195. AND ora_data,Y2 d4 G! m% p0 p
  196. BNE flag_and
    $ p7 Y% g: @9 I& {' a
  197. flag_ora:
    % `' q! K8 h$ t3 M* o* }0 D: ^
  198. LDA flag,X" g+ K& r$ T# G6 `* n6 P
  199. ORA ora_data,Y1 N& }* Z( a: Z2 I8 B# h
  200. STA flag,X
    ( Q( R0 h' h7 u8 T
  201. BNE count_Y_cmp7 }3 g  h' `' J# U
  202. flag_and:2 @. ~1 ~. T  W; R/ n
  203. LDA flag,X
    1 H$ y+ ?( t' F2 z' `6 O2 h; W! Q
  204. AND and_data,Y
    . l* T2 h) ^1 J1 {+ G8 u/ x# H
  205. STA flag,X
    . I/ M( Y5 o& ?" g. s1 r( y% {
  206. count_Y_cmp:
    3 V# O' w+ }. g: i2 H' C
  207. INY9 o, L1 |8 z' M/ Z$ t6 z
  208. CPY #$086 B" M3 d( T: X! x5 w
  209. BCC button_cmp  _/ N$ f6 Q2 y# Z* e

  210. : L2 J2 Y& C7 K  j+ P# ~
  211. data_extract:    ;数据恢复
    ( z" |3 h5 e/ e$ k, M. Y
  212. PLA
    0 ?: B8 z0 u7 _3 Z- v1 {- h4 |) I
  213. TAY8 k# y% ?0 l! E+ j! i
  214. PLA
    ) X" R+ D7 X* F: U! y, o$ Y
  215. TAX
    6 B& v/ s# n# s% A$ D. A: x
  216. PLA
    ; s; O3 V  q6 S* Z

  217. 6 D) Q" ]0 {" H; b% G9 a
  218. return:
    8 l, Q0 o" K  q! o/ ~. n2 M" o
  219. RTS. U, S/ G" F' Z5 _8 g6 }
  220. . R) A9 @1 z8 h4 D
  221. ora_data:   ;按键相或数据
      [) {! w4 Q( _# K- Y0 t- |, J/ D
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$100 ]3 q2 R, |8 I! ~) y9 U* K
  223. and_data:   ;按键相与数据( B7 ?& w$ n* I0 L, O" Z
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    + r- e7 z# `7 m: _( m4 R) q3 V
  225. ; H9 m, ~: k! q; V2 |) F# ]% O
  226. / F( N! R: o! m7 @

  227. 5 I/ v; \1 w- E8 r# m7 t& B( E- i
  228. $ C0 t+ E6 D9 _9 W! X9 L

  229. - v! d' x9 l4 T7 z7 S

  230. * P( W$ T: }- ~- r2 R6 c6 w% @) Y! q) t
  231. 4 U! i, L9 V3 ?7 P
  232. . y5 L1 O( }5 m: c9 ^6 L  r( k; N
  233. / p2 G7 Y2 p( ?* O$ c* ]) I
  234. .ORG $C264    ;自定义的MAPPER2切页程序
    ) H/ ^9 k; O0 x; w5 ?
  235. PHA
    $ I) s7 P  N% l$ u
  236. TXA
    $ C* z, N, _) J- w1 y! f' Z( o' {
  237. PHA
    7 ]5 ?' r4 x, m% N
  238. LDA $0066
      Y# u" j" S* D6 I- k
  239. BNE ADDRC280' v4 j# J' K1 o& C& v) o
  240. LDA #$07
    ! O: ], a  O4 S' H
  241. LDX #$030 \% u2 |8 Y0 `0 B# w
  242. JSR $CD9B    ;自带的切bank方法
    + k$ o% \  f' y2 S# i' e
  243. PLA4 i" a: D1 g7 t/ B/ `
  244. TAX( ~6 ?; `% ]/ x, h) G& I* k
  245. PLA6 |' \. O* {- h# L9 _1 j, ~
  246. JSR $80002 M8 c) o$ z4 c5 |) s
  247. LDA #$06
    9 J) \6 x5 W8 ]' A" C% k. b
  248. LDX #$03; X( e& J$ K6 t/ }" p0 I
  249. JSR $CD9B    ;切回原该切得bank(可以不用)
    0 b1 t6 i7 V6 ]+ t8 z4 O8 i6 y
  250. RTS
    " i: P% N( A7 ?
  251. ADDRC280:5 I* Z9 k) _2 t
  252. PLA, s& y0 d7 L( F  t2 a/ h
  253. TAX
    ! d/ a- W5 _# q, h
  254. PLA# i7 B8 l7 Y; ~1 `/ D6 u3 Z/ ~
  255. RTS' D7 O( ]/ m4 ^/ I; _1 o& k) a) @

  256. / M% O4 W6 D, U- x3 e" Q5 X

  257. ! Q& F/ U$ m4 Z  Z) `
  258. ;[FC][最终任务PPU][END]
    . Q2 g) c! v6 {+ R- U
  259. .ORG $C056    ;跳转到PPU重写程序6 S4 A, Q8 U9 U; `. y$ |
  260. JSR $7000( p! X- e0 K7 _: Z, D  b
  261. - g! D- d: d, M; M' c+ T
  262. .ORG $CEBF& f3 d/ `/ q$ A: F  }4 d+ b  D
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入
    1 e# c# B( r; o) T
  264.   
    / [. b+ z- d  p7 G0 z/ Z
  265.   .ORG $E460
    2 s1 y. |9 P% v
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入
    * j; y0 Z  J0 V" r& `5 w7 l* }2 j
  267.   
    9 Q$ x: W4 c" |$ L
  268. .ORG $71F0
    7 p: s, S, a! V0 @
  269. STAGE_DATA_WRITE:& }2 z4 \0 z6 s7 J* L" a' I0 b1 L: J
  270.   LDA $6010
    : k) ~; E3 r; j
  271.   STA $1E    ;关卡写入
    8 ^1 [. }! A3 ]9 z0 [
  272.   LDA #$002 F. H. `- ]- }# d7 e( u! c
  273.   RTS
    + J5 G9 K6 p- v( S4 a( ~( V8 C0 U) d1 m
  274. .ORG $71C0
    2 _5 c/ E6 T6 P; f( F
  275. BULLET_DATA_WRITE:    ;副武器数据写入1 w6 k# J. x, v7 N/ q+ ^+ ]$ V) [
  276. CPX #$0E) h: Y8 D# J; P# y  k6 H
  277. BCS P2_BUL6 S( E# r( ?% Y( K" o( Z4 U
  278. P1_BUL:. G, I' o2 a* l0 Y9 Y6 o
  279. LDA $6004
    ( I; U' P. |" y/ U
  280. JSR $D7D0    ;P1副武器数据写入0 H  k$ m1 c* n1 d2 ~
  281. RTS
    3 o$ s3 E  e2 B7 W2 D; d- c
  282. P2_BUL:4 D5 d6 t6 C. J# q3 |: i* y
  283. LDA $6005
    " ~0 w/ M8 W" o. j, s) o
  284. JSR $D7D0    ;P2副武器数据写入+ `3 k' u# h2 y; F& n  a
  285. RTS
    8 T) M0 k) F$ U3 e0 r- b

  286. ) K* ]/ N! {" d; Z
  287. 4 y; O, |7 a3 d# |  {! H
  288. .ORG $7000* X# Z# s% R! R
  289.   . d2 |( F* D. l$ ?% Y' U
  290. STY $4014    ;补上覆盖的精灵写入指令$ G% d5 P( N6 t1 B9 F
  291. PHA
    ; h7 t& J9 z$ |" p" {
  292. TXA( ~9 Q8 X4 s! t' S) m( U! P
  293. PHA( i* a6 h2 M* `: z9 c+ M, j8 k: ~
  294. TYA* e2 H' w! K/ ^
  295. PHA
    $ H' V( V) B% U9 F( f& Q
  296. LDA $0C8 F5 l8 l3 U& X. }1 \: @
  297. CMP #$01    ;比较是否为标题画面
    ' q) W; E7 k+ s5 S
  298. BEQ PPU_STAGE
    3 a/ A# I6 |1 r
  299. PLA
    3 Q* m- ^' i5 k, z
  300. TAY
    - C4 j. z; t% _. v% t% o/ c* M7 A
  301. PLA
    ' A: y7 e! O. V1 D$ g
  302. TAX
    2 r/ _2 z* A& W2 f0 j
  303. PLA1 V) J0 U3 x) Q6 Y# z
  304. RTS% N# R+ X  H( ?+ y+ Q, }5 K+ J6 W6 `
  305. PPU_STAGE:    ;STAGE显示程序
    7 O' T3 E8 e  u  ?
  306. LDA PPU_ADDR_DATA+ g% a. C1 W8 j
  307. STA $2006
    ( _- D& K" g4 K5 e) f& ^' t
  308. LDA PPU_ADDR_DATA+1
    , d7 z' ?; J; y+ V5 M( Z- Z/ o( {
  309. STA $2006    ;坐标设置
    ' G; V+ B) u9 v, n) w* e
  310. LDX #$003 d0 U+ h& u2 c9 I6 B# y. w5 [0 L9 `+ c
  311. PPU_STAGE_WROTE:    ;写入STAGE字模, ]0 G& k) X0 v& g; e% |
  312. LDA STAGE_DATA,X
    ; w; G# j4 R0 O' M- B& L# B* `
  313. STA $2007
    % i& L# f& L# ]5 x5 K0 W
  314. INX
    0 @- v/ `( V% P& X( x! ?" f
  315. CPX #$060 ~$ H' {0 W$ @$ W6 z- o! l& q
  316. BCC PPU_STAGE_WROTE
    . P4 e; ~5 L2 t; L: w
  317. LDA $6010  s% q5 j$ p0 `% ?
  318. CMP #$FF    ;关卡数据初始化条件判断
    2 l3 V8 z+ `- H9 U& ]2 k
  319. BNE KEY_B/ r' x9 l  K8 ]5 T8 ^
  320. LDA #$00
    * R+ C, y; n7 K/ y3 I2 j
  321. STA $6010    ;关卡数据初始化) X3 Q; |9 C# T) r% s
  322. KEY_B:    ;关卡减少
      O+ m% O, F! h: }
  323. LDA $04) Q2 Q; s" l- ]8 ^5 [! V) H! j
  324. AND #$42    ;按键B或左减关) e* {$ T& P0 A3 e4 O1 m( _2 D
  325. BEQ KEY_A( i5 e; U6 y, ^# F( H
  326. LDA $6010
    7 w& d; d3 p/ e9 N8 J) x2 q
  327. CMP #$00    ;关卡比较1 }9 A0 T1 o( q8 S4 R* [" p& j. v
  328. BEQ KEY_A2 J" f. r/ q) B1 c" _' X
  329. DEC $6010   ;减关& G0 b2 k5 X7 G2 R) @  R
  330. KEY_A:    ;关卡增加
    4 L" _5 d* |1 f
  331. LDA $04" [5 [; r6 X7 }
  332. AND #$81    ;按键A或右加关
    ! E  m$ e2 S& F+ e) X- I/ f
  333. BEQ PPU_NUM_WRITE
    " V2 G7 T8 v7 J7 \9 y
  334. LDA $6010
    & i' l5 N7 L8 {' Q, I
  335. CMP #$04    ;关卡比较6 u6 o& T4 v  l* Z
  336. BEQ PPU_NUM_WRITE& A+ ^' J) x1 o9 i
  337. INC $6010    ;加关
    7 T8 S' d( F' r/ E5 c! J6 A  [
  338. PPU_NUM_WRITE:6 `: D4 C6 W! x. M% r8 c# U
  339. LDA $6010! o0 H% Z# N) Q. M
  340. TAX! X$ Y. H) E3 V
  341. LDA STAGE_NUM,X    ;写入数字
    " Q# {! z* K8 Z6 Z! n0 Y4 Q- L
  342. STA $20078 T2 [: U9 g! s( L
  343. PPU_RTS:! \- g' s; ~+ j4 o. f' N5 Q
  344. PLA6 e" N% T$ @& f3 X: x
  345. TAY
    4 f# C  w: i, C8 s9 T9 \
  346. PLA# m  l$ F6 D6 `8 S0 _
  347. TAX
    " I" W; W! a- B* X: Z
  348. PLA
    2 f/ ?8 y% r; |# g" n& U5 n
  349. RTS- l" M) _$ [$ A
  350. . v; ~0 M/ J/ C( Y7 ^7 {

  351. 1 V6 ?. S" S" V- L% u9 `
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据
    & D' `6 R2 r- h: x# L
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00
    ) D: X' ]8 x( e; H" E
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据
    ' K; q3 @# [* b$ _8 D' k' \0 _
  355. .BYTE $D1,$D2,$D3,$D4,$D5( D+ N- U% x9 @$ ^
  356. . K1 F5 u3 @8 {/ i, \
  357. PPU_ADDR_DATA:( W4 A4 C$ O, u. J% P& Y" G$ k
  358. .BYTE $23,$0C
    9 B, K# m5 Q) A4 L$ C$ I# j

  359. 6 c1 W: u# s/ h1 q6 Y
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1801 天

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

签到天数: 1200 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 2175 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 3290 天

[LV.Master]伴坛终老

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

签到天数: 1807 天

[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' e9 B+ ]' u' e# U( k
最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊

5 H  ]! ~5 J- s$ }已经加上了,赶紧下载吧
[发帖际遇]: 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 _" ~7 Q# _' N/ n: [0 l6 Q
旋风又疯狂大修改了 哈哈
& C3 G1 q( r5 ^$ Z$ P6 D
疯狂不起来,无聊了而已
[发帖际遇]: 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, 2026-1-3 07:32 , Processed in 1.108398 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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