EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑
  @% w& S) S  O2 v. T" I( R- e/ T- F$ }( Q  R
    [FC][最终任务][END选关]
% j7 J, }" G0 E/ Z6 l
- V5 |# B! x6 v) S! i7 I  o, a时间:2017.3.29
8 L$ |( N6 q: u1 t作者:FlameCyclone
3 K7 ~1 a! L4 {内容:
5 F6 Q& z+ u! o, ]+ c" Z    1.关卡选择:   标题时,左或B减,右或A加(1-5关);, _8 W5 S6 v4 V
    2.无敌锁定:   暂停后,按上键切换;
/ L& P0 l# C1 S+ |) q- l    3.生命加满:   暂停后,按下键切换;
) ^9 R( G$ P4 [& N9 u5 C9 E6 Y) Y! z    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);
3 j! G1 b1 I( v    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);' C# _2 Y" E+ A& c! L* G
    6.B弹数量:    暂停后,按A键切换(1个或2个);: _) f" i$ A; {# G5 B: e
    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;9 d9 D  p& v7 i6 \% P! W" ]
7 t) Y$ T3 g+ K  i5 l% \
& I; m) j: A& E  r$ l/ ?6 ?

5 h4 H4 a% C" C" s. h& r! K1 q' T5 Y! ~. [
  C0 c# l# Q, S

8 u, A; v/ Y2 Z, s
游客,如果您要查看本帖隐藏内容请回复

