EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑 : I" i% P8 o" Y8 f6 d  u4 B9 U, `3 \

4 d3 Q; ]% O, E% w3 b/ `$ h. R    [FC][最终任务][END选关]) u/ ~% {& D: C5 i

- v( l6 q( F( d# j  J$ ^时间:2017.3.298 W7 e6 ^) T% D9 P4 c
作者:FlameCyclone
& D5 n" P9 L( b. [. S- l- S- b3 i内容:
* B+ z5 h3 f& e$ j8 M1 b( l6 ^    1.关卡选择:   标题时,左或B减,右或A加(1-5关);8 @0 E7 u& o% [$ @' }; r2 R
    2.无敌锁定:   暂停后,按上键切换;
* C* w* G, Z$ R+ }, X    3.生命加满:   暂停后,按下键切换;" A7 L- q# _3 H2 k
    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);
( u. p' s0 g( w. X& x0 x    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);
: s7 F# o4 z+ i: h8 S$ t5 h    6.B弹数量:    暂停后,按A键切换(1个或2个);7 k5 r$ X: ^6 I9 Q
    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;
& z. ?1 ]* `. {+ c& f1 {7 ?* ?. s) l# T% v

1 j  [7 P' o% ]
+ @$ c& R2 l" ^; q" z2 V' N
; L" b: A. W2 _. ~6 P, r6 W: y* |# o) N! `7 \

: }" L3 k) Y5 q- S. R- P
游客,如果您要查看本帖隐藏内容请回复

9 Q/ H* G1 }! a/ y* W- kFlameCyclone.ys168.com) D: S" Z7 A/ b) C6 E! C1 E( u
www.nesbbs.com
  1. ;[FC][最终任务KEY][END]! a8 l6 h2 z: H/ ~7 k& t3 D
  2. button = $04    ;单次按键+ b' C7 \- r: c) ~
  3. flag = $6000    ;功能开关标志  Q: a' ~7 u( v
  4. pause = $000E   ;暂停地址
    / e& F+ F4 Q$ r+ k  a1 ]7 W

  5. . }' q7 S8 e8 t; r
  6. .ORG $8000  }2 i& A6 I  F
  7. LDY #$08    ;自带的按键程序
    / v) f; `5 o3 F/ f  o. e, }; h
  8. ADDR8002:
    : C; G# S/ A" `
  9. LDA $4016,X+ i; G6 n% b6 P' d& f! f
  10. LSR3 h! M3 I0 V- {8 p% E- ^6 z+ {
  11. ROL $0021
    + x8 M$ f6 V, H8 _
  12. LSR
    ) y" B* L0 F: f$ F8 Q
  13. ROL $00297 ]7 \: m! X  }' h: S' f; p4 G
  14. DEY
      H9 q/ ]( q) d/ J4 b# p9 C+ A3 _
  15. BNE $8002
    : ?9 F- C/ w5 {* P0 h
  16. LDA $0021$ S, ~- a" ~+ Y' k' ]" C
  17. ORA $0029
    ; ?* ?$ @: p/ ^' |: p
  18. STA $0021
    1 W6 G7 ?/ J7 A1 b
  19. LDA $0020
    0 F! P- L' T/ b) J- d
  20. AND $0021
    1 z  S: @6 t% e& g: j/ w2 _
  21. STA $0020, v/ b9 P% S2 `/ o* f8 R
  22. LDA $06,X+ L* S2 B  ~' U, X8 x8 O7 e$ r
  23. EOR $0020
    8 B6 k7 C/ m& c$ q7 K* u- ?& X! }& q; ^
  24. AND $0020
    % \8 ]" I' u* h# I
  25. STA $04,X" c# X8 g" w3 H2 J
  26. LDA $0020  j! x" _$ b( {: y
  27. STA $06,X* p, T, E, y  A! C8 o$ B6 U8 M8 V
  28. JSR KEY_OPERATE9 R& W  R' Q# K4 h9 f
  29. JSR Function    ;功能调用
    : D4 B4 U; n# q  a! L/ I
  30. JSR Weapon    ;武器切换调用
    7 P9 A( t+ s/ f
  31. JSR Power    ;威力调用' @- k, z/ n5 C! ^3 ^8 `
  32. JSR BULLET_NUM    ;子弹数目
    0 @/ b% N' \6 L) j
  33. JSR BULLET    ;副武器类型
    8 Z; m) j1 N  H% D2 n9 M/ _
  34. RTS5 b8 S5 g3 F3 F" ?: t. O
  35. ; z" C; k% J7 ?  `' z
  36. 4 ~! f. M, Q% Y' u2 w
  37. 2 b2 M# D' Z% j  m. x- o
  38. .ORG $8050- Z! S, O& ~3 Y; }8 j  l; ~; R: F
  39. Function:    ;功能
    ) ^, y3 l( C1 b
  40. WUDI:    ;无敌( A+ j$ s4 f' V1 B: d" N5 A& i
  41. LDA $6000,X+ Z9 [6 |2 e& U  z: u
  42. AND #$08    ;开关判断
    0 R3 U/ c+ U9 i( z$ o& W
  43. BEQ LIFE
      x7 ?2 O! W, K& E
  44. LDA #$05; S4 d" R& d; e' C
  45. STA $05DC,X    ;无敌锁定4 i- L3 j3 W( @/ B" m
  46. LIFE:    ;生命( D5 `% y+ }& e, l/ G  j* |/ F
  47. LDA $6000,X" M  u' I/ b; B) p7 z( \, b
  48. AND #$04    ;开关判断
    # E: d, a. v3 M' k
  49. BEQ FUNRTS
    0 j) O3 N/ o0 x' U) U( T
  50. LDA #$05# n: J9 k5 }1 u# i: e6 @
  51. STA $1C,X    ;生命赋值7 K9 i9 \* l+ J7 h
  52. FUNRTS:
    5 q4 N+ W0 v( V6 g
  53. RTS9 q, J# T* {, S; O

  54. ; y3 o1 v5 Z% M
  55. Weapon:    ;武器切换
      U: y; U: V2 [3 W6 O# L
  56. LDA pause    ;暂停状态判断
    $ t# E4 s  C/ Q  T' g+ k. u
  57. BNE WEARTS0 E$ ^7 f7 ]0 j) D( @
  58. LDA $04,X
    , {, ]2 c7 x" b4 {
  59. CMP #$20    ;选择键判断
    # R7 `' g8 `7 m# _0 [* ]
  60. BNE WEARTS
    / a. X5 g+ G/ Z
  61. LDA $12,X
    " z# o: W7 _" v; H
  62. CMP #$03    ;武器值判断
    7 G* z& _, N9 X. @6 m3 S
  63. BCC WEAINC4 [* n+ t- D# I% r2 R/ L- z3 a
  64. LDA #$FF; x. w& a& j+ A1 }7 j
  65. STA $12,X    ;武器重置) k* b. D1 @" Y, u1 U2 S- d
  66. WEAINC:& J( s+ b& @% V- G5 X. w* M
  67. INC $12,X    ;武器增加
    & w8 @, ^* `) D

  68. . o( F# i+ a* i8 B# U0 O; {1 [8 R
  69. WEARTS:+ j# v0 N7 q! o2 c) k
  70. RTS4 y; d- M$ J: ?! t: a( {" u$ T
  71. * R7 F+ i9 P% d5 K7 N- G
  72. Power:    ;威力
    % |) Q9 e4 q0 l' p  N# c
  73. LDA pause    ;暂停状态判断" O2 Z6 V8 E) y: p+ \1 h2 o. o
  74. BEQ SPERTS
    3 `0 B9 |1 O+ ~" P7 d
  75. BUT_LEFT:
    # t  L/ W4 _  e+ k3 z) a
  76. LDA $04,X6 J, H% G$ c& }& g$ V: r
  77. CMP #$02    ;左按键判断8 T6 I4 M; S0 ]# X( Q% |) n
  78. BNE BUT_RIGHT: m% Q) L0 k6 f9 S; i
  79. LDA $88,X
    ; Y- h# W' e# g0 e" W1 P9 x
  80. CMP #$00    ;威力判断
    & J0 }* x9 ^& |' p* s! O
  81. BEQ SPERTS
    % n6 o- J  F, Y1 V! `3 i
  82. SPEDEC
    * U/ R5 S, U6 N4 R" J2 |
  83. LDA $88,X    ;读取武器值
    8 W7 G/ k; f; R( H, C
  84. SEC
    + l& q3 Q0 v- [. X
  85. SBC #$086 y+ y- n% K! _; K3 P0 ^" D
  86. STA $88,X    ;威力减小& ~% O3 [+ j& T3 a- z5 G  R0 b
  87. BUT_RIGHT:
    $ v- i* K9 }4 [' O: q
  88. LDA $04,X
    ) u' f+ L4 W$ ]4 z5 e7 {& q. f6 C, S
  89. CMP #$01    ;右按键判断9 I5 |1 D5 A! z5 t  P2 |
  90. BNE SPERTS
    - y4 H/ ]5 a/ K- t! l1 u% h/ ]! b
  91. LDA $88,X' r) ^" H! _8 l8 |% ~& _1 C
  92. CMP #$10    ;威力判断6 U7 Z/ z2 `' z- f1 f# A- N
  93. BEQ SPERTS+ \  s) Z7 |: p& a& W) @: J" s
  94. SPEINC:* |& \2 C9 v; H
  95. LDA $88,X    ;读取武器值+ U9 I8 ?. {: o2 K4 `. f$ |7 c
  96. CLC/ g8 |2 t# q) g8 T/ r' ^# |0 h! L
  97. ADC #$08
    - D6 ^1 I# a6 o! b* W5 l
  98. STA $88,X    ;威力增大
    3 Q# X( U2 N+ B% H
  99. * l( c3 N& K9 q! i2 ?) O0 ~2 @" b0 H  d
  100. SPERTS:. r, p7 Y% u& T  z/ k) I
  101. RTS
    5 L% D2 s! F1 o& v+ W
  102. % {+ I/ R# G5 h. \
  103. BULLET_NUM:    ;子弹数目
    1 \( {8 h) g% p: X' @
  104. LDA pause    ;暂停状态判断2 `+ {3 e9 ^# ~0 ~' m
  105. BEQ BULRTS" c4 x' N: \0 n' g+ X& v
  106. CPX #$00    ;主机玩家判断8 X& _4 c' I2 n& O* [2 J
  107. BNE BULRTS" V! [. v6 H% X$ |9 b% X
  108. LDA $04,X    ;主机玩家判断
    9 F5 |& ^+ _' S) c/ h
  109. AND #$80    ;按键A比较5 A  P" O* v3 ~
  110. BEQ BULRTS( z( X. S$ i8 i" _4 D3 Q" Z
  111. LDA $87    ;状态判断
    ( M2 ~( T, C& |. ~: o) S: W1 M
  112. BEQ BUL_2
    1 `, F* X1 F# P3 C2 B
  113. BUL_1:
    " \+ `6 g% J9 G# Z1 R7 S
  114. LDA #$00
    : u4 f9 P  n7 X9 u2 F( \  [5 D
  115. STA $87    ;1发子弹
    6 q, _$ j1 G7 L; F' |2 K8 v. N
  116. BEQ BULRTS% D4 }" [% U" {2 l
  117. BUL_2:
    - _- t8 ]9 _5 {1 C/ \
  118. LDA #$01% C) ^; b1 J1 P" |6 [# D- _- g% F
  119. STA $87    ;2发子弹' A( q  U: C2 z3 F2 _: i$ P

  120. / V& m3 K# X! k, x- t6 k7 x0 x
  121. BULRTS:8 e1 H- V$ E& h: r
  122. RTS
    ( H. ^7 ^! j+ P9 _4 V' S
  123. . g5 R4 l  }# E! O3 h7 N' Q
  124. % Y8 D/ n9 a) v4 W
  125. BULLET:
    ; K& X: _2 }9 J
  126. LDA pause    ;判断暂停状态( w1 y' O$ X) X0 P$ z' v
  127. BEQ BULLETRTS
      q; H4 l  L2 x: ?% w
  128. LDA $04,X9 O2 T/ n/ v% V  Q( \
  129. CMP #$40    ;按键B比较
    2 q6 I" l" w7 V  i% [% b" Q$ m, e% t" M
  130. BNE BULLETRTS
    % d  X/ [! X. q. L7 d$ E* ?
  131. LDA $6002,X    ;读取副武器) J" \0 _: m3 V1 O
  132. CMP #$03, L8 p9 Z9 j6 B( }2 d# M" t8 W
  133. BCC BULLETADD
    6 l( o8 y, x/ z: ^; ^* N6 v
  134. LDA #$FF6 t& c' f" i5 X% Q! s
  135. STA $6002,X
      k* t3 ]/ D# S* ~" F
  136. BULLETADD:+ {$ t6 c9 N7 _6 Y' w
  137. INC $6002,X' S7 z4 }7 B( b: c
  138. # z6 X2 O- ?. Z5 C
  139. BULLETRTS:, p* N* n; n; N
  140. LDA $6002,X
    . x3 A+ N# ~* h1 h0 v
  141. TAY
      L+ r4 H4 p8 c% O
  142. LDA BULLET_DATA,Y' y) @6 D: |' s, _
  143. STA $6004,X    ;写入副武器数据2 c0 m3 x  _0 z- T* L
  144. RTS
    3 T7 [  L. @0 s0 h  @! `

  145. # _* H  ?+ F' v" q/ A

  146. ; O* K5 f& j1 F5 H$ F& d* M$ Y
  147. BULLET_DATA:: Z5 _. l4 `& T( p
  148. .BYTE $06,$02,$03,$043 q! a( K" z3 g0 ?, c3 c- i5 J
  149. ) f+ c. W) U$ H0 M

  150. $ ?+ n; u7 K2 F% [' B& T& |' d

  151.   p- |+ [; o: J# |, @
  152. KEY_OPERATE:    ;按键开关操作! L- F' t4 ]5 E. C
  153. data_protect:    ;数据保护
    / ]8 T! N: N  V% }" Q
  154. PHA
    : {" I2 u) ]# C! x( R$ f) s
  155. TXA
    % Q# S4 Q; J; i$ p
  156. PHA' d  H0 O; V' d; D; X' U0 V
  157. TYA* o- Z8 i! S4 P, W5 D
  158. PHA
    $ ?. |6 K# f6 Q6 g& @. X& X
  159. 4 }, q$ B0 b7 Q6 U' l6 n' k4 f
  160. FLAG_INI:    ;开关标志初始化: Y- z3 x' x9 C4 s4 H8 L/ C# ^

  161. / Z: i9 r( M0 H# W
  162. LDA $600F; w& L9 n6 j3 ]) Q0 U/ f7 ^
  163. CMP #$01
    0 G' a9 G1 D( m/ f% f
  164. BEQ pause_cmp4 ]& b( o0 X( b' l
  165. LDA #$003 v, G0 w6 u! {! o
  166. STA $6000
    4 w" x4 E$ _* \5 j+ |% |; p
  167. STA $6001
    " O) x4 B& n" ^4 D  a# G
  168. STA $6002
    2 i( E* y8 H! o, I/ I, V5 a
  169. STA $6003% J" m# }$ J8 ^2 y
  170. STA $6004) t# {& D# v, N. `
  171. STA $6005" P( j4 t( P0 [* S
  172. LDA #$01
    " ^- c* D# [1 Y. z+ J
  173. STA $600F
    / R3 n1 A6 A, k4 F
  174. 2 n6 H9 r( a7 n
  175. pause_cmp:    ;判断暂停状态
    2 \2 w$ V2 `: F& e4 ^
  176. LDA pause
    # m1 ]) Q; r+ s
  177. CMP #$01    ;判断暂停状态
    ; Z; w3 b. o! z" I1 _6 A
  178. BEQ button_press; p: Z- W( d: ?. [6 f: P6 F
  179. PLA, D# p% p3 f/ b( o$ s3 {* d
  180. TAY
    7 A8 N$ J3 X7 Q8 _
  181. PLA$ s2 m  t: r3 _! s, m
  182. TAX
    4 {# H' i3 h- \& ^3 H$ ^
  183. PLA
    - ?5 M; e7 x3 |- g8 ?: s" _2 H' \
  184. RTS
    5 `! p. N; D- H

  185. ) z1 C( D* q! D8 W. m* D# r
  186. button_press:    ;按压操作. W' s& ^' M7 M, l
  187. ini_Y:
    ! Y/ ]/ {. o7 d  d
  188. LDY #$007 R: t1 J5 f  h: i- e: E$ w$ _
  189. button_cmp:) P9 B- W3 D* j: |& F
  190. LDA button,X! ~$ X4 l" G1 |% E2 q
  191. CMP ora_data,Y8 K8 A. _; Z4 f7 s3 b, c' x8 i- k
  192. BNE count_Y_cmp5 |8 o5 Q1 P5 \& ^
  193. flag_cmp:$ n% p$ |- I2 [) N* D
  194. LDA flag,X- p8 F& b, \0 C, V
  195. AND ora_data,Y  R: D$ h( F4 B) ?; [
  196. BNE flag_and
    " r/ ]6 Y1 b# ^
  197. flag_ora:
    3 ]& r4 S, O: I0 E, f4 J
  198. LDA flag,X4 u5 [, a. @" N/ P
  199. ORA ora_data,Y6 j" l4 R) D7 Z
  200. STA flag,X
    . u" B* _2 Y) y
  201. BNE count_Y_cmp! u" _7 p& K; e/ Y5 X$ n. Y$ S
  202. flag_and:5 g. y* u+ R( \' }) @
  203. LDA flag,X
    1 V9 V8 m8 }. m2 Q. U
  204. AND and_data,Y
    * f9 S/ Y) p3 ^) _
  205. STA flag,X% v0 N9 T: X" K# C
  206. count_Y_cmp:
    ( V7 G& k5 n" s: f4 Z; W
  207. INY
    ( C5 c' O* S- J( Z3 D! h' Q
  208. CPY #$08( C3 A/ V2 ]% V1 z
  209. BCC button_cmp
    8 g6 l3 k6 E' U: V0 ~4 K

  210. ' d0 d; J& [0 O
  211. data_extract:    ;数据恢复8 _" E0 M% y% k0 A5 \9 \; S( b( N
  212. PLA
    + ?$ |! S, ]) m
  213. TAY  b) @' |. x) M( o
  214. PLA( o& ~! f- F! I7 W0 \  G' _
  215. TAX* J! j3 C3 P) ~4 ?, I
  216. PLA  a# [- \  e- T* L
  217.   `& v+ p5 ^8 |  y0 [
  218. return:
    ; e0 U$ g+ R9 f- B$ J
  219. RTS
      s6 u0 A4 Z$ l9 K  W5 w

  220. ; R, J/ o) p' x# L/ k
  221. ora_data:   ;按键相或数据
    & l; a6 _* Q5 c+ S1 P7 y# D
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$104 K/ g" T/ P) d$ I4 c
  223. and_data:   ;按键相与数据  P! Z6 x3 \) p, D* G7 G, p
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF% z. D! S9 v1 x& ~' |# K' z7 ?

  225. " @' p& P2 R! X2 P

  226. 4 r1 v" h: J9 S; \) ~5 B

  227. 1 F6 j8 O& @" ^4 w

  228. $ {6 O' h* I, v/ c% U

  229. $ S) y7 U! }( Z( N4 m
  230. 4 T( Y" p% N8 h! L3 y4 J% S- C

  231. ( j% x1 U- B7 ^- ~: F
  232. 4 A" V: y* W( m+ p) p$ I& C

  233. & G7 f# R. B, g! e+ s
  234. .ORG $C264    ;自定义的MAPPER2切页程序" X1 E! \2 t7 E: [
  235. PHA" i* {& k- E. q1 F" {
  236. TXA
    5 I' }, M. e+ B( h7 v8 I
  237. PHA: t( [4 x* U# x% \
  238. LDA $0066- f8 _, T) j( w" D
  239. BNE ADDRC280' |6 b% C8 g! u+ x- j* n
  240. LDA #$07/ O+ V9 c! J3 e/ Y4 q* U
  241. LDX #$03( L2 M$ k. z# Q' q7 m$ x
  242. JSR $CD9B    ;自带的切bank方法, q! E$ @' M7 s9 ^, ~& v
  243. PLA
    * z5 [1 u  _5 [) B0 O
  244. TAX
    $ t, r; M- v2 v4 S$ s
  245. PLA
    0 F/ @! x' @; j* Y" z7 p
  246. JSR $8000
    6 `, H: D% }8 u4 N. G& ^. `% l" q
  247. LDA #$067 ?: b% F) k6 q7 e" V7 B6 }/ I. Z
  248. LDX #$03
    7 ?6 U( \) j$ z- T
  249. JSR $CD9B    ;切回原该切得bank(可以不用)
    , |9 V" r/ v; M" W) I/ R  N
  250. RTS
    + w  p) Q7 o) c% x  m8 }
  251. ADDRC280:
    & y. v% E4 u8 E5 A+ W3 j
  252. PLA+ v( s8 i  @7 w' Y" L4 C( C- U
  253. TAX, _; r4 ]6 E) K  M6 P9 l/ G
  254. PLA
    , s8 a- D; r1 l2 t, e7 K
  255. RTS
      j6 H8 R! R, ?: B. G' S

  256. ( e! \& S' y7 N7 T* V
  257. 9 ^: S( ^8 U3 y6 E+ R
  258. ;[FC][最终任务PPU][END]
    , R! \5 f! u: n- n1 M
  259. .ORG $C056    ;跳转到PPU重写程序
    ' K4 d( a$ n5 n8 i5 B; C
  260. JSR $7000
    3 `7 a4 u6 m" I( H$ I8 N( i% J4 Y

  261. 5 H6 f; J6 y2 s  l0 q
  262. .ORG $CEBF
    8 N+ F$ Z0 h, ?5 W! X' C. P8 L
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入
    4 e. x' i- K5 p' {5 l
  264.   
    ' \; E; n% l. J, l
  265.   .ORG $E460
    # V8 a$ v& E, T  b
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入! [7 A/ t4 v0 B) l, O9 x( d/ M
  267.     ?$ C/ m  n' z
  268. .ORG $71F05 [! \/ B0 G( ?) T- R4 h
  269. STAGE_DATA_WRITE:. j3 j( z/ Q$ k$ c  T
  270.   LDA $6010
    ) m, W$ g* ?& V4 C
  271.   STA $1E    ;关卡写入
      K6 V0 y  A& w8 \$ x
  272.   LDA #$00
    - \0 ?) ^9 j& b
  273.   RTS
    , J4 q8 v/ Y8 Y7 a  d- ~
  274. .ORG $71C0( B& ^/ Y4 u; e; ^' }* y! q
  275. BULLET_DATA_WRITE:    ;副武器数据写入
    2 W9 m# Q9 n- W: S, I! M: A
  276. CPX #$0E  T, E1 q. m: G9 q# r+ T
  277. BCS P2_BUL( W! `, \: V+ \( J) m3 d% H
  278. P1_BUL:
    # i0 G. y2 f% T; V
  279. LDA $6004
    7 f  O# F- d& I/ C8 d9 d
  280. JSR $D7D0    ;P1副武器数据写入
    8 f4 j! r8 L7 R2 Q/ O  s
  281. RTS6 f, l6 d" K# V% W- f
  282. P2_BUL:
    % B0 `- [) L/ ^' n" w+ w5 M
  283. LDA $60050 D+ P% U! k% y3 A' P. U% i
  284. JSR $D7D0    ;P2副武器数据写入
    - v6 N6 _& Z+ C, @/ C) e8 `8 J
  285. RTS
    5 X# [/ I9 E/ A, O9 N1 W( @# @

  286. 1 M; b; r7 F& o4 b2 L' _

  287. . d: y4 l! ^. u: {* Q  c
  288. .ORG $7000
    ! b0 s1 R( o+ F8 R, Y* v) F
  289.   
    " g% U- _) W# p% Q4 \
  290. STY $4014    ;补上覆盖的精灵写入指令
    ! y) x& ^- B+ K; H3 P
  291. PHA0 G# f' q" f8 q; e: _
  292. TXA  f6 G, h9 E: c& v
  293. PHA4 j; q& P, g5 c. o* ]* |2 s
  294. TYA
    9 ?7 @9 B3 O0 I1 i3 {
  295. PHA4 m& p! |* B8 P/ }6 g
  296. LDA $0C
    6 b- ~) g6 D/ C) ]
  297. CMP #$01    ;比较是否为标题画面
    . m  c$ k3 i& D+ Y; _( S
  298. BEQ PPU_STAGE7 f4 M" l: g" {9 Y! a: s& t8 G4 u
  299. PLA/ j: i3 W# `, u! n
  300. TAY; V2 e! ]  `- o( `
  301. PLA
    ) c  V; w, W4 {! C6 ?) s
  302. TAX7 w0 Q- [4 ?4 z% e, T; v
  303. PLA/ y2 H% Y4 z! U' ~* [8 M3 q
  304. RTS, R: F# n8 H, Y, b, j9 [  j
  305. PPU_STAGE:    ;STAGE显示程序7 Z! L3 b' b. p6 ^; `
  306. LDA PPU_ADDR_DATA
    % [) K, {& v( M) K$ {8 g. ^
  307. STA $2006
    : U0 V2 A! `+ K3 R4 R
  308. LDA PPU_ADDR_DATA+13 W: S9 \. f- J/ e' b
  309. STA $2006    ;坐标设置- e6 `- z" C5 G4 ?6 F6 |
  310. LDX #$00. ~+ b7 V& p, e- k1 b5 m
  311. PPU_STAGE_WROTE:    ;写入STAGE字模- V: b  C( K0 ^( Y2 `
  312. LDA STAGE_DATA,X
    , N' V$ j7 M# ]: L
  313. STA $2007( k" z* _% r. q1 q( q; |" r
  314. INX
    ! U4 t6 q( Q3 X2 U, r
  315. CPX #$06! F1 J/ W8 k4 E/ i6 N6 e- n
  316. BCC PPU_STAGE_WROTE
    , ^, J5 _* c' z' A
  317. LDA $6010
    ( P! `$ [* \* D; l8 x
  318. CMP #$FF    ;关卡数据初始化条件判断* \5 @7 Z+ T5 a3 d* t: H+ c' o
  319. BNE KEY_B& H4 F/ Y: h7 T0 K
  320. LDA #$00
    ' i4 H, j( {! H$ E4 t: @
  321. STA $6010    ;关卡数据初始化
    " L8 L4 m8 E1 V5 j2 ]
  322. KEY_B:    ;关卡减少
    * u6 D9 w' U: B7 ~1 G3 \( [
  323. LDA $04
    0 e3 r9 `+ R8 J( c  Q) F/ a
  324. AND #$42    ;按键B或左减关
    7 i% n: F. y3 a
  325. BEQ KEY_A5 Y! ~4 ~. E# n( Z( E1 T( F% [
  326. LDA $6010/ \7 F7 l( j6 g3 v( a( f) d
  327. CMP #$00    ;关卡比较
    $ I. i: ^8 M) S
  328. BEQ KEY_A
    : z8 C% ^) m5 Z+ g, h+ M- r! w3 B
  329. DEC $6010   ;减关% X9 b) J4 J% ?5 U; ?( Y9 M0 Y! e0 F
  330. KEY_A:    ;关卡增加
    / g+ Q) H! G! J( T1 a6 ?6 m0 ^4 E8 @# P
  331. LDA $04
    ) L- b) I( o( R: d
  332. AND #$81    ;按键A或右加关2 Z. T0 e7 a& J! _$ o9 n
  333. BEQ PPU_NUM_WRITE
    / z2 @: i: O. n; m% `
  334. LDA $6010( Z0 b3 ~( W2 }
  335. CMP #$04    ;关卡比较  |0 a2 Q% U2 o; Y+ z; J
  336. BEQ PPU_NUM_WRITE
    3 c- n( Q- D, E: ?# L
  337. INC $6010    ;加关
    ) Q" w5 p+ C$ b9 L% E( w
  338. PPU_NUM_WRITE:$ N  J0 {2 _) v+ w
  339. LDA $6010
    - f6 ]1 q3 h, X( M2 l
  340. TAX; e2 f4 ]8 \& N7 G& B8 P' z- Q
  341. LDA STAGE_NUM,X    ;写入数字
    ; B# _2 h0 K/ B# a) m/ K1 |+ e
  342. STA $20073 e& Y- s: O5 [
  343. PPU_RTS:
    - N  ~) W' b% T
  344. PLA
    % i% z, C+ L6 ~+ U) z8 g
  345. TAY
    , S1 ?' N3 T3 S$ B# d; a
  346. PLA
    0 X9 b* ^. P, b  g
  347. TAX" R3 H" b5 U8 f, G, ~( G: _
  348. PLA
    ( m+ y( C  s1 n- r
  349. RTS
    ' f. R& r" J5 g* Y4 M3 J
  350. 5 O+ C0 f1 |" f) C
  351. 1 Z" k; Q  F- T
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据
    ) |+ e  N1 @* N7 Z. q1 E1 o+ R" }$ j
  353. .BYTE $EC,$ED,$DA,$E0,$DE,009 `5 \  Y+ t  Z1 u
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据# z* X+ d* ]( `1 n3 y9 I
  355. .BYTE $D1,$D2,$D3,$D4,$D5
    % m. g9 D( L2 w. K# g. y" q

  356. / e7 P3 @8 ^3 K6 Y
  357. PPU_ADDR_DATA:( D, q, m# g# |6 n1 Z
  358. .BYTE $23,$0C; V! X6 K% E. ^. _

  359. 5 B$ s9 [2 E! l% g0 O
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1482 天

[LV.10]以坛为家III

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

签到天数: 946 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 1766 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 2891 天

[LV.Master]伴坛终老

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

签到天数: 1749 天

[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% @( ?) |: S% a
最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊

% U% X% ^1 d, g1 H+ Y& \0 C5 A已经加上了,赶紧下载吧
[发帖际遇]: 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:356 _+ G0 i" f. j$ E6 K% V  M0 s6 W
旋风又疯狂大修改了 哈哈
$ {3 A% a# y2 r4 S; `1 m  n* `
疯狂不起来,无聊了而已
[发帖际遇]: 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, 2024-11-17 10:23 , Processed in 1.095704 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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