EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑
, s% n4 M, d* X! ~7 A8 p) U9 `& p& M  ?
    [FC][最终任务][END选关]( U2 [/ V) k) Y$ \; p+ D
$ Z/ V# T/ C+ @
时间:2017.3.299 B' x1 w4 Z: v+ m) G7 L7 o9 c
作者:FlameCyclone
: |0 ^/ r$ v- }  q( a内容:) d3 Y  }0 |) \6 m# K
    1.关卡选择:   标题时,左或B减,右或A加(1-5关);9 [# C2 V7 t2 m0 O. O4 k
    2.无敌锁定:   暂停后,按上键切换;/ D8 p+ z+ x, ?' N( ^2 Y7 G
    3.生命加满:   暂停后,按下键切换;( o) _1 N! C8 H( f8 q6 a2 ?9 Y
    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);% F9 ]: c- ~% x) ~& S% T
    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);9 q5 i7 E' y  [# B: @
    6.B弹数量:    暂停后,按A键切换(1个或2个);+ h. v( d4 V6 u( Y7 o
    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;
. k3 O' d, U+ {; h9 a/ B5 K9 \. L% D! z; Y
6 o" v& ^+ [3 V
; ~: F0 Y1 n' G6 q( ~

. v. Q, R9 t$ w; X/ V: b* h1 p0 l+ H+ Y8 b; P3 o

5 W9 v, p  P7 G  i/ J: u; H* x
游客,如果您要查看本帖隐藏内容请回复
6 `3 s. A4 T6 H
FlameCyclone.ys168.com
) T# w% @7 |: ~4 Q  C/ x# P  awww.nesbbs.com
  1. ;[FC][最终任务KEY][END]
    5 n$ A/ _5 k. ~/ ]7 o
  2. button = $04    ;单次按键# d8 v: X2 u% u$ L5 }; {" Z. J
  3. flag = $6000    ;功能开关标志
    1 T2 g, t; X& c. h7 M
  4. pause = $000E   ;暂停地址% U. o) y$ `' \6 n2 ^3 O; j

  5. # w8 M1 m( U4 K: G
  6. .ORG $8000* \2 I7 Q2 f7 T8 s) x1 Q- H( R
  7. LDY #$08    ;自带的按键程序
    7 A7 @" {2 Z" h5 m
  8. ADDR8002:3 j  z( E3 C/ D" [
  9. LDA $4016,X  {4 s; l$ l; `: ^
  10. LSR- x- z& d* [, E# `0 G& P" n" ?( Z
  11. ROL $00218 D8 l# K9 V& _( T: |, M3 X
  12. LSR
    % H$ T. x8 ~& f+ z, F/ E
  13. ROL $0029) A. B, b  A& D* g" S0 P
  14. DEY
    ; J$ j5 D0 G. f2 o2 c
  15. BNE $8002: b& w+ _7 [% t2 Z3 y
  16. LDA $00214 M& t1 R: P4 L6 s9 \! ^/ ^6 j
  17. ORA $0029( Q/ n7 l9 c- {0 i
  18. STA $00217 C$ Y% ~0 [8 ]2 z. R% y3 y
  19. LDA $0020
    4 n# F! l% o1 ^0 ?/ x$ o9 p* ~
  20. AND $0021+ E/ |. ?" ^9 `3 k, }
  21. STA $0020% ~0 b3 k: o: z- u4 P$ h! `; F
  22. LDA $06,X
    + ]! v( R+ v8 a: g% g. w
  23. EOR $00208 C- l8 s2 _. Z- `+ h
  24. AND $0020
    , ?* T1 k- z/ [0 m; Q2 b0 y
  25. STA $04,X
    8 o5 J2 W' m3 Q! U6 ]
  26. LDA $0020( e7 l5 f% q) x) k
  27. STA $06,X
    . G: Y  m' N- ]
  28. JSR KEY_OPERATE
    . W0 E- o9 ~% P/ C' @
  29. JSR Function    ;功能调用4 m: N: ^: U7 y4 c- R8 G% s1 v
  30. JSR Weapon    ;武器切换调用
    1 P' Z$ R3 Q" R/ u: [
  31. JSR Power    ;威力调用
    # _0 r. A2 K# ~
  32. JSR BULLET_NUM    ;子弹数目
    1 z4 O  N& X) b- q2 j" W
  33. JSR BULLET    ;副武器类型4 }7 M. g: N( t9 J/ T# b2 s, c
  34. RTS- q( w+ U* F  n3 Z9 r& L

  35. / j" @9 |' f; @1 F

  36. ' j7 [, ^& ]+ z5 N8 y

  37. ! z* K- z' @7 i& a9 P; e
  38. .ORG $8050  G# y( C+ L& n2 x% V
  39. Function:    ;功能
    5 \5 I* a5 v& i7 \
  40. WUDI:    ;无敌
    2 J: W' |# D/ y4 X
  41. LDA $6000,X
    8 q. Q: D6 v$ Z/ G
  42. AND #$08    ;开关判断
    ( z- f0 z9 Z1 D, w
  43. BEQ LIFE" L4 G8 G% p. }) ~0 J' @8 [& T
  44. LDA #$05( Y" `6 u' C, M, E$ A
  45. STA $05DC,X    ;无敌锁定: L. z! {5 i! y
  46. LIFE:    ;生命
    % U2 ]# i+ m# L) ^5 _- C) Q' f% T$ N
  47. LDA $6000,X
      t" h# e9 h& a8 u' |
  48. AND #$04    ;开关判断
    . Q' \* _) o4 h; f! A
  49. BEQ FUNRTS- n- ?7 f7 S. x& X9 l5 o
  50. LDA #$05
    3 h. ~! w, ?! w
  51. STA $1C,X    ;生命赋值
    ) ]4 q# _- j5 Q" B. h
  52. FUNRTS:
    - k0 E& B1 T0 @
  53. RTS! f' L+ [4 i3 {. }/ R
  54. $ l! @9 U4 C" t( T6 ]( A' }$ E9 K1 R
  55. Weapon:    ;武器切换6 T% ?( e7 O" X5 u
  56. LDA pause    ;暂停状态判断
    6 a" `0 [3 d3 V
  57. BNE WEARTS
    . ]! E) i/ a, J) J7 V* \
  58. LDA $04,X
    5 L0 P. F- L# H8 R+ B
  59. CMP #$20    ;选择键判断
    9 v1 [2 ]9 j- p/ |# R; b' g' n
  60. BNE WEARTS
    / w& H* h6 D" Y$ N; w  p
  61. LDA $12,X# j7 _6 H3 R. U) \2 b7 \
  62. CMP #$03    ;武器值判断
    / j" X' @/ D/ q& O
  63. BCC WEAINC# v5 }: p7 b0 t2 l
  64. LDA #$FF4 I2 X/ ~7 y2 m. x5 O: S8 C& V
  65. STA $12,X    ;武器重置( e: ]  f3 o9 k2 B
  66. WEAINC:
    ' p( s8 k* {) w2 o2 U. x
  67. INC $12,X    ;武器增加6 I+ ~* y) i" C- \: {1 \, d
  68. 1 q4 Y- L; x/ D  K) H' M
  69. WEARTS:
    ' H# P. f" G8 K9 D0 @* Q
  70. RTS( S' A6 C- J# P, H" I! K) a( v1 \
  71. ( e6 X' k; T* S1 {) S
  72. Power:    ;威力
    : K; @/ h; h4 g; E" Y
  73. LDA pause    ;暂停状态判断
    ' |0 I& A' f  W
  74. BEQ SPERTS
    , h" n4 r. W/ P: j
  75. BUT_LEFT:
      t! K4 q  k9 f2 J
  76. LDA $04,X9 C% V+ K; q0 ~1 Q& j! {# G
  77. CMP #$02    ;左按键判断
    , q7 t) |7 H+ g6 a
  78. BNE BUT_RIGHT* J: A' O! D9 V, L
  79. LDA $88,X$ J/ m) b8 T) Z- _( F, I
  80. CMP #$00    ;威力判断( m! e3 d1 f' s2 H. r5 l8 s* v7 Y8 x
  81. BEQ SPERTS
    % _+ V# k* h$ R- Y- @
  82. SPEDEC. \, N  j# w/ r5 ~4 _
  83. LDA $88,X    ;读取武器值: @# l6 Y# C# j. C% s5 t, A$ q
  84. SEC% j, @4 c: h$ k! L, M
  85. SBC #$08
    7 T$ k+ J4 p+ P5 p0 |& S  c9 ~
  86. STA $88,X    ;威力减小4 m8 \+ Q5 \* A+ i) a
  87. BUT_RIGHT:7 H7 P/ F3 b, j, [  J
  88. LDA $04,X' v; F8 i2 \) ^- i2 F  R8 q
  89. CMP #$01    ;右按键判断. ]+ S4 t2 I0 Z' A$ U: K
  90. BNE SPERTS
    ) S0 }+ X% w, v3 L& C& k
  91. LDA $88,X& ]5 P9 {% T) X9 d' S+ J% J
  92. CMP #$10    ;威力判断
    9 D! W% P+ }: I% a- x- N
  93. BEQ SPERTS
    ! `/ r/ T% B1 Z, i
  94. SPEINC:1 h: |- c2 M  R
  95. LDA $88,X    ;读取武器值
    ) |) y. I' Y2 Z: ^% R* e/ x
  96. CLC# I+ H7 d. K! U+ |
  97. ADC #$08: j- s; t" C* D8 f7 @0 h) x
  98. STA $88,X    ;威力增大8 T/ ~1 t- w$ m: h- }7 z  |- u5 p4 X

  99. 7 G4 V# }- g' ^
  100. SPERTS:6 X2 I( C" z7 z' E  `% z
  101. RTS
    5 Q4 k% K1 y& Q+ ^

  102. / V  j8 e2 E6 Q8 k& L) B9 T& {
  103. BULLET_NUM:    ;子弹数目7 W' M5 Y+ }1 H% M; d/ r3 J4 h
  104. LDA pause    ;暂停状态判断
    4 V  _2 j! \, |2 Z  A- t
  105. BEQ BULRTS/ B0 d- R+ Z: }) b7 O6 _' J& R
  106. CPX #$00    ;主机玩家判断8 o$ N7 R, X# E0 z( Q; U- g" v+ x" m5 w% A
  107. BNE BULRTS
    & L7 A- |* F: S: {
  108. LDA $04,X    ;主机玩家判断
    6 E! W7 U: F- S0 O
  109. AND #$80    ;按键A比较
    - i/ \; [& W7 ~# F7 w+ e
  110. BEQ BULRTS* C9 V$ ~# B0 N  k. p
  111. LDA $87    ;状态判断% Z; Y, z% y* W8 @/ K
  112. BEQ BUL_2* B. J$ n; D, P: Z
  113. BUL_1:
    6 q! L$ ^# i$ [& P) l4 a0 r
  114. LDA #$00
    5 T. T$ q% Y; a
  115. STA $87    ;1发子弹
    % G/ J6 v' A  s3 J
  116. BEQ BULRTS
    6 R; m6 s: H5 F5 B
  117. BUL_2:+ W1 f+ Z$ D4 a9 ^' I# b
  118. LDA #$014 @. h: n5 z8 p( G, S) Q; v3 h
  119. STA $87    ;2发子弹# Z, V6 s( v6 M# v+ q! ~- W

  120. . v( R% d/ X) s9 g2 [
  121. BULRTS:
    ! k  @, {3 p- h' U
  122. RTS2 J9 Q) M3 h) w, W+ f  s

  123. , ?- z  f( k, R0 B
  124. * \" g  a, J7 c/ Q
  125. BULLET:
    # q" U4 J- [4 @  U, b+ i
  126. LDA pause    ;判断暂停状态
    & `- Y' f- b" J7 ^( g1 ]. `
  127. BEQ BULLETRTS/ o4 h0 F. S2 z" ?; V) n. D
  128. LDA $04,X* N+ t4 `0 T/ E
  129. CMP #$40    ;按键B比较4 x1 Y* U) N+ ]9 i" v
  130. BNE BULLETRTS
    " L) C8 J% N; Y$ l9 O& ^
  131. LDA $6002,X    ;读取副武器
    ' q0 z' b% C. Q0 ~( F
  132. CMP #$03
    * Z; t, L& i$ l3 ?! x' i
  133. BCC BULLETADD
    / |0 _. t! L" |2 z& Z: e" C
  134. LDA #$FF
    $ c/ j2 T$ W+ V, d$ G
  135. STA $6002,X
    : n) }3 I- c6 m3 p; Y5 z
  136. BULLETADD:
    6 Q# h+ c+ l: g! D
  137. INC $6002,X5 p* {3 G6 J2 |$ t! Z8 H% b

  138. + Q5 a! I2 b' {; g+ D9 {+ k6 D. l5 q
  139. BULLETRTS:
    " u& X) P# q4 R# T) d+ i
  140. LDA $6002,X  M# a, v& J0 w; f% Y3 ]
  141. TAY5 P0 L6 n: [% ^0 }# f( L
  142. LDA BULLET_DATA,Y
    ' j/ f; J! Z8 K
  143. STA $6004,X    ;写入副武器数据
    ) u+ k( X* T" P8 y$ f( ?& w
  144. RTS" k* h# @# U) `! w1 }

  145. + i+ I! p9 p; b. ^* W/ S; a0 p& x

  146. 5 E0 `& @* @1 `9 z2 V3 ^9 e
  147. BULLET_DATA:
    ( a4 Z% o3 L. S$ I8 d
  148. .BYTE $06,$02,$03,$04
    , c3 ?7 y7 u* `) c5 Q( ^9 S* `6 K

  149. + L3 ^  k: N9 @) g
  150. & A2 h9 E* m- X- N$ |% x

  151. ) J9 b! W  j" r
  152. KEY_OPERATE:    ;按键开关操作1 q" q) |1 \3 R% G
  153. data_protect:    ;数据保护0 G* `, H2 o* K; @; G( s' ^
  154. PHA. s5 U4 n1 \# h- Z
  155. TXA0 P# g0 i8 _1 e0 Z$ c( j
  156. PHA3 g  M* C) b% z$ u* w! h% l
  157. TYA
    4 E% M6 G% e3 ~* P. B; x
  158. PHA
    1 v3 D/ J0 X. j8 `4 }" b
  159. 7 L% X6 K7 h, s$ Z( {
  160. FLAG_INI:    ;开关标志初始化  |( p- q2 o/ K% {! d3 r0 ^

  161. 1 E4 f% e! @6 M* X0 ^8 P! Q, ]
  162. LDA $600F
    - y) K- e+ r  U2 F
  163. CMP #$01, J4 n! G. z7 \( `* y
  164. BEQ pause_cmp
    1 H2 C8 E! X( L' p
  165. LDA #$00
    9 Q, c0 [! c% W  L+ F% j
  166. STA $60001 x- d. a* k+ K' j
  167. STA $6001' v" }4 S6 L5 ^% }! l2 x
  168. STA $6002
    0 I( Y3 a& x( T. u  f1 R) s
  169. STA $6003( d5 O0 h+ u. f' w1 g: x: N  J  F
  170. STA $6004# @1 _( ]4 `+ F5 U0 k
  171. STA $6005
    ! m  ^& x& r4 v% L) v  F
  172. LDA #$01( }9 F: Y1 U! Z$ ?" |* P
  173. STA $600F0 Z& @5 e& I2 h. N& ]
  174. ! V" E) Y  t% i- X+ [) `" m- i
  175. pause_cmp:    ;判断暂停状态/ d9 k% X* x4 M: `
  176. LDA pause
    ; z5 N, T, f/ ^! I4 X
  177. CMP #$01    ;判断暂停状态
    ; o! x* z+ j, K' N# W( d$ }( y
  178. BEQ button_press
    4 p% P. Z: W6 k( K
  179. PLA
      o4 k" n5 @+ H( B5 U
  180. TAY$ y) M/ X  d4 R+ b1 Y7 @
  181. PLA" K. i: e# v/ T7 w
  182. TAX  y, [2 I2 ?9 H2 l, P
  183. PLA
    2 ?. I' z( c0 k# y; W
  184. RTS
    # K; F9 D! r8 r2 `$ [

  185. 7 p% `6 O; G9 R( @9 _5 [; k
  186. button_press:    ;按压操作3 j7 E" l( U' L
  187. ini_Y:# ?" B5 q9 E! L: k& d3 D' d
  188. LDY #$00
    9 N( I* }' U( B5 W
  189. button_cmp:, k2 P. }; w" A# Q: h
  190. LDA button,X) |+ M/ a9 o1 |* f0 y5 I
  191. CMP ora_data,Y8 R# u6 h0 l3 b
  192. BNE count_Y_cmp
    6 s. z0 n3 M! ^. w; D! b
  193. flag_cmp:  |! e. ^$ o2 M
  194. LDA flag,X' m5 K" p  S) m) {, Z, e
  195. AND ora_data,Y
    + a' A* O! C& x! ?) w
  196. BNE flag_and4 a2 h: v5 Z! R9 A, _8 \+ C
  197. flag_ora:
    3 c) D! v5 Q6 S
  198. LDA flag,X
    / E! }3 D9 v, Q1 c2 M4 n4 V) y
  199. ORA ora_data,Y
    5 ^$ F. x( u1 f2 z6 V6 m: e" C: m
  200. STA flag,X: v$ T% F! @7 f* ~
  201. BNE count_Y_cmp
    0 \; {$ z: _+ G0 o
  202. flag_and:
    ' i% l/ r8 E  c) o& K# E
  203. LDA flag,X5 M/ ]/ U8 o( Y% k3 {) w' K% Q: k
  204. AND and_data,Y
    2 Z' `. D3 U1 _5 |. @  K. ~  t6 ?
  205. STA flag,X- r- j: Q7 J1 d6 {1 \- }
  206. count_Y_cmp:
    8 {" I. z0 b1 n: [/ c1 O1 L0 @
  207. INY
    . D3 @2 p8 r, a! E( o& T
  208. CPY #$086 U: k6 m, B5 ^1 e1 e3 W! p
  209. BCC button_cmp
    ( e  u6 @: G5 \! `

  210. ) j6 H+ m7 U* m; S$ L3 s
  211. data_extract:    ;数据恢复$ A' A5 i$ W0 u, K
  212. PLA4 @! z2 q7 p  `! }  [0 J
  213. TAY( |  F' c" ~- H4 X/ N
  214. PLA
    - ^6 p/ Z& F0 L0 x( b3 y
  215. TAX2 B5 O! w! f# v# C
  216. PLA0 t$ N* p& ~, {; K, s7 r

  217. 6 ~, e6 M) O  t$ H
  218. return:* R" {0 Q. Q8 _7 N2 G) m
  219. RTS
    4 C$ T; c9 m; q5 L5 P2 r4 X7 o+ N
  220. ; W0 a& o' k0 i9 |$ a, v& C. @: ]
  221. ora_data:   ;按键相或数据0 U& K# O- P) g, f
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
    + N0 P: U* ]1 g/ r( t2 l& Y
  223. and_data:   ;按键相与数据2 S, a' j8 ?+ X$ m  p6 @
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF2 g, N/ D8 f$ O
  225. ; z, S' m4 V% H6 B, f

  226. 9 j0 s0 B+ s# p5 Y  U
  227. ) i$ Y( J# K9 \8 h2 Z, ?$ n
  228. 0 n" c# s% c  s% X
  229. + t. L: M; J! e

  230. . @% ?" s/ M# v7 G* K% x

  231. 4 {. a& U8 q1 F) I

  232. * r  E4 v1 E: \
  233. - s4 u1 `( ^0 p, w: x
  234. .ORG $C264    ;自定义的MAPPER2切页程序9 v$ [1 c9 W4 n2 w- _
  235. PHA. b6 e8 t6 G4 H1 K! N
  236. TXA1 s! t  a/ h7 H( }. U4 o
  237. PHA! ^+ d; X9 v! D' {) b, I" f
  238. LDA $00667 X# n# j! G- j4 s; ^( @3 m, m
  239. BNE ADDRC280
    ' y, {2 v2 R/ n( c( k# L
  240. LDA #$07
    - ]. ~- u& t/ N$ y
  241. LDX #$03
    # q+ x) I. H4 \1 g! u- K0 f
  242. JSR $CD9B    ;自带的切bank方法
    ) h" q+ \( T8 C* G5 o
  243. PLA
    + P4 [( V& `/ q5 g/ X
  244. TAX
      D5 N- P- ?3 @4 @* U# J* i
  245. PLA
    - c& ?" f% s9 s7 R2 K; T( S% S% ]5 ]
  246. JSR $8000
    - b2 C( g& i5 `* t
  247. LDA #$06, h& Q/ S- r( Q3 L
  248. LDX #$03* b. z0 |- [1 z' o/ G5 K
  249. JSR $CD9B    ;切回原该切得bank(可以不用)( R# ]+ p/ ^& L; ]% C9 S: N
  250. RTS
    * d' `- G. U+ [5 m( q+ V) ?) I
  251. ADDRC280:; E# {1 v  O  O. A6 ~
  252. PLA
    2 s- j- ^0 O6 C: v" l2 r% I, r& G
  253. TAX
    0 h$ Y5 @* u5 m
  254. PLA
    - c  R* J9 c. b7 D' }
  255. RTS4 j; J& }( z; A! M
  256. 9 N1 M3 ^: U4 Q9 p! L# q/ v
  257. & i6 V, a# x; ]% c; K7 h- H! \
  258. ;[FC][最终任务PPU][END]8 A0 P+ q  Y; n" A. {$ ^" i7 d' B
  259. .ORG $C056    ;跳转到PPU重写程序
    8 p/ R8 b) X" L. Z
  260. JSR $7000' C* w+ A4 ^, {& s/ l
  261. , ]& T- c8 n) O( P- N$ Q: a
  262. .ORG $CEBF+ D2 ]' J( H: `. F- w6 s8 \
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入$ I/ E( X9 Z6 M/ e; Z
  264.   4 S- J+ z, F$ [4 Y
  265.   .ORG $E460) b) ]8 U! m1 X, D8 c7 s9 E7 D2 w
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入
    % q, |4 J3 c) }# J6 c# j- Y3 I
  267.   ' [7 ], q- Q5 D: j& I0 R( x
  268. .ORG $71F0
    7 g; S& o* O6 {2 q# z
  269. STAGE_DATA_WRITE:
    9 X: E" x; y2 N% h* ~
  270.   LDA $6010
    ' K1 s% t+ ?# `
  271.   STA $1E    ;关卡写入; G* j( h# r& u
  272.   LDA #$008 B0 G6 G3 G( Q$ k: C* w  T! U0 l0 ~7 f
  273.   RTS
    + R- z! c- ~! J9 _; `
  274. .ORG $71C0, p4 G/ V+ W+ i
  275. BULLET_DATA_WRITE:    ;副武器数据写入
    * z& ?2 _1 {+ h' T; v9 k
  276. CPX #$0E
    ' t0 i0 s9 Z/ Z4 N
  277. BCS P2_BUL
    4 m, d$ D4 s# w& O" B0 ?& b. e
  278. P1_BUL:
    5 i( f" `+ p" x9 i$ X+ q
  279. LDA $60044 G  `9 J" ~2 f- a. m1 |
  280. JSR $D7D0    ;P1副武器数据写入
    , r$ _' T* Y1 z2 X+ R/ F
  281. RTS9 |7 k5 _2 Y2 n! J9 p- x7 g
  282. P2_BUL:
    & x# n8 L6 p7 J
  283. LDA $6005
    ; u( p- t% E" ~, ^  g* b" H3 {1 c
  284. JSR $D7D0    ;P2副武器数据写入
    & j- K  b5 X9 d. I0 ~  _
  285. RTS
    5 n( @) t# _7 N- t+ i# s9 @# @5 P

  286. $ \- _; o5 j# S
  287. 4 Q  J: p! q/ Y& ?
  288. .ORG $7000
    . h1 N4 h, [1 G$ o) Z0 N5 M6 t
  289.   
    5 T+ ?2 X$ n" ^5 k' k
  290. STY $4014    ;补上覆盖的精灵写入指令
    9 D2 Y( h! m( c/ ]0 ~/ M% W  ?
  291. PHA
    / b; [* y/ ^: y! K
  292. TXA7 y( ^  s9 Q( b: N. e) J
  293. PHA* B* \' Q' j6 P2 {! j" F1 K/ t8 d
  294. TYA
    ' j; Z9 a2 z  _: Q* ]& W6 N
  295. PHA0 w. I  j3 j6 O" u% a# o) A# Y& U4 @
  296. LDA $0C+ g4 t7 _, y* O4 c. I) M
  297. CMP #$01    ;比较是否为标题画面
    8 t+ T; ?" j% A: c' p
  298. BEQ PPU_STAGE, ^+ p* S& d. y4 w9 q8 J% i: C; m3 j
  299. PLA7 [$ C$ W. \9 b5 Y9 S
  300. TAY
    2 K$ I: E0 \' F2 ?. g. z: M5 H) N
  301. PLA
    . M8 E  H& V! v) A" j
  302. TAX
    ; T$ n, H5 X, i+ G7 a6 k: U
  303. PLA
    ! X" T9 q$ r1 u% [8 ?- ?$ y
  304. RTS
    7 I& _4 \* J5 Y( ?' B$ }" L; e$ V
  305. PPU_STAGE:    ;STAGE显示程序: P) Q2 T+ j, ]; `4 w
  306. LDA PPU_ADDR_DATA4 s7 D! \3 n& V/ w- b
  307. STA $2006
    ! n" b/ o6 g+ A- T: Q" d
  308. LDA PPU_ADDR_DATA+15 D% R' f& G& U$ q
  309. STA $2006    ;坐标设置
    8 b) |! Y2 p1 `$ I1 @
  310. LDX #$00. e+ X# g7 B  s; f. x4 E
  311. PPU_STAGE_WROTE:    ;写入STAGE字模
    9 }0 n+ E6 J0 _) T4 c
  312. LDA STAGE_DATA,X
    ' w2 U% q' h0 ^; k
  313. STA $2007
    % z0 M  G9 I, B$ [" ^
  314. INX) \" E) S8 [) R4 s7 k
  315. CPX #$064 c# x6 w+ L' q" G2 L) z
  316. BCC PPU_STAGE_WROTE
    / }: Z% Z8 R" ^. M+ S
  317. LDA $6010
    0 }; E. }3 ]8 l
  318. CMP #$FF    ;关卡数据初始化条件判断
    + `9 @6 T, s# e9 x
  319. BNE KEY_B$ O9 f  e/ D/ V$ ]' n% d
  320. LDA #$006 j* o" `4 L& I
  321. STA $6010    ;关卡数据初始化
    , ^0 z8 i5 h' \; R/ F$ a, ?
  322. KEY_B:    ;关卡减少
    7 ~' G- d9 W) G3 g
  323. LDA $04" \7 J+ M5 q9 T) h
  324. AND #$42    ;按键B或左减关; i9 O/ s, s& l
  325. BEQ KEY_A
    ( l, n- n: ]: |' F7 Z. f
  326. LDA $6010$ [% Y, Q2 T0 T' l& {# O
  327. CMP #$00    ;关卡比较; f$ _0 M! S5 H
  328. BEQ KEY_A
    $ S. g+ w7 \2 F  U# k
  329. DEC $6010   ;减关& ~& M# M9 D6 E6 [
  330. KEY_A:    ;关卡增加
    % H& t, r! ], A: z" D9 j! N, c1 C' v/ b
  331. LDA $04
    8 W  C+ q- T# P5 N  G1 ]8 V
  332. AND #$81    ;按键A或右加关
    " \( H. r8 G! l( a3 h9 M3 _& l2 \
  333. BEQ PPU_NUM_WRITE
    ( i7 ^) g6 X5 _  e7 X6 f
  334. LDA $6010
    " c* k2 ~* d  ~9 b
  335. CMP #$04    ;关卡比较* x& V2 a! O/ |% X8 ]) F4 V" \
  336. BEQ PPU_NUM_WRITE( T( z4 C  k9 e/ }% @  b1 [; A
  337. INC $6010    ;加关- d% s. M. C. x. G% K5 ]$ n
  338. PPU_NUM_WRITE:8 {, k8 E0 P, i, U9 y* o2 G
  339. LDA $6010. {& u, W* R' u% Z' f% {' a3 W
  340. TAX  S1 g6 b+ [# k$ h6 E7 F
  341. LDA STAGE_NUM,X    ;写入数字
    " F& i/ W7 k% N* M" h- {
  342. STA $2007
    : i' E  {- s: S$ s, }4 c  C
  343. PPU_RTS:
    7 v  u4 G; L- A9 N( I
  344. PLA
    ! V6 R$ x  l, J3 d' V; z8 J
  345. TAY
    ( ?3 c( D; w5 z4 X6 d4 F
  346. PLA6 o5 @0 r; @) N8 v2 X' g
  347. TAX1 ]' ]. E) {4 _: i
  348. PLA! z+ e/ g/ n4 H6 {
  349. RTS8 l7 J" x7 l9 Q3 l  M  ^0 \: X9 R0 N! _
  350. , h- X- ^  c. v. d7 j4 |
  351. - [$ w4 {- o6 B% M
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据
    * U3 I* Q) _% E& A+ V; I) @* a
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00$ o6 c8 l2 \' M7 U6 |8 I
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据% s! j) |0 b1 v4 o, }4 G0 E
  355. .BYTE $D1,$D2,$D3,$D4,$D5
    ! h: q9 S1 i5 v

  356. ' a2 c5 l0 L# l; V2 n2 I9 _* P2 Y
  357. PPU_ADDR_DATA:! W: @. _* Q! h! @& R
  358. .BYTE $23,$0C
    : \; ]7 U! g  w! v- a; o. V
  359. : Q" J9 I4 z/ J4 f4 D2 V
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1639 天

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

签到天数: 1067 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 1968 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 3087 天

[LV.Master]伴坛终老

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

签到天数: 1778 天

[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
* M; K  J- [+ r$ M5 }最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊
  X9 B5 j. r2 h/ Z- H, |  b
已经加上了,赶紧下载吧
[发帖际遇]: 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:358 _0 O+ u/ T2 Q4 y
旋风又疯狂大修改了 哈哈

( b: V0 C& y- Z7 f% I% N# 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, 2025-6-7 15:49 , Processed in 1.103516 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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