EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑
1 p9 D3 N! z8 H/ k! r4 f
) \  H( N# F0 z* a; l    [FC][最终任务][END选关]- g- u: c* h! }, B' T
8 T4 ^# |* m0 r8 I  N/ j
时间:2017.3.29
1 C6 r* j$ `+ m3 @; j作者:FlameCyclone4 |1 P0 {" S& {  l$ K
内容:. Z7 m6 q- s+ Y' x" c
    1.关卡选择:   标题时,左或B减,右或A加(1-5关);% F. _& [- G; r: K# j9 P
    2.无敌锁定:   暂停后,按上键切换;7 S3 i6 K  L8 k4 A$ ~
    3.生命加满:   暂停后,按下键切换;4 w  E* J, W) Y6 A9 t, W, Z
    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);
+ l' t; I/ m0 E: k5 Q, X) y    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);
! ], N; Z9 i  X9 P- A    6.B弹数量:    暂停后,按A键切换(1个或2个);  s  a. Z1 J$ F! m) O
    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;
" {5 `/ ]2 p, d2 B- s. R4 O% {
; S6 s6 m+ G8 _: @; O% [7 `1 J2 D2 x/ l% H
* x. Q5 s2 ?" }

! u, n6 Z, K2 I6 }. @6 D! c( v4 b8 Q% G( z7 j7 z

% M& q! {: T% ]( I
游客,如果您要查看本帖隐藏内容请回复

) K0 r' D% o% W3 @( {. TFlameCyclone.ys168.com
0 q! Q/ ~( T7 Y: nwww.nesbbs.com
  1. ;[FC][最终任务KEY][END]+ e4 U( u: c% L
  2. button = $04    ;单次按键
    ( f- E* k" B( n% Q! [" u
  3. flag = $6000    ;功能开关标志
    ; ]. ^5 V3 U# n+ O  S$ M0 {+ r8 E
  4. pause = $000E   ;暂停地址
    ( T6 u  R  W  I" V, W

  5. / f0 U5 o5 ?; F
  6. .ORG $80001 p: |# j0 y  M1 z& X" S6 H( y
  7. LDY #$08    ;自带的按键程序" d- M" K8 Q0 T; {8 ]  L& M; Q5 G
  8. ADDR8002:
    / [) Y" Y: R/ _% B
  9. LDA $4016,X
    . Q: Z* R8 t8 g
  10. LSR
    / b7 q1 a1 _6 c' E8 H6 E, \* [9 l
  11. ROL $0021# h& J: d0 c% G0 M+ ?
  12. LSR3 H4 }% {, ^: J6 m
  13. ROL $0029
    2 _8 J. o/ d; K; f+ }6 O% C& e5 |
  14. DEY
    $ S& K* h, X* A3 v& w+ F' B' U* z+ N
  15. BNE $8002
    % s, L+ C" x/ f; y
  16. LDA $0021
    6 {6 {' ~% M. j; K
  17. ORA $00292 T& h9 ?) G* o0 q" x
  18. STA $0021
    / V3 Q& w; a+ L- J( j, N( c
  19. LDA $0020
    2 n2 X5 H8 f/ [5 \4 o' G
  20. AND $0021$ @- O$ s! `- N. L
  21. STA $0020
    8 h2 \7 C$ c4 l2 ]
  22. LDA $06,X, h9 {# x6 R5 _( q, }
  23. EOR $0020
    ( R1 |; k3 y4 f
  24. AND $00202 ]* H. n" N* N8 i( A9 t
  25. STA $04,X
    ' I9 J: t$ [! n; V
  26. LDA $0020* {7 j9 O1 I, X& o1 Z/ t: U
  27. STA $06,X/ N' b: t# X" L0 v* v% Y- M2 Y
  28. JSR KEY_OPERATE. ^  }4 B, l# e2 M2 I- m* L$ i
  29. JSR Function    ;功能调用3 l. W+ Y: P4 H( _" R$ J" Y0 {
  30. JSR Weapon    ;武器切换调用
    ( x* f2 e$ o, {' J" C
  31. JSR Power    ;威力调用, ~$ W% x! P0 w8 g) \# \
  32. JSR BULLET_NUM    ;子弹数目5 E9 O  n% H4 Z- H
  33. JSR BULLET    ;副武器类型
    : A+ B5 C8 S, q
  34. RTS
    # @, P6 I" k4 e  }

  35. # o; M6 i- {4 }5 D9 p

  36. : r- U4 o. \" E6 V8 V0 t0 D
  37. 6 L, {( y+ @/ n  w# p" m8 Z) o
  38. .ORG $80507 ^8 g; O) J7 H* k9 }9 S4 Y
  39. Function:    ;功能. N: }7 P6 X4 T
  40. WUDI:    ;无敌' b) g; T' y' A; f/ m
  41. LDA $6000,X- _2 O" {- g3 s4 @1 d3 r1 a, ^
  42. AND #$08    ;开关判断- Y, p3 b1 {9 U) E' p( e1 r3 O. w
  43. BEQ LIFE
    0 ^/ [  D+ i6 e9 ^4 ?
  44. LDA #$05
    3 @+ t+ @$ _& p7 d; D
  45. STA $05DC,X    ;无敌锁定% o8 r# m& D% _% ?- i0 K! E
  46. LIFE:    ;生命
    7 z5 ~& d. s* B9 H
  47. LDA $6000,X
    : T( B! N5 G) v: M8 A
  48. AND #$04    ;开关判断
    / b/ ~, a  |8 q) G
  49. BEQ FUNRTS+ k3 q5 _& \7 G8 [3 @9 @
  50. LDA #$057 P- Y2 G- b0 {
  51. STA $1C,X    ;生命赋值3 I9 i4 s* L5 R% G" f* @( K8 a! W
  52. FUNRTS:# y  y" h, u7 \" k6 \
  53. RTS- {0 _- j) ]2 h9 Q( ?  w

  54. 5 A; ^& {- [/ d& P, s9 @/ }) r
  55. Weapon:    ;武器切换0 i  s1 j% J9 W0 S( m# l& R
  56. LDA pause    ;暂停状态判断  r! o6 S1 i  S2 z& l  z& d
  57. BNE WEARTS
    3 V& f& X, o8 S' n
  58. LDA $04,X
    ' \3 i. @: W& h
  59. CMP #$20    ;选择键判断- r& H1 c; @3 O3 T5 [  E( T
  60. BNE WEARTS
    5 V7 v8 g/ O; z# e( R
  61. LDA $12,X/ h1 m) z+ |2 ^4 Q
  62. CMP #$03    ;武器值判断
    & g8 l" O5 _4 e( G4 J, u7 P
  63. BCC WEAINC3 \8 W. o* e$ {+ f* g
  64. LDA #$FF# x3 O0 Q. O, L) j4 c
  65. STA $12,X    ;武器重置
    3 `* \' c- d& P3 b2 B
  66. WEAINC:: {0 m( G' U& s
  67. INC $12,X    ;武器增加$ M% |% w4 u5 W" C6 a" M
  68. 6 _5 h5 X! I2 Q4 G
  69. WEARTS:
    # Z. t: L& `6 Y
  70. RTS9 U! S& o& m# G- D- f+ f

  71. & N# M8 T3 R8 _! T1 j- p
  72. Power:    ;威力
    8 \+ V. i& f2 n* ~3 `0 n0 X
  73. LDA pause    ;暂停状态判断8 Q1 ^. K; k6 j/ O5 m# C
  74. BEQ SPERTS. Z- X+ Y( H; q- h$ p' |
  75. BUT_LEFT:
    4 L4 {% z- o  l
  76. LDA $04,X
    & P% u$ S$ {  w: E8 t
  77. CMP #$02    ;左按键判断8 C9 K7 n7 q! ~
  78. BNE BUT_RIGHT! {# N/ V4 f$ T# a
  79. LDA $88,X/ b3 X) n- Y9 t1 Y& @
  80. CMP #$00    ;威力判断
    # o" u4 F! l/ U; F; z5 A
  81. BEQ SPERTS8 {' \% _: [5 `: u
  82. SPEDEC
    8 O) n  A2 a* B6 Q1 Q$ H% q; u$ B
  83. LDA $88,X    ;读取武器值
    6 a0 o; C: f- F& G
  84. SEC! L5 @) {7 \. w  Z# i* }0 u% d7 ~' b& c
  85. SBC #$08
    # l4 O! o% e( a) `, S
  86. STA $88,X    ;威力减小6 U( y! V  }' D
  87. BUT_RIGHT:
    ) t2 v0 W. Y! [" D) f" x0 o
  88. LDA $04,X8 u* _% s& x% W: j* ~: N
  89. CMP #$01    ;右按键判断, l) Z; q' q2 ]) s/ L) U% J
  90. BNE SPERTS& p6 t; L2 m8 A# ?/ z1 t
  91. LDA $88,X
    5 H- m# Q# H+ I2 M+ G0 i/ b0 P
  92. CMP #$10    ;威力判断
    6 I( y0 a1 t1 W, J; `  M  F4 a
  93. BEQ SPERTS9 ]% x" c9 e4 d: s3 u
  94. SPEINC:& V9 ^+ m# n3 W- i1 V$ p0 e
  95. LDA $88,X    ;读取武器值5 [+ J. D7 X4 K& M2 u( [
  96. CLC
    % T5 [8 [; d7 e9 r/ V3 E
  97. ADC #$08- q- {5 u1 R" r" q" v3 f
  98. STA $88,X    ;威力增大1 @) G! m7 d, C1 G3 C4 t/ V
  99. 8 X* _. w) `6 h7 s' H# f& D
  100. SPERTS:
    1 z5 u4 {3 x% Q$ a4 O' y
  101. RTS
    , j/ w+ y+ i- ^8 Y' ], p
  102.   T: O) |0 E1 l8 y" M
  103. BULLET_NUM:    ;子弹数目9 a' |9 H6 B# Q! Z8 t% W
  104. LDA pause    ;暂停状态判断
    9 g/ p5 C; \1 A, ?1 i% }7 g
  105. BEQ BULRTS
    & |9 D) R4 ^) B0 I7 k0 F
  106. CPX #$00    ;主机玩家判断3 P7 N) D9 H. [- l
  107. BNE BULRTS2 f4 r7 H% x& R* F
  108. LDA $04,X    ;主机玩家判断
    ) o5 g/ j! s% F% R8 q0 o* C1 W0 ]" r! S
  109. AND #$80    ;按键A比较- ]0 b2 i; Y- B. T9 E; h6 F& l+ Y
  110. BEQ BULRTS! i& ]3 ^, w& O  Q9 ~6 a% i
  111. LDA $87    ;状态判断
    $ s! X+ t2 b0 \7 N
  112. BEQ BUL_2& E! s; L2 I4 v# q6 \
  113. BUL_1:
    5 _4 s3 w8 n: F0 b0 C3 m
  114. LDA #$00! a8 K( Y8 I5 x
  115. STA $87    ;1发子弹2 v) X  {4 u5 C# c; ]; b# F0 K
  116. BEQ BULRTS
    1 M" V4 B$ u; m9 l! T+ G9 h1 _! T
  117. BUL_2:6 n! Q4 L! L: V0 T
  118. LDA #$01
    2 A) \! O/ A8 G0 w8 u" X# x
  119. STA $87    ;2发子弹( J7 v; P6 b& [- \5 O/ G2 x9 J9 k
  120. ' c6 `" l: Y  Y, I" h5 }
  121. BULRTS:4 ?! A6 x7 Z+ @+ [8 i
  122. RTS4 J  W- b" k+ b; ~1 F

  123. # Q, S# M( C+ }+ A( I

  124. 5 ^: p0 [$ S9 {- j$ j- F9 p' o
  125. BULLET:9 c6 f# T* I( x: w0 _7 O; z3 E& {
  126. LDA pause    ;判断暂停状态
    3 I3 f- Q+ G/ R& f- g: ]( p
  127. BEQ BULLETRTS& h3 A2 Z; {# L3 w: I% @; `( S
  128. LDA $04,X
    ) z, X9 n$ N. u2 L# S* s
  129. CMP #$40    ;按键B比较; V5 J* l2 Z, ~) ^! B
  130. BNE BULLETRTS
    9 l; C- q: ]! D  R3 b" o# S0 }
  131. LDA $6002,X    ;读取副武器
    & e4 Y& m& ]2 K7 D+ P/ g- e
  132. CMP #$03. {' s: E$ z! _4 I! j
  133. BCC BULLETADD
    8 h% u9 Q8 \6 S, P& h9 N& z& ?
  134. LDA #$FF
    . K% T; b4 c' ?, M5 ^5 @4 d
  135. STA $6002,X1 u3 {. ^# a9 k( w
  136. BULLETADD:
    / u+ {3 O% ?3 k& O) X2 ?
  137. INC $6002,X9 M$ z2 s% ^6 [  w
  138. 9 F* `9 h; E, P3 q7 R0 \9 i
  139. BULLETRTS:
    / b2 z$ W+ ~8 O( ]$ O0 r
  140. LDA $6002,X
    5 {$ d% [% F9 E- B/ g) }
  141. TAY! ]) q3 X1 D0 j
  142. LDA BULLET_DATA,Y
    6 s+ p( J" K3 d8 M% d
  143. STA $6004,X    ;写入副武器数据
    ; L, P+ |7 q6 p0 i. B9 `- J% l
  144. RTS
    # t/ H7 g: `  o
  145. + P" X3 M' O! l. M# ^7 K
  146. 7 h/ c8 g  x- Q$ ?: q) s; Y9 K
  147. BULLET_DATA:
    ( u# F' \& G, T0 `' n' a
  148. .BYTE $06,$02,$03,$04& ~- `1 U6 j6 |3 d" L0 W- k

  149. , ?9 p; i7 d. c8 m' C2 ]

  150. 5 a1 F% |$ z9 L9 r  n5 U) {( w+ b

  151. ( Q( X6 I. |' |$ n
  152. KEY_OPERATE:    ;按键开关操作, `! ^) j- P: c% n
  153. data_protect:    ;数据保护% f2 O/ d0 K% {3 M& R/ H# s# J
  154. PHA
    % I9 r' K( u0 [$ ?! n' S' h
  155. TXA# l- d1 h' e4 k- U+ l
  156. PHA3 r! ?' T$ }, E) Z6 L6 a; `
  157. TYA9 `* R* L0 p7 ~+ t+ d+ F7 J9 m, w, o& [
  158. PHA
    # |4 B  |& U9 ], W

  159. , J  [2 w3 {  g; [. D/ v
  160. FLAG_INI:    ;开关标志初始化
    7 ^5 G; U; P( N$ }

  161. . q. h" z& g9 s0 K- v! U
  162. LDA $600F$ @4 c- A1 E2 r8 x- X1 p: q
  163. CMP #$01$ T1 n8 G+ O* G* f' R
  164. BEQ pause_cmp
    $ }/ z1 Q" [! W* X
  165. LDA #$00; o3 E9 u; f" E
  166. STA $6000
    ! p2 ~  r( E* U- i1 F( P! i  F5 g
  167. STA $6001  {! o# g2 A- o
  168. STA $6002( G( _  X2 p/ T% v+ K! Q8 @8 U
  169. STA $60038 J! ^: _7 a: T/ V  X5 Z2 M
  170. STA $60049 O( u! }, P/ }5 d( q4 P- P
  171. STA $6005
    0 r# F1 W) t2 w3 v9 a& |# c
  172. LDA #$01
    1 r) s' f4 D4 U  C. j9 p
  173. STA $600F
    3 m( X; Y/ C6 T: M: O* O

  174. 6 d. s0 v/ E9 h2 D( G. C
  175. pause_cmp:    ;判断暂停状态
    4 w; y: b& j% M. ~' {* l
  176. LDA pause
    ) `" a2 j: B1 ]
  177. CMP #$01    ;判断暂停状态7 _2 i) k3 z% r% l( Y
  178. BEQ button_press
    4 D0 `# M" N7 D8 M+ K2 p0 Y0 m2 d
  179. PLA
    - S9 J! i7 O3 j3 C8 R5 h  ]/ l
  180. TAY
    , y( h7 |: K6 y3 X" T* v
  181. PLA$ R  `5 w2 s' O( [) K$ R# N
  182. TAX. A. O1 o- C9 u- {' h/ C$ A
  183. PLA
    + d" A# q; p  q0 K& L1 o0 E% O$ O) J
  184. RTS
    , u$ S) n6 x" Q, l, D
  185. & o# U. ?' ], ^/ o3 x$ |
  186. button_press:    ;按压操作* D+ f7 D( h; c9 f1 O7 b+ G- g3 w! y
  187. ini_Y:/ [0 f# r/ G! n/ T$ ]3 d) b. b. i
  188. LDY #$00
    " G( B' l; S3 Q
  189. button_cmp:/ a0 N0 a5 ?5 a( z1 C
  190. LDA button,X
    - ]8 y% C* K5 x0 j! Y
  191. CMP ora_data,Y
    : c& F3 _0 U0 m) D
  192. BNE count_Y_cmp
    5 `0 r) X3 V, K1 C1 x5 [
  193. flag_cmp:
    + G# Q8 s" l* D, ?  b$ N6 ~
  194. LDA flag,X" L$ d- R/ [& u8 w
  195. AND ora_data,Y, d% [  F7 T. Z% D! Z0 k, n3 i
  196. BNE flag_and/ `, o1 K4 d2 \! Q; A
  197. flag_ora:; o+ c" h+ m3 U' b& c  |9 @
  198. LDA flag,X. Q5 P" j0 p! ?: z9 T
  199. ORA ora_data,Y
    ' a. l$ j, N' k. y2 J
  200. STA flag,X
    2 }+ g8 V* Z, ^' B0 t( S
  201. BNE count_Y_cmp
    $ [3 ]' q# C& ]( _  D0 z
  202. flag_and:
    / R: W& q3 b3 O) H2 ?
  203. LDA flag,X
    3 d( C5 I9 R' A1 s0 m% T
  204. AND and_data,Y& B' J. I; u, S* ?
  205. STA flag,X2 e1 |8 b2 j/ L  R
  206. count_Y_cmp:- V( B, n6 P8 i! X$ e' p5 S8 v
  207. INY3 r7 j+ D: I5 ~# }9 v- G. r4 {6 R
  208. CPY #$08, b2 {/ \- M4 U6 Q3 y: \2 w; r
  209. BCC button_cmp
    9 |) ~8 a- P  S5 V+ y
  210. 0 E$ S6 y' _* o2 `8 y
  211. data_extract:    ;数据恢复% t) q0 U# D! }( Y) o1 C6 W+ G3 C
  212. PLA0 x; x8 t5 @, @: I9 c. F* b+ {
  213. TAY
    ( P0 p! E; y6 Q' F8 U% D1 {% x
  214. PLA
    + e! i( X/ y9 `# i- x5 L2 Z/ E
  215. TAX
    6 ^7 ]# i  O* F/ {# M1 [. R) u
  216. PLA
    5 Q! }6 _; z( X6 \9 c; m. N! R

  217. 7 V: k0 e1 R/ d+ T7 I3 x
  218. return:
    7 [6 X( [0 C- `9 {; {0 d
  219. RTS
    * _& x- M6 r% I) [1 }; b; K1 ^( M
  220. 4 Z, t1 i6 N$ U
  221. ora_data:   ;按键相或数据
    4 H1 G( s' F/ k5 g) A! b6 y
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10, m4 F1 x8 [: A$ h! Q; W% K5 U, |
  223. and_data:   ;按键相与数据
    5 R4 T' ~$ M3 E$ v5 H; r: o
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    - h" `1 b. Q" }$ B- v

  225. 2 I8 ?. F4 x0 T+ n: q0 f8 A
  226. " L4 i) j1 c) M; s) Q8 U
  227.   S. t8 h7 g' H% R$ o

  228. 7 A. w8 S" G6 u, a
  229. - g7 F* s# s. s& Z7 _

  230. + {( R9 D- B+ x' O

  231. 3 l* G( e1 H2 i8 ]( ]5 I6 u
  232. ' O# i$ ~" A$ t5 g
  233. ' K5 ?0 [" T8 t4 n5 w
  234. .ORG $C264    ;自定义的MAPPER2切页程序0 Q9 i1 [/ ?3 m9 E
  235. PHA
    1 b8 b3 J7 S) O0 _& L
  236. TXA5 F8 @/ @: z$ d" t4 {1 C
  237. PHA
    4 w$ R# |; X, T3 X% ~3 O7 N
  238. LDA $0066: q) W2 _+ S+ B  _7 f6 ~5 E( O" F
  239. BNE ADDRC280, q2 i0 w' x1 S( V5 ^
  240. LDA #$07
    / o( g+ \7 x$ `/ ?2 y. H8 x6 _
  241. LDX #$03
    / l' n0 Z8 c5 x
  242. JSR $CD9B    ;自带的切bank方法, V: ]  K4 v5 B1 Y7 H* w
  243. PLA0 r9 f. `) c/ Y7 o6 z  b
  244. TAX
    ! I+ f3 z2 Y, b
  245. PLA+ A- r& K% M# z; m4 A( ?6 F, _
  246. JSR $80006 V; Z3 ~7 Z* [6 c
  247. LDA #$06
    1 X  y2 @5 F  A4 q9 K
  248. LDX #$037 O# E& H* C. P
  249. JSR $CD9B    ;切回原该切得bank(可以不用)
    ( s. H. r4 q7 j1 P1 Z
  250. RTS; b3 j$ D+ W4 z
  251. ADDRC280:
    1 }( X4 |" u3 g# K4 g* D. D3 x0 l
  252. PLA( C* F/ P; Z/ f7 j7 r& G
  253. TAX
    ; H7 Z5 ^7 z( y) e: l& j2 Q
  254. PLA
    8 A/ X3 S; a! R
  255. RTS8 o3 q4 h! Y+ T/ m  G8 V0 C8 }
  256. 0 ^3 u. N: G. M0 ?
  257. 8 }" u7 N$ a7 m. s' O
  258. ;[FC][最终任务PPU][END]
      o; p& H% m3 y
  259. .ORG $C056    ;跳转到PPU重写程序6 R# [" Y) a: M% H; \) Z4 w0 a
  260. JSR $7000
    ; i! b, d. s! M
  261. . b  F! n  `5 M! ^
  262. .ORG $CEBF
    3 Z: M# y: R! f& C: t5 X  I
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入
    + `* ?' W1 X5 b3 Z/ p( \/ b
  264.   5 h# G" A4 n( S4 g1 B
  265.   .ORG $E4604 `  T! B. ?3 x6 O2 C
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入
      n  r" r* T' q2 S5 a) p8 d* w3 D
  267.   
      U! L# `( I+ ^3 g; k. u$ _) U
  268. .ORG $71F0
    7 o1 `; C- u& t& n0 b
  269. STAGE_DATA_WRITE:
    / R' r3 o* o! f
  270.   LDA $6010: Y% g, Q# W! E; U, j
  271.   STA $1E    ;关卡写入
      g$ ^9 a" _' \
  272.   LDA #$00
    6 o% N7 N* p  E6 v
  273.   RTS
    # s3 h" G& W# V0 ~* E: E
  274. .ORG $71C0
    $ v# r! s, H; H# Q  u, R
  275. BULLET_DATA_WRITE:    ;副武器数据写入
    7 E; y/ J, Z' B; n
  276. CPX #$0E
    3 o7 F1 v+ E; D: j6 h
  277. BCS P2_BUL
    8 _. M; ~! @. `! N0 T9 l, O
  278. P1_BUL:6 `; i+ s$ {* J; \$ m5 E
  279. LDA $6004
    3 Z, Z5 {! k' L3 ^! ^
  280. JSR $D7D0    ;P1副武器数据写入
    - q) X6 U' o* d; n" h  H+ S6 U
  281. RTS
    2 \8 l! _+ s4 `5 i/ s  Q2 `0 H. i
  282. P2_BUL:. c2 p! o% L: D) \
  283. LDA $6005
    5 j' g8 [- G0 ?: \# b4 T2 o5 j
  284. JSR $D7D0    ;P2副武器数据写入
    0 Q& P% v" G3 X6 i# X" e
  285. RTS
    ( S( m% C7 |( F5 U+ S) w, n
  286. % r/ g$ f( [  u" N% y! f

  287. 2 i0 d! l+ n2 R# T! f; \" M, E
  288. .ORG $7000/ P- d- T8 R! H' @6 A
  289.   
    7 M/ l/ @3 J% R# m
  290. STY $4014    ;补上覆盖的精灵写入指令9 a7 Y& P3 ~- r& C
  291. PHA
    : U* V0 g8 P- w7 p. K$ S
  292. TXA
    0 Y% D! f  S7 U2 D" X# {
  293. PHA
    . [: X6 a1 k; h, n  d) S
  294. TYA$ w" }9 }7 l- [
  295. PHA, z% G( w. Z1 r. s! i
  296. LDA $0C
    $ c7 `+ w! x# f' K
  297. CMP #$01    ;比较是否为标题画面. F. N/ J/ i, n* s
  298. BEQ PPU_STAGE
    " ]7 X4 H$ q6 h
  299. PLA
    3 q7 C' O  E' D9 w2 |4 r+ v4 h
  300. TAY6 x, L2 t/ }% S$ E4 S/ k! Z) J
  301. PLA
    & w9 ?) k' S- w/ i
  302. TAX
    9 M* v1 Q6 T( W
  303. PLA& P: j' B+ I' `4 }: U. U
  304. RTS. J( @/ W- X* D, T& G* C0 {0 `
  305. PPU_STAGE:    ;STAGE显示程序
    9 i6 d* _0 [  p* f9 v( }, S/ N- j
  306. LDA PPU_ADDR_DATA4 U1 y* [' y4 [" X( Q
  307. STA $2006! @! e+ [3 |% k: z: B
  308. LDA PPU_ADDR_DATA+1% n" }9 d7 S" \' q5 h! C' `; h5 V
  309. STA $2006    ;坐标设置
    ( q. d" m4 ^! B! f& L8 L
  310. LDX #$00
    ' i) g8 y* C; b4 z4 }
  311. PPU_STAGE_WROTE:    ;写入STAGE字模# F6 Z; g% d0 ~
  312. LDA STAGE_DATA,X% t8 n8 ~* [, |9 r3 t
  313. STA $2007
    7 |+ E5 N& l9 G% J  J; K
  314. INX2 }& D7 P% E$ ^7 I1 f7 {
  315. CPX #$06
    * L. e1 V/ R. ~  O  ]4 Y- A
  316. BCC PPU_STAGE_WROTE  p! P$ w1 B6 [0 W! u& S
  317. LDA $6010
    6 ?- F9 h0 Y2 x* Z/ Q  ^
  318. CMP #$FF    ;关卡数据初始化条件判断
    + X6 F% {8 Q' C9 V! y
  319. BNE KEY_B' K! R! X3 ^8 r% r) R" n
  320. LDA #$00- S- w( u0 J, y, P8 X/ Y: q5 U- c
  321. STA $6010    ;关卡数据初始化
    ! m/ P' J* s, s5 Q
  322. KEY_B:    ;关卡减少* z9 v# _* r6 ?5 V9 j5 v
  323. LDA $04
    , k/ ?& T& a  m- X0 k( [! y
  324. AND #$42    ;按键B或左减关
    ) t- O* {, X  |& ~
  325. BEQ KEY_A
    6 w# U; x; \' M/ p. v
  326. LDA $6010
    3 c- N$ M6 g/ f' H/ g- d
  327. CMP #$00    ;关卡比较; M  L8 ?+ |! U2 g. {8 ?* u; Z) [
  328. BEQ KEY_A
    ( b# y3 L  {/ e6 A  r
  329. DEC $6010   ;减关3 r% c$ z9 U2 @, t0 k- t# r4 {  C9 ~
  330. KEY_A:    ;关卡增加
    2 J# x& R5 u4 S
  331. LDA $04: h/ t- P9 E' V
  332. AND #$81    ;按键A或右加关
    9 c  S8 _! r" F# ~5 v& C2 g
  333. BEQ PPU_NUM_WRITE
    7 N* r6 j6 v% V0 @" c
  334. LDA $6010
      V3 o1 y8 F: x+ x! x3 e) a  O
  335. CMP #$04    ;关卡比较$ E8 t" R& S, Y% z
  336. BEQ PPU_NUM_WRITE
    & u$ }6 f4 y6 m2 U" }% L0 C+ V1 {
  337. INC $6010    ;加关
    ; \: b1 r  m: v) w- G7 u3 M% O
  338. PPU_NUM_WRITE:- V# U( ]& i& c, j) e% u6 P
  339. LDA $6010& T2 T* M6 I' y, i
  340. TAX
    1 ^( ?: i# q) i) w( c. ?
  341. LDA STAGE_NUM,X    ;写入数字
    ! I( l, N* T) c8 q* P. A! N
  342. STA $2007; n$ J& |, N: K; V+ I, ]% S
  343. PPU_RTS:( h/ Z- K/ l% q
  344. PLA+ r' ?" Z9 a0 [' |
  345. TAY9 y3 [5 Z- V. g! l0 O) J
  346. PLA
    1 }  o# H. o8 N( u) Y: G* @
  347. TAX. `( T4 \8 f1 o+ }
  348. PLA) |- x# A  {6 X0 W* _( P$ j
  349. RTS" R2 N$ q- c! }0 I; b8 X

  350. $ w5 z4 S3 g  e
  351. 1 S* r+ w7 {: {9 q1 [. h
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据
    1 V% ?0 ]8 f! R8 |5 e% Q6 n
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00
    ) H& b( W" U1 S3 s1 _, ]- `5 d! m
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据
    . |4 i, I/ \7 k
  355. .BYTE $D1,$D2,$D3,$D4,$D5  p3 z" ^" m. y4 E4 e9 C) N- h

  356. 0 @& W& l3 [1 d
  357. PPU_ADDR_DATA:, J+ d1 B5 N9 |
  358. .BYTE $23,$0C- Q" H5 E% z% j7 X# a" E8 u$ I/ Z! [
  359. # d5 k8 {$ o" f# V8 s& C
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1512 天

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

签到天数: 966 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 1797 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 2923 天

[LV.Master]伴坛终老

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

签到天数: 1750 天

[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: o# F9 R$ U( D! t& A. {
最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊
% Q8 X: u9 e5 d! x( [8 G! Y3 ?' o- ?
已经加上了,赶紧下载吧
[发帖际遇]: 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
. w5 G; G; ~9 A. M4 b: l旋风又疯狂大修改了 哈哈
2 q0 E  @- y& U# k3 G9 L
疯狂不起来,无聊了而已
[发帖际遇]: 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-12-19 04:28 , Processed in 1.085938 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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