0 O, _2 ^6 G5 L4 G; E' |# _9 x, FFlameCyclone.ys168.com8 K2 g5 e' u9 I1 v! ?
www.nesbbs.com
  1. ;[FC][最终任务KEY][END]
    ' V- r* [8 M2 V3 k
  2. button = $04    ;单次按键
    & c+ H' b# r+ ?
  3. flag = $6000    ;功能开关标志
    & U+ F6 F/ P, S3 |" G9 S& j8 J& ~
  4. pause = $000E   ;暂停地址
    % m4 \+ r% S2 S
  5. - J% Y9 V/ t; N/ `$ i
  6. .ORG $8000/ m% Y, M( L% P# c
  7. LDY #$08    ;自带的按键程序( Q. b; X7 q, Q* _
  8. ADDR8002:
    " O: D! r0 H; m' o  O8 ~
  9. LDA $4016,X
    . L2 Y4 O) x' b+ E  }
  10. LSR
    ; m6 k/ Q+ t9 B
  11. ROL $0021
    ' s) T! M1 G2 f' G
  12. LSR
    " {/ Q9 t  _- F4 c
  13. ROL $0029
    1 N: ?& ^8 U/ F/ R# Y
  14. DEY+ u3 @) E  K5 c3 X
  15. BNE $8002+ C4 @/ ]: a' g0 W4 V0 m. d
  16. LDA $0021: P+ Z8 F/ f+ X& M' \
  17. ORA $00296 a4 i+ J, m2 p& U
  18. STA $0021# F% B* U* m* Y& k; F2 [
  19. LDA $0020
    * l+ P' r# \& ?, `9 \5 U4 k: C
  20. AND $0021, |/ p& c! O! F* I9 g  ~. y; q
  21. STA $0020
    6 |9 S8 b: x, x- i7 P- F; @
  22. LDA $06,X( N7 E$ `# Q: f6 d" F
  23. EOR $0020
      G  k- r+ \. A4 Y+ Q
  24. AND $00204 r" d* k+ D- G& V8 S
  25. STA $04,X. D6 R3 l5 F: M1 f; p; y; @
  26. LDA $0020
    - _* _( g# i( f; s! Y' m% s
  27. STA $06,X* f, S7 j2 c. G) A
  28. JSR KEY_OPERATE
    3 |5 ^; `$ M# S& B0 l
  29. JSR Function    ;功能调用
    $ s: S7 s* E$ h
  30. JSR Weapon    ;武器切换调用! U' S: r. t+ Z) r, B  T
  31. JSR Power    ;威力调用1 O, X! n3 C% {2 N- ^! R+ M( `
  32. JSR BULLET_NUM    ;子弹数目  \. C. ]  O& d8 @& k, p( K: T
  33. JSR BULLET    ;副武器类型! d% ~! P3 v  x0 _% W- n: [
  34. RTS
    3 j+ J' Q- a% b, d$ }4 {
  35. 4 b0 K: C+ Y( I$ D6 B

  36. 4 b' b: u; y- J  t' E* F

  37. 1 L+ k4 S# D/ P( p
  38. .ORG $8050
    9 Q9 ]  o1 t8 k9 ~
  39. Function:    ;功能
    ! e# [* G9 o. _) T7 _8 y. k
  40. WUDI:    ;无敌
    6 j" w& T+ X- O! M( L
  41. LDA $6000,X$ ^9 ~0 W* P" o4 n1 T6 ~
  42. AND #$08    ;开关判断
    7 [, G3 A% x4 @' W  h1 U2 s  f9 `
  43. BEQ LIFE0 k+ R$ ^$ x( ]7 v- G- T: A
  44. LDA #$05
    1 H0 ]; k% Q, K
  45. STA $05DC,X    ;无敌锁定8 K6 j/ D3 w5 k: [9 W6 B9 K
  46. LIFE:    ;生命6 {/ w8 ]8 i- h
  47. LDA $6000,X% I2 T' H2 H4 U/ {% T  Z* C
  48. AND #$04    ;开关判断2 `. ~3 {# ~0 N9 T
  49. BEQ FUNRTS: E1 t+ o- p2 P2 s
  50. LDA #$05. |$ Y, K5 |6 `$ c% ~
  51. STA $1C,X    ;生命赋值
    2 U& l/ J! r- j  w8 `5 p
  52. FUNRTS:
    / Q9 [6 w) q- d2 K
  53. RTS
    , B* U) D: ]4 e- L

  54. ; U. U+ E' G' I4 d
  55. Weapon:    ;武器切换: A+ ]( \/ ~! j% a
  56. LDA pause    ;暂停状态判断
    $ O2 \  t1 _) A) `, D& m$ n
  57. BNE WEARTS+ S- }* A* B' ^  J# k. A! ^
  58. LDA $04,X
    ! r: z# K7 y( l
  59. CMP #$20    ;选择键判断; \* u5 q) l2 W
  60. BNE WEARTS
    ( K( T$ L( Q9 Q$ ~5 M
  61. LDA $12,X7 i8 t. S. v# V  t: o
  62. CMP #$03    ;武器值判断) g# V& q$ O0 w- p2 n$ s9 q' O
  63. BCC WEAINC7 M" f! E* h+ [: I" G) @
  64. LDA #$FF
    . r1 K6 k" l& U* r/ k
  65. STA $12,X    ;武器重置* v/ j) z0 L9 U( r
  66. WEAINC:
    ' b3 Q( r* n1 o/ b
  67. INC $12,X    ;武器增加4 L6 a% O" L* i  t7 O

  68. 1 m1 K6 r& T4 Y
  69. WEARTS:
    1 w1 \1 T& |$ @+ B* n3 g
  70. RTS
    . U, O3 [& c% D, _. D( k  \( ^/ Q

  71. 5 @0 ], m: q. N% s
  72. Power:    ;威力
    7 H! T3 D. ?, h7 q
  73. LDA pause    ;暂停状态判断
    - W2 R6 R8 s2 V0 t# @8 @
  74. BEQ SPERTS
    # p* R+ {  y! U8 Q" o2 V% k/ F
  75. BUT_LEFT:; ?0 u3 a/ k9 o' \# {' v" c" j. {, Q
  76. LDA $04,X; n: Z4 B3 h6 s9 L
  77. CMP #$02    ;左按键判断
    0 v8 D3 ~/ K2 v7 d9 i! K9 {
  78. BNE BUT_RIGHT7 ]4 X( O& G- Q; o
  79. LDA $88,X
      E$ {4 k4 e8 R4 H. M1 \( k
  80. CMP #$00    ;威力判断
    $ v5 }4 U- Z; d- d. {; o
  81. BEQ SPERTS: n) `6 K; c' M* E8 z
  82. SPEDEC
    $ y9 o9 L$ Q; @+ u0 M, j
  83. LDA $88,X    ;读取武器值
    5 m: n& l' i* Z) m$ I$ j. f- D3 s% X
  84. SEC1 f# D& H* B  Y% e! ]
  85. SBC #$083 j6 y0 E- B+ p  }& k* V1 T
  86. STA $88,X    ;威力减小( t. ^( u  J: Q+ ~
  87. BUT_RIGHT:
    3 w) l8 k$ C/ `8 b) z8 g
  88. LDA $04,X8 c, \* a3 L# y! Z2 {: j4 d) O
  89. CMP #$01    ;右按键判断
    ' s" R: D! t/ U& J5 ?& Y% L
  90. BNE SPERTS
    8 p/ C3 R. m# i% E
  91. LDA $88,X  k7 [0 h3 V' A& `4 w' b. f  j
  92. CMP #$10    ;威力判断
    ; b$ ?& V' R: _: d
  93. BEQ SPERTS8 w; C2 P0 n0 L6 {; p. c
  94. SPEINC:
    4 \; S+ Y. U: l# E) @4 R  v/ m
  95. LDA $88,X    ;读取武器值
    , a) U& ]$ B! [2 u
  96. CLC
    0 q1 I8 L8 \: ?4 R; A; V; V, ~
  97. ADC #$086 S+ b3 [/ L* W+ L& V5 v7 {
  98. STA $88,X    ;威力增大1 F; L0 |8 \! I" w
  99. " L, t( g: L; E, M  L
  100. SPERTS:
    . g  B/ i$ E/ A, Y+ S& W/ i
  101. RTS/ z1 ~8 c& d: U& M$ l) h4 h4 t
  102. ) P6 g3 }$ f, R" n
  103. BULLET_NUM:    ;子弹数目+ X; P5 u& b# r- N$ g) |
  104. LDA pause    ;暂停状态判断
    ! h. f4 x1 C: y; z2 V
  105. BEQ BULRTS
    9 E: z* p+ }& A3 W- z3 n
  106. CPX #$00    ;主机玩家判断) E4 j% n4 \4 v6 _- I: Y# D9 A
  107. BNE BULRTS! H; S3 e- n3 b* ?" F
  108. LDA $04,X    ;主机玩家判断
    8 C+ b# t( h  f$ W
  109. AND #$80    ;按键A比较7 p  B7 }+ o3 ^4 f8 F& a
  110. BEQ BULRTS
    / X5 ^/ Y: X# Y- n: l# O
  111. LDA $87    ;状态判断
    7 x% w8 j7 ]; P2 f& X+ E- \0 G+ `
  112. BEQ BUL_28 @# I' q) w, z
  113. BUL_1:/ U( u# ~/ j, L+ e, j' w* E$ H
  114. LDA #$00% U9 G) a, U* p8 c  P2 b
  115. STA $87    ;1发子弹* Q4 l* K) E. G
  116. BEQ BULRTS
    7 z/ s2 F( W+ N, H6 Z) J0 C
  117. BUL_2:
    6 [" Y3 E2 j$ I( L1 Y5 f( m8 V
  118. LDA #$01* ?5 U5 P; u8 u0 Z! l  P
  119. STA $87    ;2发子弹
    8 X5 `: g; a- W* d5 n
  120. 3 g2 E+ u+ {( T; e
  121. BULRTS:. A* C, o$ `, [1 S& Q( @# m
  122. RTS
    $ }0 i4 g" E$ ^7 r
  123. $ P2 c# z  V# D: d' `2 z0 r# I5 A3 V
  124. 3 h3 P, ~! }( s0 J1 `1 w; S* P
  125. BULLET:, x$ [' k" J: v  p8 Q6 F
  126. LDA pause    ;判断暂停状态
    $ a5 k) n+ }2 q+ Y
  127. BEQ BULLETRTS% G( E) h' C& U# o/ ?! {7 y! n
  128. LDA $04,X4 T6 ^4 Q8 r  W8 y7 Q9 N  y! O
  129. CMP #$40    ;按键B比较
    5 m* x9 ~1 V+ ~# g4 G
  130. BNE BULLETRTS( g) G- L  i/ w! G8 D7 L- P
  131. LDA $6002,X    ;读取副武器
    & r* R. N& b# j! s: S1 w
  132. CMP #$03) A' J  c' n4 C) E1 V# u! u( Y
  133. BCC BULLETADD
    * E) c& A! [/ ?
  134. LDA #$FF! X9 B! q7 c& k+ w" h
  135. STA $6002,X
    ( Z6 |" M, k/ ^7 x& H# r7 M
  136. BULLETADD:1 @) B5 l: I5 O) K0 K, ^
  137. INC $6002,X( u! d' d. J% l: o8 ~5 k8 O

  138. 2 g2 {; F, v( P+ x4 b- u. T
  139. BULLETRTS:
    3 a' Z* a7 c' l; p1 H
  140. LDA $6002,X
    4 d) n8 f$ d. A
  141. TAY# h) C2 c5 ]- ?% l1 q
  142. LDA BULLET_DATA,Y/ g3 D1 m, C, F& N6 a# j+ g2 C  x
  143. STA $6004,X    ;写入副武器数据$ t. k6 A. ^0 G# v4 O( S0 O! X5 ?
  144. RTS
    6 L2 [1 H. m6 s
  145. ; X& n! _, H' \* E' |6 z
  146. 3 k8 z/ J" O2 d. L) R
  147. BULLET_DATA:  w: l# Y) S# v% `
  148. .BYTE $06,$02,$03,$049 ?* ^5 T( X$ D) n# |
  149. 1 l! ]6 c1 V! @- r6 ^" i$ ^
  150.   Y2 T" ]" O6 G& P/ n2 [
  151. " {$ O0 K* ]1 O% `
  152. KEY_OPERATE:    ;按键开关操作
    ' Z$ k4 Z- `1 k& X5 X
  153. data_protect:    ;数据保护7 O/ K8 k' x/ z- V# {
  154. PHA
    : m" r5 Z6 x0 j: c; n! t2 a1 u6 [. y
  155. TXA
    $ @  M, u  `+ T1 s: v6 B
  156. PHA9 H4 |8 ]4 S* E( p' A
  157. TYA
    7 A3 h; y3 A+ D
  158. PHA/ v& x! m9 R. p4 s# J& N0 Q
  159. 0 ]: r- j& o- U5 @" j  E: m* `$ u2 Y
  160. FLAG_INI:    ;开关标志初始化
    $ {; [$ G) v. e% s4 X
  161. 8 p' k0 B1 ^! ~% O$ w8 Y4 @
  162. LDA $600F3 k4 B0 U# {3 o7 _, w5 X$ }4 j
  163. CMP #$01
    . a$ ^  E$ C( D. y- `" k
  164. BEQ pause_cmp
    0 K. G* X8 I  S4 k& F0 g
  165. LDA #$00
    & |. l. z4 y1 R$ E
  166. STA $6000
    * n4 |: a+ u! j: ?. t/ @; Y$ m
  167. STA $6001
    8 p  U, I8 F' l+ b% E9 T" N
  168. STA $6002
    * u1 z# e  ]( j7 _
  169. STA $6003" b5 O  p# E* H. P/ S
  170. STA $6004
    9 \9 f  Z- ]4 e$ o: A
  171. STA $6005
    8 p, @$ `; w5 A# W5 c
  172. LDA #$01
    8 o' \+ |$ k9 f% L5 T
  173. STA $600F  A7 s: ^: T; u' k" b! X9 H3 D

  174. . f* b7 T) z# y& `  P# l
  175. pause_cmp:    ;判断暂停状态$ f  }# G/ U6 B
  176. LDA pause% a" W6 V. f/ Y) u
  177. CMP #$01    ;判断暂停状态
    ' o+ ^& f3 {: q7 V  r& `" `/ M" |
  178. BEQ button_press5 H: z- s) k* V+ W# _* d
  179. PLA( R, N# o1 M; f4 B1 Y% J
  180. TAY
    & h2 P% |: ]. C4 T. K0 c. B6 Q: x
  181. PLA
    5 `! O: t: n. Q% o
  182. TAX
    8 X- }: X0 {. T
  183. PLA
    & ?7 k9 S3 `' u
  184. RTS
    # A! h5 d  |" a  e! [0 c2 m

  185. 4 |' D, _+ }' Y  {) p4 W8 B
  186. button_press:    ;按压操作0 s& ]% ]& Y" A/ t
  187. ini_Y:* J. u3 K) ^4 s; s) t
  188. LDY #$00
    & L. B  W: ?7 X  h
  189. button_cmp:% H# T* I/ ]3 o' |3 X0 I/ l
  190. LDA button,X
    . |' R, b6 g" L2 S
  191. CMP ora_data,Y
    1 D/ }7 K2 J7 j' Y) k) I9 U* g( i
  192. BNE count_Y_cmp  L6 b1 g) w" M: f# n! r  Y
  193. flag_cmp:( m' i( k, r8 f
  194. LDA flag,X7 Y" }0 G$ K( e& R3 D+ S/ T; Z
  195. AND ora_data,Y
    + f4 S; r8 }- o  |: s- m
  196. BNE flag_and5 a( x4 C9 a6 C( ]* S
  197. flag_ora:+ A4 u! }4 m4 X, I9 {5 e' q
  198. LDA flag,X0 V3 I& q: j8 y8 |7 Q# W1 r
  199. ORA ora_data,Y  Y& z) o0 M" i1 }7 ^: b
  200. STA flag,X
    % T( W& p: [2 E( y
  201. BNE count_Y_cmp9 u6 u" a7 {) b, k1 J
  202. flag_and:
    ( B4 v$ p7 a, ]. K2 l
  203. LDA flag,X
    ; K9 o# |4 f" y) E! N4 R
  204. AND and_data,Y
    2 h- a- \5 @# A7 }' g+ V; i
  205. STA flag,X! Q0 D* V* c3 M/ ~
  206. count_Y_cmp:9 H! k: F3 h/ X) ^9 e
  207. INY
    ! E" @0 M: U7 s5 M
  208. CPY #$08
    : |  ]0 A$ }  n0 b# ]+ G' j
  209. BCC button_cmp+ F: E2 ^& }% m2 |$ ?4 Y: P2 K( B$ a

  210. : k$ Y! z4 B# ]
  211. data_extract:    ;数据恢复
    8 P' O; F: w9 z& e/ L. X
  212. PLA
    % q- F$ d! d% d$ m. x7 a
  213. TAY
    % q- ^  ]; ^$ `, c  T4 i
  214. PLA# T9 J, m7 C4 |$ ^4 r
  215. TAX
    8 T0 S% f7 ]) z( A# ]# z
  216. PLA! {3 C7 T' j" I. |1 m

  217. - V& Z* q! I; l. ~1 z$ ?/ \
  218. return:
    % Q3 a3 v7 ?/ w' O# F
  219. RTS
    + c, N  P- y9 W% t6 S
  220. ) r% @' o4 c  f, G0 z1 c' D
  221. ora_data:   ;按键相或数据
    8 N3 E7 |8 X$ A% H
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10, Q: P  V- j$ H# Q
  223. and_data:   ;按键相与数据
    + i' I5 D" a+ v7 P$ r" f/ r8 i
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF1 c) K% z% Q* Y% a0 O; q8 C0 c# O' \
  225. 8 W% M5 a/ k8 O
  226. % B! U8 ]* Z) U% Q

  227. + {3 K! _' o# W0 h5 ]  }

  228. 1 R5 H2 O: v- {

  229. 5 j2 p$ A4 _' v. Q' m6 {- x5 A) {( ]

  230. 1 @8 X0 |. r0 q! N! \; m
  231. ; i0 g9 O) e# o1 H  o0 y; p7 E
  232. & k, m) w( w4 ]: {

  233. # M/ N* N$ m" P% H! L' o
  234. .ORG $C264    ;自定义的MAPPER2切页程序
    * \$ x4 I8 h1 i" d
  235. PHA
    8 T4 A& ]$ t& Q$ V4 {
  236. TXA
    ' D' W+ `0 J/ _9 e, t% ?: _
  237. PHA, B2 `; B$ N: D. }5 _
  238. LDA $0066. B0 `  @$ \6 Y( m& R/ R
  239. BNE ADDRC2806 e3 L  h0 F/ W; J/ Z
  240. LDA #$072 ~7 G. F7 E4 O. a
  241. LDX #$03
    * t! ?. l% q' c9 F
  242. JSR $CD9B    ;自带的切bank方法; ?0 p7 q: [/ r* K4 M- _) j
  243. PLA
    , @6 M6 M: U2 B1 J) ]+ g
  244. TAX/ n; q3 J5 Z% F0 P
  245. PLA
    : R; w# `; h3 a! n2 g$ V8 a+ n
  246. JSR $8000( t) w% A" v5 k: M2 ^% C+ T
  247. LDA #$06
    # E1 Z+ Y+ F5 o: i1 c
  248. LDX #$03% v8 m" i% l" }$ h0 E3 e2 c
  249. JSR $CD9B    ;切回原该切得bank(可以不用)( o( N6 }8 L; f% S
  250. RTS! v* T$ H9 e; a3 D/ T
  251. ADDRC280:8 T' S% h- r- j& k$ Y
  252. PLA! i5 `1 R# @# K; C; d
  253. TAX
    0 p: G) K# I1 w" @. ?0 ?+ w
  254. PLA& w% {" Q7 `0 U  O0 |7 M+ M
  255. RTS
    1 F' Z  i8 T# P6 b5 O. M
  256. * E) `- ?( u% }4 k$ [5 C/ B. Y
  257. ; I3 @# O3 t* l% M. u: F( C+ X
  258. ;[FC][最终任务PPU][END]
    6 {! I' u: {) F% c$ H0 W/ c! U7 a
  259. .ORG $C056    ;跳转到PPU重写程序
    2 u8 G8 m, m! A/ r; K7 C' q  S+ P3 R0 ^
  260. JSR $7000
    5 {+ c# ^* e5 p7 f
  261. + b% m) r) x, T$ O: v
  262. .ORG $CEBF; ?2 [+ J4 Q" I+ A2 q$ [
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入- ]: K3 W. r" a5 o; M
  264.   
    ' |" P* L' n7 Y; s
  265.   .ORG $E460& V( o- a( v( T5 l$ N
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入
    4 i' t9 U! |! G' C, `2 K
  267.   6 j9 z: w3 w. q; e
  268. .ORG $71F0
    ( X% c0 D  t* w1 q, Q* k
  269. STAGE_DATA_WRITE:( @7 V% g" z2 ], d- Q. g5 g
  270.   LDA $6010
    3 \/ r  p) J3 v! p& A# R9 k
  271.   STA $1E    ;关卡写入
    & J" X2 g" h  x0 q
  272.   LDA #$00
    - W: O# P/ j$ q) w- Z, a2 ^
  273.   RTS9 o' F7 O. E2 b& J" W+ x/ ^
  274. .ORG $71C0
    % b2 S0 h3 W. z6 }6 ?$ d, _/ Y2 ^! \
  275. BULLET_DATA_WRITE:    ;副武器数据写入
    ! p( ]$ x9 ~, d9 `+ z" w
  276. CPX #$0E3 {; H1 L7 f  ~
  277. BCS P2_BUL
    / B: T) _$ u" ~" x
  278. P1_BUL:- ~( D" T5 h5 Y8 z  K, @# A: o
  279. LDA $6004) `8 [) B8 \, z. h6 O, }
  280. JSR $D7D0    ;P1副武器数据写入9 L4 ]0 \: D8 T
  281. RTS( g/ A2 H6 c: p! k7 i0 n' M# @* y' v
  282. P2_BUL:
    * H( v$ k2 ~( c8 i9 b9 t
  283. LDA $6005% p! r% o# K( v2 i2 s
  284. JSR $D7D0    ;P2副武器数据写入" L5 f: L! y% F1 ^* i+ X
  285. RTS
    4 [6 n2 Q" y, Y3 c

  286. * ~7 N) \8 U/ Z0 a( q! p
  287. 9 X. x. h3 ?) f3 e9 O' P9 U
  288. .ORG $7000" I! N" h6 L/ W+ P$ i) Z
  289.   
    ( A- g# J' t) \
  290. STY $4014    ;补上覆盖的精灵写入指令
    8 l$ p% m2 R' z% w2 W! J, z
  291. PHA
    $ l4 U% ^! C# x% B" V( D
  292. TXA! \: E! V' ?/ J; T
  293. PHA
    # ~% l) U" |$ Y3 _
  294. TYA
      [7 a- z! k; J
  295. PHA
    , K, R( {$ f3 `
  296. LDA $0C$ j# I2 }- D# l2 {! `
  297. CMP #$01    ;比较是否为标题画面5 h' o" z) Z  l! q( X$ v/ `
  298. BEQ PPU_STAGE
    9 {9 w* a. c  M
  299. PLA& D, a2 h6 q9 Q* V2 Z
  300. TAY
    / u! O7 d9 \; |$ g" Q. p5 g# k
  301. PLA% T" h. I  A- e9 M
  302. TAX; C& Z; Z: U6 B8 `0 T/ }) u8 @
  303. PLA
    4 E* _6 q% M0 Q5 J. D6 d" O
  304. RTS+ o) @4 ^. ]/ `  X6 G& W  [; g
  305. PPU_STAGE:    ;STAGE显示程序
    ) m8 D3 C, U9 ^/ i
  306. LDA PPU_ADDR_DATA+ {8 s% a" M; j; D+ D
  307. STA $2006
    5 i, c2 @8 z% \; g
  308. LDA PPU_ADDR_DATA+16 z2 [8 H4 F' _+ m5 P. v" l
  309. STA $2006    ;坐标设置/ R" c& p+ v$ G" m
  310. LDX #$00% B" s. @' M4 |6 A3 b. R# o/ H9 j) A& G
  311. PPU_STAGE_WROTE:    ;写入STAGE字模
    ) X0 I$ \0 B! ^# l' W
  312. LDA STAGE_DATA,X: g- v) X: I6 a5 i  Y! f; F/ t2 z! [
  313. STA $2007. ^* e$ V- F6 f8 w
  314. INX
    6 H: ]8 _+ o3 ]  }
  315. CPX #$06
    9 X5 _& N% g. S$ f8 k
  316. BCC PPU_STAGE_WROTE
    % D5 _  S; q( j1 J  I
  317. LDA $6010
    % K/ E6 H! Z( p& y" P. S
  318. CMP #$FF    ;关卡数据初始化条件判断0 r% `/ ]% E9 p) t0 H7 B' J
  319. BNE KEY_B/ Q! `2 I( [& }1 d* x! [
  320. LDA #$00
    3 d0 R2 b0 x  r6 ]' O$ T- }% g4 j
  321. STA $6010    ;关卡数据初始化  p4 q4 S% K; \+ m8 Q7 H3 \% g) F6 o
  322. KEY_B:    ;关卡减少
    1 T. J$ P* _$ z8 U+ c; c
  323. LDA $04. `2 {4 y5 Y; g' S! s, {2 O
  324. AND #$42    ;按键B或左减关* {; y4 `% c+ ~* x# Y( ~; _
  325. BEQ KEY_A
    & m& @7 s" g( {5 t5 j& _! c
  326. LDA $6010
    3 _- A* V/ \2 C! _8 z& ^
  327. CMP #$00    ;关卡比较
    % W3 e8 @6 j5 |. {
  328. BEQ KEY_A
    * T- L7 o: u2 ~
  329. DEC $6010   ;减关& Q0 W4 {$ M! ~9 p
  330. KEY_A:    ;关卡增加  x. U) F+ e* q$ e6 i9 Z* }9 G
  331. LDA $04" ^' D" C2 I3 _$ s3 k! N
  332. AND #$81    ;按键A或右加关  {4 A8 R9 ?% u" Q! g
  333. BEQ PPU_NUM_WRITE4 C' D: v! Y2 ?! H5 X" n6 ?
  334. LDA $6010
    / ]& Z6 M0 a$ S$ ?, {8 Z
  335. CMP #$04    ;关卡比较! b, W, q: T# y, T
  336. BEQ PPU_NUM_WRITE+ y8 j" s6 h7 y0 i
  337. INC $6010    ;加关6 Y; l! i" D$ I% D. N
  338. PPU_NUM_WRITE:
    3 Q' ]( |) r7 a8 A
  339. LDA $6010# w7 ~& S' [. Y1 b& K8 }
  340. TAX
    & `; H- W& P7 J) k
  341. LDA STAGE_NUM,X    ;写入数字
    $ t6 Y, p" q+ ?# R7 d/ S
  342. STA $2007
    5 E5 H- u5 W1 |. o8 R6 \* o
  343. PPU_RTS:
    & D( P7 U. n: r1 i3 c2 C7 E
  344. PLA1 g  I# ?2 t5 b. h' y* M
  345. TAY! f$ i  K- P+ k) H/ U# q+ t
  346. PLA- w% H8 D9 S/ C, |
  347. TAX. L6 i# u3 k+ N3 Z1 X& B# y8 V
  348. PLA
    : E; }. o# A7 H; X! e. x# y$ a
  349. RTS
    8 u  i4 x! M( ^( y/ V

  350. : b* c& s/ b& ]# G0 A/ ^2 Z
  351. # x4 d7 r0 F: @' l- |
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据
    - |. P4 V& j+ g( P8 e
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00
    ' q0 M# ^3 Q, L% O% f
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据; Q# c" [9 N' @7 ~3 H
  355. .BYTE $D1,$D2,$D3,$D4,$D5. \/ A% e; o/ K& l; j! S; M# {

  356. . c; O. {; ^& I7 V
  357. PPU_ADDR_DATA:0 p1 }1 `+ r2 o7 O. O
  358. .BYTE $23,$0C
    & T8 e* I. \" K; d
  359. ' |& `" o7 q8 Q% M8 s
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1483 天

[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 个 柠檬. 幸运榜 / 衰神榜

签到天数: 2892 天

[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
- \* z# ~% [1 Y5 z/ g9 x最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊

. r/ d# {: n; M. z3 E& W8 Z已经加上了,赶紧下载吧
[发帖际遇]: 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
' [& U' f3 l9 C* J8 T3 X/ g旋风又疯狂大修改了 哈哈
# B0 U3 D- a) K7 d3 y
疯狂不起来,无聊了而已
[发帖际遇]: 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-18 06:22 , Processed in 1.085937 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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