EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑 / _" Z. J3 `0 E7 F! @
- R# n0 \. c" K" k. s
    [FC][最终任务][END选关]" ~/ P" T7 }& |9 S: s
4 L: Y0 }: @  R+ i( y
时间:2017.3.299 X5 v: B: `; ^: S# w- m% C
作者:FlameCyclone
: g; y) T* e# q: a0 W1 j4 W6 `内容:
: w; |4 m' C4 C: a) o7 |    1.关卡选择:   标题时,左或B减,右或A加(1-5关);. P: D& w2 q( u& }5 n5 l! s7 s
    2.无敌锁定:   暂停后,按上键切换;
0 _/ `4 y9 d! Q2 Y" y+ a7 e    3.生命加满:   暂停后,按下键切换;+ @( D2 u3 C& x4 y$ a: x, D, S3 V
    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);
1 D9 l9 o9 g$ u* F1 w+ E+ N    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);" d, \4 O) {. R' c7 d. n9 o2 v
    6.B弹数量:    暂停后,按A键切换(1个或2个);
% ]4 j$ w4 v* u1 O    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;& h' o9 `( g- v( o) V& a& I
; c6 m9 a$ k1 I: y. @# V& x% p

. E1 I  C! B) m5 C+ ]1 y
4 V' Q$ X7 |. u3 n( c9 \/ p2 H  Q

2 |. r) m7 Z3 n) Z, w4 i% M" V0 I% y$ r2 z& r$ ?! T
游客,如果您要查看本帖隐藏内容请回复

