EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑 / {5 q, p' J/ K( d/ {

% f9 k" W0 R# p4 ]) V    [FC][最终任务][END选关]
7 |2 W) c5 w) X+ A9 \6 \6 M* G6 n" O5 M# J, }- j5 S) ]4 e
时间:2017.3.29: d1 p5 a/ N1 K3 B8 Z( P" J9 s
作者:FlameCyclone& A7 f, m/ a8 K" j+ i) h* {& @9 u
内容:
$ P+ W; |$ _9 }+ X( O( \! _# U    1.关卡选择:   标题时,左或B减,右或A加(1-5关);9 ], N( e5 P( `: h7 C. }
    2.无敌锁定:   暂停后,按上键切换;
) e/ L# X1 ?( W0 }' A$ F    3.生命加满:   暂停后,按下键切换;; J7 N3 Y/ T- r% E
    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);5 Y- U2 m2 o# b" V4 a
    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);! [% g7 N" O3 e. X! N
    6.B弹数量:    暂停后,按A键切换(1个或2个);; [- i6 D8 A3 ^. k0 `5 f
    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;& y& e3 D! Z/ Y" k4 O
' B# f8 K/ f' O( {7 f- P

# u* S: r9 x7 C+ G
5 Z1 M2 k: N- o; r! V% }* f3 Y1 H+ e: x/ H! _% b
' y' m$ Q! M, ~
- I' X- n) z% e
游客,如果您要查看本帖隐藏内容请回复
  z1 X! |! b+ B4 t4 @, l: R
FlameCyclone.ys168.com
5 \/ d  ~& ]. S+ T3 x# e) P0 Y/ [www.nesbbs.com
  1. ;[FC][最终任务KEY][END]
    : O5 r  x1 H# z, P5 W( T6 M# w: o
  2. button = $04    ;单次按键; @1 U# R' p. V
  3. flag = $6000    ;功能开关标志4 ~. E! h  [# z( `* B' ^
  4. pause = $000E   ;暂停地址7 A5 L7 z4 ~1 j- e

  5. # B" H8 J5 S3 F$ ]
  6. .ORG $8000
    ! V$ a* {9 v0 Z3 r/ a  m1 M
  7. LDY #$08    ;自带的按键程序
    . O: x0 c0 f0 W* N
  8. ADDR8002:
    # {% ?6 f: d# S2 U
  9. LDA $4016,X
    + N% d. G! L. \. r/ C3 ?- n
  10. LSR
    ! h4 c# v9 {! ?' C
  11. ROL $0021! A4 P$ B9 ~: _& J( b/ R
  12. LSR
    ! b! M* n1 ]+ f* }" `( M+ N5 q
  13. ROL $0029
    ' i1 u* i  P. {; v- R7 U
  14. DEY
    ) J& j. h/ T5 D  P) o+ x2 y0 I0 ^
  15. BNE $80022 P, k' K+ G$ o# Y" F3 z
  16. LDA $0021
    & \+ W9 U! k0 L( O1 D$ T3 ]* X' u
  17. ORA $0029
    - g% F2 y8 _, U% _8 d& R: @
  18. STA $0021
    ) ]9 T" {, f$ q7 Q9 X; I) Z' h4 B
  19. LDA $00209 W+ r$ ]2 q  W
  20. AND $0021
    & s) \; k: [) e7 R* @1 k! n" ^
  21. STA $0020
    . F) L9 |5 h& F5 o  M8 D2 U, Y! T+ w
  22. LDA $06,X
    9 }0 g- s- ^( J  t
  23. EOR $0020" C0 A6 c" n8 q2 }
  24. AND $0020
    6 r$ g9 n" y( B
  25. STA $04,X7 d- z6 ]" q# w/ U, S
  26. LDA $0020: E1 Q$ l' J) t9 b
  27. STA $06,X0 @/ g' D. S2 j+ d
  28. JSR KEY_OPERATE
    7 i" l; W3 @/ s% G5 T3 `
  29. JSR Function    ;功能调用
    4 G" g* X* O$ o
  30. JSR Weapon    ;武器切换调用
    . v, ~% t0 O; W* S5 f; E: ?9 c
  31. JSR Power    ;威力调用
    1 a5 @! }* c# V% L
  32. JSR BULLET_NUM    ;子弹数目
    : i/ E9 G0 P* T; J3 U, r
  33. JSR BULLET    ;副武器类型8 A: c- E  _; Q# G7 F/ H) ^% T
  34. RTS5 {& X" v1 H% P' p) v

  35. , A2 S. P5 c8 {  P+ d5 Q
  36. & T( ^9 H5 w2 V+ q, V) |7 F$ [

  37. 8 w8 A# [2 E9 b% a* u6 S- o
  38. .ORG $8050
      _$ n/ O1 Q, @" i4 S/ v: T
  39. Function:    ;功能
    " K5 A3 m  Q& ^4 |. l+ p
  40. WUDI:    ;无敌
    0 k( J+ M# T6 C2 P* |$ u
  41. LDA $6000,X9 A+ L2 |/ \5 Y; j; a/ W9 C& X/ t
  42. AND #$08    ;开关判断
    . ], {) U+ p( G% E
  43. BEQ LIFE, t4 P$ M1 ?+ [# V* ~
  44. LDA #$05
      }6 p) |* a  w# t4 x$ l, b# Z; L
  45. STA $05DC,X    ;无敌锁定
    $ G# i6 }: z$ `) z, N
  46. LIFE:    ;生命6 u2 n3 k) f1 ~/ t' y( J8 S
  47. LDA $6000,X+ A4 \* F4 M' W" Y, P% g
  48. AND #$04    ;开关判断
    9 n& T' w& Y: D% n
  49. BEQ FUNRTS* @7 q  G9 v% m2 }; o& {
  50. LDA #$05
    9 n% B5 q3 M+ P9 r4 Q! Q
  51. STA $1C,X    ;生命赋值' `: Z( G, c# \; \4 ~/ Z
  52. FUNRTS:. E0 v7 R- u; f. \) q' [9 t- F, ~0 g* [/ Q' _
  53. RTS
    + `8 |) I- f/ i  i. j( \
  54. ) d  C$ a' `- i/ l
  55. Weapon:    ;武器切换
      X: K- _1 o; C+ }4 A' P: s, c
  56. LDA pause    ;暂停状态判断
    ) O) a% L* m! m0 @2 H% H2 g
  57. BNE WEARTS
    & l5 l: Z: C% ]+ x' s: r  y
  58. LDA $04,X  B% e/ |3 M+ ]. t0 d
  59. CMP #$20    ;选择键判断
    ! W! q: m) x  e" I" b* |
  60. BNE WEARTS
    & Z% \& H% M, q  ]
  61. LDA $12,X
    ; {9 g2 f: F* x& X
  62. CMP #$03    ;武器值判断2 O6 z% Q: d# N0 W2 X5 o& i
  63. BCC WEAINC
    % o: L- r! d6 ]& E$ z! g
  64. LDA #$FF
    " S$ {7 Y" V1 a2 s& p" a
  65. STA $12,X    ;武器重置0 ~) B, ]$ }4 N0 _$ k5 d) u5 L
  66. WEAINC:% p' d! }: E4 f% x# c3 A
  67. INC $12,X    ;武器增加$ r# k1 r# W' F" x8 M/ a% z
  68. 8 M& {: Y3 ?& \) u) n0 n' r* I
  69. WEARTS:
    * E' J/ k5 A% s; @. [
  70. RTS7 a' ]/ j4 {( p8 R$ D" f6 s

  71. 9 C) I/ k$ @" `
  72. Power:    ;威力- s$ q0 R3 i5 p
  73. LDA pause    ;暂停状态判断
    5 O- F5 ~( l, ]& L  H. l8 z0 A
  74. BEQ SPERTS
    2 K! |$ ]9 U' H+ r8 c
  75. BUT_LEFT:
    1 v2 U& R  P. B, }
  76. LDA $04,X7 U+ R) C+ [: n) p8 j/ @1 n# d
  77. CMP #$02    ;左按键判断& P# h# g+ f! {0 I6 F' O0 l4 y
  78. BNE BUT_RIGHT
      D. H$ Y. ?2 M; y
  79. LDA $88,X
    $ i. {7 _/ ~4 Z
  80. CMP #$00    ;威力判断
    4 T2 p/ v/ N3 J2 M  r4 N
  81. BEQ SPERTS9 B7 p2 [; |8 C* h. {
  82. SPEDEC* n+ w% L5 f! h. k
  83. LDA $88,X    ;读取武器值' A" r, `3 {& ?6 N0 L  b
  84. SEC+ Z+ W& L; }# @# S% H+ P
  85. SBC #$081 u2 J3 y7 g- y
  86. STA $88,X    ;威力减小' @/ \6 P- d0 i5 Q* E9 H
  87. BUT_RIGHT:/ v% d  O# c# \3 X
  88. LDA $04,X$ d. j) x4 Z1 j9 L
  89. CMP #$01    ;右按键判断% J+ C( m' ^" q& b- m
  90. BNE SPERTS& l6 y  H+ q6 I3 U3 E# g
  91. LDA $88,X( d! t1 x+ |  z* o+ [* c
  92. CMP #$10    ;威力判断+ s0 t- M/ a- B2 Q" J3 k4 V
  93. BEQ SPERTS
    3 p- L" X+ T7 [. a1 i9 B2 ?: f% m
  94. SPEINC:" X7 |) u3 e& Y9 y* v
  95. LDA $88,X    ;读取武器值" I0 W# A' {0 L5 H' H2 u8 B
  96. CLC8 V* P7 H3 O' H% j7 x
  97. ADC #$08% a! s  f- k- v  x) t, ?% d
  98. STA $88,X    ;威力增大& T3 A3 j3 b- D0 R) E% k
  99. 6 c) H/ a" h9 t& `+ f, i; w
  100. SPERTS:
    ! Q3 k5 X; e' P' f  j9 v" C7 U! t  {
  101. RTS! L7 G/ p  |( l7 ?, b

  102. % u0 N, M6 u" y) ~8 B9 J5 C4 X
  103. BULLET_NUM:    ;子弹数目$ e: {* D2 w( L6 N' b
  104. LDA pause    ;暂停状态判断6 x; ~# R+ D& z
  105. BEQ BULRTS
    + u! s% @. ~6 V9 s6 o
  106. CPX #$00    ;主机玩家判断' y( u; a6 f  i( j6 G6 A
  107. BNE BULRTS
    ' p; C0 |5 I( K1 t& r; C
  108. LDA $04,X    ;主机玩家判断$ d5 r3 Z8 F- l1 R
  109. AND #$80    ;按键A比较& Q/ m% Z: P4 w* H$ h/ z$ P) w
  110. BEQ BULRTS
    3 h: l# k( S9 \' T* u* m4 o9 J
  111. LDA $87    ;状态判断# X+ o9 j0 j1 e) B9 K
  112. BEQ BUL_2, c; ]# z' w2 f4 ^  o' q  f* s4 s
  113. BUL_1:
    " a" n% ]4 w1 h6 Z# u
  114. LDA #$00
    " ~" y" g' Y2 V; [( R! P, W
  115. STA $87    ;1发子弹
    + S# A1 B0 R& q/ Q; g
  116. BEQ BULRTS: V' R  n+ [# B# B" Y$ [
  117. BUL_2:% K$ H/ \& ]2 Q) F: i. E6 N+ d
  118. LDA #$01
    ; o- g% G$ i: ]2 U+ i9 P: r) N* s) t
  119. STA $87    ;2发子弹1 c, l& T# ]7 ~( c& m3 J, r
  120. 1 f% \$ a' a& a
  121. BULRTS:( A  Q" d+ j' A! T8 Q
  122. RTS
    , k! u$ i$ Z# M& b/ f8 m6 T
  123. 1 g# d& X0 [4 D: h4 t2 x, \
  124. 7 s1 G5 h1 Z/ _2 y  E& \- _
  125. BULLET:
    % {1 s# p) s- l$ _# Y# K
  126. LDA pause    ;判断暂停状态# i7 I* S8 B) k$ y9 F# \" c& t
  127. BEQ BULLETRTS7 Z+ P3 j. ~) T6 v! S  q
  128. LDA $04,X
    9 R) G. F! ^/ q' _9 D6 [
  129. CMP #$40    ;按键B比较/ {; @$ |, |9 w+ h( b( p9 q
  130. BNE BULLETRTS) Z( [; R7 v! b4 A6 S$ \  ^
  131. LDA $6002,X    ;读取副武器
    3 E3 X+ v, v- U  n1 @0 }
  132. CMP #$03' G5 P) ^+ s% {; P. X( h/ D7 X7 ^
  133. BCC BULLETADD
    - b8 U! U+ D/ o& a+ Y
  134. LDA #$FF) [2 d9 T7 U- f( |
  135. STA $6002,X# r$ i" @3 w5 `1 d9 P; N
  136. BULLETADD:
    3 F, \9 E( M, W6 v. F- f
  137. INC $6002,X# t" O+ R6 P/ T* J6 G5 Y0 C! K

  138. ; ?8 \( {3 [0 y* T- Q( m! q0 L# M6 N
  139. BULLETRTS:
    ( T: W' i5 p- ?7 [3 i, X7 P
  140. LDA $6002,X
    7 `0 J8 x8 P1 D- k+ \1 [
  141. TAY7 s  v' q% U9 f" L' [, E7 b
  142. LDA BULLET_DATA,Y9 y3 m! N& T8 D  e! ?
  143. STA $6004,X    ;写入副武器数据+ ?5 D, m  ?2 @  W) N
  144. RTS
    ' A* v- F1 i( N
  145. 2 K# c6 B" f, i3 E( F9 J' g

  146. 3 H! u5 @. ]7 j3 ]+ F3 y
  147. BULLET_DATA:8 }9 O4 g& J2 ^( N
  148. .BYTE $06,$02,$03,$04& ~' g$ h9 `4 Y0 B

  149. $ W' n( |6 Q0 n2 w
  150. ' y1 ~; C$ L- ^( p( C: @: b
  151. 2 m5 c0 G" |+ \7 w3 a1 [- B
  152. KEY_OPERATE:    ;按键开关操作/ r5 t' K8 z9 [* V& k& q' I
  153. data_protect:    ;数据保护# J4 L' P% h; s* S& t; }2 w6 {
  154. PHA9 H$ U8 z8 k1 l( R
  155. TXA; |( ?* t+ w1 D
  156. PHA
    * d3 }* s1 C3 {9 p
  157. TYA5 t* P; O1 H$ [. W& J3 i2 w
  158. PHA: B; l! \2 Q" ]7 Z3 M1 }

  159. ' k9 \: y4 N: u+ o+ Z
  160. FLAG_INI:    ;开关标志初始化
    ' h  C& n! k% ~. T- k

  161. ( J8 j8 z2 N3 F( t
  162. LDA $600F
    1 p9 x# w' S6 J
  163. CMP #$011 j* `- ^2 t2 ^" p  \& K5 U
  164. BEQ pause_cmp3 d" c: O" Z# \* F/ E4 v, S
  165. LDA #$00! A7 p' B% u' F0 n( J
  166. STA $6000
    " N3 I4 ?* q3 G" z" ^# `! h
  167. STA $6001" u3 N% @2 x/ L+ T6 b2 r  y
  168. STA $6002
    # B5 M* z3 N, _
  169. STA $6003
    9 H/ F8 N8 ?' k- V( J, |& @" Q* p! G
  170. STA $6004
    " G# s8 o4 x, S; G
  171. STA $6005$ }& b1 m  k7 k; F3 g# B
  172. LDA #$01
    0 d6 \6 O- h& T, g6 I: \' U
  173. STA $600F
    ' ^0 m6 {/ q, X& |
  174. . k$ ?& A: |! y/ j/ j1 j( R
  175. pause_cmp:    ;判断暂停状态. h* Y1 R% P4 }3 w
  176. LDA pause
    ; ?7 R) c7 z( P9 J
  177. CMP #$01    ;判断暂停状态3 v  H+ j2 l* E1 y" ]
  178. BEQ button_press
    ' q: s/ ~; p9 q& J$ x8 @
  179. PLA; q- {/ r4 ?' @+ p# T
  180. TAY
    7 G; Q; e0 r7 G- `
  181. PLA
    & J8 h, S9 w* D) k2 Y* V0 C
  182. TAX0 U# ]1 Y0 U6 U2 k7 s$ ^
  183. PLA# n! p% L& O& Y
  184. RTS
    * f/ f- T* k9 F0 l7 C# h# \
  185. 2 b, d! _7 ?# V4 V9 p7 r
  186. button_press:    ;按压操作1 N2 P& {9 r8 o" Q  `( n. G
  187. ini_Y:
    " l* F. I2 ?+ i( y' \  ~- M9 ]. q* L
  188. LDY #$00
    1 _. e& R+ f: g4 Z
  189. button_cmp:9 S* F1 X( h8 m6 ~1 a; ?& u, w
  190. LDA button,X
    6 b( w! w! O  @/ Z  {  ~7 M. l
  191. CMP ora_data,Y/ R/ |/ O  C, d- s( q3 |, h
  192. BNE count_Y_cmp3 `! D% ]! n4 C4 y# \
  193. flag_cmp:
    7 R4 d2 P! L- {+ x& @, d. G  ^
  194. LDA flag,X
    6 {! N: u( V- N: e" I
  195. AND ora_data,Y4 O6 Y$ K3 `( L! J
  196. BNE flag_and+ j* |6 W3 r. _( Q& b/ ]7 v
  197. flag_ora:
    6 E# v7 ]# _& X* y, t) i; V
  198. LDA flag,X" c! \( o. D0 O' p
  199. ORA ora_data,Y9 }; {; X% D5 u+ a- A9 S
  200. STA flag,X
      D0 `' w, M6 S" v& s$ h6 k
  201. BNE count_Y_cmp! ?& A. t& K) I! y( R: c2 @
  202. flag_and:
    3 X& }% e1 j$ E  F" i+ w# F+ I
  203. LDA flag,X- _6 Y0 _" H, x
  204. AND and_data,Y
    $ @; J( u  k: o7 |4 X3 w. S
  205. STA flag,X. M4 I: J+ e3 y. N- ?: {- R8 P# V5 A
  206. count_Y_cmp:
    3 M1 g, W+ s5 H) K7 S! H
  207. INY" Q' H* S7 ~& h4 X) D  {
  208. CPY #$081 r& F4 V6 h+ s4 A: }
  209. BCC button_cmp+ |5 m6 X( l; x4 z7 H

  210. # X* V5 i5 j5 ^& f/ h
  211. data_extract:    ;数据恢复
    0 L* Q" E: ^) F, H  T
  212. PLA" y' `6 W4 s4 O( @) l2 F9 ]1 p3 |
  213. TAY" [0 Y! g+ ^4 Y) M* I
  214. PLA
    ! n8 p1 C# F; K% \
  215. TAX
    ( ]3 q$ j7 D/ K' a: e
  216. PLA4 Y8 a/ m! U0 `

  217. % }( v! J; d; `$ [
  218. return:+ M$ G. [7 ^$ x; h6 d( a4 e! Q
  219. RTS3 k/ A  q7 _& h/ |+ A6 l: e4 J; a
  220. : @# O* m# t- l$ v1 ^( J( w
  221. ora_data:   ;按键相或数据9 ~- m# J3 }# K
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10) B/ H$ A0 Z# ~, Y+ h" y. O! g
  223. and_data:   ;按键相与数据
    ' ~: s  d  \& @5 g- W) P3 q
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF  u8 \: [0 X- o: Y3 S; l

  225. 0 Z% f+ L3 P2 }5 H3 x

  226. 5 W% C  b  M( H- s6 g- f
  227. 1 d, B; q) j9 `

  228. & ?/ I6 }0 {% d1 [" M- ~0 h
  229. ; B7 p# c7 f* r. V
  230. ; l1 k  k# U2 N# Q: r  C% y+ o( `

  231. - p0 `( @8 Z+ |( E

  232. 0 T' e; J& }4 x( K
  233. 2 j, K# x% f1 P, S
  234. .ORG $C264    ;自定义的MAPPER2切页程序
    3 c. R3 y% C1 C# F9 Y
  235. PHA
    " N; n" O  Q( c$ i- E1 s
  236. TXA) S& I' _8 a9 z; v. z9 U: k
  237. PHA  J) V( m+ C, P) Z% G$ l/ }
  238. LDA $0066
    , T3 |3 K! r4 ?
  239. BNE ADDRC2802 c% T% u/ Z- W+ W* A1 w
  240. LDA #$07
    ( M' u3 K9 ?* t8 N- U
  241. LDX #$03
    8 f1 \/ A# r$ L; q& m
  242. JSR $CD9B    ;自带的切bank方法
    6 a" C+ T7 e$ W- E: t
  243. PLA" [7 O! s; C  h) C
  244. TAX
    1 `9 b, Z2 Q1 [7 h
  245. PLA# \) |* [# B* w3 E+ ~* B
  246. JSR $80002 G8 Y& \# P& M' A
  247. LDA #$06
      M9 T" h2 @5 v/ r8 I) M2 \
  248. LDX #$03! o- V. B: f# ~! K/ P. d6 [
  249. JSR $CD9B    ;切回原该切得bank(可以不用), R8 q2 C3 o$ p: d
  250. RTS
    7 |9 J8 i5 i& o" l! _: j
  251. ADDRC280:* |# ]& B$ ?& \& @: O# _6 r
  252. PLA) s. @+ O* w4 f" @9 t
  253. TAX
    6 Q% k6 y# k* z! D% ?( |% {# a
  254. PLA& w: L$ y* j6 y/ J& q6 j$ c
  255. RTS
    # k/ G4 G# h7 P3 Z
  256. ( W1 D4 O- [, B4 N

  257. ( o9 p8 J! d  P& n* F8 D
  258. ;[FC][最终任务PPU][END]5 `# y% j4 N3 d; T) {9 v- B$ @
  259. .ORG $C056    ;跳转到PPU重写程序" x) n$ `+ Q5 t3 |9 |
  260. JSR $7000$ H  g( _' I5 {/ ?, |3 i. q3 Z( ~
  261. - U- C$ O0 Z7 x* W- A) Y
  262. .ORG $CEBF; \3 D2 J/ c4 g2 g- `* X
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入
    / _0 a; O$ ?7 l1 J: a8 t
  264.   8 d) x4 {# G! s6 l  ?& p! m
  265.   .ORG $E460
    # B5 }3 e' U# P2 |; M, ]
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入
    ) k3 v* c7 K" j8 G; m
  267.   
    & q3 W8 Z, y/ n/ R, {  l2 x
  268. .ORG $71F0
    $ ~* T" ~4 g7 v8 R
  269. STAGE_DATA_WRITE:. k; V% b# R% I9 B, y; A: |
  270.   LDA $6010
    " P' T3 Z+ V8 _6 g- u/ `8 D
  271.   STA $1E    ;关卡写入: B' s# v& l0 K0 V
  272.   LDA #$008 \' ?- _7 S4 Y0 }; V& v" i
  273.   RTS4 M6 t. ^1 y/ H# b: V2 [  A
  274. .ORG $71C0
    ' N& p- p8 i; W1 y5 o: X% b% ?* u, x; Q
  275. BULLET_DATA_WRITE:    ;副武器数据写入1 E$ b; f6 C; ~' \
  276. CPX #$0E8 ?6 ?  J0 \, J- \5 I
  277. BCS P2_BUL! e3 c. A2 Y# x! n$ d; ]
  278. P1_BUL:
      m- s+ r6 m8 |) n5 a
  279. LDA $6004* F' t0 j& i9 j7 v8 X. y
  280. JSR $D7D0    ;P1副武器数据写入  \' g; D& D! M! [! e& g- T0 s$ l
  281. RTS
    0 u2 `0 R3 S2 l. W3 k+ p1 ^
  282. P2_BUL:
    ' ]5 m4 p( L+ M
  283. LDA $6005
    0 l  l" s  G  T6 L% V9 ?( [5 ?
  284. JSR $D7D0    ;P2副武器数据写入' U0 J' t. g2 [( @  R9 ~8 o; ?4 j' J. l
  285. RTS" E; k; T, a" ?8 L  B
  286. ) |3 G5 _/ l4 V& U
  287. # ?' O* M( s3 k; c
  288. .ORG $7000/ \: i7 [' N+ K! w8 i  B
  289.   
    ; x& E7 R" a/ X) b  A& O2 y! K
  290. STY $4014    ;补上覆盖的精灵写入指令
    % v3 M) m, W/ v/ Y. p; `. _
  291. PHA
    3 B' n9 W- p7 }$ d9 o
  292. TXA
    ) k  k0 O+ W% ~# W2 H
  293. PHA8 J2 l- g6 l, j: S5 i3 v5 J* A0 t
  294. TYA* |( x2 W% E! K/ k
  295. PHA
    ( A* {% t/ _& t
  296. LDA $0C% I! [3 k- P7 \6 K
  297. CMP #$01    ;比较是否为标题画面
    ) d& u) d' @. V* x( Z
  298. BEQ PPU_STAGE! o( I1 w* o; Q) @8 a
  299. PLA2 b, Z# Q( ^4 d4 l1 |2 r
  300. TAY/ {! ]! @& P% S/ Y, m/ n- K, d& p
  301. PLA4 X$ W' r- V  S! A. ~
  302. TAX& R  Q+ L* d' D$ U* U$ j
  303. PLA
    9 `: I4 x. t8 J* H8 d1 s
  304. RTS
    $ S' C& m$ S4 n
  305. PPU_STAGE:    ;STAGE显示程序
    : D4 e* H1 Y# w# F! q. I
  306. LDA PPU_ADDR_DATA
    ( e4 k! j' i: q- b* q% f
  307. STA $2006. ]9 o, K& Q: \) j# U" h1 K
  308. LDA PPU_ADDR_DATA+1
    1 {% s: Q# ^3 Z1 S
  309. STA $2006    ;坐标设置
    ) s( ~9 S8 z. ~( A: [( a
  310. LDX #$00
    7 m. H+ l! Y5 f! o$ z" P5 i
  311. PPU_STAGE_WROTE:    ;写入STAGE字模% |0 d1 [: x; c9 c9 [; p( }
  312. LDA STAGE_DATA,X2 |) E0 i' q) Q1 U$ u2 Y# q
  313. STA $2007) C6 q1 L3 q8 a  d
  314. INX
    2 s. K$ o: X. \( K9 h; v
  315. CPX #$062 N; [/ h. u, z. v4 X
  316. BCC PPU_STAGE_WROTE
    $ r/ I; M4 C5 j  s4 c" \; {# O0 Y- E
  317. LDA $6010
    6 t2 i# C: X+ g7 n2 }
  318. CMP #$FF    ;关卡数据初始化条件判断
    1 N  `: |+ \" |
  319. BNE KEY_B8 X( L7 j, |" ~: r- P) E! \
  320. LDA #$00
    & q3 y  C" c: _5 A7 B8 \9 j: H
  321. STA $6010    ;关卡数据初始化
    5 n8 \1 z- u$ Z; ]  i
  322. KEY_B:    ;关卡减少
    / o! @6 R4 `- v
  323. LDA $04! A( U; O( S8 E  G; @
  324. AND #$42    ;按键B或左减关
    $ x, j( x  u% s0 h, i+ h2 [
  325. BEQ KEY_A
    7 i4 K2 H5 S& E3 K4 m
  326. LDA $6010( n7 F; C) h8 v4 z
  327. CMP #$00    ;关卡比较6 x- R4 g. B# S& ]3 n; U4 q
  328. BEQ KEY_A
    2 R( _7 B0 S' k" H$ u& e+ a9 R
  329. DEC $6010   ;减关
    ' j* A$ C9 [- ^5 N' E7 d% ]
  330. KEY_A:    ;关卡增加
    : k' ^2 D( L4 `# C. q) P# X' M& o
  331. LDA $04  S0 T8 B) _: Y( C$ |& t' x
  332. AND #$81    ;按键A或右加关
    - b( R+ v/ f& q! j; U9 y
  333. BEQ PPU_NUM_WRITE# B' d; W( L  I, b9 j1 U* r
  334. LDA $6010
    1 D! N% D/ a# b6 h% y2 [9 w: @7 Z4 k
  335. CMP #$04    ;关卡比较
    % R) d' _! a& K% S5 I5 s) ?* v
  336. BEQ PPU_NUM_WRITE+ y  n9 }9 \8 M, _) c+ v) E7 @& F
  337. INC $6010    ;加关
    ; O+ [' D/ f) b6 t( w
  338. PPU_NUM_WRITE:
    & J0 ]7 J8 f5 b2 M& Q
  339. LDA $60105 J( G+ K1 `# D0 g8 z$ T3 ~2 C/ n
  340. TAX
    # f: l; X+ z$ b$ d$ D
  341. LDA STAGE_NUM,X    ;写入数字7 O# K0 y& {+ Z( O4 n# N3 q
  342. STA $2007
    ! E/ I! y' G& z  U
  343. PPU_RTS:9 D9 x, q' ]- ?8 A) s& i
  344. PLA
    * U8 b; N- v& Z& w
  345. TAY
    + m! z) Z& s$ B% y' P) z; k( ~$ E
  346. PLA
    - T# C- {& D) W9 w5 h
  347. TAX
    ! n& U8 A* G' K( i" T7 C$ J2 V& Q
  348. PLA
    ) J2 Z* z+ R- q, P
  349. RTS
    5 }8 q+ S! C/ f9 `
  350. ; u" P! A9 \1 j" p

  351. 4 k) ~: ^8 G+ H* `: Y' S- q* s! x0 [
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据1 o. l% ?  A6 y: M3 x4 W* n5 f
  353. .BYTE $EC,$ED,$DA,$E0,$DE,009 z& I. F+ ?# }$ b2 H$ y! J6 X
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据
    ! I) n( E0 P# X9 P. H! i: t. I
  355. .BYTE $D1,$D2,$D3,$D4,$D5
    ' g5 {7 ~* H* r

  356. ' z/ }4 q# w: j, j" K* n9 j0 f
  357. PPU_ADDR_DATA:
    5 c* A% N' l- d3 P) x  A3 |: T
  358. .BYTE $23,$0C
      j# L8 X0 y" w! m* {4 w
  359. 2 J$ \3 ]+ {7 W/ T& v4 h% j! G
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1416 天

[LV.10]以坛为家III

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

签到天数: 184 天

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

签到天数: 844 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 1607 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 2740 天

[LV.Master]伴坛终老

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

签到天数: 1738 天

[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: z+ O$ N# Z! P' B
最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊

% _# Y: W! m1 I已经加上了,赶紧下载吧
[发帖际遇]: 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
. `  Z) i( D. I! }/ k/ Z4 i旋风又疯狂大修改了 哈哈

8 P' g, p% ~  D7 y5 `5 F疯狂不起来,无聊了而已
[发帖际遇]: 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-6-11 18:10 , Processed in 1.125000 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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