EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑
, w* {7 d% O9 [
1 `1 I$ M& s+ G- z! u5 O8 W    [FC][最终任务][END选关]+ N" C( R! H4 h2 }
% Z& m0 x5 f+ }: J) c
时间:2017.3.293 s2 {; B1 L/ S* J& i5 A
作者:FlameCyclone/ i) D" ~2 Q/ A+ a
内容:
5 p- c# ^6 s( ~7 S/ N6 y4 N! i* p% v' ~    1.关卡选择:   标题时,左或B减,右或A加(1-5关);
5 Y! p# ~2 [0 F    2.无敌锁定:   暂停后,按上键切换;
4 a8 c! V" N, i1 y( P    3.生命加满:   暂停后,按下键切换;8 z+ b, C! |; L* `
    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);# O( s; N8 {. m: H
    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);
. x( h' L) c* x    6.B弹数量:    暂停后,按A键切换(1个或2个);
5 o; s: i' U: `    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;. u$ R6 e& m% D2 u4 i

1 n6 V% X+ m3 l/ s
5 P% K. M3 j+ w% _4 Y! k* O# {- h/ m0 P) n! b/ B2 i7 Q, Q* A! A
- _" J, p: Z) W- J

& _/ J3 V/ e6 x0 L  P
3 n& z1 ~9 }% _5 Q) P) v0 ~
游客,如果您要查看本帖隐藏内容请回复
1 Y6 ]: h( d/ K3 i' R
FlameCyclone.ys168.com
, F( z& j' M5 g( t/ Y) n# vwww.nesbbs.com
  1. ;[FC][最终任务KEY][END]* f9 o. w, I, }6 Q8 y, ~1 ^) r, X
  2. button = $04    ;单次按键# ^  F0 I, Z3 T9 M* E% ]5 H- U
  3. flag = $6000    ;功能开关标志# x0 F% T4 I: K/ V
  4. pause = $000E   ;暂停地址3 u* \/ `' Y( v$ g+ b- O+ C& I

  5. ; ]0 Y0 a) |3 f8 N
  6. .ORG $8000
    7 D. S: j) @2 ]8 c9 G
  7. LDY #$08    ;自带的按键程序0 O, q0 V# M- q! q+ d0 A  c+ _4 g3 ]
  8. ADDR8002:; p. M- [: i8 u% j& }
  9. LDA $4016,X
    " g" `3 I6 q0 z2 V7 P; b/ |
  10. LSR8 K/ ^& z" n7 m2 `$ t- P
  11. ROL $0021& o1 ?- g$ H" J; _- j5 H9 L' W1 P
  12. LSR
    ( q# k! ?9 U) _! |9 R, c
  13. ROL $0029/ |. W0 E& f6 Q) |
  14. DEY
    . G- e7 \5 Y8 @" e) R
  15. BNE $8002
    . ]0 A$ z8 p" p
  16. LDA $0021* }; }. ~: J$ \- c: S
  17. ORA $0029
    3 i6 d) R; x- N8 I4 [1 P
  18. STA $0021# y' W7 j) Y2 r+ y# e8 m
  19. LDA $0020  G3 D) P. I  j( K! q
  20. AND $0021. t6 H1 P% D* G. Y% Z' @$ L: _1 z
  21. STA $00209 l, n; {' q' ]9 |4 S3 \; d8 j) ~# n# Z! ?* {
  22. LDA $06,X
    2 Z* E7 ^$ U5 s" R% N, h8 j
  23. EOR $0020! x( |! o1 j, D
  24. AND $0020
    9 i; Z! M& k! b. K
  25. STA $04,X
    4 L0 J# ]$ x! v8 k* F
  26. LDA $0020
    ! i! z$ M2 Q9 y: K
  27. STA $06,X
    * ?- |+ n$ p) Q: L- _
  28. JSR KEY_OPERATE  j! v3 K) L1 u' K7 k# v+ }+ q
  29. JSR Function    ;功能调用/ p$ {3 W5 ]( }& u* r! H' |9 C
  30. JSR Weapon    ;武器切换调用
    1 k0 ]0 s6 `* q# d4 f5 ]' I& N
  31. JSR Power    ;威力调用
    . `1 }" P0 }1 f/ J9 I! v
  32. JSR BULLET_NUM    ;子弹数目
    / [+ t8 k7 c6 C" K$ N7 [2 V
  33. JSR BULLET    ;副武器类型
    . }4 I8 b9 W/ M( P6 `$ p6 i
  34. RTS, ^% u, {7 Y- R7 c6 E. M3 `# W0 x5 T

  35. ; |! _1 @% n, @

  36. 7 [# f, p& C; V  J* m
  37. / r4 G6 h* j: P' X1 K7 W
  38. .ORG $8050+ k; ~5 l+ l  g& n) O9 v
  39. Function:    ;功能. J+ f0 ]* l" G" O
  40. WUDI:    ;无敌+ |. y3 X( |2 O. E
  41. LDA $6000,X
    # E0 U' v1 m9 J& h5 W9 {% V- s. f
  42. AND #$08    ;开关判断2 E. K% h" ]0 U# H
  43. BEQ LIFE5 Z  [; }8 p' v: |/ g4 ?
  44. LDA #$05
      Q5 Z7 S0 [+ ]- ^' {3 f: D0 D" e
  45. STA $05DC,X    ;无敌锁定
    * @5 [/ i9 p6 B) J* H% n
  46. LIFE:    ;生命% g$ L2 j: j4 Z9 H+ e
  47. LDA $6000,X: t- e& E+ H+ ?) i8 b3 B0 Y* g/ E4 j
  48. AND #$04    ;开关判断
    # w9 m, b$ U! S2 i% \' F3 k
  49. BEQ FUNRTS
    9 D; u& E! o2 J( e* Y
  50. LDA #$05
    & ^' W3 D- l6 E( Q4 Y6 k' _# N
  51. STA $1C,X    ;生命赋值& T8 D: c9 A+ s, P* M0 k7 D8 N+ m
  52. FUNRTS:, r! g- ]& A6 O" ^0 |
  53. RTS$ F# E$ s- S  w, G5 B; K

  54. - {- G* t, S: K- M8 q
  55. Weapon:    ;武器切换% z7 V5 U: P# W
  56. LDA pause    ;暂停状态判断
    8 U/ b$ J) s6 x8 i6 [$ o# w3 ^
  57. BNE WEARTS  V* M1 m7 P- I4 L
  58. LDA $04,X  o8 E. `( C; w8 Y1 P4 S
  59. CMP #$20    ;选择键判断
    5 m9 k! z5 s9 h& {8 e# p
  60. BNE WEARTS6 Z) ]7 S# z* Z8 w* P4 l
  61. LDA $12,X! X/ T( ?4 L* b( E& {0 R8 G
  62. CMP #$03    ;武器值判断
    # z" w" T( o/ e
  63. BCC WEAINC6 e' _; w% `7 \  Q- ], j
  64. LDA #$FF
    9 _5 L5 c5 j$ d# B& O0 Q% t
  65. STA $12,X    ;武器重置
    ' q5 F) G8 W. M$ c) r/ Z
  66. WEAINC:' q7 i9 \* }) O4 F; d, S
  67. INC $12,X    ;武器增加
    ; M5 q# T' s0 J. k, I" ~, W
  68. ) u0 K) n3 b; r; {" B
  69. WEARTS:# p# X% ?! c) u
  70. RTS
    , F2 }$ {9 M9 ~$ C9 N* {* F

  71. * d, u% Y' d' ^% f
  72. Power:    ;威力) }: `" R7 w$ f+ ]) H( E2 X
  73. LDA pause    ;暂停状态判断/ K. H) y( d- @* s) v  o
  74. BEQ SPERTS* b* T+ e( u7 [& Y. u. s
  75. BUT_LEFT:
    - B% V. u! G2 L
  76. LDA $04,X" o' E* j5 G7 t# w  X, ?
  77. CMP #$02    ;左按键判断. s& `  |* i, {
  78. BNE BUT_RIGHT7 w) s0 W; z: ^0 T3 F; t
  79. LDA $88,X" U9 i9 k% a; U5 h2 H
  80. CMP #$00    ;威力判断/ m0 e4 i- Y/ }, t+ W
  81. BEQ SPERTS! U" T) E. Z7 g% R2 B& z/ S# X
  82. SPEDEC! R3 p2 L" a! M$ ^; _) V' a  C+ P5 D1 }
  83. LDA $88,X    ;读取武器值; X7 W; L8 F3 _( \, |) n5 P
  84. SEC- \- z; l& K: R2 U/ f
  85. SBC #$08" P* {( q1 i  d: e0 U( w
  86. STA $88,X    ;威力减小
    1 a6 K$ O4 c' k" V
  87. BUT_RIGHT:/ R. o+ \; }" e5 J! m
  88. LDA $04,X
    , D% W, q( m3 \
  89. CMP #$01    ;右按键判断
    - P! N$ l0 [1 u- b  T" X6 E+ P. g
  90. BNE SPERTS
    " Z  x; K+ b3 W- D  @6 E% |9 `, f
  91. LDA $88,X
    6 q( @" |+ Y; o% P- R
  92. CMP #$10    ;威力判断
    , D* F( J8 ^; ?4 f: {$ Q- k
  93. BEQ SPERTS
    % K) A4 X; |, F) C
  94. SPEINC:# U9 B* U( j3 q# V. L$ W
  95. LDA $88,X    ;读取武器值
    , K5 ]: V3 z! P" E9 U5 H: p' O
  96. CLC
    - M" J9 F! K$ Z$ H' h2 w
  97. ADC #$08: G3 m; O& k  p9 g' d8 E
  98. STA $88,X    ;威力增大" A3 D, D) J! O: ~: f0 h

  99. & }) W- {) `1 k7 J1 {  w1 S
  100. SPERTS:
    " x, E  G% d$ i0 `4 ~
  101. RTS
    # {3 L3 V& g5 h" b) w! _. @

  102. 9 F  _( U2 s* L/ c4 P  \; f
  103. BULLET_NUM:    ;子弹数目$ w+ d0 D) {, x1 u6 O
  104. LDA pause    ;暂停状态判断
    " Z! @' k) H6 d0 ?6 R/ E3 r1 Q
  105. BEQ BULRTS
    + b9 S5 ]. `. ]6 g* U7 q/ U
  106. CPX #$00    ;主机玩家判断
    / z+ H- v' ?0 d6 ?4 m. O: A
  107. BNE BULRTS
    : u: Y4 @$ B5 X! ^6 m& e: f2 y
  108. LDA $04,X    ;主机玩家判断, Z: R' Z  F2 R1 `; [1 e* k4 C
  109. AND #$80    ;按键A比较
    # S- P" @4 N1 O5 I# S9 {
  110. BEQ BULRTS+ S* Y' n  l- w" T9 w
  111. LDA $87    ;状态判断
    ) ^8 ]0 _, n, e$ }* T1 d7 V5 {
  112. BEQ BUL_2- B$ ], @- L2 r4 m5 q
  113. BUL_1:) D/ f+ h) s7 O& y0 o/ a
  114. LDA #$00% p8 y) O: Z& [& K+ I. G
  115. STA $87    ;1发子弹0 A, P* d. W4 I
  116. BEQ BULRTS
    ! L1 l1 ~* ?( L- d. M/ O8 a
  117. BUL_2:9 P/ X4 @3 u$ s* e' @( D# ~, z
  118. LDA #$01
    0 i  _% F2 B1 V$ a0 Q
  119. STA $87    ;2发子弹
    6 K1 r+ Z8 F& f4 p3 N

  120. ( X) ^- j( H3 i. D5 P9 o* p( Q
  121. BULRTS:7 Z- K; a# Z* Z6 v' n4 g
  122. RTS2 \. f/ `, |& V4 I

  123. + Z8 D! j- V3 [$ y

  124. 0 w6 f+ ~& ~7 c" i# X9 q; L$ W
  125. BULLET:$ [+ d* H! [3 {
  126. LDA pause    ;判断暂停状态% b9 L- ], V5 R
  127. BEQ BULLETRTS* t2 [8 |% I5 {! n+ m8 X& f9 ]$ j
  128. LDA $04,X* l  F% g  B% L. I1 m7 ]8 j# I
  129. CMP #$40    ;按键B比较6 t+ Z  w; S( b  |+ N. j" m) j! D
  130. BNE BULLETRTS
    8 ]) `( y- \# G7 g: J6 @2 y
  131. LDA $6002,X    ;读取副武器
    ( x$ z: V/ K4 V0 \; |. ]# {) E* f
  132. CMP #$03! K, P  Q! i3 v: L, n
  133. BCC BULLETADD
    7 t: N  \  E2 ]
  134. LDA #$FF/ J2 T; U4 F! j( C
  135. STA $6002,X- v3 U$ n" M) L! E! T; |
  136. BULLETADD:- @4 a6 @3 E+ y- g& k1 _) O; B
  137. INC $6002,X# {8 f5 Z; G9 F0 _1 o
  138. 3 Y: W+ y! d: B5 @2 h! R
  139. BULLETRTS:" S2 i% A+ y# B$ [
  140. LDA $6002,X. H: c3 L- H* ^4 l0 N/ y
  141. TAY
    ( N9 x: A* u* v% b# M
  142. LDA BULLET_DATA,Y; M! t/ |/ S1 W  x
  143. STA $6004,X    ;写入副武器数据
    1 Y0 \3 Z; z$ p, I) f2 M
  144. RTS0 H  p) @2 Z5 [+ _9 o5 a

  145. 9 Q. ]! G: s) _# m9 i  m& Y

  146.   p: K9 F1 w2 G0 Z9 q2 D  A
  147. BULLET_DATA:
    . H" z) ^7 F+ o' S  O( C
  148. .BYTE $06,$02,$03,$04
    ( U' v: g) r0 \4 }
  149. # Z6 V# q7 [5 q

  150. $ @. F6 y4 I* X/ s) v! b
  151. ) F# `/ T, U8 y' w
  152. KEY_OPERATE:    ;按键开关操作
    - T  p, U- A: \  }
  153. data_protect:    ;数据保护
    0 q, f& k" G6 M  p5 A# X) h& e" g
  154. PHA0 J# x9 o5 K) }* J- _# Q- C
  155. TXA$ A' o2 q( v1 }
  156. PHA
    7 R0 {: w5 E( s& z6 e# V" [
  157. TYA2 W4 j9 }$ P# a# _3 H; ]! ~
  158. PHA
    + i- Y3 @' S; F4 ]# c. M6 I2 @
  159. 5 o  m* [6 a: d6 s( R/ i/ c
  160. FLAG_INI:    ;开关标志初始化
    - |. p, q( k' [9 o. o
  161. ) H' w  a% r9 Q5 D% p9 `: Y
  162. LDA $600F" N) \$ Q; f9 u0 M" p, V& m  e; P
  163. CMP #$014 H2 l# ?! j) n2 T2 K1 n! r) v
  164. BEQ pause_cmp1 _- C/ ^5 r+ Q7 G# O
  165. LDA #$00  z' s- D9 w( V4 z+ H- i
  166. STA $6000
    6 I% x( K" Y0 d( v* t
  167. STA $6001, @  ^7 _3 v- A+ z9 y7 `6 y, f
  168. STA $60029 u9 t: k5 f1 [7 d3 J6 Q4 T
  169. STA $6003
    * N4 S6 y0 V$ t1 x
  170. STA $60043 e$ F# O: S. K" Z2 }
  171. STA $6005( t! q% o0 q: O+ `. h
  172. LDA #$01& x+ @1 [2 d9 u" A' t. l
  173. STA $600F
    # ?. {- _  J4 b, e. n
  174. " w6 r) q; H' ~( [
  175. pause_cmp:    ;判断暂停状态. f1 S. f& F4 F; O
  176. LDA pause
    1 l, _& B" L$ k. [
  177. CMP #$01    ;判断暂停状态
    8 c& Y& T8 Q7 z7 r6 u  W
  178. BEQ button_press" Y9 o) E5 ?! V3 @+ Q/ M" Q2 c4 t
  179. PLA
    " m  W) S  [+ Y4 `
  180. TAY0 s- V% y0 V& h, t3 ~' A$ H! S+ o
  181. PLA
    . d' g1 M& p5 u: _* }
  182. TAX7 ]& Z' V3 y8 A3 S! a3 z
  183. PLA
    / M0 {6 P6 l7 H% U7 h7 K
  184. RTS
    - e, h3 P+ g: N( \. y/ q+ [5 C- k

  185. * g4 A2 i) }9 x4 s: q  p
  186. button_press:    ;按压操作: a; k4 {2 ^" B5 f
  187. ini_Y:1 V( C- X% I, Y! x, q
  188. LDY #$00  ]9 l( V: i& r4 D- t. R& H
  189. button_cmp:8 P+ e; Y: ]. M5 S3 f
  190. LDA button,X3 u8 p9 N6 G4 e5 ~2 B
  191. CMP ora_data,Y
    - L+ I* `4 F' i0 z  r) x8 L! I; ]
  192. BNE count_Y_cmp
    * n. p) I1 T! ~
  193. flag_cmp:7 ], a' y& ]3 C  l- T
  194. LDA flag,X, R$ j, o1 N  L' [' o- @$ w
  195. AND ora_data,Y  D$ y5 Q0 u* V, H- e
  196. BNE flag_and
    * Z+ }; W: b) s% G& s- j
  197. flag_ora:
    1 N7 Y' R" c% `/ e+ n- @' m' g
  198. LDA flag,X
    " ~$ l8 z1 r4 o
  199. ORA ora_data,Y
    0 M* |$ G$ v2 ~: K0 }
  200. STA flag,X4 m% H1 I: k0 i4 m6 ~8 Q- F
  201. BNE count_Y_cmp) x4 E) J5 [7 v
  202. flag_and:% p, {; @& B5 w# c0 g9 o
  203. LDA flag,X( S/ E: Z% i8 ^5 g
  204. AND and_data,Y4 J$ \* {1 K3 r; V- \  W, @" _
  205. STA flag,X0 ^" y( n6 D' L( W
  206. count_Y_cmp:% g! X( b- @# s, R
  207. INY
    : d/ F. t2 r; \6 }5 X
  208. CPY #$08/ e1 D: n6 }7 c' Z0 u
  209. BCC button_cmp! t* g0 w: `$ p; M" X4 z

  210. % ^* T" d. E* F" Y% r7 i$ _# O
  211. data_extract:    ;数据恢复, b, B$ I5 H3 j
  212. PLA8 v6 Q' N( U: `8 h% q5 T8 u
  213. TAY+ |3 ?1 ]$ b7 s  U4 N- z) w
  214. PLA
    ! n% O  I) b( v# N1 y5 S
  215. TAX( _. r- @& ~! t4 }
  216. PLA% I( p  J4 q1 a3 d, K! F/ `

  217. ; s2 D: M  k8 _% V- C
  218. return:- W) @' E9 y4 y, @8 X$ y- @3 S
  219. RTS
    ! c3 k9 f1 ^0 |5 K7 {5 E% M, t
  220. # S+ r* H6 F( S6 [
  221. ora_data:   ;按键相或数据
    ; @$ t) y& b! g. ]' e$ \# P: m1 x5 l) B
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10$ w8 A" _9 R) E5 B1 U
  223. and_data:   ;按键相与数据% g6 \/ i5 x0 W0 \7 f0 \
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    8 K( s; q! S! ^0 M" |7 Y

  225. ) \" [' L7 ^0 d4 p: @
  226. . Z$ ~# Q* O/ w8 h9 }% f
  227. . B% [) _  ?  n% @

  228. ) t* k5 N& q: P' B) L+ V
  229. 2 g- r& C2 |; O" S' i/ H4 z

  230. % Y  B, _9 l4 Z; H+ \
  231. * ~; ]1 q  A' _6 l& x1 r% S

  232. 4 c$ H' ]3 d; M# M
  233. ! P5 L% p* I- R4 e) x5 m
  234. .ORG $C264    ;自定义的MAPPER2切页程序
    + k% F. i5 ^, s. u. h5 z6 L
  235. PHA
    0 m. ]) x( Q1 G; o9 i
  236. TXA* l* l6 ]* c6 H+ ~- j
  237. PHA
    , J! l/ g. a. Q' W. ?( U/ J; O$ E( {
  238. LDA $00669 r2 n+ f# @4 |# p* ~
  239. BNE ADDRC280
    5 S" m# w6 n, E  O; y9 a# z
  240. LDA #$075 }+ Z+ G9 F( O/ M7 T. x
  241. LDX #$03
    - t! h$ p* X6 l2 J$ @# |
  242. JSR $CD9B    ;自带的切bank方法
    8 a# z. ~6 x  F  o$ J
  243. PLA9 w! x3 Z5 l& f
  244. TAX' P5 C6 M& U3 G( j- J6 w' z
  245. PLA; J. P6 J/ z/ t3 y% G
  246. JSR $8000
    ' ?$ g) D- f  l& d7 [
  247. LDA #$06
    1 ?8 R7 Y3 Q9 Q! c
  248. LDX #$03- o% z$ j) e' }0 z  k) n1 P2 J
  249. JSR $CD9B    ;切回原该切得bank(可以不用)
    ! z0 `- s' `4 c  w$ V5 Q
  250. RTS  k$ {: M8 x" ?
  251. ADDRC280:# U! e6 o2 e# X; [# K# s+ K
  252. PLA3 ]; D( B8 {2 k! ~. h$ C/ |- R
  253. TAX
    ( a7 O6 E1 O/ F
  254. PLA
    " b, H+ `8 B& H# X4 G7 B; n
  255. RTS+ {- u! j6 e7 [
  256. $ u4 Y+ X4 l5 r7 H  Y4 h' p0 P

  257. . D& U) r! f6 F& d
  258. ;[FC][最终任务PPU][END]
    ) f2 K1 m4 l% a$ Q& [
  259. .ORG $C056    ;跳转到PPU重写程序  @& T. l) Y5 p% L+ R" O
  260. JSR $7000/ Y, x6 H8 A1 N

  261. ; L2 x3 X, A0 {2 e2 J) N
  262. .ORG $CEBF1 o  T* ?7 e. Z$ b- {
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入8 w, Z/ `$ J4 \" U
  264.   
    : p/ F+ R* l; y0 w. i6 B8 P% `
  265.   .ORG $E460
    ( j5 `& k, _/ R: Z# h! }+ A, p
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入
    & d2 z8 T9 b0 ?9 M5 @2 Z  Y- @
  267.   
    : U; z& A: q. m( w
  268. .ORG $71F0
    " E5 `4 A$ n6 [% d+ c
  269. STAGE_DATA_WRITE:
      |2 P2 ]( n; j) x6 ^
  270.   LDA $6010
    . [6 M, K* y* G& i/ A
  271.   STA $1E    ;关卡写入
    # L) f/ Q. H0 y6 t
  272.   LDA #$00
    ; A  r5 D4 B$ I3 s
  273.   RTS( _, [  j  L7 M7 i( z+ y
  274. .ORG $71C0& t, W8 D& b5 n' q, W: K$ Q
  275. BULLET_DATA_WRITE:    ;副武器数据写入# F  z9 ?: B  A) M, E/ [; H% N# Y
  276. CPX #$0E
    1 Y2 i  o) G# h: x
  277. BCS P2_BUL+ ^* l9 K: v9 H! e$ {
  278. P1_BUL:- {9 H% b0 I8 M4 A+ b7 _0 x  q
  279. LDA $6004
    . C3 @) R( l5 F
  280. JSR $D7D0    ;P1副武器数据写入" u$ m$ _; T) {% \3 g! p( z
  281. RTS
    ; X6 a3 f1 `; S
  282. P2_BUL:
    , w+ i% ]3 c! N5 Y0 F5 w4 a
  283. LDA $60052 w2 f3 a; Z9 n: e
  284. JSR $D7D0    ;P2副武器数据写入
    # p2 [. q' d! [# V
  285. RTS; N+ ]4 d$ e$ ~1 r  Y, m; }0 P  P0 r
  286. + u  p7 L# {0 K- [2 V
  287. 2 D6 T; s& [! L& d9 k* C
  288. .ORG $7000- C# _4 r) @  y* r
  289.   
    ; F+ x/ W8 |5 H4 x
  290. STY $4014    ;补上覆盖的精灵写入指令% x( M# z: L0 v' n
  291. PHA4 r% i  \8 w( X' y
  292. TXA- r! P$ _: h5 Y& @, {, _* X/ U
  293. PHA
    " ?' a: n" o- {# [
  294. TYA. _  K, N5 ?& ~) Z/ l* t/ e
  295. PHA9 W. U" ~8 O8 y5 m) {* Y
  296. LDA $0C
    . h3 b9 C& X$ @. G4 X
  297. CMP #$01    ;比较是否为标题画面
    4 e- a: b0 k+ R' d- l1 B
  298. BEQ PPU_STAGE
    % s6 Z' s4 g5 q8 o
  299. PLA8 o% j5 G8 @* L% B$ Y8 n
  300. TAY: H3 |6 @) h# Z" U! T/ z$ k
  301. PLA
    ! M  P/ f/ H6 K# G
  302. TAX
    : V4 I  [. k8 Q) Z8 d, f* V0 q! x
  303. PLA' J. G7 m4 K: A5 r9 M
  304. RTS! S; h( T2 u5 e. t
  305. PPU_STAGE:    ;STAGE显示程序
    # U. e# H4 \0 R# b5 F
  306. LDA PPU_ADDR_DATA
    ; M5 \2 Q5 O9 K  G" P
  307. STA $2006
    3 Y- I; w8 y5 Y0 ]& }5 W1 T0 V
  308. LDA PPU_ADDR_DATA+15 M# b- j+ Z$ P9 q. w5 O& |+ X
  309. STA $2006    ;坐标设置( a/ {; g" x" W( Q
  310. LDX #$00$ S$ G! [/ f' B0 s8 D/ k
  311. PPU_STAGE_WROTE:    ;写入STAGE字模2 V) w! |* Q; V4 ~) R
  312. LDA STAGE_DATA,X
    9 O: j5 n+ q7 N) P- ~& p
  313. STA $2007
    3 N$ V4 S" F3 k
  314. INX9 e* k" A6 m" w
  315. CPX #$06
    / }, ]# y7 s" ^8 L& T3 h
  316. BCC PPU_STAGE_WROTE6 n! x" n" ^& o  |+ l
  317. LDA $60102 h! C" _& N6 ?5 z
  318. CMP #$FF    ;关卡数据初始化条件判断
    # V( _8 j% `4 g2 ]( h( x3 r9 M! G
  319. BNE KEY_B
    # N1 B; I2 l. l$ ]! R0 O6 {
  320. LDA #$00/ E6 U. N) X) Q: z: Q+ W
  321. STA $6010    ;关卡数据初始化$ I) R/ W! ?1 c2 b
  322. KEY_B:    ;关卡减少
    , `$ |0 G( Z2 E& q; M- b+ Q
  323. LDA $047 o2 \' ]6 e0 p( G$ |
  324. AND #$42    ;按键B或左减关6 y; ^3 ~6 e6 F+ x( j, M4 ?) x
  325. BEQ KEY_A
    ) f8 ^) |5 w3 i. x/ m
  326. LDA $6010
    3 y- m& |; b: [# K! t- _7 K
  327. CMP #$00    ;关卡比较* V+ J0 E8 V. a7 m) Y1 r! ?
  328. BEQ KEY_A* v+ W5 G( t* u. K
  329. DEC $6010   ;减关9 L4 l/ W& G: u; _6 c
  330. KEY_A:    ;关卡增加
    : a* F% c: N4 Q' a, b9 v) l" e
  331. LDA $04
    ; [/ `: K4 y9 F; W) }. o
  332. AND #$81    ;按键A或右加关# D. c& Y; r: z3 L/ ^* @. l: s: K$ ^
  333. BEQ PPU_NUM_WRITE, ]+ f4 u- H+ k- t# ?$ i
  334. LDA $6010- ~! C9 Q  ]$ ?+ P) @4 c2 }" b
  335. CMP #$04    ;关卡比较4 i: a2 K( Z2 j: K
  336. BEQ PPU_NUM_WRITE
    ( r  B9 S! o+ U+ t* l9 L
  337. INC $6010    ;加关
    * h' T* r8 @* M" s& p* g
  338. PPU_NUM_WRITE:
    2 o! g: ]7 n# x' c' ?2 M
  339. LDA $6010
    3 o" X' x5 ?' T9 m
  340. TAX0 z2 X4 L3 \% n& p* a( D  [8 }6 ?
  341. LDA STAGE_NUM,X    ;写入数字
    ; z6 C* I8 o8 ?) c2 G
  342. STA $2007+ a- V9 @3 |3 R0 _- i0 f
  343. PPU_RTS:
    , t, ?1 G5 }" m7 P8 `1 i" ?
  344. PLA
    7 k& B  |. }; ?2 i; v
  345. TAY
    6 m( J& Y% [1 d0 b" O* {
  346. PLA! S- U$ ~4 n6 }0 ~
  347. TAX
    + X# v" x) `/ F3 k% Z
  348. PLA
    3 e' c4 X4 u) i. Y8 a; ^
  349. RTS! G+ B9 [* Y: N2 }5 G
  350. # C' Q4 R  ]6 _- B# C5 l8 S0 H" x

  351. 1 e) v: o: R) \# T; \
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据
    " G* d) b& m* y- a4 d
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00( e! E# r$ q) ^' q  V
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据  C  ]; o+ u' T) t
  355. .BYTE $D1,$D2,$D3,$D4,$D53 g4 L! Z) c6 G

  356. 2 M2 ~# N' d$ k- b; i7 H2 R. [
  357. PPU_ADDR_DATA:
    ! O: s* p5 k" C( A8 [
  358. .BYTE $23,$0C  x- j1 g# \: v, ~* w: z
  359. + J4 N1 u3 Z5 [. q* Z  h' f
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1560 天

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

签到天数: 994 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 1859 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 2981 天

[LV.Master]伴坛终老

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

签到天数: 1766 天

[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 z7 y9 u# J+ Y4 T最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊
. y) [" D( V% y- P+ G6 I8 l
已经加上了,赶紧下载吧
[发帖际遇]: 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# T1 t0 p1 l* G4 k, @6 q" S
旋风又疯狂大修改了 哈哈

' H7 @! ?8 g; r  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-2-19 06:28 , Processed in 1.101563 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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