EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑
* l: t. y' `2 [3 o+ j5 [7 {( Y! a
    [FC][最终任务][END选关]7 T* d+ n' H  c7 L; G3 g! U1 T

% Z, @  ^& L, j8 H0 g时间:2017.3.29
" }, L; ?5 d$ \% f: m* F: B3 I作者:FlameCyclone- R5 w7 m& ?& ?  d' Q" x) J1 N8 K
内容:
1 t7 \4 l3 b$ U& C. }1 {    1.关卡选择:   标题时,左或B减,右或A加(1-5关);
& k/ t8 I: J; u* A0 t( f8 Z" o    2.无敌锁定:   暂停后,按上键切换;
7 A, [: g& o% R. D4 ]$ C    3.生命加满:   暂停后,按下键切换;
# W  C* ^' x$ d' I4 t    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);  S0 y0 M  K3 e8 `' R* L$ ?6 _7 F
    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);
+ \) v( G' c: y0 p8 q    6.B弹数量:    暂停后,按A键切换(1个或2个);1 g: T3 r  {6 j% W
    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;
8 t# z5 v' B' b4 G0 N8 n# m/ O. j' L5 J# J& T5 V/ b

1 b+ q0 ?+ V) v& T
- |3 k6 p8 K2 T8 g3 i  h: S- g4 z
" R4 h! ~7 c: ^3 S7 ^* w
- P6 i/ p" w) k- f4 |3 q& j# S8 j  g
游客,如果您要查看本帖隐藏内容请回复
4 a& L3 n' V& s; x1 n
FlameCyclone.ys168.com
! ?3 y" p# u/ T" v; `7 Fwww.nesbbs.com
  1. ;[FC][最终任务KEY][END]
    0 P4 W1 h) k, i3 c) W  v# ]4 `
  2. button = $04    ;单次按键' O5 ?- n5 {) P9 n  s
  3. flag = $6000    ;功能开关标志
    + i# p" o; d& F
  4. pause = $000E   ;暂停地址9 s9 ?2 @* b- C6 e
  5. 2 L4 z2 C" H' A! q/ I  W, Z
  6. .ORG $8000
    ; w. K% c# T$ O& [/ d- f
  7. LDY #$08    ;自带的按键程序0 |2 S# w0 U# I& O* ?; i# B
  8. ADDR8002:
    5 n) u! W2 V! N3 l) H
  9. LDA $4016,X
    ' r* i' I( o, }0 o% x1 T
  10. LSR
    5 F9 f4 m" x4 S
  11. ROL $0021# S7 v: E+ |$ R6 U/ \# h
  12. LSR' w, c( j' O5 c* K
  13. ROL $00294 A* C7 Z2 z$ O1 d8 q
  14. DEY
    ! v3 O1 @) \+ u2 Y: P/ K
  15. BNE $80024 n7 v- p7 j6 V
  16. LDA $0021+ O7 l6 C. ?9 z- q
  17. ORA $0029
    . n& \$ ]% ~2 _  G! B: d
  18. STA $00213 w7 Z4 M1 [9 A) f' g
  19. LDA $0020
    3 M0 @8 t6 f/ F( |2 d
  20. AND $0021
    " t- J/ Y5 P! ?" Q. l! u
  21. STA $0020/ S5 q- b* L/ l: D  A* W
  22. LDA $06,X3 c& |' f% ?5 p# y# \
  23. EOR $0020
    8 T: [; D  J) F( M7 E7 \
  24. AND $0020
    1 g2 i, W( F. z/ \# T2 k
  25. STA $04,X
    1 I* R* u1 @/ u
  26. LDA $00208 z. C0 Y1 `0 y7 i6 f  U6 ?
  27. STA $06,X) a" \9 H: L5 X! v/ X
  28. JSR KEY_OPERATE
    : J& K; ^% E& F) ]5 A
  29. JSR Function    ;功能调用
    2 R! [0 ^2 L; `8 V7 }, B
  30. JSR Weapon    ;武器切换调用. x0 F9 J1 @5 D5 {  S( g
  31. JSR Power    ;威力调用
    ' n4 T) D! ?' S8 B
  32. JSR BULLET_NUM    ;子弹数目
      R1 W5 t2 r- m& s/ p% g9 O
  33. JSR BULLET    ;副武器类型
    : O5 \  V2 P& n: |
  34. RTS- b1 i; m8 I; R$ P) @" A

  35. . G2 R9 Q) |0 n- l

  36. 4 T4 v- E+ l5 e* l
  37. 3 d- P, R: @2 t. z
  38. .ORG $80509 \3 c, p( n: f3 c1 ^1 v
  39. Function:    ;功能
    + z3 q* I  h9 ?  V7 P  c
  40. WUDI:    ;无敌  ]4 f; E# l/ G/ N, ]
  41. LDA $6000,X
    $ K  I* T# K4 k0 r
  42. AND #$08    ;开关判断& @: ^  j% O7 N- T
  43. BEQ LIFE9 R3 q+ E/ ?3 q9 l8 {6 c0 h( R" B& t
  44. LDA #$05
    3 y. K2 h' P3 ]7 v8 b/ v+ y4 q
  45. STA $05DC,X    ;无敌锁定$ J5 p* h8 _' i! N
  46. LIFE:    ;生命
    9 y+ B# r$ B$ y& ]! b
  47. LDA $6000,X8 o2 J% Y) a4 ]3 T; }6 a% @
  48. AND #$04    ;开关判断5 ?6 s- g: r( k( u! Y
  49. BEQ FUNRTS6 g8 F1 d2 F& m$ Q" _3 M& X% E
  50. LDA #$05
    . |7 n) V. N* Y" [9 [
  51. STA $1C,X    ;生命赋值
    / o8 R: p. ]6 v+ c2 _
  52. FUNRTS:8 ]; k/ {+ f6 T
  53. RTS
    - A; j4 ^% R' _) j2 \' f

  54. % t! m' K4 Y8 c6 L; r  q
  55. Weapon:    ;武器切换9 k' a; Q: K4 H8 B( Z
  56. LDA pause    ;暂停状态判断
    " Z: b0 n5 v$ D  R. `
  57. BNE WEARTS" |( s& A: j. {9 G# ^
  58. LDA $04,X
    # y4 o, ?1 y! J- q4 I$ n, P
  59. CMP #$20    ;选择键判断; U8 z! o. @1 W" q, o
  60. BNE WEARTS
    ( _- ]4 u0 s# _1 U/ D( L! F
  61. LDA $12,X
    * w% C/ k% q  l! S* m- ]# D3 z( A
  62. CMP #$03    ;武器值判断: o# |6 Y, X* f. c# b7 E
  63. BCC WEAINC, m9 A7 ]2 c) t2 |
  64. LDA #$FF0 _2 g. V$ j# N( N
  65. STA $12,X    ;武器重置2 b. l4 y' p4 E# {
  66. WEAINC:* P- `7 A* G. _/ Z" @: J
  67. INC $12,X    ;武器增加. m, }. W# r  Y1 N

  68. ! d) J* M" a: [  ~: R0 W, X
  69. WEARTS:: A" @4 D0 r3 M: X
  70. RTS# |6 x! k6 R4 }* T6 N0 a
  71. " P  O" G# X! V0 t! q% a) S
  72. Power:    ;威力
    & e# B5 i0 i4 z( {1 |* X
  73. LDA pause    ;暂停状态判断- n# j: H5 A# U; |/ S/ h& g7 d" t
  74. BEQ SPERTS
    8 `* W4 ?( }. s4 m3 k7 d# f# o# i
  75. BUT_LEFT:
    - H; a9 P5 a# Z" h6 ^
  76. LDA $04,X0 w2 ]& S5 o5 V) H
  77. CMP #$02    ;左按键判断; N' r: u6 P) I: n& J7 p( T- F' L
  78. BNE BUT_RIGHT
    : }2 \" ?; p$ g. K3 i
  79. LDA $88,X4 T: y! X# R7 h6 Y
  80. CMP #$00    ;威力判断) [1 i* k9 P9 P; b: z- K5 b+ ?
  81. BEQ SPERTS
    / f+ t! |, e- Y; v
  82. SPEDEC+ {& g6 L4 c2 M
  83. LDA $88,X    ;读取武器值+ Y# e( L7 D/ f% z: @
  84. SEC3 \4 u$ {9 l3 f3 u$ b
  85. SBC #$08
    ( W5 [$ u; l5 `! q. v; R
  86. STA $88,X    ;威力减小' O1 s$ m& Y2 y
  87. BUT_RIGHT:
    & f3 R2 E( ~8 Z) U% C
  88. LDA $04,X, a* [5 r) A7 k& Y" m2 B: E
  89. CMP #$01    ;右按键判断/ ~3 j% g- V) d. }4 s
  90. BNE SPERTS3 h: f* n4 c) y% J: C9 B- I, v
  91. LDA $88,X
    # `* r) ~/ N6 i' w' N
  92. CMP #$10    ;威力判断2 W  r: v* G! O
  93. BEQ SPERTS3 t6 t+ i9 \8 a+ o' I' Z% _
  94. SPEINC:
    $ @+ m, T1 f9 D* h/ U1 V7 U8 Q
  95. LDA $88,X    ;读取武器值
    3 P6 f' b: N+ ^8 \- B! B& ]  s
  96. CLC
    3 o7 E& w8 |! X( Z+ ?- |' ]
  97. ADC #$087 p' d, u5 P9 m7 A9 g7 v
  98. STA $88,X    ;威力增大
    ' S# A% v# F5 J- A
  99. ( a( c/ |. y7 P' c- |
  100. SPERTS:: X: o9 }8 {6 l9 n! s
  101. RTS" g8 i5 }  [, y% E  S( j
  102.   v( @% s7 B5 N6 l3 Z8 A
  103. BULLET_NUM:    ;子弹数目
    + G' U. _6 N) z! l/ t/ o0 c, ]) \5 L
  104. LDA pause    ;暂停状态判断
    : \7 E3 d, s* G+ b6 H& f: R. o
  105. BEQ BULRTS
    4 V! d7 V5 W$ I# D  B7 {
  106. CPX #$00    ;主机玩家判断' W( O5 R1 L& T' P  Q) Z" Z2 {
  107. BNE BULRTS
    1 l. N! S& Z* Z1 U6 e
  108. LDA $04,X    ;主机玩家判断: x. o: W( O4 @- s4 v5 l
  109. AND #$80    ;按键A比较
    $ p  G+ r( _8 A4 K9 c
  110. BEQ BULRTS" ^- K1 b2 T: f9 ^2 C% |% c: T; M
  111. LDA $87    ;状态判断
    ; {8 y9 d7 r1 O8 Z
  112. BEQ BUL_2% M# D1 K( H$ U  L7 G3 `" |" u
  113. BUL_1:
    ; {/ u  G2 q; v/ k/ n, y$ F
  114. LDA #$00
    9 |; |8 ]" e* s5 T! G/ b0 q% I
  115. STA $87    ;1发子弹8 L7 |5 _& \6 x, n8 s! W2 k
  116. BEQ BULRTS
    ( o$ f2 U( `/ R0 c# x6 x2 n- Z4 b7 c
  117. BUL_2:  ^6 c( E) D$ t2 A0 `
  118. LDA #$012 D# f3 }9 W" Z2 V
  119. STA $87    ;2发子弹1 l2 l" ]# R- p  C% m# K! w

  120. * {9 R3 ~0 @0 j+ F
  121. BULRTS:
    1 s* I" N9 m8 j( P4 m- u. C4 |
  122. RTS$ x6 p& r0 e. {- _7 b7 p9 R
  123. " e1 _: C. e- j, u  [

  124. 8 D  x8 R4 p' C- H5 Y- W
  125. BULLET:
    8 N/ H* b5 `* S
  126. LDA pause    ;判断暂停状态8 e3 c  Y* G2 v0 [( t3 |$ G; `4 E
  127. BEQ BULLETRTS
    1 O" U4 _8 Z' l+ c6 x3 \
  128. LDA $04,X$ w, z8 s" S4 b/ r
  129. CMP #$40    ;按键B比较
    8 G9 {9 ^( K# D5 s- `( x9 C. K: K0 Q
  130. BNE BULLETRTS
    $ c2 k' `: W5 b( `+ k
  131. LDA $6002,X    ;读取副武器) z0 L- f2 S5 W" e0 n1 Z
  132. CMP #$035 p' W3 v# n; g% ]" Z+ z. }- H
  133. BCC BULLETADD% S( M, f3 s1 Z9 Q
  134. LDA #$FF3 D  q6 o8 J: n5 d7 Y8 v
  135. STA $6002,X
    / A0 P3 n8 V. z9 v  B
  136. BULLETADD:3 i" a! n$ R. F
  137. INC $6002,X* t2 S4 G' e' s/ T7 m
  138. 8 G' L. J- b# B& d0 a4 h  ]  e
  139. BULLETRTS:. h; H% q- {) f# h
  140. LDA $6002,X+ Z. J6 d, W2 g, {& @# j
  141. TAY: j. ?! M6 K& t2 D
  142. LDA BULLET_DATA,Y# Q$ j. D, c7 i. @! t3 p7 v9 t
  143. STA $6004,X    ;写入副武器数据
    ; s+ q% s2 C5 b0 u8 e4 u
  144. RTS" |; N7 q5 ]" u2 b/ O7 o

  145. # N7 \9 o$ m: K1 Q# X/ j
  146. # _) Y& @3 N. i( Q' P
  147. BULLET_DATA:0 I) K: X6 W5 Z. F$ Z2 u7 F
  148. .BYTE $06,$02,$03,$04  @/ u& `0 g1 f7 I9 Q9 N* c

  149. ; D/ F; R# G! V7 S5 L

  150. ; m2 @% K3 d1 N) |3 C- }* A3 s

  151. - u( @! y- Q; s7 S7 T8 o6 y
  152. KEY_OPERATE:    ;按键开关操作/ [; d. R+ k8 R$ m
  153. data_protect:    ;数据保护9 f5 w+ j, I! n! Y% K+ t* X
  154. PHA5 w; d; p/ K! X( T( N8 p) k0 H/ Z+ {
  155. TXA4 e' j! c( a: d/ H
  156. PHA
    8 R  V  C# j* h2 X9 s
  157. TYA
    1 T) {) y! @/ v2 T
  158. PHA9 m# @- c; F( Z
  159. 1 y7 U  Z$ l- w9 l3 A: v7 O: {# I
  160. FLAG_INI:    ;开关标志初始化  ]1 ]2 ]6 o' l2 s
  161. ! C8 o( e* r7 W1 Z: w" |
  162. LDA $600F6 F1 |: R* ~2 [  o
  163. CMP #$013 F2 O% @! \3 u# C* r8 ]
  164. BEQ pause_cmp# f) W8 k  M) Q
  165. LDA #$008 h4 _( R1 d0 i- W: X* s7 r9 S
  166. STA $6000- v, ^: }! {5 l
  167. STA $6001/ o  A- J0 c8 x: z- F! s
  168. STA $60021 D' U% P" d  [9 T$ q
  169. STA $6003
    " L, j" ~* B9 T
  170. STA $6004. K: S4 |" }3 P
  171. STA $6005$ S1 j1 C7 |* U5 m( m
  172. LDA #$01  w5 P" Q+ c! u  i/ h  h
  173. STA $600F
    7 ?$ _" W7 F1 o. F! I+ S
  174. $ \$ ~. T0 I' G9 [7 ?7 E. J
  175. pause_cmp:    ;判断暂停状态
    5 C2 V" y3 O! X3 t$ E9 Q: d7 `; z/ m
  176. LDA pause
    ; p5 J7 c$ `; E
  177. CMP #$01    ;判断暂停状态9 ~  x9 C; V) G5 g, `* c
  178. BEQ button_press
    7 A% K( h% d3 u& n  G( C
  179. PLA% y- I& P: D7 X# G! l
  180. TAY' L- D; I2 R; [; m. f
  181. PLA1 u9 d, u$ N3 l5 K' b$ [- v  y+ `: {
  182. TAX7 ]- _* }" C) S) X
  183. PLA. }) }( K2 _/ l6 \  n) [7 U4 p
  184. RTS0 Y- D' H8 o, W7 _

  185. + ^' Y: Y) m1 b, O* J
  186. button_press:    ;按压操作
    ' y( A- `  N+ y' n  _* h
  187. ini_Y:2 i/ x8 L; u: m' o6 \
  188. LDY #$00
    - V, U6 H5 z% L( |: {0 H- ?
  189. button_cmp:) b. @% q. G. ^9 Q- S
  190. LDA button,X, ~+ r0 g5 c2 a1 ~# ?- l! w
  191. CMP ora_data,Y
    & ^. k0 Y  t' p' s, y! c: ]
  192. BNE count_Y_cmp
    " Q# Z2 Z$ A/ U1 p
  193. flag_cmp:
    6 x. I) h$ m9 |4 y) H+ L
  194. LDA flag,X
    7 P2 n( f8 y: x: m8 U& q/ n
  195. AND ora_data,Y9 C+ K6 ?; f) D, P# H
  196. BNE flag_and& m+ E# ?4 m; i; D8 O7 K, X# n
  197. flag_ora:0 M/ p0 G4 o8 p& {9 E
  198. LDA flag,X
    " \+ p" o( q" d; l! N+ K
  199. ORA ora_data,Y
    ( n: G" _. F/ `
  200. STA flag,X
    * F: _' `$ J: N1 n; a
  201. BNE count_Y_cmp5 n6 ]8 C" o3 N( U8 K
  202. flag_and:5 @3 R! `0 C6 G8 S8 v5 M' r
  203. LDA flag,X
    ; i4 i  W3 D8 k5 ]7 c) `( |2 u
  204. AND and_data,Y
    9 D4 g; [( I: I' z) [
  205. STA flag,X
    7 Q" G1 s7 M5 u. \. @0 D1 U0 d$ j0 e
  206. count_Y_cmp:0 n' j5 k) l7 X9 a4 v8 [& @* z+ S4 w
  207. INY
    $ j9 O* }# N. ]+ o( Z
  208. CPY #$08
    ) q$ H2 L  [, b# o" _' \
  209. BCC button_cmp
    0 x% G; n: P3 Q- `0 [

  210. 7 `1 [: `1 a0 ^
  211. data_extract:    ;数据恢复4 X. r! m/ g% |: H
  212. PLA
    6 f) W; g5 E! j  v/ M# k9 b, x  h
  213. TAY
    ! R1 R( _0 k+ R* R! L
  214. PLA
    : {, H2 l2 p0 d' P/ H! y
  215. TAX
    % A; d3 ^8 E* H
  216. PLA
    0 F/ `$ J8 i9 s' l. V( W
  217. 8 q& n" H6 k0 r" v0 b; E1 b
  218. return:# ~. C1 @1 r1 v6 U2 A
  219. RTS
    4 X4 @4 ^- n5 {5 M+ U
  220. ) W  I1 h+ u, c& Q: p
  221. ora_data:   ;按键相或数据: T/ L+ x' V  Y$ \
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10$ D% u, @+ A% v6 j3 A. v* r
  223. and_data:   ;按键相与数据
    7 m7 q4 p# O: i  ]5 o1 i0 s
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF7 H; |1 _- ?# c1 v# X6 I6 b

  225. 3 ^8 c. v' D4 A2 }& p+ k6 p

  226. + ^6 {2 y: o+ c& l! v. f

  227. 0 \! p& {! [$ a- ~" e0 V

  228. & G  T( ]+ h: ?4 m5 a/ B
  229. 6 S9 ~$ x6 f6 \: p- @

  230.   E+ S  O+ U- L4 j
  231. 5 g8 t) W+ l6 }, M$ Q
  232. ' j9 d8 z' ^$ l# S1 ^
  233. % A) B, H1 r/ |
  234. .ORG $C264    ;自定义的MAPPER2切页程序
    8 T6 ~& j" g5 k8 @7 K& E( M  j
  235. PHA
    ! ~6 n/ u2 E. N# c  N+ m9 j
  236. TXA6 [' A2 t0 S/ V( B
  237. PHA7 n* i2 w5 r) d; C8 @8 [8 R
  238. LDA $0066
    * ]; X. N* o6 Y4 {# X
  239. BNE ADDRC2802 z" s9 w' W( E0 y: Z, w; W
  240. LDA #$07
    0 t! h3 i4 X' T
  241. LDX #$03
    5 H7 A: a+ u  u! g3 a- Y" I. ]
  242. JSR $CD9B    ;自带的切bank方法  X1 b  c8 e/ Q9 i7 N" Z& {
  243. PLA. F% O1 y( I9 F) B3 U; Z
  244. TAX
    , p5 P7 J7 w# @* U: [2 C5 i2 K
  245. PLA' n5 r; |* g) k* o; O: a' i$ H
  246. JSR $8000
    5 t  L- l! |) J9 `" r
  247. LDA #$067 u5 `5 B% ]6 v. _. A$ G6 F0 U
  248. LDX #$03
    0 [8 M1 H: w* n0 C# _7 t' v) Q
  249. JSR $CD9B    ;切回原该切得bank(可以不用)  k) [% \$ l- B+ a1 w3 u. ~0 x$ H
  250. RTS8 v2 i/ w/ x( C! o4 H
  251. ADDRC280:
    ( i) o7 T# V" l4 G8 z) b
  252. PLA7 q2 i4 X$ Y9 e: ~4 I
  253. TAX( {" f5 d2 Y5 x" d6 w0 g' c' s9 i
  254. PLA
    9 j" k; R; q6 S
  255. RTS
    " V/ y! b% |5 Q0 U) P
  256. ( t4 B; Q& x9 I
  257. 9 j6 Q+ o  d4 x" G' Y# K; c7 T
  258. ;[FC][最终任务PPU][END]. j" L. S; F# ~2 J
  259. .ORG $C056    ;跳转到PPU重写程序3 P" k  C0 a0 m& ^& N- }4 C1 o
  260. JSR $7000
    / l: u6 F! d* r" J  N- R: c$ B

  261. ! D- E$ X& C( N1 q2 N( \+ z
  262. .ORG $CEBF, C2 ], V$ V& l0 h5 P
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入
    0 s  Y! Y: ?7 [/ t
  264.   
    / D+ {/ k% G" y: q
  265.   .ORG $E460
    - o/ f/ _% s) ~
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入
    . Q( @* `' _4 Q1 T
  267.   9 L2 J4 }0 e0 ^. J0 D$ H- I. V
  268. .ORG $71F0) r. m) d+ C* ]- ?# f
  269. STAGE_DATA_WRITE:1 N9 T8 i' }( h& t
  270.   LDA $60103 [, Z2 k, b) u8 a$ N6 f
  271.   STA $1E    ;关卡写入7 i6 @1 b  v0 [6 g. ?1 l
  272.   LDA #$00
    2 ]0 T8 x3 T( D9 D8 y/ z
  273.   RTS1 ]8 K, q( u( u9 z
  274. .ORG $71C06 b  A3 i' v2 |: n3 O; K. K+ U
  275. BULLET_DATA_WRITE:    ;副武器数据写入( y& @# ?( _% Z5 _
  276. CPX #$0E
    : g. X; @6 N6 C) ~, q
  277. BCS P2_BUL  F. W" F6 E: O( c' ?# S& y
  278. P1_BUL:' ]$ b8 p, h, R  ^' }
  279. LDA $6004
    $ I5 H8 d% ?4 b5 \8 R
  280. JSR $D7D0    ;P1副武器数据写入$ G/ T+ D) I5 _. h: L
  281. RTS% ?- m7 G% o; ]* g5 f& r1 W
  282. P2_BUL:
    ' y+ @, M  d8 `: |9 k6 ]# ~: ~% n
  283. LDA $60059 D6 a, C& Y6 q! u& X) l
  284. JSR $D7D0    ;P2副武器数据写入& x  G$ {. n5 j4 N* o6 P2 y0 u
  285. RTS
    / g- h" M9 P- `6 G

  286. 6 A# w7 _$ o- k* M

  287. , a5 Y! e( O4 [# N4 K6 |6 U4 v
  288. .ORG $7000
    0 t. w; R8 l  v! b/ o- v" @
  289.   
    ' \1 u7 ^6 c6 Q( ~
  290. STY $4014    ;补上覆盖的精灵写入指令
    ; V6 |2 Y* q, O* m# [- Y4 z
  291. PHA
    $ v1 u  W6 X, C! K
  292. TXA
    ' z+ t; s9 `7 d: p& e  v
  293. PHA
    / C5 W5 ?  F/ _8 |2 R' B
  294. TYA1 s4 R- O' m( Q( ~# t
  295. PHA& U7 q  B) v; |: l- u, L) @9 I
  296. LDA $0C
    1 [6 F" ~, D: y; |. a1 M5 I
  297. CMP #$01    ;比较是否为标题画面+ a) M) s# |5 H- I" [, K
  298. BEQ PPU_STAGE$ S8 `( [$ l8 @
  299. PLA) M' |9 I/ M) B, N2 }
  300. TAY- f2 V9 N. t7 Y# e
  301. PLA
    ) [( S- e' f3 g8 Q6 R# Z+ {
  302. TAX7 s6 v/ {* b7 l5 ?
  303. PLA$ ?) y: L8 @. ^, _7 q8 N
  304. RTS
    4 {- T( G$ D7 e1 C' N7 X. Q
  305. PPU_STAGE:    ;STAGE显示程序3 A! ?/ o8 U7 A# e5 z- h$ S6 n
  306. LDA PPU_ADDR_DATA& T4 S2 N) O! B+ F2 ~8 ^1 [$ G
  307. STA $2006
    % j9 h+ u- c5 j, c7 }
  308. LDA PPU_ADDR_DATA+1$ h1 `! ~& A8 F& n
  309. STA $2006    ;坐标设置# v- Q) w+ V# ?. u! \2 `% J, e) m
  310. LDX #$000 _& h6 q2 G9 f+ {+ [
  311. PPU_STAGE_WROTE:    ;写入STAGE字模- a5 w% i/ |% t$ q, e+ y8 Q1 ~
  312. LDA STAGE_DATA,X4 s) k6 n- s0 w  x/ O% T7 N* q7 o
  313. STA $2007
    " K) E' D. n# L3 Z: E" J
  314. INX
    2 j3 t" S9 P2 Q
  315. CPX #$06
      d& [$ R8 a+ X; x5 u: Q8 ]0 ~
  316. BCC PPU_STAGE_WROTE
    1 f) t1 B, P# v$ l7 f5 e7 _1 e
  317. LDA $60102 e; a! A* T/ z9 W8 b
  318. CMP #$FF    ;关卡数据初始化条件判断
    % ~& o* O5 y$ M% J% W
  319. BNE KEY_B
    $ d" H  u& T4 t4 K$ F* S8 i7 d( E% F
  320. LDA #$00
      P& _# t" L! w3 W+ h
  321. STA $6010    ;关卡数据初始化0 a$ G3 G; T% e8 Y1 d, c
  322. KEY_B:    ;关卡减少
    " ?- d1 Q  i! q9 x- z( ~
  323. LDA $04
    % F" n. W& g9 k
  324. AND #$42    ;按键B或左减关
    ' \1 R2 J3 D' A4 z
  325. BEQ KEY_A
    2 ]: d! U6 j  `0 ~2 z
  326. LDA $60107 V/ a4 z' i. c% A7 [* {
  327. CMP #$00    ;关卡比较  y$ ?/ S2 j' o- P4 f
  328. BEQ KEY_A
    : }6 n' M- j  ^" i1 q
  329. DEC $6010   ;减关
      N/ c+ K( {5 a$ n8 O6 V3 D- I
  330. KEY_A:    ;关卡增加
    ! L7 ?$ }) |: J0 A  {6 S: L( r
  331. LDA $04
    7 R8 `* P: T4 s( h
  332. AND #$81    ;按键A或右加关
    2 B4 [$ s; M3 U: H- h
  333. BEQ PPU_NUM_WRITE/ K& A4 I5 L: B% x9 V
  334. LDA $6010
    . y# P5 m( K$ G, i+ W% b# {
  335. CMP #$04    ;关卡比较% K, s3 G" B( K# K, m/ G
  336. BEQ PPU_NUM_WRITE# j$ P+ e1 a% u0 u0 x9 v
  337. INC $6010    ;加关
    7 x( Z. b  r9 P. u* O5 l8 U! O9 O
  338. PPU_NUM_WRITE:
    8 s7 Y8 s( g8 F( X2 _* Z
  339. LDA $6010
    6 o( O$ y, V, N; s% ?
  340. TAX5 z& n8 x' T1 {4 s5 [: e
  341. LDA STAGE_NUM,X    ;写入数字
    ) @! q' S5 K& `9 S
  342. STA $2007
    ) A' d. T. u- {, K8 ]6 b
  343. PPU_RTS:* ~) w7 t* h# K% L
  344. PLA  P1 w$ m5 z& W, _1 p8 l
  345. TAY
    6 S2 y4 ?3 q' D
  346. PLA) ?0 i1 ~( |$ J, u2 [5 p) b
  347. TAX
    ) K7 ~; Y5 T( M3 \4 @( f; @
  348. PLA
    7 T: J8 |, ^# n. E* p0 h
  349. RTS
    4 O3 \4 o  C  Q$ x
  350. . L0 A( f' S. a, j

  351. $ O' y! u; M( B) E% t" j/ y+ }
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据5 f# e2 L7 M# ]; N7 m* l" w
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00
    + u9 C  l. Y; q" Y* {$ h7 n
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据, A: n( R" P! V( |
  355. .BYTE $D1,$D2,$D3,$D4,$D5
    7 O3 A5 D" B- m" `& F
  356. . B' A4 x7 d, G  Q1 r4 v0 `
  357. PPU_ADDR_DATA:# p' s2 m  U; P
  358. .BYTE $23,$0C
    , d8 h! ~' a7 n: }

  359. # c- p* \6 x+ D0 W: w  j( l
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1762 天

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

签到天数: 1172 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 2130 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 3246 天

[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
, N$ v) r& L9 w% E/ U( m最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊

6 F- @3 q  q# T4 y: M已经加上了,赶紧下载吧
[发帖际遇]: 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
" i: R, [5 H4 A  y5 T旋风又疯狂大修改了 哈哈

8 V+ y. b- y& k1 g" u: S疯狂不起来,无聊了而已
[发帖际遇]: 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-18 11:00 , Processed in 1.082031 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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