EMU618社区

 找回密码
 立即注册
搜索
查看: 1845|回复: 50

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑
) Y" S  ?7 G, v% |' b/ Y  C1 e4 P3 r6 r7 N, g( {, @( x5 i
    [FC][最终任务][END选关]
; ^3 A0 J2 Q/ @( {9 }1 I+ A  Q9 g( }. ?# U: R! x
时间:2017.3.291 E  a7 [$ N: G- G
作者:FlameCyclone1 S3 t- ^8 J& f( ^
内容:; B; b. z! x+ r7 S' {$ g) B
    1.关卡选择:   标题时,左或B减,右或A加(1-5关);
, h+ p3 U' Q4 O7 n( {" c, g9 c    2.无敌锁定:   暂停后,按上键切换;1 A3 }- S+ ^2 x) p! g. V
    3.生命加满:   暂停后,按下键切换;* i3 V. ?* R2 |0 b! Y2 Z
    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);. }6 X. V2 @7 @  R7 _4 Z$ D% w
    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);
& d: A1 i- A+ d* |- k3 b    6.B弹数量:    暂停后,按A键切换(1个或2个);
( u/ M% ~9 K6 Z' G; M+ I    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;
, v* P( I, e3 [' K
/ f6 H: T4 t! w+ j) f. {0 X! M. Z  P* e

& m% Q1 F+ |6 E9 f' y! Z  Q
- k$ ^( C- Z5 }/ D
9 d) F4 f8 C; A. C' }# b, A8 t% p; r+ {0 J1 y
游客,如果您要查看本帖隐藏内容请回复

# F# P/ o% X6 v, r. xFlameCyclone.ys168.com: c8 Z( W. w! w
www.nesbbs.com
  1. ;[FC][最终任务KEY][END]
    % r! v- J. G0 O1 W. b' P
  2. button = $04    ;单次按键
    8 P$ G( d! r1 e5 `! w+ D% _
  3. flag = $6000    ;功能开关标志' b- p! W' [/ R
  4. pause = $000E   ;暂停地址
    6 H2 {' e$ `0 ~6 {% a
  5. + T5 j( r1 S. j$ I1 j2 {- o
  6. .ORG $8000
    9 ^1 z0 I0 c( \2 `$ O$ O0 N
  7. LDY #$08    ;自带的按键程序
    ; ]/ Q( m# B. Z- j( L
  8. ADDR8002:4 q7 {' a' r; T5 r( ^: @6 h2 u
  9. LDA $4016,X0 [4 k- I: c0 U5 C% i! k8 |
  10. LSR+ I& p7 j8 V% r0 O4 @# [; X; y) p) G
  11. ROL $0021
    * a1 G% D* t+ y* [8 C- i
  12. LSR
    + p% `4 F5 M! M/ @# U4 \; z
  13. ROL $0029& v9 m4 E1 r8 p3 {
  14. DEY
    8 K+ \& B8 @; q+ z, C
  15. BNE $8002
    2 N& U. \0 r) L1 m% ~
  16. LDA $0021. A/ r; R: _  Z" y5 \! O
  17. ORA $0029* x4 P4 ^  r1 E$ O2 Y! v
  18. STA $0021
    0 K; a+ D2 P" L
  19. LDA $0020+ \) N4 {4 g) `4 Z4 k" I# f
  20. AND $0021
    ! |6 e' U( U7 u0 u
  21. STA $00206 I- [& I8 P% P+ H  U
  22. LDA $06,X
    ( H  g( T" ~. l- d
  23. EOR $0020
    * k5 S/ `- d* c
  24. AND $0020
    9 O: t# X6 u' C2 X8 i* _
  25. STA $04,X
    " [. Q4 c, G7 u; ~  y- W% E
  26. LDA $0020, u7 t0 \& |6 |
  27. STA $06,X
    : o! x. w1 D: n; S' T
  28. JSR KEY_OPERATE9 O- ?) Q9 {( N% Y6 e: F  e
  29. JSR Function    ;功能调用
    & O& k) Y4 o: N9 @7 N
  30. JSR Weapon    ;武器切换调用6 U( T% d6 t! x1 N
  31. JSR Power    ;威力调用! V' t# |/ ?- y- D! g+ p$ |4 m0 X
  32. JSR BULLET_NUM    ;子弹数目
    3 A) d) b$ C  x& v  H6 p( O; A3 U
  33. JSR BULLET    ;副武器类型
    0 O( R' d) ~' G* D- D
  34. RTS0 b6 G/ O' D5 O+ Y

  35. 4 f4 P" ]$ R# j. Y. p4 v( \
  36. ' X6 M  {  ]+ n: v2 ?+ @! r

  37. & J  s& e4 A) @* \  z) Z5 {9 `
  38. .ORG $8050
    - B  L* u/ D& s5 m. h# f, E4 `* Y
  39. Function:    ;功能
    9 M/ F. d8 m% o* g" s- ~
  40. WUDI:    ;无敌/ h3 E9 a6 `: b( ^7 g& F8 O
  41. LDA $6000,X
    5 ~' u; y1 n* k3 ]
  42. AND #$08    ;开关判断4 u* c6 P: v" s) ~% _) D
  43. BEQ LIFE
    " S, V! R; j/ K# S( q; ~
  44. LDA #$05& {1 D9 d' b6 G+ w, p
  45. STA $05DC,X    ;无敌锁定+ t' Z; o) h. R3 d9 C3 M8 V
  46. LIFE:    ;生命
    4 f% E) K6 a/ g9 P7 C' _
  47. LDA $6000,X
    8 g" N& l  @- Q% R
  48. AND #$04    ;开关判断
    # n/ R0 e7 g* [" n( ~( G
  49. BEQ FUNRTS
    " q7 W4 F8 m" L( Z
  50. LDA #$05
    1 S8 @9 z! r  h5 Z5 d# x
  51. STA $1C,X    ;生命赋值
    ( s  p* k; v4 f& ^& W1 j1 T  N
  52. FUNRTS:* d' T. Y' D' Z
  53. RTS
    7 w( z( Z4 b% s* H

  54. % |9 M- a) F4 `4 g* k* d: W% `3 z
  55. Weapon:    ;武器切换+ P9 q1 l- {' G% {3 Y
  56. LDA pause    ;暂停状态判断; d/ F2 j( ^0 y  `! S
  57. BNE WEARTS% k1 D+ s; b  n6 F% Z* C; E
  58. LDA $04,X
    : Q% V8 c( _, c. g8 h/ R
  59. CMP #$20    ;选择键判断0 T. o2 U! l# J' t
  60. BNE WEARTS: T* W1 b  j2 v& ?8 u) X
  61. LDA $12,X" e4 ~: ]: S; i# T- ^6 q3 f; r2 d+ D
  62. CMP #$03    ;武器值判断9 L7 ^# `& G# G# z# m4 t1 F  ]
  63. BCC WEAINC
    6 y9 O. u* U* E& u, P& @8 b) f
  64. LDA #$FF
    4 J9 l; m! e5 L. W
  65. STA $12,X    ;武器重置- ~( _$ k4 `) q: d2 ^: X
  66. WEAINC:; N6 f# t- S2 P$ u( k) Y
  67. INC $12,X    ;武器增加
    6 N, o; G: k  N) o& v
  68. - w/ n' {- W$ |$ V
  69. WEARTS:+ V& t0 n' ~9 O
  70. RTS
    + y* O# q6 U5 \' o( o% W. r
  71. 2 d. S3 g) }" f
  72. Power:    ;威力
    & X. m- b$ J2 I9 S+ p  s
  73. LDA pause    ;暂停状态判断) ?4 J# W% G5 Z: V5 j- s; E+ K" a; Z
  74. BEQ SPERTS
    8 _+ M, d8 u4 [0 k# y0 C0 Y$ ?
  75. BUT_LEFT:
    % C- n% t: m1 J5 P
  76. LDA $04,X1 _& b" t" v5 `% l$ ~
  77. CMP #$02    ;左按键判断' f& \. E( U; f! }' T& r, T
  78. BNE BUT_RIGHT6 ~# ~. {* B/ Y1 O6 Q# ~3 ^1 i
  79. LDA $88,X
    5 `6 y; \: w1 B+ K: Q. K
  80. CMP #$00    ;威力判断0 }! Q; g+ d9 V8 _5 N
  81. BEQ SPERTS
    " H: J- h; b1 Y2 j# Z8 H6 G+ U$ G
  82. SPEDEC
    6 g( f/ o0 i" v) s, I4 Y
  83. LDA $88,X    ;读取武器值
    * c$ Q4 S5 m0 Q7 `! A5 R( v
  84. SEC
    $ [& H' j# B" s" y6 D# y7 S9 j5 t
  85. SBC #$08
    7 v8 d! V- N# a& `
  86. STA $88,X    ;威力减小* _  U3 Y% J  t8 h! f7 v
  87. BUT_RIGHT:$ z% c7 ~5 p( y/ d0 f/ J$ ^! k( j
  88. LDA $04,X1 M$ e* Q% i+ _: j1 Q
  89. CMP #$01    ;右按键判断
    $ P8 A8 e9 _* ^1 t0 Y
  90. BNE SPERTS7 s! x6 {: B  \# |( A
  91. LDA $88,X
    7 j5 Q, ]5 k4 A, ?
  92. CMP #$10    ;威力判断+ S. C3 @% P: i' V( K$ T
  93. BEQ SPERTS
    $ v' Y* V# w: i  g- o  J6 q
  94. SPEINC:9 b0 J* m5 A1 @6 O3 ~+ T; W
  95. LDA $88,X    ;读取武器值
    ) _& A7 A+ q; A( `
  96. CLC. [: v2 c. C+ l6 Z
  97. ADC #$08% f, ?' ?$ ^5 b) |+ Z
  98. STA $88,X    ;威力增大. T/ U$ d8 y( b0 M" k2 Z2 ]5 w  N

  99. ! X8 g4 Y  D: ~; f% F2 {$ h
  100. SPERTS:1 q) I" I7 D" `* _* u5 i" W
  101. RTS/ u( ^2 J+ k1 C1 n6 ]4 _, g+ g8 L  G3 ]
  102. 0 P" m6 {$ L  I' ^1 @; g
  103. BULLET_NUM:    ;子弹数目1 G3 d& w+ _5 p7 R
  104. LDA pause    ;暂停状态判断( @. U" H0 A) O
  105. BEQ BULRTS( J1 e) [. I: j3 K0 T/ V
  106. CPX #$00    ;主机玩家判断
    ( I$ n' F+ _4 L2 D
  107. BNE BULRTS' p" R( `$ U" }8 f3 K: d; N0 ^  x8 g
  108. LDA $04,X    ;主机玩家判断
    1 h2 f+ O! Z, n( {* J- ^: F5 s
  109. AND #$80    ;按键A比较
    - X+ W8 x1 ~; ]; @! B: I7 j
  110. BEQ BULRTS
    2 n0 ~% }9 m# ^. f2 w9 O3 ~/ X
  111. LDA $87    ;状态判断
    5 _7 ^$ h  u: c4 `' R
  112. BEQ BUL_2
    1 ?# d9 _: _( T7 X& H* r
  113. BUL_1:
    8 N* ^- F: N3 \  t
  114. LDA #$00
    1 i: h' ?3 ^2 O, V( B; @7 i8 L  A
  115. STA $87    ;1发子弹( A/ k/ e+ s! @/ O6 {' Z4 S
  116. BEQ BULRTS
    2 G, Q: D- e3 [( E. \
  117. BUL_2:
    % d+ v1 q) K; W+ ]" y# y
  118. LDA #$01
    6 I$ a- U! S' S
  119. STA $87    ;2发子弹) N  ]3 ~$ M7 ~# o/ Z; [0 |: N
  120. * v8 c) o9 m" b+ O1 s! @8 ^
  121. BULRTS:
    ( g* K1 N2 R; v7 ^4 D' j
  122. RTS9 I7 C1 B' a5 y( v, s4 ~

  123. 8 b  S. k  w- K& l, Z& c& W& ]& W

  124. 8 M, a( z& a# j
  125. BULLET:
    ; [7 V5 h& P* g4 r
  126. LDA pause    ;判断暂停状态/ `: G9 Q9 s% j
  127. BEQ BULLETRTS; J$ U5 ]7 b" p7 G5 o* p" H5 ^/ k
  128. LDA $04,X
    " m+ Z, I4 U) p& P: S4 B( E
  129. CMP #$40    ;按键B比较
    " G( E5 D1 I& J& _( F
  130. BNE BULLETRTS* O3 f8 S0 e, T. X. \  J
  131. LDA $6002,X    ;读取副武器( j& P% Z# E3 {8 u6 }' j1 Y
  132. CMP #$03
    , q/ Z; P* X7 f- n! s
  133. BCC BULLETADD
    , J; h* `' {# k% l" ?- ~! R
  134. LDA #$FF
    / o' u" Y# M" L" R9 C
  135. STA $6002,X! }5 a3 D, T5 u* n3 C
  136. BULLETADD:- v- e2 P9 _  T' p2 Y, e% n
  137. INC $6002,X' {8 \4 ^! W) |3 o- t6 f
  138. 5 M6 p1 y* `( O2 t( _2 H
  139. BULLETRTS:4 T. ?5 V' Z, s3 F0 [* p1 }
  140. LDA $6002,X5 G9 M8 d( `7 B1 c0 f& ^( r
  141. TAY" \/ q$ q4 ^4 V- p$ W; q% M
  142. LDA BULLET_DATA,Y; ?7 @; D0 o& m' p9 v7 E
  143. STA $6004,X    ;写入副武器数据0 P) f. m7 a+ U
  144. RTS- \% R' S6 j5 V. ^8 |

  145. , Q& i( _; t; y0 A. s1 f
  146. % [- j0 j: J4 [% P
  147. BULLET_DATA:
    % T5 S& M. x6 y& V
  148. .BYTE $06,$02,$03,$046 \& Q0 {: F6 ^" i; w
  149. ) Q1 w! A- J3 K: I& F/ h
  150. - p# P# A/ ~1 ~4 C

  151. , K) G- a" R# a7 }/ w+ ]
  152. KEY_OPERATE:    ;按键开关操作3 e, E2 Q1 r  i; P; q
  153. data_protect:    ;数据保护
    - H8 G  q2 H2 x) B6 G% t
  154. PHA: b0 p/ h" F5 P3 D# }$ q. V
  155. TXA" [3 I/ v" A+ r5 H
  156. PHA- Y; O7 X: {  N" G9 \6 v! u7 J
  157. TYA
    4 V! h6 M5 J0 n# f
  158. PHA3 r: X: B( P- C& y
  159. * n9 l- Q0 n! Q- Z6 h. v
  160. FLAG_INI:    ;开关标志初始化7 r; ?9 z& w8 e9 ?5 p- o$ T

  161. $ C& E: ~# z& f# h5 ]5 E4 b4 T) l8 V
  162. LDA $600F
    % m; T& H2 ]; o. r( q3 R: W
  163. CMP #$01
    " F& G/ z5 i0 f. X# k, }: U! \
  164. BEQ pause_cmp# ?' x; S7 F, I+ ], T
  165. LDA #$00
    # S" S2 ~; b) t1 Z  h7 o
  166. STA $6000
    % Y1 b* E  h. R2 d- j7 |
  167. STA $60013 {/ S! c# R1 v. K$ o
  168. STA $60020 P3 X$ l6 J! Y: ?
  169. STA $6003
    $ r6 n1 t5 U4 D$ i+ M5 v
  170. STA $6004
    : g" F. g) G: X8 ~: D0 p9 B9 ^
  171. STA $6005
    9 w3 b% C4 }, {' T
  172. LDA #$01
    7 s2 E8 k# ?- Y  Z2 h$ Z; l$ c
  173. STA $600F
    2 Y, l4 Z$ G) g3 k

  174. . y( N- c! z. t3 E
  175. pause_cmp:    ;判断暂停状态9 M% V) q% N7 e* z
  176. LDA pause: K' p' _; P6 e0 |6 i: l' A/ H
  177. CMP #$01    ;判断暂停状态
    ! P3 W) f. Q3 ]0 z7 h
  178. BEQ button_press7 W/ Q* f; \8 L8 @
  179. PLA
    4 i! Z8 e1 _5 p
  180. TAY% ]( _. ~3 ~$ n& w3 ]7 A
  181. PLA
    % V( n% M0 P5 i, Z; a' ?3 {, k6 @
  182. TAX! Z8 B+ r* K+ V
  183. PLA
    $ L- [! `$ r! J! C2 ^$ _8 a
  184. RTS
    9 V( R1 |* R* C. C( Q1 ^

  185. $ ~8 g( B* a$ b6 d* K
  186. button_press:    ;按压操作
    ! {! G' b$ w' C5 O" w- i  h1 L
  187. ini_Y:
    ) O% S7 n- i' B! f. z2 s
  188. LDY #$00
    + \3 t4 c& I) ?& N- p9 J
  189. button_cmp:1 h' Y" A5 b3 R  J$ U2 V
  190. LDA button,X* G3 D6 c0 I) y. N. l
  191. CMP ora_data,Y
    2 e! f- {, A: z8 v2 V
  192. BNE count_Y_cmp
    , g7 Q% M6 A. n5 y' i$ _6 |8 p8 g1 E
  193. flag_cmp:
      e. v+ L, _0 t1 C: y5 n  c
  194. LDA flag,X) G+ L, X' [. }. |
  195. AND ora_data,Y
    ' u  r3 y& b% h& X) E& f
  196. BNE flag_and$ \7 k, _5 L3 z5 |
  197. flag_ora:
    2 W0 Y2 D2 Q( o0 @0 L
  198. LDA flag,X( ^# v; @7 i0 M: E! ^2 s
  199. ORA ora_data,Y8 a* }- n2 R' z8 v( S; U
  200. STA flag,X
    * Q% G( _7 ~* e7 k) ]1 o- m: C
  201. BNE count_Y_cmp
    * l- C3 S: C5 `6 w! F% _
  202. flag_and:5 w9 _6 O* C- o, T5 f1 L% |) n6 m. v
  203. LDA flag,X
    $ I! {) t5 n7 Q" t
  204. AND and_data,Y
    1 `- F8 U' I9 f& U) ]4 s8 E
  205. STA flag,X
    8 S4 W" H% d' }" f- a! o
  206. count_Y_cmp:
    & B3 v+ }0 o# {: p1 U5 [
  207. INY. b( ^! j, P4 r5 a1 b; D) ?2 [
  208. CPY #$08% [/ a' K) k  k! i* o, [6 f, O
  209. BCC button_cmp
    # s) N. @4 c0 [, Y

  210.   E4 M  j! n) w) {& }" D+ ]- ?
  211. data_extract:    ;数据恢复) u" i+ r; q& Y/ D
  212. PLA
    ' k& M& y, ?5 i9 I+ G
  213. TAY. P( r' `" g- n
  214. PLA
    # Z, T( l8 K3 y5 u
  215. TAX6 `# V8 t, N  l
  216. PLA
    - K( t7 m& Z. S& v; u
  217. ; F+ m+ x* v4 K  ^8 l5 |
  218. return:
    2 J& M( x  Y; d! d' R" b
  219. RTS
    9 ]1 G0 f8 t  D

  220.   ~* y- U5 P4 u2 F" N; F
  221. ora_data:   ;按键相或数据$ U" v8 s+ f3 V( `
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
    * ]8 m2 z( b/ D3 r
  223. and_data:   ;按键相与数据" \, J9 Z  i! ^& w3 ]" V
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    0 Y1 n) M! F+ E8 T1 E- Q4 y% ?
  225. - L/ }( T9 @7 l/ U/ u
  226. # M" B9 C$ k  }3 U
  227. 2 q0 v/ H4 [. [0 }" p3 j

  228. & T1 y+ S9 C& j4 t4 a

  229.   |: }$ k' E" H5 i1 Y2 B* k! s# E' S

  230. ! I. x% i7 O3 r& m
  231. 4 Q3 j( s5 ~$ R1 p2 a3 j
  232. ; d6 g, K. n7 n. y) d
  233.   w' R* G( g' T& m# I4 H: r2 h) s
  234. .ORG $C264    ;自定义的MAPPER2切页程序! `' S. P3 i4 T0 x
  235. PHA) \& T: d: ~/ _" r
  236. TXA" o& e- w) W& Q
  237. PHA, m( v" B$ E9 B2 h+ z
  238. LDA $0066
    ' u2 `6 ~! n! P4 Q
  239. BNE ADDRC280
    : H' I  m3 y8 a  [% D! A
  240. LDA #$074 E5 f2 H1 I& c! q/ m( b  H  p" o
  241. LDX #$036 G  g; M- O$ T+ y& V
  242. JSR $CD9B    ;自带的切bank方法
    ' q( s! o, t, K8 h5 J
  243. PLA
    $ `9 D# s$ _& u
  244. TAX* F% l/ M9 D1 c0 L0 g; i7 _
  245. PLA; ?8 N- z' W3 f
  246. JSR $8000. J4 F- O% Q9 x
  247. LDA #$06: y8 z9 `; Q. P( e; q
  248. LDX #$03( U; D* S# G* o& `1 X2 ~
  249. JSR $CD9B    ;切回原该切得bank(可以不用)3 C+ ~, }1 F) F* Q7 @5 `
  250. RTS! r$ `4 g/ v1 s' h8 U
  251. ADDRC280:; ?7 `0 Q( N- h  J; N
  252. PLA
    ( j: S7 z/ n4 k# |+ U. q' a
  253. TAX) q4 }" C, i) c9 [
  254. PLA( E& _1 [- ?( J% e
  255. RTS
    9 j$ _8 p; _. N6 x0 V0 v
  256. - ^" A' g. g1 z/ V9 `$ @; Y9 F/ F: C
  257. 4 n$ y5 U" R3 `( J
  258. ;[FC][最终任务PPU][END]
    3 ], m0 ?& q3 m1 K# W/ d
  259. .ORG $C056    ;跳转到PPU重写程序
    8 P: ~# A3 l/ ?5 f1 }: v3 ^
  260. JSR $7000
    " s: ^0 r0 n, [3 {/ u2 t4 B
  261. $ D+ q* z9 V# A! E6 }, l
  262. .ORG $CEBF3 `) a& y8 s2 A& V
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入
    + l8 I! o* w0 Z, W7 M& }  `
  264.   
    , G2 \6 ~2 c) ]5 e' R# s
  265.   .ORG $E460/ v# `, y6 L4 H+ u% |' t/ v7 R
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入
    0 L8 K; b/ d7 K. K
  267.   
      G# G$ A+ E$ ^: x
  268. .ORG $71F0
    - X7 L7 p9 a/ ?4 c0 H
  269. STAGE_DATA_WRITE:, O+ {7 ]0 W5 |8 E% @9 x' o  L
  270.   LDA $6010. |9 n/ h) D/ C3 y( x. X7 {, }) X
  271.   STA $1E    ;关卡写入( q& S; W  W1 v% v, x- k
  272.   LDA #$00) t# ~& E, R% s! u6 P
  273.   RTS+ c9 M+ w* q1 Q* f" ?2 f
  274. .ORG $71C0/ e6 {- e% _$ A9 C; N" D  m( e( @
  275. BULLET_DATA_WRITE:    ;副武器数据写入
    " o' w# Z) {2 p0 V7 u( q# Y& r
  276. CPX #$0E+ w0 A+ x* x8 X2 }7 C2 s
  277. BCS P2_BUL
    7 L. [4 u# g: S) g  G0 d5 f+ y
  278. P1_BUL:  X& \- t2 u7 C1 `
  279. LDA $6004; H, w% Z( H) f( \. P$ Y  U
  280. JSR $D7D0    ;P1副武器数据写入
    * L6 {& G) G9 d& F: I& w
  281. RTS# r! s( b/ P2 d' I$ _& e* d) g. ~
  282. P2_BUL:
    ' J1 C* w4 ^) L% o  B  Y9 H: ]
  283. LDA $60054 ^/ B; G9 Q' k( G+ ?
  284. JSR $D7D0    ;P2副武器数据写入6 ~% n  ~/ |9 N  A
  285. RTS. V: A9 a" o8 C1 M
  286. 9 P* r6 b) i9 J( h

  287. 2 C& Q$ i" s5 V$ S
  288. .ORG $7000
    ' ]' M. i$ ]/ x9 M# s
  289.   
    / U; F; \. D# z: j7 Z) v
  290. STY $4014    ;补上覆盖的精灵写入指令
    % ^2 v6 b/ `& E" ~0 R3 _3 @
  291. PHA+ l9 I" U8 @: a+ H* B
  292. TXA2 U' y9 N" }+ D2 Q! o% {* p
  293. PHA. S" }" O# d; D
  294. TYA7 D- P, G% M( _7 q, M' Z; D
  295. PHA
    ) V! d& u  c% B6 m6 M. \
  296. LDA $0C
    8 y: f3 {  L) ^- d0 y- l
  297. CMP #$01    ;比较是否为标题画面
    1 k( _+ \& D6 a/ ?8 {; M. ~8 M
  298. BEQ PPU_STAGE" ~" C0 l  y1 Y/ T
  299. PLA' F7 K6 e6 i. J# X0 ^3 D' `( H
  300. TAY
    8 I- H+ p9 U6 k5 z& x1 [
  301. PLA
    ) W! X4 F  {+ f  t/ S# b9 e
  302. TAX  K: n% m3 X8 s2 {. ~, M7 Z
  303. PLA
    # i. b$ ]) s, T. `1 u+ x
  304. RTS0 v+ s/ h! H+ @# |/ k
  305. PPU_STAGE:    ;STAGE显示程序
    & U( R$ N' ~: `2 s; h( M) A
  306. LDA PPU_ADDR_DATA
    # X+ `* F! w8 L6 L5 J
  307. STA $2006+ X& `9 R, S0 g) c7 o' g
  308. LDA PPU_ADDR_DATA+1
    1 p5 _2 _0 Q7 \% M. B) B
  309. STA $2006    ;坐标设置) l0 a' y" J1 B) j
  310. LDX #$003 f3 R4 z* C% j  m9 N
  311. PPU_STAGE_WROTE:    ;写入STAGE字模
    . g) C4 [! j2 f3 y, ^
  312. LDA STAGE_DATA,X
    % q9 Z: x, i. r! f% D
  313. STA $20077 y0 C/ u; [! M9 ?( }: C5 x
  314. INX6 ~) U$ e0 N0 o) Q3 t
  315. CPX #$06) V4 p9 g" J3 T$ i" K% z
  316. BCC PPU_STAGE_WROTE
    * l$ _% e4 B# x% h, t9 x' m
  317. LDA $60109 D! L: w4 n7 f8 g# F; O+ d% ~
  318. CMP #$FF    ;关卡数据初始化条件判断: ^" w7 Y' n8 X, I
  319. BNE KEY_B
      P# [) {. ]; n8 V% L) s
  320. LDA #$00: n, ]: k9 s  D) r0 m
  321. STA $6010    ;关卡数据初始化( u3 L3 w5 h; m, ^* Y# q- K
  322. KEY_B:    ;关卡减少. m+ c: W; U2 b3 Z* M" V3 f% u
  323. LDA $04
    . e3 C* ~* S; L& o/ g- K
  324. AND #$42    ;按键B或左减关
    : n- X+ }: c% U" `
  325. BEQ KEY_A$ d! e% W- w8 U. o2 C( I  u
  326. LDA $6010! U" {/ Z! ^& q
  327. CMP #$00    ;关卡比较
    ) D9 z5 _1 \+ p8 L  S- b
  328. BEQ KEY_A
    - r% \* D, k3 \# r" T9 A
  329. DEC $6010   ;减关4 {8 W5 v& k' ]6 ?" {% N
  330. KEY_A:    ;关卡增加
    4 b' [" v+ B* B! k8 k( V5 d5 `
  331. LDA $04) M+ d% V. ]) a) y' c3 k: n/ W
  332. AND #$81    ;按键A或右加关
      S' c9 L- ]6 e* L( L
  333. BEQ PPU_NUM_WRITE
    2 ?2 B' s' V# x  K4 \$ c
  334. LDA $6010# i4 X/ V# @! n5 X; E; B1 m0 L
  335. CMP #$04    ;关卡比较2 N) X# a5 x" \2 u* y
  336. BEQ PPU_NUM_WRITE5 j: N3 j. v+ l$ i$ O
  337. INC $6010    ;加关: J7 ]0 h- I6 z
  338. PPU_NUM_WRITE:/ T2 Y  U+ B* o' n
  339. LDA $6010
    " Z; j; M/ L0 c9 K# L' O
  340. TAX- T  O4 X- W- U
  341. LDA STAGE_NUM,X    ;写入数字
    . Q6 _+ H# A7 m6 m; t
  342. STA $2007
    0 x" {3 }, ^( H; k* \
  343. PPU_RTS:/ F7 M$ D9 T, M5 l5 `" X0 D
  344. PLA- `$ S( Q! N! {( a
  345. TAY" H; g" K  W# |& j  P
  346. PLA" @. Z6 x/ x: D. i
  347. TAX
      C6 x6 C+ w+ E" S
  348. PLA
    / E4 ]; s' v/ D1 R
  349. RTS) B- N/ C% K5 x; N9 b
  350. # G* \) ?4 c# _
  351. 3 f. i: Q, ^3 o; ?. `1 E
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据" @5 S$ c! ^3 G% N7 M1 z
  353. .BYTE $EC,$ED,$DA,$E0,$DE,000 }! z, Z2 K: [8 f* o
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据
    : O$ A. V/ O: d) p
  355. .BYTE $D1,$D2,$D3,$D4,$D56 [' A. Z- H3 i3 Q
  356. ' V; _8 D2 e8 I' s" S5 w. k/ X6 o
  357. PPU_ADDR_DATA:
    2 [( u- r# G; |' i
  358. .BYTE $23,$0C5 Y, J! I5 h$ f3 ?" o

  359. ' x, y% P) [8 F
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1560 天

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

签到天数: 994 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 1859 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 2981 天

[LV.Master]伴坛终老

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

签到天数: 1766 天

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

1 y5 F  q0 t% y# y  I  U# ^已经加上了,赶紧下载吧
[发帖际遇]: 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
1 b6 G, `" n* @) i" R5 _! e: k旋风又疯狂大修改了 哈哈

$ \  u" M, f  z0 ]疯狂不起来,无聊了而已
[发帖际遇]: 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, 2025-2-19 06:48 , Processed in 1.125976 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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