8 D2 J, y5 V" F$ JFlameCyclone.ys168.com" e6 c2 O# r7 S4 q/ P
www.nesbbs.com
  1. ;[FC][最终任务KEY][END]3 q* E; R6 V: a. y
  2. button = $04    ;单次按键+ }) D5 A; D: @" J1 B1 j
  3. flag = $6000    ;功能开关标志3 O' c# X. }. b5 t/ z- w
  4. pause = $000E   ;暂停地址
    , ?3 F2 B) Y: R) z" y7 m* y

  5. " o. ?! [. h8 B! ~0 V
  6. .ORG $8000
    & x* M/ d  p, D8 w6 l
  7. LDY #$08    ;自带的按键程序7 ~7 Q( h7 Z4 Q' t
  8. ADDR8002:
    ' E8 v( a1 S1 h4 i# u9 Z
  9. LDA $4016,X
    2 [( E9 g) Q" P
  10. LSR
    ( }5 E9 p2 b6 d5 I! r. y. w0 f
  11. ROL $0021( d' D4 M+ ~  ^* m0 Z/ w% X
  12. LSR
    4 g/ }! Y3 U4 e8 l( j
  13. ROL $0029) a+ N! p% L$ G0 y
  14. DEY
    ) }2 Z. m9 L' i2 t% t* a
  15. BNE $8002+ H; v. m* l! A) m8 {
  16. LDA $0021
      T$ O6 i5 Y: U/ z7 M6 V
  17. ORA $0029
    6 ?3 i1 d: y0 @& b7 @6 C' b% t
  18. STA $0021
    8 v( A  {, t4 `+ K
  19. LDA $0020
    1 b( G6 V# F1 {: Z
  20. AND $0021
    ! H6 Y7 [9 K" \3 U
  21. STA $0020
    , o* i! W) S7 O: D0 h( q$ O+ d. i( ^
  22. LDA $06,X
    7 P# g; s; D' b- h/ R! w) E3 D
  23. EOR $0020
    / t  D& ]( W' l9 P0 |4 X0 z
  24. AND $0020! ^0 `' }( ]; |7 @6 U
  25. STA $04,X
    8 S! e: _% u0 z% k) G
  26. LDA $0020, z, H; G# Q2 \7 p8 y0 @5 ~
  27. STA $06,X7 b  [* U7 Z( i0 M$ ~/ ^; L( b
  28. JSR KEY_OPERATE
    ( O6 a' [7 c6 Y7 T1 q
  29. JSR Function    ;功能调用. J9 }9 n; S; g, z( F7 h
  30. JSR Weapon    ;武器切换调用
    - w% {+ Z5 u9 @: S2 \
  31. JSR Power    ;威力调用$ j. M5 S  ]- p
  32. JSR BULLET_NUM    ;子弹数目2 _/ `6 P+ J9 Q4 q" \
  33. JSR BULLET    ;副武器类型
    5 Q3 A2 m# Q  r5 f( J6 W
  34. RTS
    / u6 y( n& N# f) y
  35. , E) }0 L+ M  x3 X9 D. ~" h- y3 B

  36. 5 |: x% u8 E+ u+ m0 E2 w

  37. * T! ?$ `' p2 S% r% b- p% B
  38. .ORG $8050! ^( G6 P+ }+ B7 E" l, L' F
  39. Function:    ;功能* ]+ g" f( D7 T, ~5 |
  40. WUDI:    ;无敌# A0 y' h  @7 W6 I1 e) g0 }
  41. LDA $6000,X
    8 I, V: y4 s; P" z/ C
  42. AND #$08    ;开关判断
    7 G2 N1 Z' X% e6 n2 J3 {" [
  43. BEQ LIFE7 Y" [  Y5 R) V, |3 g
  44. LDA #$05- U! f2 I  n8 j( {
  45. STA $05DC,X    ;无敌锁定, w' |) N) M' c5 Z
  46. LIFE:    ;生命
    ! q+ y' g- O4 X1 P( n) Z
  47. LDA $6000,X  Y6 @( x9 D9 o- ]
  48. AND #$04    ;开关判断
    & M, ?) k1 X" f% ?4 q' u
  49. BEQ FUNRTS- O" t* L2 X$ t: Z8 `8 @" g6 O
  50. LDA #$05/ v" H& n2 v- ]& }  W
  51. STA $1C,X    ;生命赋值
    ' F8 N! o- b. e- }! v" F% T: j
  52. FUNRTS:
      F) c- K( S# k' D4 w) L2 U% D# l2 g
  53. RTS9 j$ R- O6 w1 X6 c

  54. ) P) d; E0 Z( P+ I% `/ K( I! Z
  55. Weapon:    ;武器切换
    % S7 B" ^3 g; a9 v3 w6 `. I) U
  56. LDA pause    ;暂停状态判断, V( M; g: d, i: I' |* N
  57. BNE WEARTS  s& b( M7 |" ~1 [: O  O
  58. LDA $04,X
    $ o" `$ V& y6 z$ E! M/ C( E0 K
  59. CMP #$20    ;选择键判断$ g: I1 X' }2 y( p' x
  60. BNE WEARTS) ~5 V. ^/ d$ ?8 [  O* \4 B1 f
  61. LDA $12,X
    % V9 A+ n) t" v" y
  62. CMP #$03    ;武器值判断
    1 Y7 r7 O; E/ ^, S% x
  63. BCC WEAINC
    / ~3 i- [$ n: c0 l
  64. LDA #$FF! @- {. y7 l/ }4 T  [; f; d' ~* N) K
  65. STA $12,X    ;武器重置( y2 d+ N3 v  u; m4 E( ^
  66. WEAINC:$ F$ O) B5 n- f- o! a9 M# _
  67. INC $12,X    ;武器增加
    . D& \9 M! q" k# Z# n
  68. : _+ x7 l) r/ G* W- n% i
  69. WEARTS:
    ) K7 Z; F( ~4 E  V
  70. RTS; G3 b: \; K& H3 `1 O6 C

  71. ( O: a4 R1 I% i- Z4 S1 r
  72. Power:    ;威力+ f5 ^, H1 C8 n2 |  P
  73. LDA pause    ;暂停状态判断
    $ m- v& g$ g* E
  74. BEQ SPERTS
    & a8 ~5 m9 k2 I8 t4 C- G
  75. BUT_LEFT:
    + f+ t& p! m# n! p
  76. LDA $04,X
    * r% a# f. J: t: W/ s3 j
  77. CMP #$02    ;左按键判断$ [, |: v4 }- f% J" ]
  78. BNE BUT_RIGHT8 p7 E/ L) i0 W* P3 w/ n
  79. LDA $88,X8 r5 O) C  p: W' Z
  80. CMP #$00    ;威力判断  p3 Z! e' T$ Q* j
  81. BEQ SPERTS( Q  ?; q) D1 w  d) @
  82. SPEDEC- f- D1 z; U9 O, J
  83. LDA $88,X    ;读取武器值# v8 K7 K: O& p" F* H
  84. SEC! n% }$ A7 T5 D. R8 ~
  85. SBC #$08  I4 y* U  C! z0 [9 E2 x* J# E
  86. STA $88,X    ;威力减小
    " |/ X% j. ?0 p, U4 l
  87. BUT_RIGHT:
      r# n. }$ @3 {( l$ u
  88. LDA $04,X
    * ^3 ?' a8 P5 p7 [, m! J2 A
  89. CMP #$01    ;右按键判断
    2 p8 b4 U" V2 a3 N% a) d: C0 n
  90. BNE SPERTS% e3 }! j7 U' X+ r6 `
  91. LDA $88,X
    . y1 V5 I0 y  [# L1 K2 i
  92. CMP #$10    ;威力判断& L- a6 N: B% ^
  93. BEQ SPERTS
    ' J8 {& ^4 n; }5 D- U2 V2 }5 i
  94. SPEINC:, ~9 r* Y- X0 G# s6 }- w4 ?
  95. LDA $88,X    ;读取武器值
    3 F( w4 U* H( n5 b5 ^7 j! T: _6 g
  96. CLC; J& }5 k+ g3 L0 P
  97. ADC #$08$ q; v- r- ~4 O. N0 d* s
  98. STA $88,X    ;威力增大
    % v. M0 }' y1 J# p
  99. # B$ S, l! E: s3 n
  100. SPERTS:: C& h- P2 ?) J0 H% g
  101. RTS
    " C9 [$ i  p8 [; V: |1 q
  102. $ H- ?5 @. i2 d: X9 ~
  103. BULLET_NUM:    ;子弹数目
    5 ]5 k3 T- V, u
  104. LDA pause    ;暂停状态判断
    6 n; ~1 M) g$ I# A
  105. BEQ BULRTS* }6 h0 {0 U2 @
  106. CPX #$00    ;主机玩家判断4 d  H! @" j1 D1 N9 O+ l
  107. BNE BULRTS( Y/ f4 Z1 H$ S4 D+ J1 k
  108. LDA $04,X    ;主机玩家判断# a2 H" j% o7 r9 w0 W/ ?& h
  109. AND #$80    ;按键A比较4 q8 H( }8 O4 }4 c9 A
  110. BEQ BULRTS' P8 {0 |. [; o& j3 S; X0 ?
  111. LDA $87    ;状态判断1 i9 X1 \" _8 @, m  `1 t
  112. BEQ BUL_2
    . O" S: V& I0 x# w7 t# U4 m& P
  113. BUL_1:
    ( e( z" D, @7 T1 F- k1 ~
  114. LDA #$00
    9 k' P8 `( \; i3 N4 V0 f
  115. STA $87    ;1发子弹6 N, S8 z& |; }7 L6 N6 |  Z
  116. BEQ BULRTS3 B8 E0 r5 g: R- V
  117. BUL_2:
      o6 B5 h- z9 u6 `9 S
  118. LDA #$01
    ! ?0 k9 x, P9 U+ [; ]. ?0 f/ q
  119. STA $87    ;2发子弹& R4 B1 z" ~; w& D/ X! e

  120. * X7 `' D9 Q3 X4 C
  121. BULRTS:
    ' I6 U6 S' p5 L$ h+ T$ U  z; D$ {
  122. RTS
    ! O1 A2 K# x) N

  123. ' T$ g, i& ?. W! R9 o/ R- w; O, F7 Q
  124. $ T5 I: B" Q3 ?6 I1 i
  125. BULLET:
    0 g1 k  O0 K3 Y! E/ b# y. t
  126. LDA pause    ;判断暂停状态, d8 W2 O, Z# Q8 _  c. E& v2 |$ N
  127. BEQ BULLETRTS
    4 @7 n' Q/ Y: m5 x$ {0 K* n
  128. LDA $04,X
    5 O" Y4 u# g( Y2 D, s+ T7 w
  129. CMP #$40    ;按键B比较
    0 d( |; L$ t7 |& R6 @+ L! n3 X/ L
  130. BNE BULLETRTS
    0 N0 l5 b) J" u9 }
  131. LDA $6002,X    ;读取副武器
    4 d. d( \; d* ~/ m7 L4 a" a* j
  132. CMP #$03
    . S; ?: u7 d3 y) G+ F5 Z  E
  133. BCC BULLETADD
    5 X% T9 C: A' T& ?+ M: i/ C: [
  134. LDA #$FF
    2 n0 `2 z0 W, ^- W0 A+ Z
  135. STA $6002,X
    3 h+ U" g) x+ |' ~& p
  136. BULLETADD:  t5 j: l4 A- a( {! ^
  137. INC $6002,X
    5 U) x' h7 A5 ?0 b* [' `
  138. # E% u2 h4 e5 \. V
  139. BULLETRTS:$ P, o8 I% Z4 e6 S2 }5 K
  140. LDA $6002,X  `( A- x. G: N/ {
  141. TAY: {' F" T6 j) u1 T) x  @+ P; g
  142. LDA BULLET_DATA,Y7 D& ]6 k( }& h
  143. STA $6004,X    ;写入副武器数据
    ; q% X' X! m- K$ c( l% k4 K6 Y( N5 s2 D
  144. RTS/ R2 M8 B3 x% x! D( z

  145. 0 Q+ j) L& u$ R7 C) v8 ~* z% p

  146.   ?8 W4 p/ m" ?9 U" M
  147. BULLET_DATA:
    # w0 ~- j  T) I+ c$ K9 s# q
  148. .BYTE $06,$02,$03,$04
    & K/ c" T7 O7 `- o! y  f2 _; Z  y2 Y
  149. 2 C: o6 n: P+ S" w& W9 @% f* O: U7 N

  150. # |& N2 J0 j1 N

  151. ; F) n0 n* g. J' ?, }( H
  152. KEY_OPERATE:    ;按键开关操作; C- w# [$ n1 n
  153. data_protect:    ;数据保护
    : G+ L4 m1 f0 [: T8 C
  154. PHA
    4 }; o, _4 x$ ^/ z
  155. TXA
    & v9 d9 R; E2 ^' m8 }4 B
  156. PHA2 @6 g* J! W9 u9 b7 I$ c+ M
  157. TYA
    4 ]7 Z# Q/ C) }/ G5 y  p
  158. PHA
    : Q* F4 a1 k7 `

  159. , S; g+ y+ g* A! S8 f/ h
  160. FLAG_INI:    ;开关标志初始化
    ! a, O  h% j; P9 \$ l

  161. 5 d+ _+ o, K) G7 ]. K
  162. LDA $600F" N; w% Y4 a) {6 h6 V3 u
  163. CMP #$016 S" s& K5 G5 ~! y0 ~: ^2 x
  164. BEQ pause_cmp
    * q/ O1 a' f1 D
  165. LDA #$00
    3 ^# f6 C( M9 ?) o
  166. STA $6000: s+ H8 }4 W- _; L
  167. STA $60011 h* c9 J3 X) v" Z2 a
  168. STA $6002
    ! _# f. B. H! S0 X1 U7 W! L
  169. STA $6003' V3 `  F0 Q5 S/ d( C8 t
  170. STA $6004
    3 A/ s6 E9 d0 z0 J( f
  171. STA $6005
    8 b; v  E' J" {
  172. LDA #$01% M1 K. y' W- I. ~9 }" B4 h
  173. STA $600F
    - a; `6 ~2 l/ ?
  174. 6 r* S: s4 i6 B
  175. pause_cmp:    ;判断暂停状态5 A3 t5 {1 d1 }9 D3 T
  176. LDA pause
    0 C6 B9 r, z" B  C
  177. CMP #$01    ;判断暂停状态
    " l7 B% T9 h! H! c& I
  178. BEQ button_press8 y& k* k3 j& K1 `6 F* r
  179. PLA
    ; B& ?( P% s5 `9 q& F$ B3 j. `
  180. TAY
    # m5 \- m) A; h) `' F% S2 I* E
  181. PLA
    1 _* E, Y2 t. D$ f+ r9 w; h/ m
  182. TAX( H8 G! X4 N. ^; A& ?7 I
  183. PLA) Z, a& y4 _) ]- s$ q+ ~- y2 u
  184. RTS( j* B, r3 z+ X

  185. + t: Q$ Q5 e* X  X+ i8 A! N
  186. button_press:    ;按压操作' I7 x0 c& x+ g, L
  187. ini_Y:7 f9 V( w. `6 k/ Y
  188. LDY #$00
    # D8 M! U: t9 H* i* ]+ U, y
  189. button_cmp:4 E. K  D0 S1 J% N/ B$ T
  190. LDA button,X
    $ J4 ^# P# [1 R( D2 Z, Q
  191. CMP ora_data,Y
    3 @4 i  L. Y# b" C) I
  192. BNE count_Y_cmp1 M8 e. H: K' @& D4 v1 {8 }/ I: W
  193. flag_cmp:# M  T9 \& k) r
  194. LDA flag,X
    9 m) r6 V, Z5 H9 ?$ y
  195. AND ora_data,Y# V3 d2 o/ x( Q
  196. BNE flag_and
    $ U" e0 r' [/ u' K  Z& Z
  197. flag_ora:; `' Z6 o" O, |9 z
  198. LDA flag,X+ I) C) B! G1 f8 V5 m. I! d" r
  199. ORA ora_data,Y1 \1 b2 W; j% u0 J# x
  200. STA flag,X
    4 _5 D/ C" X- i
  201. BNE count_Y_cmp: _  N$ C& P3 |( S" s8 ]. f
  202. flag_and:2 j& i8 Z/ n5 M
  203. LDA flag,X
    $ b9 M3 J# |9 p% n
  204. AND and_data,Y2 K/ H0 W" ]5 M; b& y% _
  205. STA flag,X- F( h/ D7 {7 C
  206. count_Y_cmp:
    8 _1 ?- y/ _! j( Z4 [5 M* B
  207. INY: J+ S$ m/ v% E: `" v# Q$ n, Y
  208. CPY #$08' y5 y7 j+ O6 }3 A; K( C
  209. BCC button_cmp: y  W) E; {! N' q; K
  210.   c' @6 e" Z1 f$ X& I3 @: A
  211. data_extract:    ;数据恢复4 ]. H6 s  a3 ^/ J# X/ K7 a+ H
  212. PLA9 L; h7 B5 q. R4 x+ P
  213. TAY
    0 f4 k4 G" M4 o3 ~1 s# J. T
  214. PLA( ]" O# k  P- c$ s/ Q5 e
  215. TAX
    9 C) j0 |. D( y. \' M' ~& c
  216. PLA1 k+ {. o) C8 \# [5 x; c% s
  217. 6 ]0 U3 s7 U/ Z$ B2 G6 n( m* Q3 |
  218. return:) }, ]. \6 w6 O) D
  219. RTS7 y& e0 x1 q+ d' p

  220. ; z) q* e# D& A* `# ?
  221. ora_data:   ;按键相或数据/ J9 A& ~7 W1 o! m2 s1 A, T; _
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
      `# u6 i0 t2 L' W
  223. and_data:   ;按键相与数据
    " x+ [0 g2 L  [% [* f( D% X
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF( n% o0 U" w. W/ s/ n& f
  225. 4 t6 u' ?% E& S2 y

  226. # S; d" `  Q$ [# i, A6 H

  227. ( p5 S) l- g7 w2 |/ N

  228. - I; n5 ]: a& E" g0 D; w" ~* v: W

  229. 9 j2 E' w/ x  P- d- w3 y
  230. 2 e: u$ t6 C4 X; C0 Y% k

  231. 4 G1 }4 g. O! Z
  232. 6 F% l" W* \+ O3 e7 F7 ]

  233. ; N6 ?) V3 i) b0 D/ ~5 u
  234. .ORG $C264    ;自定义的MAPPER2切页程序* U, n  o+ K  x  s4 Y; K+ c" [
  235. PHA
    : @9 \, d5 O. V. Z
  236. TXA) ?$ u9 d4 X; Y) O- Y# o% B
  237. PHA5 v: z# W) `  D6 ?/ {1 `0 u1 w4 |
  238. LDA $0066
    6 L! B5 ]* A, Z% n# l2 T
  239. BNE ADDRC280
    ) h$ L/ a9 n5 @
  240. LDA #$076 {  E" f, V7 z- [4 W5 y5 n9 k* q! t
  241. LDX #$03" X$ i# p1 |3 o0 R; A
  242. JSR $CD9B    ;自带的切bank方法
    * H) E& t4 \4 M# }& w8 w
  243. PLA  X  _' J: s4 b: N2 X& n  U, @0 m
  244. TAX
    % Y$ P3 ^0 e  }" U' D0 D5 o: E/ D6 P
  245. PLA; \! J. |$ R1 y+ e5 m
  246. JSR $8000
    : w$ S; x  `8 d
  247. LDA #$06
    % f0 \1 \) {- e5 N3 q+ T
  248. LDX #$03: _' N0 c# C1 K
  249. JSR $CD9B    ;切回原该切得bank(可以不用), o, U7 [0 o9 F  ?3 j' C
  250. RTS
    & c' ^! F" k; R
  251. ADDRC280:2 X& a1 B' E; @+ l  p0 }# O0 O& @
  252. PLA
    8 e- e% h9 j' q7 S: g8 J2 W; ]! B) t2 a
  253. TAX  j( s- t- \+ [7 B  Y0 t' f
  254. PLA5 C. p3 p: X" m: @; K( h- z( o1 ?
  255. RTS# _4 O- B$ G* M8 j, {: n2 ^6 Y

  256. : X8 \# v6 b; G6 W1 J

  257. 0 R! Y5 F: B1 w5 g& w: ?5 }: m: ]
  258. ;[FC][最终任务PPU][END]4 H! ?' p7 k. \8 c2 w  r% E
  259. .ORG $C056    ;跳转到PPU重写程序
    & _3 t0 s0 l" p% Q7 Q1 E
  260. JSR $70004 T0 a/ D  y6 v3 g; X7 O' M

  261. * j' Q( o3 M1 M$ c
  262. .ORG $CEBF
    0 b- S) }8 q2 P0 Y2 t4 ?  i: C
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入
    & C4 s( f2 u. x% l( G6 w
  264.   6 q) g8 Q; T7 Y3 Z. A+ D3 S
  265.   .ORG $E4600 z, V9 K) l' S# J/ }
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入
    & K& a. `; Y1 ^0 f) Q& Z; l( X9 @
  267.   9 |; z6 [* g3 h* Y/ v+ F# f9 ^
  268. .ORG $71F03 u4 S' \, J4 j9 V
  269. STAGE_DATA_WRITE:; w5 o+ s" u! E, v
  270.   LDA $6010
    + m5 D  O: l, q# B7 K, {- p, o
  271.   STA $1E    ;关卡写入: [: [0 e+ c5 T
  272.   LDA #$00
    $ ~- |2 [" X0 ]. y. |
  273.   RTS, i' X) f6 G" C! b9 e9 q0 M* [( O2 g6 n
  274. .ORG $71C0& h9 k1 |, z6 W7 M
  275. BULLET_DATA_WRITE:    ;副武器数据写入. J; q' d/ ]8 g: M
  276. CPX #$0E; t8 a8 o' w; Q' E4 j3 f4 I
  277. BCS P2_BUL8 L- I9 v! U2 b& I0 P7 [4 P: g
  278. P1_BUL:
    8 g9 S7 t6 z+ }# i
  279. LDA $6004
    * i- T; c; i& C
  280. JSR $D7D0    ;P1副武器数据写入. V+ o% {3 A) Y- J6 T3 m
  281. RTS
    ! ]; ?$ I; l0 F; X% h0 X, E: C, O# U
  282. P2_BUL:& e) m1 V* O- E" d+ i9 h  P: L
  283. LDA $6005
    3 V& n( x' A/ I; l
  284. JSR $D7D0    ;P2副武器数据写入7 s( t6 ~4 }7 e1 }
  285. RTS/ C! r0 L/ ~* w2 W# r

  286. * l% z' k) T! a- b, j, e% |% D# Z

  287. . h" ^# O/ ]5 F0 \5 Z! N
  288. .ORG $70002 T) f, S1 }! m* r
  289.   9 u; ^  q) E7 P
  290. STY $4014    ;补上覆盖的精灵写入指令
    ; i! R& l+ {. `" G0 k
  291. PHA
    0 P) n! S* G; E* x/ t/ S
  292. TXA
      l: X( F% d  m5 z; a
  293. PHA
    6 G5 ?5 x& R9 {' e7 q  ^
  294. TYA$ r- p3 Z3 a) ^, ^
  295. PHA
    0 g9 j9 x+ q% [0 r, [. l# Y
  296. LDA $0C
    * g$ t: N& X) U' u
  297. CMP #$01    ;比较是否为标题画面; X+ H8 N" F. M
  298. BEQ PPU_STAGE
    3 P  ]: I, J. ]  |
  299. PLA
    " _/ M" V0 k4 V! Q4 v
  300. TAY7 @; t6 L2 z& E' O  w
  301. PLA) I5 d* }6 @; T( j" @7 `* k
  302. TAX/ o6 [4 \& a8 `2 B4 Y: @0 b& b5 }1 y
  303. PLA' U# e: j" e5 L7 H4 [" o& ~, f
  304. RTS
    5 b1 z6 m' a- R- t2 o
  305. PPU_STAGE:    ;STAGE显示程序0 a. k6 ~6 l& B0 d5 ~
  306. LDA PPU_ADDR_DATA& J' d- l+ F, j" H" G1 s; n7 ^# q/ z3 r
  307. STA $20061 i. m# }9 I/ r) |/ F
  308. LDA PPU_ADDR_DATA+1
    7 z0 M0 |+ D3 h+ S% b
  309. STA $2006    ;坐标设置! K$ g/ l5 i7 z( E  _
  310. LDX #$007 j. \4 r, y9 Z8 f& }' g1 a
  311. PPU_STAGE_WROTE:    ;写入STAGE字模
    7 l: b1 ^4 J1 q. W/ S
  312. LDA STAGE_DATA,X7 a) ~2 X  s2 a6 I
  313. STA $2007
    ! Q; t$ X. r7 ~! G: G
  314. INX/ r' K' e) r+ W" y1 l
  315. CPX #$06
    $ i0 k( M6 T7 i& n4 l8 J
  316. BCC PPU_STAGE_WROTE7 V0 v7 E. O) x" l7 _' b
  317. LDA $60100 U& L6 G+ P1 p/ b( k  ]) H5 h
  318. CMP #$FF    ;关卡数据初始化条件判断" g4 \& [& [/ z
  319. BNE KEY_B# @1 y4 a" H- o1 Q. r
  320. LDA #$00. T6 {4 P4 K5 c( _2 o% P
  321. STA $6010    ;关卡数据初始化
    " ]& g) s$ H  M% k2 G: h0 b1 n
  322. KEY_B:    ;关卡减少) B! p2 {$ y# U1 _2 K7 Z
  323. LDA $04
    . |$ G: ]8 s4 S+ \; a$ @
  324. AND #$42    ;按键B或左减关
    9 [4 C% i  I2 p6 d% D1 i. \
  325. BEQ KEY_A+ V) M7 x! l( l/ b, t
  326. LDA $6010
    5 I. P* c6 _; `& ~, r% T% T
  327. CMP #$00    ;关卡比较
    1 R% S& H1 I7 ]0 J
  328. BEQ KEY_A! g0 m+ J- l* J3 v
  329. DEC $6010   ;减关
    3 A! E  g" y- {! K* I1 [
  330. KEY_A:    ;关卡增加% m0 s4 r7 ]8 O  H3 q) `
  331. LDA $04. O+ S; K0 S/ e# F  T
  332. AND #$81    ;按键A或右加关: [# i. h* F8 P9 C7 S) ?& l, s1 o
  333. BEQ PPU_NUM_WRITE
    7 J! p' y! b. E- T3 V- v
  334. LDA $6010
    " I( R9 ?* u4 o, J9 f
  335. CMP #$04    ;关卡比较
    ( X% g' l# n5 P& F! f& p9 m
  336. BEQ PPU_NUM_WRITE
    5 ?+ G3 B. F" L2 i& X8 N* b
  337. INC $6010    ;加关/ [9 \9 j' x9 y2 h5 u' L
  338. PPU_NUM_WRITE:3 A3 l7 D+ N, x7 L
  339. LDA $6010$ \9 m1 i+ M0 d  u$ W7 R1 C
  340. TAX
    % I* e. V. j; ]
  341. LDA STAGE_NUM,X    ;写入数字
    ) m0 C. l* p) r" E1 I( U3 K$ M
  342. STA $20076 f% C1 k0 F. ?3 d  v3 e# Q
  343. PPU_RTS:4 |0 Q1 }' }& O* [' i
  344. PLA, |3 F; q8 D; z4 e- C5 q
  345. TAY
    ) j/ E; t( E4 C
  346. PLA
    6 J+ z, ~0 @  f5 z
  347. TAX
    4 ~; T1 E) t% D7 k/ @+ P2 O
  348. PLA1 z, e% a  x$ v" [: E" e; t
  349. RTS
    : C: ]" q: `* h; U2 e/ O
  350. " @  ?/ B9 |, x6 ^2 Z
  351. ; ?6 ?4 u6 ~0 @; O7 _
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据
    # @( [  j) F* X
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00
    - ]' a4 K; e7 g8 y
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据
    & |: c' e- R* }2 U. c& P( [1 ^/ x
  355. .BYTE $D1,$D2,$D3,$D4,$D5
    ( k6 Z2 p, f7 R2 }5 _
  356. : s, ~, H& [  \4 w8 m8 G  V/ o
  357. PPU_ADDR_DATA:. o3 [- ~( Y2 {* f+ J* b' d; f
  358. .BYTE $23,$0C
    * p' |# E& H8 J# Y0 N7 C( s9 I

  359. 8 _2 k' V" k$ i8 l- P/ G' k
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1540 天

[LV.Master]伴坛终老

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

签到天数: 186 天

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

签到天数: 984 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 1829 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 2954 天

[LV.Master]伴坛终老

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

签到天数: 1751 天

[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
* C$ t0 ~' i, p$ i5 }! u最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊
% ]! D7 p- c  ^4 |9 h3 D6 c
已经加上了,赶紧下载吧
[发帖际遇]: 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
( _$ f$ v9 ~$ f# V8 m旋风又疯狂大修改了 哈哈

; o: w# v5 b6 ^( `疯狂不起来,无聊了而已
[发帖际遇]: 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-1-19 22:20 , Processed in 1.096679 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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