EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑 1 ?1 B( c( `4 z! \: Z8 |& J. r7 V- R9 W

1 \3 c, T8 k" {% W  {1 W    [FC][最终任务][END选关]4 t# E- _9 u2 w! Q8 ^5 e

  F( @1 C; a# Y8 w" C/ x2 Z时间:2017.3.294 e) K  P- n/ x/ G$ ]0 X$ s
作者:FlameCyclone3 m+ F) c$ ^# c8 U, Q1 b
内容:: H  c# A  T( j7 Z' U1 g- a; C
    1.关卡选择:   标题时,左或B减,右或A加(1-5关);) E8 w+ S% l" B' t
    2.无敌锁定:   暂停后,按上键切换;
0 F% ^: ^0 g. v7 H    3.生命加满:   暂停后,按下键切换;
' }, C2 Z& Q2 T( m' Q% @/ D5 r    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);9 O3 U6 P# n' h( C; Q
    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);
0 N( X* s9 P/ V    6.B弹数量:    暂停后,按A键切换(1个或2个);
" O4 L1 R8 j. S1 S( b/ X    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;0 s- K0 w: M! V8 C: N: Y
/ m4 I8 f1 r. e/ D; p
% y' K9 q/ F$ W, z0 S
$ L. l! R9 T3 f0 E( W

; C& |$ Y6 h  X" y
2 f" W; o& O3 `7 d8 o1 d  ?0 ~& c( E6 V' p" K. t
游客,如果您要查看本帖隐藏内容请回复

& V8 D" ^" f" y% fFlameCyclone.ys168.com
2 o2 c7 e* r. K, a! G5 rwww.nesbbs.com
  1. ;[FC][最终任务KEY][END]* a% U9 `; Q' `, F9 t# Q7 f2 o6 ~- Z
  2. button = $04    ;单次按键
    ; f  w) D! I8 S5 U* b) B1 ~. |
  3. flag = $6000    ;功能开关标志
    4 a6 A, J- l1 Y# K; M- Z
  4. pause = $000E   ;暂停地址
      P7 E2 P8 {# L% ~* W7 D
  5. ( j$ `  b6 S: e" |: d; R
  6. .ORG $80008 c+ s/ d! g9 b) I  s2 m, _4 [$ N
  7. LDY #$08    ;自带的按键程序
      V; X/ S* H# N! r" y
  8. ADDR8002:4 [& [/ q! ^1 O1 X
  9. LDA $4016,X
    7 R$ K1 i9 i: T2 q' P& H$ g( H
  10. LSR/ I: d4 V1 E# ?
  11. ROL $0021& ~+ z8 a4 C+ F& K+ ^% A  c/ l
  12. LSR
    + U; l% j+ b% s9 Z
  13. ROL $0029) e( T9 d0 H  h1 e5 G. x  [( {9 y
  14. DEY3 `: u% x. g: u
  15. BNE $8002
    5 [' g0 V- z7 t; z* b
  16. LDA $0021# Q  C9 g' L# [- w' s7 N7 |
  17. ORA $0029
    - X2 S) m! |4 R% W
  18. STA $0021, f/ w# v/ N1 O5 j+ I$ \( d9 N
  19. LDA $0020
    $ d* J* v5 |; U
  20. AND $0021
    4 J6 X; }: K! ^9 q3 ~4 R, a4 k* c
  21. STA $0020" w9 q. {% V* f" {+ S
  22. LDA $06,X
    ) ^* y7 l3 l8 j6 D7 Z, L
  23. EOR $0020
    : Y( V; V7 v3 |% D0 H5 n/ X
  24. AND $0020
    6 y  A- Y# @: E/ w9 P
  25. STA $04,X# e$ U! k7 r. ?9 l% F% e; K- [
  26. LDA $0020, ?# j$ m& j5 |+ O) `: q% [
  27. STA $06,X
    : [+ Q7 a8 W% r$ `% Y6 _' y8 S
  28. JSR KEY_OPERATE
    , ]: q0 U0 p3 K' q
  29. JSR Function    ;功能调用
    ; b% b3 c$ g6 C
  30. JSR Weapon    ;武器切换调用
    4 ^; A$ H0 d/ s5 A0 \" B4 |& W: X
  31. JSR Power    ;威力调用7 Q# m* c( i! I# b/ o
  32. JSR BULLET_NUM    ;子弹数目, K6 r. E$ D5 e, g- \3 q( Z0 t% M
  33. JSR BULLET    ;副武器类型) [$ P+ J/ z+ q; d8 r
  34. RTS
    " }2 R- f) ]9 t( G
  35. $ P7 F* P* Q0 a
  36. 9 p  d) A8 y0 M3 `- X
  37. 6 g9 t. V0 V9 \
  38. .ORG $8050+ B7 ^; Q0 C3 x2 h- H+ a# {9 y8 T
  39. Function:    ;功能
    . ~! [6 ^* V7 j
  40. WUDI:    ;无敌  I& J+ u. Y5 e- k) M1 A5 U
  41. LDA $6000,X
    % H: O, h( f8 V
  42. AND #$08    ;开关判断
    $ I8 s6 c9 j. W% A
  43. BEQ LIFE4 T9 v- k! E" X( g2 Z1 z
  44. LDA #$052 ?! n6 ]/ q$ a  B5 e" A+ S% n+ ^
  45. STA $05DC,X    ;无敌锁定+ o- F* Q3 H) ^8 X) V! w
  46. LIFE:    ;生命9 Z# k3 D! v( n' Q& ?+ c  c1 B2 ^+ ~
  47. LDA $6000,X4 F, P0 T& }7 s+ \9 ^
  48. AND #$04    ;开关判断
    ! D7 l5 q! @! L* X( ?
  49. BEQ FUNRTS6 b- W# q3 N1 R3 f5 v1 W
  50. LDA #$05
    3 w3 j5 f# M& d' m3 J0 v8 \
  51. STA $1C,X    ;生命赋值/ r* T& R- O1 c. B
  52. FUNRTS:" k( O3 E6 u8 R& Y9 M8 X
  53. RTS
    9 k# z6 A- i4 M; d) \9 U7 _

  54. : i. z; _# d1 Y2 p
  55. Weapon:    ;武器切换
    4 {) j( g$ e: f! t! V
  56. LDA pause    ;暂停状态判断; X: O6 \) X' D  n3 V* o2 R, L
  57. BNE WEARTS
    - ^! p( t: R8 Q' B8 a7 T
  58. LDA $04,X
    + c" r8 O) f# _8 W! e4 f
  59. CMP #$20    ;选择键判断( ]0 O2 D+ H* L
  60. BNE WEARTS
    9 r$ \% E: a* U( Y% k2 ~
  61. LDA $12,X
    6 }. T" c+ x! ?+ u1 R
  62. CMP #$03    ;武器值判断
    ) H7 J" i0 n5 S6 s2 i  r
  63. BCC WEAINC1 b0 j4 h0 M7 b! k. x, J& S
  64. LDA #$FF
    & n/ {9 ]( y* _; p/ p
  65. STA $12,X    ;武器重置
    * }* w3 M. L2 L7 _- A0 Y* v. g
  66. WEAINC:
    ! G1 `, u7 \* Q. }* E8 j
  67. INC $12,X    ;武器增加  l2 n. J( i4 f7 m* i  k
  68. * ^9 @7 ?: K- S; J, S% D/ d( B, d
  69. WEARTS:( C1 U) L+ p4 e& \
  70. RTS
    8 ?" v+ H2 s& r: z  n
  71. * k: H7 f, ]# Z+ @6 N
  72. Power:    ;威力7 j9 N8 ]( T% @; \
  73. LDA pause    ;暂停状态判断
    3 t0 n8 S# M% r3 F# M: q, c
  74. BEQ SPERTS+ B0 z( Z3 m5 y% g
  75. BUT_LEFT:
    4 b9 D( V3 `* f! s& n! o
  76. LDA $04,X. a: ^2 D4 {2 }% ~& f5 X! h
  77. CMP #$02    ;左按键判断2 ~" |  G3 D+ l% L
  78. BNE BUT_RIGHT
    + ~7 i, A; j8 R# @) ~) {4 J
  79. LDA $88,X: |$ v9 {9 }" y% `
  80. CMP #$00    ;威力判断$ ]+ m: g- c: ]1 _1 h
  81. BEQ SPERTS
    7 j5 W6 n9 f. v+ n/ V0 l
  82. SPEDEC# |+ A. C* F3 R+ U* _: w
  83. LDA $88,X    ;读取武器值% A9 R7 P( m+ {
  84. SEC
    0 i6 D5 N- b9 v8 b  l
  85. SBC #$08! }# |. N6 y' z8 |3 k
  86. STA $88,X    ;威力减小; F2 `3 T. W/ Y; L  g
  87. BUT_RIGHT:# N+ m! g8 Q2 \( T4 [) U6 Y8 c
  88. LDA $04,X
    0 U# f+ ?! y  I' |; `
  89. CMP #$01    ;右按键判断( L5 e6 c* o; p3 O7 i* ]
  90. BNE SPERTS" C- }7 l1 `$ ]+ [) {: k9 k: }
  91. LDA $88,X
    8 l& A$ f9 L! O: {& s/ X
  92. CMP #$10    ;威力判断
    + O' [& E5 l9 ?5 J5 F/ o6 _, o
  93. BEQ SPERTS/ ?! a- ^! @% a7 ?1 E
  94. SPEINC:( y4 r& ~* v9 u! _5 g0 `
  95. LDA $88,X    ;读取武器值7 w. ]. K; X" A1 d: p9 U  q
  96. CLC
    + e9 m3 b1 n8 p
  97. ADC #$08
    4 l* l7 J. N3 K$ u- C5 w
  98. STA $88,X    ;威力增大2 ~1 n0 \/ g0 P1 y- {, o- Z

  99. ' X8 y. C3 ~. \; H% C$ W3 Y
  100. SPERTS:$ r3 n  y) ?5 p7 u3 q% p* D
  101. RTS
    4 d; x) ]1 U- p; z* g
  102. . ^1 l/ Z: m5 g3 T
  103. BULLET_NUM:    ;子弹数目
    7 f, [# E* z& h3 p2 o
  104. LDA pause    ;暂停状态判断
    $ ?& }% ]" R+ a; v4 d
  105. BEQ BULRTS$ y( C4 o9 D7 j8 O
  106. CPX #$00    ;主机玩家判断& Z) T- ]9 y  `0 ~% O$ I: p0 `! \
  107. BNE BULRTS& _; w+ r' Z& }/ O8 d- y
  108. LDA $04,X    ;主机玩家判断
    8 f! v" P5 ?! x" _. s. l
  109. AND #$80    ;按键A比较% w) ^7 V. p7 g" Y. X4 M
  110. BEQ BULRTS' `; V3 `% s2 L7 e
  111. LDA $87    ;状态判断5 P4 M5 t% {4 k& g+ H0 g1 v% |
  112. BEQ BUL_2. `2 ]6 K8 I% Y8 d: n, \
  113. BUL_1:! A, r# e  m' O  C* w! s: M3 t' N8 {
  114. LDA #$00! |* a  A8 T3 j/ A
  115. STA $87    ;1发子弹
    . R6 \$ }4 H: `. }
  116. BEQ BULRTS
    9 T$ y5 A4 S8 V8 l: d
  117. BUL_2:, |' [) b" R$ o$ x+ J
  118. LDA #$01
    9 x! c9 Z7 q  _1 k2 o  i& ?" z
  119. STA $87    ;2发子弹
    ( ]8 {; d" D1 Y7 D! s% d! |( _
  120. + U% m) p" n1 E4 y
  121. BULRTS:
    / c- J6 F" n% L( H* G
  122. RTS
    & A8 [! C; l# x- b
  123. + A5 d7 ^- F. q& ~# i9 _5 |. ~
  124. 6 g7 @+ W3 M4 R
  125. BULLET:& x" I0 y" s% Q; s8 l/ H* Q
  126. LDA pause    ;判断暂停状态% E. c6 u4 L! |% F
  127. BEQ BULLETRTS
    7 k8 P9 k' V* H9 H, i% y
  128. LDA $04,X& |3 d, b+ C+ c. U
  129. CMP #$40    ;按键B比较
    . m0 M2 G" k  f9 Q" r: m
  130. BNE BULLETRTS+ ?# c( V! r# R3 v# y. l7 [% ^
  131. LDA $6002,X    ;读取副武器
    5 z8 Q+ e# c% J' {: E9 Z  k* U
  132. CMP #$03' e0 P9 {  E5 d; l4 U
  133. BCC BULLETADD
    ; _) c+ B+ u" J! ?1 r0 N2 [
  134. LDA #$FF
    . r* r' E; e! j" @5 q" G
  135. STA $6002,X$ E. ^2 B, f3 G* ^3 ]7 q/ f
  136. BULLETADD:
    . ]0 Z, P# o  h1 B
  137. INC $6002,X, F+ n- U) o8 {8 S) x" [3 u$ ^. ~

  138. 2 N) t% e; o2 _4 Q, F1 L0 w6 H
  139. BULLETRTS:( C7 i8 y5 O9 x3 U& B, ?
  140. LDA $6002,X
    * i# d) U2 N4 ?- Y* |2 k- K
  141. TAY& _( [7 p( v. {% v
  142. LDA BULLET_DATA,Y- P7 r" b) L0 h' ]2 P+ \4 [* h
  143. STA $6004,X    ;写入副武器数据
    ! Q8 f8 m$ L  N3 \' B
  144. RTS
    7 ~4 q: [3 |- a/ ^( U4 c

  145. 7 M" J' j& y) }7 k3 _6 L

  146. ; g' e* b# I0 R  R% Y
  147. BULLET_DATA:
    ) G" |, F9 ?. Z6 A( w' l& J& Z5 x' p
  148. .BYTE $06,$02,$03,$040 {; R6 j2 N* x4 n( _: G
  149. $ k) h8 V" Z5 M0 u3 M$ S7 t

  150.   x/ M8 H  V' ~. O' s0 h! d$ Q
  151. 8 v( i  e5 N# u
  152. KEY_OPERATE:    ;按键开关操作
    ; \" d- [  r. i3 d
  153. data_protect:    ;数据保护  h3 t! h0 [. G$ f2 I
  154. PHA
    ( t! M, r' c3 \2 _; `( j7 J4 R
  155. TXA
      _* V- q/ h9 P% v: t
  156. PHA! D- r- q) T2 r9 Q3 V
  157. TYA
    & f* M2 h' I& }+ s8 U& W$ U# b
  158. PHA1 Z- i6 k8 Y, X9 z+ l
  159. / h* T; E5 m7 W  l3 i& v) c
  160. FLAG_INI:    ;开关标志初始化: y( \# p$ v2 k3 O
  161. 7 ]1 I+ n$ c" M
  162. LDA $600F
      i/ y1 t: Q8 }8 L
  163. CMP #$01
    + L. y$ g( F: H4 x2 h! [& k
  164. BEQ pause_cmp3 Q! S" H! U+ d, Y+ K& A) W
  165. LDA #$00
    . Q1 v, A6 X) ?1 R2 Q$ e8 z. K% @
  166. STA $6000: e3 k) g9 }' s/ b
  167. STA $6001) V9 m3 t) e8 j  p; j' n
  168. STA $6002
    9 P9 J: }2 a( @7 h- o
  169. STA $60035 D+ @/ I) ~. _; u# N, d" ?
  170. STA $6004
    , @" {! a7 C' [6 h0 g
  171. STA $6005. ]$ Z  Z$ j! S1 I9 R8 I( N
  172. LDA #$01
    0 x$ }1 d" l) R, c/ }
  173. STA $600F6 l' C: K9 J2 A% F0 h; @4 |
  174. / V; h& {' e% W+ \. q! Q( {& t: B
  175. pause_cmp:    ;判断暂停状态4 b' F, `( @' [; K2 C2 v
  176. LDA pause! |- L' x) j! F+ E# b8 Q: _+ ~% i
  177. CMP #$01    ;判断暂停状态) C4 Q' \3 |  X0 O1 S
  178. BEQ button_press: x7 ~3 y( Z, r
  179. PLA% K: \( O+ u! |) g
  180. TAY
    8 X& k9 P& S$ I& N
  181. PLA8 {' i) k. m6 {' O+ J5 z2 o5 k
  182. TAX& ~5 S8 R6 h$ w4 ~* t
  183. PLA* [7 T0 W7 P. ?8 K( ^4 m
  184. RTS
    # l7 k1 G/ N+ ^% R3 Y" ~
  185. 7 V- D2 `- U0 X# G9 ?% ~3 U
  186. button_press:    ;按压操作
    $ ~# O; F3 x4 I
  187. ini_Y:
    3 a& x7 ^- z9 _4 B6 W! P
  188. LDY #$00! j" Q/ o" W! b: }! ?' Y# c+ v
  189. button_cmp:
    $ f8 K  t( y  z+ D9 }6 o( G
  190. LDA button,X
    7 M* _( \9 w5 r
  191. CMP ora_data,Y
    ' Y) t( z7 S. ~7 d
  192. BNE count_Y_cmp$ ^; M# s% f. r
  193. flag_cmp:& e% s; ?8 ]# p+ `* e
  194. LDA flag,X
    4 y9 ~' n) P& k
  195. AND ora_data,Y
    . R: `' o0 Y" m
  196. BNE flag_and& P4 @2 `# d" D
  197. flag_ora:
    ) M. B4 u( N; H- i
  198. LDA flag,X5 N9 i3 P3 T* {- z* E
  199. ORA ora_data,Y
    , [3 o! Y' r# ^# X8 s: R( y
  200. STA flag,X
    % ]! B5 y# D* L: V
  201. BNE count_Y_cmp" W- {( \) W8 _
  202. flag_and:1 Q( S& K2 v. s  i
  203. LDA flag,X" k6 S2 E! ]0 R6 I- B( s
  204. AND and_data,Y
    2 D! b" r+ d1 a  ?
  205. STA flag,X8 K, P- M6 U) k0 ?7 S2 x
  206. count_Y_cmp:
    8 N3 R9 j$ @  I5 I4 P0 w6 R
  207. INY4 V- m2 }. ?3 T+ j$ h/ ^/ \
  208. CPY #$08
    ) _& _& ^) w6 `
  209. BCC button_cmp
    ) \1 q( E9 u0 Q7 w! o7 C0 I
  210. , @6 H6 Y9 s. f2 f9 F: q9 ]
  211. data_extract:    ;数据恢复
    - o& p$ x9 y8 J* D! s3 J
  212. PLA
    : ~. B1 ~8 C' z% A- U/ z( A
  213. TAY
    6 s( y( z/ G/ t0 ?0 J& ]
  214. PLA7 G% F/ ?7 r) t5 K: a
  215. TAX% y0 |/ P6 z' L$ j6 m- z& J
  216. PLA4 ^5 u+ x; j8 A

  217. # |- U. f  H. D/ A0 K0 m, I
  218. return:
    $ C% z/ Q) L/ C/ w% _7 D
  219. RTS. |4 F9 V& p7 }8 X/ ?5 m0 |/ k$ Z& p

  220. " x- s8 Q) Z7 \$ q/ V# a
  221. ora_data:   ;按键相或数据, T. \/ n5 K; z) R5 ?/ s
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
    ) J& B, c1 [$ l  L( j
  223. and_data:   ;按键相与数据
    / p! _) F" y4 e0 ], N9 x+ V
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF9 C3 G8 T/ g! Z0 l) D( O
  225. % K% _; r: _& p+ h
  226. ! e4 @8 G2 x/ {( w( q

  227.   O0 Z! Y/ D% B3 }8 z. d

  228. $ x- y7 _+ P+ Y! r7 }4 t
  229. , ], I" _- }' ]9 Y

  230. $ u% z9 v# |) Y; C, \: p1 m# [/ Q
  231. * K) a) }* n5 U5 n

  232. - e7 n# Y7 v% V8 T2 I( o, H6 ^) g
  233. 5 t% G, f+ [& L9 `7 g
  234. .ORG $C264    ;自定义的MAPPER2切页程序* t& ?* \4 m+ t: _) b) l' Q- @4 \
  235. PHA
    + G" N8 h& q: c9 p/ d) ^
  236. TXA0 J1 d: t3 @- p- f* k' y: p0 E% y6 D
  237. PHA
    ' `; S+ ^' V6 g$ R
  238. LDA $0066
    & c: C+ p3 S" v7 y
  239. BNE ADDRC280
    9 u/ n; c6 l' ~5 i8 {- [
  240. LDA #$07
    # e* Y( F1 P- d  b7 [
  241. LDX #$03
    + k1 }3 P) O2 j5 @# C, l1 j
  242. JSR $CD9B    ;自带的切bank方法0 P9 K9 K* Z! Y, \. b
  243. PLA
    0 Q5 h7 h  a/ F5 v( z6 I- h* ~
  244. TAX) s$ C/ n6 f1 x
  245. PLA9 k) w) d  S8 Z  r; b
  246. JSR $8000
    2 B; C) C7 a) V8 I, B! N; Q, L+ {3 N
  247. LDA #$06  A8 Z9 k0 X% C1 h4 e8 Z
  248. LDX #$03
    & o! N9 R1 R# w& \6 U2 r/ z! _
  249. JSR $CD9B    ;切回原该切得bank(可以不用)0 y5 H: M5 d% Z! |. Y; k% q
  250. RTS
    5 l* |5 Q# U  n9 F; P. A
  251. ADDRC280:
    ; ?  G" `3 a' J) X! p3 l
  252. PLA- Z  x5 R+ D, R8 q9 x( D2 M
  253. TAX
      O; ~5 K+ q& ^, L+ K
  254. PLA0 m4 ?5 f( E7 J( c% Y
  255. RTS
    1 J2 _" c" E# f/ _0 K
  256. 4 S. ]* I- F  }9 r& m$ W8 n

  257. 9 k5 ?. A" Z, B: k& i$ r" G" k
  258. ;[FC][最终任务PPU][END]
    / J- ^* ^( u. B9 \6 M
  259. .ORG $C056    ;跳转到PPU重写程序3 M9 c0 m  {2 K8 Q' \2 ^1 r
  260. JSR $7000
    / q7 I' G! S) w, ^9 e1 I( Q$ w
  261. 2 c; d: d: ?1 O  o' B
  262. .ORG $CEBF
    ; E; ~6 M" j- {; }1 g( `  A4 f
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入
    + T6 w- R* Y9 N
  264.   ; u" c/ L% b9 m/ f
  265.   .ORG $E460
    2 f- E( e9 e. ^  C, ]( w2 N
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入
    ' B( s! K: {; l0 A6 {- r* q
  267.   4 f( z8 U, d% D( f: e
  268. .ORG $71F0
    8 ]: y" c5 U: R, z5 Q
  269. STAGE_DATA_WRITE:9 \6 {9 \  L% l& R- ^) }0 n
  270.   LDA $6010# Y8 a1 b: \4 s% b$ y$ a
  271.   STA $1E    ;关卡写入
    / i& V4 o6 Q7 ~1 D, I% O( V. }
  272.   LDA #$00- `! i* I' Y& E$ d9 E8 K8 Q
  273.   RTS& [  I" K" Y: s
  274. .ORG $71C0
    ( T. l, M. e% Y4 o6 L
  275. BULLET_DATA_WRITE:    ;副武器数据写入
    4 s" A' a1 [% U) J. Q' ], }9 b! H
  276. CPX #$0E
    - C* k: g8 v+ n: K
  277. BCS P2_BUL+ ^) l+ \  n- l! ?4 h* Q( m
  278. P1_BUL:
    ' j( V7 _; I9 L3 Q5 p) E) f) K/ ~
  279. LDA $60041 P. z& D1 V7 J8 {- ]8 O9 W3 X
  280. JSR $D7D0    ;P1副武器数据写入2 X& l7 r% h/ V* D* h! s
  281. RTS
    . u9 ]9 B* {/ R  V* S# i  z
  282. P2_BUL:$ c0 `6 V6 T0 f$ [
  283. LDA $60054 ]4 w* p: T; Y8 Z6 Z3 d
  284. JSR $D7D0    ;P2副武器数据写入
    / m! R2 u5 Z+ n6 s
  285. RTS
    8 `" d. c5 d7 M
  286. ' m) b: K/ d% C6 V4 f

  287. * R4 x: V5 p; E/ \$ {
  288. .ORG $70006 C: R; K- H$ E! z% c: E% ?
  289.   / {8 l7 `( n, K$ W1 m, _4 e( |- S
  290. STY $4014    ;补上覆盖的精灵写入指令
    6 v  J' b9 p9 F0 m% z! A3 m' G
  291. PHA
    / s( i' @# @4 {* n: Z3 {! B
  292. TXA3 ]5 E$ X, @' X" R* p9 H5 `+ `
  293. PHA* o+ m0 G$ v1 X3 v; ^$ ~" k' A
  294. TYA
      K0 c% x& ?( U" ~" D/ D# H
  295. PHA
    1 ~9 Y; O* h9 b/ w
  296. LDA $0C
    % k& {6 g5 U1 ?3 h* s+ H" {$ U
  297. CMP #$01    ;比较是否为标题画面# o/ y. {1 d$ C, R: t4 r$ I$ F( A) R
  298. BEQ PPU_STAGE: n9 F7 C$ B$ \) g* c
  299. PLA
    + ~2 W3 t2 D; [' a. Y3 \0 N" l1 h
  300. TAY
    1 u# b) Z  C4 p. M) U: f
  301. PLA3 h+ U# p/ M- s1 f3 k2 R
  302. TAX
      W+ U' o' A7 a( h) l" E  q& e1 d
  303. PLA# D* e0 C" W5 [: T7 k+ q5 k' z
  304. RTS
    4 D3 O1 W* r1 G/ t0 ^5 ^$ Q0 O
  305. PPU_STAGE:    ;STAGE显示程序
    ! N. z7 n! Q6 j5 Q
  306. LDA PPU_ADDR_DATA
    : J! P/ m" ?1 Q2 S2 u' k
  307. STA $20061 L6 x' a+ c4 P' d. K* [
  308. LDA PPU_ADDR_DATA+1
    ) s" |$ b/ W/ q2 _1 y2 T
  309. STA $2006    ;坐标设置. x5 V, h' f6 |! f# m# s
  310. LDX #$007 E: }$ S- D1 c5 c
  311. PPU_STAGE_WROTE:    ;写入STAGE字模) N2 a+ b7 E) g. d, U( y* ~7 g
  312. LDA STAGE_DATA,X
    2 e/ y4 a  u6 k3 ?$ X
  313. STA $2007% S1 V6 d. I# C. ]- {
  314. INX
    ! }! {) n. O6 _* V* l$ @4 a1 N
  315. CPX #$06% B9 H! ]# m& }2 T! M
  316. BCC PPU_STAGE_WROTE0 O$ q0 }: x( E- }; f0 i- r3 `
  317. LDA $60105 o0 z9 p7 k* ?% T, O# c" V
  318. CMP #$FF    ;关卡数据初始化条件判断4 r8 O7 |' O: [; s0 k
  319. BNE KEY_B
    3 y, d3 u1 a2 o- \5 A
  320. LDA #$00" o7 O  k$ A- K5 N1 ?" N
  321. STA $6010    ;关卡数据初始化7 @7 t! E6 i% t* |& u! ^
  322. KEY_B:    ;关卡减少6 Q1 D2 B9 u" L  P
  323. LDA $04) @9 ]6 m( R. d' q# S6 z
  324. AND #$42    ;按键B或左减关: J) a# m+ M; Y5 a4 V# o1 [
  325. BEQ KEY_A& e- @6 q8 n4 E
  326. LDA $6010
    # `. P' l, c# d  h. r/ U
  327. CMP #$00    ;关卡比较
    ( e0 r# W8 M. x' k* @  F0 T+ k2 Z+ d
  328. BEQ KEY_A
    ) r/ Z  f2 C; E$ `+ s3 N
  329. DEC $6010   ;减关
    , Y8 \1 B9 _* H: z
  330. KEY_A:    ;关卡增加
    " A% t/ a9 `" W$ ^
  331. LDA $04
    9 M* q4 ]3 n1 q* f9 t" B" W( }% q) ]
  332. AND #$81    ;按键A或右加关6 W; _5 r/ ?' ?3 }: g
  333. BEQ PPU_NUM_WRITE' ?2 s8 y: r# L' c% Q
  334. LDA $6010
    . Y9 q8 N' u$ V' J4 W5 Q
  335. CMP #$04    ;关卡比较7 q9 E' A% d/ T/ g
  336. BEQ PPU_NUM_WRITE
    5 t8 f+ j. t+ U, J7 \- J6 r
  337. INC $6010    ;加关  H4 |/ b* _; @: V  ~4 j
  338. PPU_NUM_WRITE:
      j4 |8 s9 x' R( Y8 U
  339. LDA $6010! L6 Z4 t, z1 y0 f. a
  340. TAX
    3 U" A& E$ C7 ^* c( m) ?' m
  341. LDA STAGE_NUM,X    ;写入数字
    + n! F1 m  b6 V" _% u
  342. STA $2007
      _( R0 u! n8 i( `
  343. PPU_RTS:9 Y$ U( A0 G+ a5 d4 H
  344. PLA
    6 R1 R- L8 D# ]% w
  345. TAY" G: Z: q/ N& F, z0 o
  346. PLA+ i4 I  j& x, j) l2 k4 d- p
  347. TAX
    ( ~' U( L, V. p3 f3 k) A, ~
  348. PLA) b1 C3 i9 }: e* l3 D) q
  349. RTS/ w) G* `5 G8 N
  350. / S" B; c. r; q0 {7 t

  351. + `+ N5 p0 I2 D
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据4 Z, ?9 C, S* S" @' b1 ~
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00
      }% u2 N7 N8 ]/ P8 ~& n
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据' c; Z: Y; B/ J
  355. .BYTE $D1,$D2,$D3,$D4,$D5
    & ]  \$ q1 W  p

  356. & S1 y. ^6 d& N2 t% D. z" t
  357. PPU_ADDR_DATA:
    ( n: B! j, e9 i8 P1 }2 ~; x
  358. .BYTE $23,$0C
    - |3 o1 Q2 O, R; y  A

  359. 4 ^4 G1 I6 V- y
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1609 天

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

签到天数: 1035 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 1920 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 3040 天

[LV.Master]伴坛终老

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

签到天数: 1771 天

[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
4 K) v5 b7 O! y3 N9 G最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊
# G4 e8 C7 j% y+ O; I1 G0 w
已经加上了,赶紧下载吧
[发帖际遇]: 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
/ u9 _( _6 I. R! A8 f5 j9 s/ `旋风又疯狂大修改了 哈哈

8 @& J/ G6 X! U疯狂不起来,无聊了而已
[发帖际遇]: 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-4-20 16:00 , Processed in 1.194336 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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