EMU618社区

 找回密码
 立即注册
搜索
查看: 2412|回复: 52

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑
: U" z# V- G7 F+ A# J/ q  }6 N' k+ ]6 @3 C' D. z1 C. L* O4 Q* e2 H
    [FC][最终任务][END选关]
' E0 ^& I0 T2 y  E* L6 T2 R9 E1 C$ h& L! h# R
时间:2017.3.29) B% c: \/ \% |
作者:FlameCyclone
& Q2 y1 _. a& B, ^3 E内容:
+ [" v& G* r7 @) l( ^6 N, ~; O    1.关卡选择:   标题时,左或B减,右或A加(1-5关);
* ~! q; M" d' ^    2.无敌锁定:   暂停后,按上键切换;
2 u" M2 I' S" h& H    3.生命加满:   暂停后,按下键切换;" f5 [1 n# k+ K: n8 |0 X
    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);# U: a; E$ m4 V3 ^7 i; M% |. H, p
    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);1 }- v. O5 n* r: t  S
    6.B弹数量:    暂停后,按A键切换(1个或2个);
3 ]' J9 \6 @8 j( ?" r    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;
. K% E# v- P; ~' w+ d& J$ |# `8 K+ h/ C( C0 Z* t" ]2 ]/ B% D

6 X4 ?. ]! w, @. K: O# O' e4 F4 R1 r7 Z: u% x4 }6 s% A1 V& j8 W
7 F8 F4 V  S+ r- {4 b, T8 i1 M
3 f5 ]8 T5 `% V( Z

# t/ D3 E* y2 H" f% L( y
游客,如果您要查看本帖隐藏内容请回复

+ B2 m& `5 x$ BFlameCyclone.ys168.com
7 Z1 h  b3 z+ U) owww.nesbbs.com
  1. ;[FC][最终任务KEY][END]# X2 c! u& j7 v+ _
  2. button = $04    ;单次按键
    ' H4 U0 ^1 H% @% j4 Y* i
  3. flag = $6000    ;功能开关标志
    ' T7 Y7 q! j' v& O
  4. pause = $000E   ;暂停地址: {6 v* m' w; R2 N! O0 _1 X
  5. ' k; V" w5 C" n' W% q  Z! n
  6. .ORG $8000
    6 L# Z, V. L0 {' R- a
  7. LDY #$08    ;自带的按键程序
    1 U& j9 S7 f  d: E# J! R
  8. ADDR8002:* Z) N0 v0 D2 Y4 A" {
  9. LDA $4016,X
    ! b* F- w, k; u. J
  10. LSR
    7 M( o3 u: ?3 a0 W
  11. ROL $0021
    4 p/ C1 \& u! A8 _! \' \
  12. LSR+ A: [. i$ B  W: V3 f0 L
  13. ROL $0029
    $ ?  S7 }, Q/ ^/ c/ y0 ^
  14. DEY, ^2 @" ^6 B0 m1 f
  15. BNE $80026 d* Z: [$ n1 o5 [9 `- u
  16. LDA $00211 ]. R) h# D( C, j
  17. ORA $00292 {! B& x) U5 H% Z' y
  18. STA $0021
    % C" z- v( x. O% g
  19. LDA $0020
    - b( P( W! V1 `1 D. y& {
  20. AND $0021
    / @) {; O; P6 S7 K, @# z
  21. STA $0020! }5 N$ e$ C% C6 V: {! b1 e
  22. LDA $06,X4 P7 N+ R0 g2 [
  23. EOR $0020
    0 \. B  c5 }! A$ ^
  24. AND $0020
    4 G! i$ g+ Q3 R  L: g3 q* i( R
  25. STA $04,X0 a, J- t! ^( W! v
  26. LDA $0020; }9 k, G) p7 E
  27. STA $06,X+ U* D, f9 A( s, G
  28. JSR KEY_OPERATE  `& [+ d, R# Q3 p0 d' A3 i- X( S" s
  29. JSR Function    ;功能调用3 _% ]6 i# m  [! n, d0 ?9 k
  30. JSR Weapon    ;武器切换调用
    - ]) L' |6 z: p$ J( C% z
  31. JSR Power    ;威力调用
    : P$ T* _) E7 @/ K) O
  32. JSR BULLET_NUM    ;子弹数目/ Y. W/ H; F: I4 g
  33. JSR BULLET    ;副武器类型
    # o% L/ @, g2 p; m/ V3 S" K) U! @
  34. RTS
    ' |  P% f) J9 @6 I2 p3 ]  v3 z
  35. % u2 B& `0 {, W4 f1 l
  36. & `: _' h& n4 T% d0 z" W
  37. * t# p2 D* ?* y. {" @: S: Z$ E
  38. .ORG $8050
    % e7 ^$ ~0 t  f* {# F
  39. Function:    ;功能5 B0 I0 G4 x, Q( b% n# m! O
  40. WUDI:    ;无敌
    + T$ a4 {2 k6 }- X! G; x; U
  41. LDA $6000,X: N/ r1 {% u$ O* V3 x: x
  42. AND #$08    ;开关判断
    ) ]  O% M/ k; ]- W  d- v% z* u
  43. BEQ LIFE$ f, M# H8 X8 y) z0 C
  44. LDA #$053 Q$ Q% k3 W7 Y, F/ m
  45. STA $05DC,X    ;无敌锁定* `( F2 {( `8 g0 f! g: t. }9 y/ v
  46. LIFE:    ;生命
    % f3 k# i' V% T/ {: n- E
  47. LDA $6000,X
    ; @. Y7 r2 J9 V. j- d  J$ F- L
  48. AND #$04    ;开关判断
    ! S1 C8 b' [/ \0 w3 _& T1 H; W6 S
  49. BEQ FUNRTS+ }6 l0 L' T" n9 @
  50. LDA #$05, o$ h2 Q% N% I: m) e: R0 x
  51. STA $1C,X    ;生命赋值" i- R3 Y" J0 O, X- x. F7 e
  52. FUNRTS:
    & R' T( |, \$ j6 u; n
  53. RTS
    - f+ K+ X% o$ x& j

  54. : z6 R- V; y/ d
  55. Weapon:    ;武器切换
    ' h0 `6 [( M% q6 D' d
  56. LDA pause    ;暂停状态判断7 V/ N; M8 X+ @6 \4 H
  57. BNE WEARTS( Q! S/ B% @" ?5 w- R% e2 ~
  58. LDA $04,X
    4 [+ @" |; o- v
  59. CMP #$20    ;选择键判断% x3 l2 W4 @8 U/ w
  60. BNE WEARTS
    ( c3 r: l, s6 g+ j' f* m3 r% v
  61. LDA $12,X
    9 M0 O5 B  j* C7 z% U7 ]) T3 }
  62. CMP #$03    ;武器值判断
    6 z, C/ Z, J, N/ g' C( ?5 X
  63. BCC WEAINC- g! o6 `9 [0 j4 {0 g& |  ?
  64. LDA #$FF
    - H9 y% K' K3 I# Z  `$ i
  65. STA $12,X    ;武器重置
    7 K) l! f8 H' ?, U* V  t; S
  66. WEAINC:
    : k2 ^$ @" f8 e: I( x3 Z* d/ @+ O
  67. INC $12,X    ;武器增加, U3 H  W7 c. n$ O

  68. 3 {. p) C9 I+ v! d! \6 u8 }# u; P
  69. WEARTS:* N1 r$ _, n' h, Y' x
  70. RTS+ n) J; H0 q  e
  71. 7 [) B5 b8 z4 U" M8 @1 l% q8 r& i' o
  72. Power:    ;威力
    " }2 z+ O9 Q+ M, {5 ~- I
  73. LDA pause    ;暂停状态判断
    : V0 K0 s+ N. k8 ~6 b& R# V
  74. BEQ SPERTS' c% `2 `  J; @: Z" w
  75. BUT_LEFT:- @- s* y4 Z/ b/ ~2 o7 t% T
  76. LDA $04,X
    + C8 e8 s; p9 H* l
  77. CMP #$02    ;左按键判断; i6 H' z4 A  [9 H& [3 g0 S0 {7 l
  78. BNE BUT_RIGHT
    3 I- u3 J$ `% B* v
  79. LDA $88,X+ s- T! O: h7 u+ [' Y" R
  80. CMP #$00    ;威力判断
    4 f+ t% v3 W7 v, f9 P+ B, c, I3 H
  81. BEQ SPERTS2 N# o8 o# n) F; \0 c, @6 [
  82. SPEDEC) j( B4 }* i0 |6 W, z. n
  83. LDA $88,X    ;读取武器值: z' R  k8 T% l% R8 h
  84. SEC- h% I6 H# V* x5 t4 R
  85. SBC #$08
    8 Q) d+ Z3 j: \; l7 `9 m
  86. STA $88,X    ;威力减小$ X* M4 @& `; T% E8 N3 ^* X! x
  87. BUT_RIGHT:! t  z' t9 O" V" ?; ?
  88. LDA $04,X- n. N8 p2 f) e0 X' D. r
  89. CMP #$01    ;右按键判断
    6 r( l! B1 k* E& ~$ j
  90. BNE SPERTS
    ' `; [& l2 X( Q% O
  91. LDA $88,X
    / x' u# k! c! p
  92. CMP #$10    ;威力判断
    , p$ V4 ^  o# s+ m& a" x/ a' Y3 u
  93. BEQ SPERTS: ~1 b, ?, _% T7 X  G
  94. SPEINC:- U, T# D8 G) w" b: E
  95. LDA $88,X    ;读取武器值- f  @2 }- r$ \. Q1 m* F: b0 U
  96. CLC. D5 b4 \$ E3 {2 D6 M
  97. ADC #$08
    / ]4 s* K3 e- Q& i# W8 {5 y' C$ p
  98. STA $88,X    ;威力增大
    " z! G4 ?* g. s  F

  99. 3 ]' [) _1 R4 {! t) c
  100. SPERTS:
      t# a2 R9 z" f0 n0 W, i" n: r
  101. RTS
    ( A, v4 V9 s& N( E
  102. ) l9 T( l) l8 |' a9 B+ B
  103. BULLET_NUM:    ;子弹数目
    1 k3 }4 t& a4 K* }! Y
  104. LDA pause    ;暂停状态判断
    ! S$ x; O6 J: |& g5 U3 v3 J
  105. BEQ BULRTS' E5 `0 [! {$ M' t
  106. CPX #$00    ;主机玩家判断
    ( ^+ ~5 k& p  g4 c6 v; ]7 p( w/ {- X) y
  107. BNE BULRTS
    " X- W. f2 L  v7 q. R6 a7 m
  108. LDA $04,X    ;主机玩家判断
    4 \. ?& }2 R! W8 k/ l
  109. AND #$80    ;按键A比较: @% n! o$ R8 E" x
  110. BEQ BULRTS
    * N; G) J3 n2 P: `0 W  c9 O# i
  111. LDA $87    ;状态判断# p' B: x3 x  X8 U! O+ t3 {
  112. BEQ BUL_2! {% a# G2 H( |
  113. BUL_1:
    0 z1 X, _9 F0 |8 j5 o
  114. LDA #$00
    6 i' A6 S. v3 A
  115. STA $87    ;1发子弹% ?: P) r7 L( A3 Q# g! R
  116. BEQ BULRTS. E3 k6 q+ M" P! I7 M
  117. BUL_2:
    % S  Y/ r/ b, T* V; g; e
  118. LDA #$01$ t( i' ~* T9 p! k) P' f. @
  119. STA $87    ;2发子弹
    7 C. s/ L' X1 }% t% ]' F; w0 i

  120. & r  W- H8 @7 r* R8 \
  121. BULRTS:
    8 A7 a8 C" G. w! R) z3 H
  122. RTS/ y/ j' e9 f4 i, K5 m

  123. 7 z/ x% @4 y/ t' |9 }' {
  124. , i& g9 C. n- k. l1 F# ^
  125. BULLET:4 F7 b( i7 O- y6 W
  126. LDA pause    ;判断暂停状态6 P, [" T' w) h3 K
  127. BEQ BULLETRTS
    3 F) b8 X% p2 p- k0 I0 {: v
  128. LDA $04,X7 I5 m/ d1 j: W3 j+ p/ v
  129. CMP #$40    ;按键B比较
    4 x( W5 N+ m4 [
  130. BNE BULLETRTS0 B1 W+ n& p+ \9 V8 S' x. x$ e, P
  131. LDA $6002,X    ;读取副武器
    . q, Y2 l7 b9 o% B( s2 Q/ V% R
  132. CMP #$03& D% c; {! E! o# s# d; f
  133. BCC BULLETADD! ?$ _6 z( Q# [% C
  134. LDA #$FF* |, W$ ?) O1 N# ?' X3 @
  135. STA $6002,X4 ^- U9 p: j, W; }% }  E# _" m8 p
  136. BULLETADD:
    1 o# N: r- |/ b( S: l
  137. INC $6002,X$ O7 _/ V& _; M" k# Z$ U

  138. $ y0 G% W. Q$ V6 \2 m# B" o
  139. BULLETRTS:
    7 H; K: R$ i: w- C- T) |5 w
  140. LDA $6002,X+ X+ a6 G; i/ H7 m
  141. TAY  T& b! u- p5 j! O  ]
  142. LDA BULLET_DATA,Y5 \/ j' t4 g$ f5 Z, S
  143. STA $6004,X    ;写入副武器数据
    8 w, S% N0 k1 w. t
  144. RTS5 R1 ?3 V9 C) n; U' W3 @

  145. $ a+ U, N( \  \. x, p3 e

  146. ! k9 D/ s6 ]2 K% v! m1 {/ M/ i( w
  147. BULLET_DATA:( l7 _% v* S* D+ i7 _: T6 S
  148. .BYTE $06,$02,$03,$04
    # U- }9 n. S% V# N8 J, [

  149. ' Q& u3 {% r7 @" w7 H" \8 T9 k
  150. : R, T; ?% G! K% w4 u
  151. , I% K4 b2 J( ~0 o: W, C! B
  152. KEY_OPERATE:    ;按键开关操作
      Q; F# b$ _- X! {" W
  153. data_protect:    ;数据保护
    . `( n3 A  l; u* I, F: d) O% ~
  154. PHA4 `1 a+ v7 ^2 ~  f5 Q7 Y1 j, X
  155. TXA
    1 f1 A  p( C0 ?# J# Y/ J
  156. PHA! z! A9 t1 E- Y) W! j. S* I7 p( I& u, P
  157. TYA6 l- Y5 A& h/ V
  158. PHA$ I' b, H, ?1 |* v4 `- p' X
  159. 5 t: c+ j5 x4 K: X2 b1 s
  160. FLAG_INI:    ;开关标志初始化
    - M8 T( L+ d3 B( ]: z8 W& t/ \
  161. $ h* }, Z, t) H6 _: g
  162. LDA $600F
    ! k* ]) y  i- A/ x$ A4 p
  163. CMP #$01
    ! y! \- |* V. M
  164. BEQ pause_cmp) T7 m# s+ Z6 E& q% u+ H
  165. LDA #$00
    * c& ~" v, e7 J+ `- B1 t
  166. STA $6000
    7 E) u9 R0 l7 N) ]/ L' k
  167. STA $60011 d  ]" ?0 ~9 V. w3 Z- k  z& r
  168. STA $60026 y% ]) {& E: ?' T9 q
  169. STA $6003
    ( _# Q. T0 x4 ]$ x: o" `/ n
  170. STA $6004+ ?$ J7 i9 }% c( A5 K! q
  171. STA $6005' G' _) ?4 c7 W
  172. LDA #$01
    ; y& y, c% e2 z3 b  [
  173. STA $600F
    6 r! Z* J5 A+ m- }. _$ }

  174. 3 M/ s8 R7 C7 ~  `; u! a1 ^
  175. pause_cmp:    ;判断暂停状态* U) P' a5 m4 N- X3 j
  176. LDA pause' Y/ S! k1 _. E+ z" O+ w% Z
  177. CMP #$01    ;判断暂停状态" g1 Y& Q9 l5 ~  e
  178. BEQ button_press1 Z* D( M+ f5 O( y7 ^0 P
  179. PLA6 j& Y+ t1 ~) `! t% p1 {: l5 w! x
  180. TAY
    3 b. x5 \( f1 m2 u9 y9 d5 G
  181. PLA
    3 x: L' ~4 X1 p3 w5 f! |
  182. TAX, `: }! U. R8 P9 f) ]
  183. PLA
    - j- v1 o0 v7 T" v4 B
  184. RTS& d4 V2 \/ d) B! B; N1 h$ u( b$ S

  185. & g; B4 F1 I: f! Y; b
  186. button_press:    ;按压操作! Q! n5 ?* G+ ?( I1 k/ H
  187. ini_Y:
    3 U7 f$ B* [& O" q1 n3 i+ W- `
  188. LDY #$00. A: v9 s7 r& U3 O1 Y
  189. button_cmp:
    & ^8 @( G3 u  z
  190. LDA button,X' W5 N% k4 K, X# [$ E4 ~
  191. CMP ora_data,Y
      l( l6 l1 W* Z1 l4 q' R2 q
  192. BNE count_Y_cmp* W% d% X2 O/ N" m9 Q# @/ v! K/ i
  193. flag_cmp:
    9 d) Y, X) ]( a2 f6 r4 @' W
  194. LDA flag,X; s- O% {& h3 W% I. a; H1 C) a/ T# P
  195. AND ora_data,Y
    6 {* Z- o7 T/ e8 Q! l+ B# R
  196. BNE flag_and& X  `* P1 u( ]. V
  197. flag_ora:; H/ z3 x4 Z& U1 c
  198. LDA flag,X
    3 c: v6 S2 J) }" u6 E
  199. ORA ora_data,Y6 t$ Q1 ]! E! C) |7 D
  200. STA flag,X
    5 p0 V9 L9 H5 i7 \/ W& K* l
  201. BNE count_Y_cmp# u( A' Q" z# I3 _) h6 Z5 i  W
  202. flag_and:
    0 V; v. M* c4 Z8 I
  203. LDA flag,X
    6 h8 ~% T' R; Q; e$ e
  204. AND and_data,Y
    + D( |5 B: C/ d6 {
  205. STA flag,X
    7 x3 d& Q6 k+ [: v
  206. count_Y_cmp:9 V: ]. [9 E* ?7 s9 [8 S4 Q
  207. INY
    . p* U' B, R8 X9 f* z+ y
  208. CPY #$08
    7 m, P) n6 t2 ?7 H' X" {
  209. BCC button_cmp
    & ?' [. h/ V: x
  210. 9 U$ ~7 j6 S: h) A( i0 c
  211. data_extract:    ;数据恢复0 N) _0 Q! @1 Z
  212. PLA
    + r! [0 c8 N; n
  213. TAY
    - D( d  }( \& k
  214. PLA, |0 I9 ?$ ]3 j- }; P, n0 ~9 r
  215. TAX+ R/ D, g, Y- c8 Z
  216. PLA; L6 K7 Q' a: W# T
  217. % u7 F. ]# b( C& |  P
  218. return:# q/ O# [1 y+ M8 v1 G( Q
  219. RTS" ~8 k  E4 R- c9 \
  220.   a' j& d7 J) z, i- K8 H; G
  221. ora_data:   ;按键相或数据* |- _; ~( d4 S9 I. a0 r( o
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$102 d, i5 X+ L) M; ], |
  223. and_data:   ;按键相与数据. n6 [' y4 h" f- i: x0 \7 D
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    / O( S$ ]1 I- K+ n

  225. / x: ~$ ~7 Y2 L9 Y: l
  226. 4 B# F" x- n- R2 o) z

  227. , c5 U1 w; g. S" ]
  228. 7 U5 w8 P) g6 d' \' |7 F3 z6 J, _

  229. ! }$ h5 ^- t: a+ S4 o( \5 ^2 p
  230. 0 F2 f+ V$ q0 |& y/ U1 Z9 u
  231. $ l1 A' D* [. m( I  a
  232. & m9 Q. o3 ~8 H, g+ g
  233. 1 m$ b% k- n0 }# s: }8 s
  234. .ORG $C264    ;自定义的MAPPER2切页程序
    7 T% |, H3 o% [8 M3 l
  235. PHA% w5 x# M# E5 d# _
  236. TXA% K* x+ Q. q6 v! Y$ ^! y! a* a: |" ^
  237. PHA
    . g! c% e! @9 h) ?  |
  238. LDA $00662 L3 U; M0 f( w" c/ d' V( l. e
  239. BNE ADDRC280
    3 R  z8 [% f0 k* K. p& r" V
  240. LDA #$07- [5 z/ f1 m/ v4 _4 d4 a
  241. LDX #$03
    - N) X: T& O2 Y, [4 F+ b2 N1 J
  242. JSR $CD9B    ;自带的切bank方法9 |4 h& n2 a1 l1 h" j' g  ~* L( i, P
  243. PLA/ K  g9 {  Y+ N  B0 t
  244. TAX* W3 e% X) A  s7 T: c1 J1 ^& H6 ^
  245. PLA6 K: }$ {0 i( ^# \' b$ e, m
  246. JSR $80004 h& u& x: ~; `7 L" Z
  247. LDA #$06& N+ ^" g: G7 }. c3 s# r
  248. LDX #$03! K* l+ j& e+ R# L9 b/ t6 ^* t
  249. JSR $CD9B    ;切回原该切得bank(可以不用)# e3 w2 Q5 t2 `0 h* `0 Z6 s7 [
  250. RTS
    & x$ _9 q& s& s2 x6 b# F+ I
  251. ADDRC280:
    " Y$ f- d1 g. h
  252. PLA
    6 S# M/ @) X# M: Q6 ]
  253. TAX5 M3 X, k" c2 \. v( i  S
  254. PLA
      L1 ^( B8 i0 O3 M! M
  255. RTS/ C# u6 q7 ^3 y" ~
  256. - r9 B2 l6 [4 Z8 D8 m
  257. 9 Y9 ]' i* s8 F" N6 y
  258. ;[FC][最终任务PPU][END]
    ) R2 F( t- x' v( n' H- C
  259. .ORG $C056    ;跳转到PPU重写程序) d) Z4 T  J$ O
  260. JSR $7000
    ( ~" s- {3 l& L3 |1 i' l% \

  261. ; v5 z+ i0 T" F- ^
  262. .ORG $CEBF9 I. C% n/ _' L8 _4 {5 {+ F
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入. O$ r4 A4 r$ V1 O6 e  h+ [. Q
  264.   
    2 Q' ?# D3 k' R2 M8 _
  265.   .ORG $E460
    / N9 W1 d- h9 C& z+ j# m
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入
    8 Q2 f& G. Y6 ?6 l
  267.   
    0 q& R& `! g! U' s
  268. .ORG $71F0
    7 Y# p' ^: ?( E! U6 V; d( N
  269. STAGE_DATA_WRITE:+ Q( l0 X0 N) Z
  270.   LDA $60104 L. {  J4 h" m
  271.   STA $1E    ;关卡写入
    0 o9 @7 @7 ?% y3 Y7 s* H" K& V; q4 K2 W
  272.   LDA #$00
    ; m3 H/ [# P  I. _# z* C  e( }
  273.   RTS
    / @4 C1 n' n; C
  274. .ORG $71C0
    1 u: B0 Z9 D" d' T( S- m
  275. BULLET_DATA_WRITE:    ;副武器数据写入
    * O; L% x6 s: V$ S3 w
  276. CPX #$0E
    ; \7 Y% b% P+ }) H, ?* Q
  277. BCS P2_BUL
    * r! W- C: C. g1 F
  278. P1_BUL:
    4 V5 n% b  C; C' S
  279. LDA $6004
    + K1 G, z' U" _9 f  R; [7 G% j& m
  280. JSR $D7D0    ;P1副武器数据写入
    * a6 J/ G8 S$ Q# M: a4 `3 @9 U( G
  281. RTS
    / R' |1 t$ v' I" @6 |
  282. P2_BUL:: t& J- q0 `% ]4 u! W! Q
  283. LDA $6005
    6 I* q' X/ y$ t5 r, G* H+ }
  284. JSR $D7D0    ;P2副武器数据写入# {* ?& a0 N, H! \) d
  285. RTS
    & j  u2 d4 `4 R' g  j$ |2 J  j

  286. / W, s- ]. ]2 p" Q! w
  287. + m3 t# J7 J3 s3 w; X2 q5 u
  288. .ORG $7000
    2 V4 z2 I( ^( D8 A5 ?
  289.   
    8 H+ }6 c) Q7 Y. L
  290. STY $4014    ;补上覆盖的精灵写入指令4 S1 a  b, Z& t- w# ]
  291. PHA" t+ T4 q8 C' P* m* ?8 u5 r1 s. r# `! X
  292. TXA. L; R1 ]1 b- n6 l& K9 P- i
  293. PHA7 g) u4 F' p$ w; i0 Y
  294. TYA
    / y$ V: w6 b1 E+ d) D0 `
  295. PHA6 B7 Q2 ~. A; d4 `) K0 Z
  296. LDA $0C
    0 [. J" Q/ w3 ~' \
  297. CMP #$01    ;比较是否为标题画面9 [, r) m0 Z) s" V9 {7 q5 R8 A# v3 D
  298. BEQ PPU_STAGE
    ! Y( W( @; y8 g, l1 B6 ]
  299. PLA" Q! I6 c: _: j( ?0 \9 }
  300. TAY
    3 u, g0 U& @7 ~) [1 d6 i# V
  301. PLA  W/ K. P% N: X- W# v! `1 s$ N8 W& B
  302. TAX
    7 {9 n( P  M2 X
  303. PLA
    ) t  h, Q. q/ n6 \3 W
  304. RTS
    # ^  V! p) [# t
  305. PPU_STAGE:    ;STAGE显示程序
    2 b+ O% ]! M' j3 j4 f: B
  306. LDA PPU_ADDR_DATA
    7 h) w; p# T. r% K2 q0 R! |
  307. STA $2006
    0 J0 _5 _/ l! y8 R6 [  P* h
  308. LDA PPU_ADDR_DATA+1
    ' }* u. a! l, P1 L6 O6 }+ y
  309. STA $2006    ;坐标设置
    & U* P- m! {' T0 o
  310. LDX #$00
    - y! y$ f0 n$ A6 X# X. [8 n; Q: Y
  311. PPU_STAGE_WROTE:    ;写入STAGE字模& c- _# a" Y  U0 Q; A% q
  312. LDA STAGE_DATA,X
    - x! E0 G5 k6 S* l& O7 k5 K- M
  313. STA $2007+ L! @$ K, D: @- N9 S: t
  314. INX
    3 B, p8 Z1 ~; w, k1 i
  315. CPX #$06* ?1 g2 W3 }5 K8 L0 H! n) O" i3 {
  316. BCC PPU_STAGE_WROTE: P; |2 h! B7 A3 O; G0 b
  317. LDA $6010! M2 i. D* j! C/ O* M; ~
  318. CMP #$FF    ;关卡数据初始化条件判断
    , C# e1 z4 h2 H+ n7 `7 s, k& [6 _
  319. BNE KEY_B
    1 ^. a( y9 R: q# _
  320. LDA #$00
    . g  E9 S! S, e
  321. STA $6010    ;关卡数据初始化% S5 J" Z9 O" }
  322. KEY_B:    ;关卡减少
    + G! [# ?1 J$ c  a# p
  323. LDA $04
    % S: ^2 \7 A! w) K) `
  324. AND #$42    ;按键B或左减关
    1 h7 k. F2 b( ~9 q0 I" B' [
  325. BEQ KEY_A
    # g: @9 @8 X; D2 A
  326. LDA $6010& p* z7 N, ~5 r3 ?* {
  327. CMP #$00    ;关卡比较
    3 j: {0 L& ]: q  q% \$ H
  328. BEQ KEY_A
    2 i4 ]# u. P1 X' {7 H" h1 E2 i" B9 L. q
  329. DEC $6010   ;减关$ A* ^. Y9 P9 ]
  330. KEY_A:    ;关卡增加
    + [9 |7 ^) M8 N5 A* R5 I
  331. LDA $04  g6 K' Z0 l* b: ^- I, p8 E2 w& z+ X
  332. AND #$81    ;按键A或右加关0 D+ \4 }6 ]: }- k% F4 C# R& m
  333. BEQ PPU_NUM_WRITE
    1 I, |8 `. Q) ?& i
  334. LDA $6010
    . q& T, g# y! `' @
  335. CMP #$04    ;关卡比较
    + e. O. ~: h9 g% }) [( b
  336. BEQ PPU_NUM_WRITE
    0 B% G5 e0 u* C  v# m
  337. INC $6010    ;加关
    / Q) A! W6 c1 r
  338. PPU_NUM_WRITE:
    0 i8 X/ W  V4 y* S
  339. LDA $60109 H6 B& e8 X/ G4 X: l! a  L( M4 D
  340. TAX
    ; F4 g7 A! H, f, J' B( X$ H# c
  341. LDA STAGE_NUM,X    ;写入数字  X- U5 B) S6 v" L& k
  342. STA $2007
    : J% o. Y+ H( ?
  343. PPU_RTS:
    4 w0 }. o: P0 M, I" g3 T
  344. PLA, |! G  Y3 }8 K" Q
  345. TAY
    . C1 j6 B5 p3 ^# B! G
  346. PLA
    6 \8 x8 m  ?" ?3 [7 a/ F
  347. TAX
    ; S2 k6 t4 ?+ @$ o, g2 j, H+ B
  348. PLA+ s8 g% ]4 p  i  n* P1 \, d
  349. RTS+ s4 S: j3 R  D

  350. 1 i. O5 E# K* L; O
  351. * w3 A, g6 r& v: Q8 e0 H4 N1 ?
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据
    7 v6 l. `# w2 W" n2 s3 w
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00
    ( r4 z/ M# a4 B1 j+ i3 p. ~$ C) x6 i
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据8 p* W5 D3 f' q; W, Q; I
  355. .BYTE $D1,$D2,$D3,$D4,$D5! i2 X* w- p' r! ?3 l
  356.   V1 w+ c; b/ }5 |
  357. PPU_ADDR_DATA:" s& J' C7 j- S9 G! H5 v/ S2 n
  358. .BYTE $23,$0C$ Y/ i- u5 o8 u8 X

  359. $ s0 n+ i2 r- a. {. s0 N9 m
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1623 天

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

签到天数: 1048 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 1939 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 3059 天

[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
2 t& ?; \  J, R最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊
' ]) ?7 f( o! y  S
已经加上了,赶紧下载吧
[发帖际遇]: 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:354 }( U3 U7 q2 R% `2 C
旋风又疯狂大修改了 哈哈

  p1 H( E" E2 N# T1 j/ ]疯狂不起来,无聊了而已
[发帖际遇]: 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-5-10 03:46 , Processed in 1.081054 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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