EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑 ; a8 b2 r- y4 K
) T2 Q6 N8 M2 U& H/ d
    [FC][最终任务][END选关]
% S- Q4 M0 T% o5 s2 D5 O, W5 I# L2 Q; j) q+ R3 r3 U5 \2 p
时间:2017.3.298 U  y  c, G9 }  O( T
作者:FlameCyclone
" S* V/ u  i: E内容:# _! o' q5 J0 D9 u
    1.关卡选择:   标题时,左或B减,右或A加(1-5关);4 F8 _- G3 J  ]2 X/ U8 F
    2.无敌锁定:   暂停后,按上键切换;
5 i1 V6 Z* P" b- j* ~5 o# u    3.生命加满:   暂停后,按下键切换;! d! u3 v: e  d4 B" @
    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);( n$ ^" c0 _2 J) J0 }2 z5 G
    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);
* A# M* |9 w$ b4 f: _3 o    6.B弹数量:    暂停后,按A键切换(1个或2个);) M! z! c, E& ~  y$ H% N
    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;
" x3 X) b% x$ z6 O9 ]6 b& j' ]- l5 _* M# g, K7 f

: v: h; m6 h6 c8 ~+ p+ a2 ]4 C, r& G! V& O
' A/ l* F5 Y& o0 F: r6 k! ]

; k3 f8 {5 r- |1 z. y( I. y7 f; I! [5 i5 [# D$ a
游客,如果您要查看本帖隐藏内容请回复

2 W% w/ U. W7 e  r( B4 q. i9 wFlameCyclone.ys168.com0 z/ m; u" D% m. {- `( j; u
www.nesbbs.com
  1. ;[FC][最终任务KEY][END]5 V9 n/ [- ^7 ^3 [( Q% w+ F
  2. button = $04    ;单次按键( u# H3 h# G, ]' G* Y
  3. flag = $6000    ;功能开关标志
    ' W2 Y" i' J! X3 q6 b' T$ M
  4. pause = $000E   ;暂停地址1 I5 `% {* J! i  S5 i3 \9 `" Y
  5. 4 n4 a/ Q1 M7 |2 v
  6. .ORG $80008 k' F9 Q' Q0 _! J0 z# H) G
  7. LDY #$08    ;自带的按键程序
    7 J1 [: a) J6 u1 f, v+ B
  8. ADDR8002:$ r( i/ d$ a& e) }6 a. ^* a# G
  9. LDA $4016,X- X. U3 _* z! m' ?9 v+ y9 D) b# ~
  10. LSR/ d' |  d3 V) ?3 T- ?
  11. ROL $0021
    " I$ W4 `- Y9 M" G* Y  \
  12. LSR* X- E; C: g4 b3 e4 _+ u6 ^
  13. ROL $0029
    * w1 q! F1 `$ G5 K: ~* y
  14. DEY
    $ t- F/ M' m8 e
  15. BNE $8002! ?+ Y% [- M* M3 A& p' N
  16. LDA $0021, S  W2 G: J" B& C. S1 N7 \7 p0 M, g
  17. ORA $0029
    2 p6 k+ A9 x4 [% p1 Q
  18. STA $0021
    . h  ^% h* e8 {0 Y# m  @; J
  19. LDA $0020% ]/ ~" t3 q) u
  20. AND $0021% \4 C# S$ y5 @+ D# H6 R
  21. STA $0020
      B  ?. c0 W7 u' {: n) ]
  22. LDA $06,X
    # c. K! U" \3 \0 d
  23. EOR $0020( F6 D) d  ?  G7 H
  24. AND $0020
    4 W" C* b: r$ `0 f) P
  25. STA $04,X0 K2 [  R3 H& q/ \9 m
  26. LDA $0020
    & B" Y% P4 \  ]
  27. STA $06,X* E' X2 @' N2 y6 f5 T$ P) l( g: M' ]
  28. JSR KEY_OPERATE# @3 _6 ^' e. s* P) E9 s" U
  29. JSR Function    ;功能调用
    & i" T) S# e1 {$ v2 _
  30. JSR Weapon    ;武器切换调用
    ' n- x6 c, _7 A: l( W) r  ^8 e
  31. JSR Power    ;威力调用
    ; V$ |( x& l% i1 s3 }( A9 G- N" A: h
  32. JSR BULLET_NUM    ;子弹数目0 v; n6 Z: a& |4 D  t( L/ p3 X6 s( P
  33. JSR BULLET    ;副武器类型
    4 a* n/ u- a& v2 H$ o2 V
  34. RTS/ M, I0 q2 }. M  K1 m5 }/ a
  35. # v' l) _9 O# k) |

  36. - P7 ~; C+ [6 L+ G! r/ J: i- P7 V
  37. % H6 H/ E# R, S2 L
  38. .ORG $8050
    1 k  \# p8 _9 w% _6 V- K. L
  39. Function:    ;功能
    . [6 s) v4 b2 `
  40. WUDI:    ;无敌
    ; d1 B2 Z% b# V8 U5 m6 U
  41. LDA $6000,X
    2 ]8 V6 J- w8 |
  42. AND #$08    ;开关判断1 F1 H. B0 F* {* T8 I6 o. n: h
  43. BEQ LIFE
    , G4 Y- ]$ ^' ]8 q
  44. LDA #$05( [- N: N7 E; W# c$ D7 ?
  45. STA $05DC,X    ;无敌锁定
    0 z% E# Y; f. b/ z6 n
  46. LIFE:    ;生命
    ' \, p2 I0 D0 i
  47. LDA $6000,X
    & @" a5 X$ Z" }- N
  48. AND #$04    ;开关判断
      L9 x; m9 m0 x9 G# {2 x
  49. BEQ FUNRTS# Z- q0 C: H5 B" O1 h
  50. LDA #$05+ I/ i1 R) P0 \8 c/ Y' p; P7 Y
  51. STA $1C,X    ;生命赋值
    4 G6 K7 G6 e) z0 w* `3 r' E* A2 p4 U
  52. FUNRTS:
    # W/ S% t8 x2 f2 `
  53. RTS
    - [* u  s: N; q; \0 }: W* Q

  54. + s8 w$ ^1 M9 ^2 N% l8 s
  55. Weapon:    ;武器切换
    & H. W% W$ \6 y
  56. LDA pause    ;暂停状态判断! A. ?& n1 ^1 @/ ]0 [. v
  57. BNE WEARTS! }/ f+ V1 u6 J; G9 ^5 r
  58. LDA $04,X
    8 X) E, d5 w0 R6 s9 b: \
  59. CMP #$20    ;选择键判断$ b' v, h% x7 Z* z9 _: q
  60. BNE WEARTS$ o) S/ b6 K# X; U! W2 G
  61. LDA $12,X
    3 d( c, I' T/ f5 w/ u2 }# p* j
  62. CMP #$03    ;武器值判断
    ! I+ S& I4 P" K: t6 O3 ^! V
  63. BCC WEAINC3 R2 Z' n* ]* A: c+ X8 _3 M- ~
  64. LDA #$FF
    # l) i( `5 h; \$ T) P5 v
  65. STA $12,X    ;武器重置& l5 S( m6 X: J- K
  66. WEAINC:5 A, E  D4 e# _2 i
  67. INC $12,X    ;武器增加# ]$ Z  \$ i, y& x7 h; p/ ?+ I
  68. " y6 Y# V( o+ h* @, C8 E; |% h
  69. WEARTS:6 Y4 v, [/ n  z5 O
  70. RTS
    ; X% Q0 n" l3 ?1 i, [' r
  71. " e; a$ g: [4 m+ p# d2 B
  72. Power:    ;威力
    $ I( T4 D; g2 w+ n2 Q# u" A
  73. LDA pause    ;暂停状态判断3 S) K* q# S1 U+ Q& _8 [# d
  74. BEQ SPERTS0 ]" l+ W$ p7 J7 Z
  75. BUT_LEFT:
    7 \9 @8 Q1 U3 J
  76. LDA $04,X
    ) P; I( ?; E  d  G8 y8 }
  77. CMP #$02    ;左按键判断
    5 l4 p0 ~2 i$ s7 P) I
  78. BNE BUT_RIGHT  F6 ?% _, U5 Z  j6 H
  79. LDA $88,X. r0 s. T- d# Q  ]1 W4 M
  80. CMP #$00    ;威力判断
    0 F, i! q4 v. V2 l1 D' C
  81. BEQ SPERTS8 b/ u; N# y8 @4 u6 V7 T
  82. SPEDEC
      F3 M8 p$ n$ @9 X
  83. LDA $88,X    ;读取武器值
    3 |" A, s0 o! \0 H
  84. SEC
    1 G% I- R' @. N6 g# H9 T8 E
  85. SBC #$08
    7 c8 m! q3 b( Z6 @
  86. STA $88,X    ;威力减小4 @- c" z+ i& }7 W8 J3 E5 m. |# o# x
  87. BUT_RIGHT:( Y( d, p1 E/ H; L) z& [
  88. LDA $04,X
    $ I1 J8 I+ [: j: r. x
  89. CMP #$01    ;右按键判断
    . X+ f0 r) ?$ E9 L2 \  F) m
  90. BNE SPERTS% V6 w$ Q: q6 b* h5 {3 r
  91. LDA $88,X& q4 ^. }4 L6 _8 c* K, e/ i& P
  92. CMP #$10    ;威力判断
    ' y' k* \9 H) I+ Y) T+ i
  93. BEQ SPERTS8 o" J' ]  }, A- `( E
  94. SPEINC:
    9 ?8 I. s% D9 w8 X1 |
  95. LDA $88,X    ;读取武器值
    2 d- r6 b8 w. n1 |7 t
  96. CLC
    9 ^7 c) |( X# Q* d( O
  97. ADC #$08
    : E: o, j7 @' C2 n" D8 V7 a: Z, e
  98. STA $88,X    ;威力增大1 \: [4 f& t+ J9 X7 D1 u9 z

  99. ; c; D# [7 ]3 ~9 ]9 T
  100. SPERTS:
    # Y5 X) K& v/ o. k" F  U( {- ^$ P
  101. RTS& e4 y6 ~& O" v! q: p
  102. + w; ]' t6 x3 N- i4 \
  103. BULLET_NUM:    ;子弹数目
    ) s$ f! Q9 c, G3 X$ q
  104. LDA pause    ;暂停状态判断
    4 K# `1 ?0 t4 A- v. z) Z
  105. BEQ BULRTS
    0 c, w* y1 c( v( ^; ?% Q  u
  106. CPX #$00    ;主机玩家判断
    % k/ u6 b# Q( ?! L" ~
  107. BNE BULRTS
    : P1 G: H) m( r
  108. LDA $04,X    ;主机玩家判断* g& g6 `/ j" i* N- _5 y
  109. AND #$80    ;按键A比较
    ! J# u( _# J3 B6 T4 I# [1 ?
  110. BEQ BULRTS; U2 R' }8 U, d! a6 x
  111. LDA $87    ;状态判断) U  Y: L0 q! O6 U
  112. BEQ BUL_2
    - L* f- w/ T: K: H; E
  113. BUL_1:# U! w% C( F7 w
  114. LDA #$00
    * @& r, q# I. Z0 i5 q  g
  115. STA $87    ;1发子弹( q8 E* i6 Z. z
  116. BEQ BULRTS
    : U$ V4 f$ g. \5 V0 h6 v
  117. BUL_2:
    7 m3 Z& m0 d2 U
  118. LDA #$01! S, V8 S/ |8 T) ^, t" K
  119. STA $87    ;2发子弹
    ! Y: l8 a2 \7 `& I7 Y- W- v" L) c
  120. 6 j" P' \  @. z- V# x) m
  121. BULRTS:( U& y4 }  u* ]- J$ [
  122. RTS9 A  V$ r) ?2 n# Z$ p' y  _
  123. $ b4 B* z) z% v- i( r2 q  I- f

  124. * [8 a9 o! w8 Q# x* ?
  125. BULLET:
    ( W5 c( H0 H. `$ U
  126. LDA pause    ;判断暂停状态9 e4 \8 \# k4 J/ ^  w: Z$ [
  127. BEQ BULLETRTS6 O, r. ^% z4 y# {& t6 d, Z
  128. LDA $04,X2 {. V; A; V) n2 i
  129. CMP #$40    ;按键B比较" s: k$ S+ y9 w5 o
  130. BNE BULLETRTS
    . V) o# |. v% ?
  131. LDA $6002,X    ;读取副武器2 e* S5 x4 T5 V4 Q( D; D; O
  132. CMP #$03
    ' g9 Z! J4 x4 Y% z' K! q" y
  133. BCC BULLETADD
    , h8 e9 v" A( V/ g
  134. LDA #$FF  z0 p2 O+ i/ L1 ]7 S
  135. STA $6002,X
    ( V8 k2 D( y& D$ t
  136. BULLETADD:/ [1 j; O# y' u' @
  137. INC $6002,X8 B' w6 D  u' W0 i# ?

  138. . ?7 i+ }- X" |7 Z
  139. BULLETRTS:
    / E4 P1 k3 m  a$ ^& _
  140. LDA $6002,X( _& a" Z: g5 s& e" D5 u
  141. TAY
    ' J0 p. Q2 G% L1 d% ]0 r
  142. LDA BULLET_DATA,Y
    2 m7 j; \! r. v* o: R2 f% A  T
  143. STA $6004,X    ;写入副武器数据2 E9 \2 I/ ]* {0 |* }4 K; _- q$ y* E9 C
  144. RTS# ^+ k/ E/ F7 `: u7 B9 f- n7 K0 O
  145. - A5 D0 a: Y4 m' S
  146. * I0 N3 {( {9 ?* k2 X9 s! d
  147. BULLET_DATA:9 d% G2 x2 n2 |0 \0 _; C
  148. .BYTE $06,$02,$03,$04/ S& W, j% a4 M, r3 [' W/ @7 @

  149. 1 |2 R4 Y" S- |+ O0 K; b

  150. 5 q2 B8 j/ z2 H1 T" n+ f
  151. ; K0 R7 _3 W; o: J# b
  152. KEY_OPERATE:    ;按键开关操作
    7 t' U3 D- S) N4 O1 Y7 Z
  153. data_protect:    ;数据保护
    7 N- D: B8 e9 t# j  D1 g
  154. PHA1 }- X- [7 A' `/ d
  155. TXA
    3 ?" i0 B# j2 t4 u0 x
  156. PHA5 D; b( A1 Z* V1 F
  157. TYA9 L; ^" V7 _0 I: a; A! J
  158. PHA
    1 _% k% x1 R1 q* Q8 u7 r

  159. 6 H6 k$ ^2 |% m) ~% \0 Z
  160. FLAG_INI:    ;开关标志初始化
    ; \. x) [8 V+ O6 ^
  161. # y$ H8 a! l6 c% Q
  162. LDA $600F7 K" e1 t$ }# G9 S1 B
  163. CMP #$01$ `, z. J' l( _% z; {
  164. BEQ pause_cmp) |; |- c5 F- @! I' V
  165. LDA #$006 F- f, T5 E0 T1 X6 N+ F
  166. STA $6000
    8 U" U- V  i6 v8 n* |: t
  167. STA $6001
    * U( L3 x6 n$ o# h$ ^
  168. STA $6002. O3 j. z4 L. a/ s) n
  169. STA $6003
    " E* R. F6 O& g4 r/ K, K% C
  170. STA $6004
    4 Y4 y- U( W1 V5 s/ u1 \7 z! h; U) |
  171. STA $6005
    6 q3 r3 G$ _" Q1 I3 V" x
  172. LDA #$01
    2 }, J) q! P3 p5 E+ _9 Q3 {
  173. STA $600F4 V, u: V! z9 {4 x" N

  174. 5 E9 K* b. H2 s
  175. pause_cmp:    ;判断暂停状态1 M: ~+ L3 a8 o0 ~$ \5 n& u
  176. LDA pause6 {: e3 a9 R' L6 {# _1 l2 }+ S: Y' M
  177. CMP #$01    ;判断暂停状态5 h/ f% X1 f6 l
  178. BEQ button_press% M% _4 H0 o3 d  B6 ]! ?- d  }, u
  179. PLA% M1 W) g1 \6 k- e9 j# G
  180. TAY
    , {6 @- w2 g8 {5 y5 }9 p* g4 N
  181. PLA2 r+ B* j& K/ a7 Q
  182. TAX
    0 C; I# s2 `# z% y# b* e
  183. PLA
      J& W' M6 t, _
  184. RTS! T$ r1 n. ?7 q' j0 z' Q

  185. : u; }& G; N& f( J" w; j
  186. button_press:    ;按压操作$ ~4 D& a) t1 U& ?+ ~( |
  187. ini_Y:
    7 V$ Z2 X) |1 ?" o
  188. LDY #$00
    3 Y  W; [4 u2 Y
  189. button_cmp:
    & ~/ H. [4 g) Y' k3 I
  190. LDA button,X
    3 V+ P  o5 F' p0 k" {
  191. CMP ora_data,Y% i' t* p# @$ y" Q
  192. BNE count_Y_cmp' T3 o/ G) L7 O% U: y1 O
  193. flag_cmp:
    2 K0 }% ]: f$ A% N! K( f4 n
  194. LDA flag,X& Z' B$ D2 n8 \2 I; n: `
  195. AND ora_data,Y
    3 G$ j  U- T* x
  196. BNE flag_and3 q+ O$ m. s) V
  197. flag_ora:
    0 x: U. ]0 B1 s
  198. LDA flag,X+ {$ D; o" P7 t4 e; z
  199. ORA ora_data,Y
    % ]; a: l1 f1 B6 h2 K. q
  200. STA flag,X
    5 v8 M( K% |) `* F" u' z
  201. BNE count_Y_cmp! f+ C3 i6 Z" D, i* B
  202. flag_and:
    ' ]8 U5 d' j* D* O
  203. LDA flag,X
    " R  }$ C" |0 S3 e) m' E7 e
  204. AND and_data,Y
    ! E6 V, N, V" z9 n
  205. STA flag,X
    1 k9 L* e* N" W# j% S' v
  206. count_Y_cmp:
    : g% d0 ^; h, L) N7 L+ A& @* @# s7 x
  207. INY
    ! Q; C2 m3 m3 o) S( I; M
  208. CPY #$08
    ' b/ [8 i, G2 q$ o
  209. BCC button_cmp
    ) ^8 c+ s8 Y' Y6 y, i
  210. , X' p, C& _/ C7 G& @
  211. data_extract:    ;数据恢复
    # k$ \7 N' ^" _4 @# {' r6 T
  212. PLA, y8 [; @0 @& t
  213. TAY
    % E8 P# i$ X1 b$ z
  214. PLA* @' g5 B# y; L5 b/ K
  215. TAX
    * `1 ]6 O$ X9 H1 i" R+ G' k
  216. PLA1 J2 U* s9 C2 F3 Q* ~* S& f, U

  217. 4 _4 ^- Z9 q( Q  X9 s
  218. return:
    9 H  H4 S0 K6 {+ H1 N; g4 I7 s
  219. RTS  e: O  l+ x3 u: O+ A$ b: h4 K

  220. 9 R, ]8 s) e# v, A  U& v/ v! z' p
  221. ora_data:   ;按键相或数据
    & Y: s: `( Q* D3 T' J
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10) j, j2 q+ M) B: v* r3 k
  223. and_data:   ;按键相与数据9 O0 v( V: s0 [2 x
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF1 z& x, T# r, A

  225. . L% Y, c" i( S3 }" n

  226. 9 q& X6 O) M. b* k$ \) \: U
  227. " R$ m* J  R( @" r5 ]5 l

  228. 6 c+ e) V5 m* ^. e( a" a9 i5 `

  229. ! X  I; j( E5 ]4 w" @3 u! o! D

  230. ' f3 v! r) d  u3 ~, h9 T
  231. * `3 r, o& v: q! D

  232.   K& Q( N& L+ f: A/ U% M
  233. ' p, m- `  E: k; E/ j4 f$ b6 W
  234. .ORG $C264    ;自定义的MAPPER2切页程序
    - F0 J8 [. @. t. E" |
  235. PHA
    9 D# E3 r- q( s, ^& E* ~
  236. TXA
    % ?8 L4 \' H0 Z) P' X  x
  237. PHA$ c+ d, O. `" B( p# H+ D
  238. LDA $0066
    ' j4 c4 e, e! u7 Y) L7 z% h% ^  |1 e
  239. BNE ADDRC280
    7 ~3 K# w9 W; P% s
  240. LDA #$07
    + K: p5 c# B9 {; B' p
  241. LDX #$03. e* }/ ~. z$ E* a! v1 A( M. u: i' D
  242. JSR $CD9B    ;自带的切bank方法3 k6 s3 t5 X& R: ~! i% y) v8 L3 X3 P
  243. PLA
    0 a9 `3 q8 G9 h" p, j
  244. TAX
    ' |9 x; o6 v# q& k: ]. i
  245. PLA
    ( q2 f3 Q2 f, P2 C7 Z7 }! h* I
  246. JSR $80008 N5 [  C3 k8 g9 V4 g
  247. LDA #$06/ Q  X+ z2 U% n4 Z9 c
  248. LDX #$03
    , P% a. X! [% [8 _$ u; K9 N. k2 P
  249. JSR $CD9B    ;切回原该切得bank(可以不用)
    / i( b' I, b9 D  K, p7 v
  250. RTS
    , M9 p8 X$ M: y6 _5 p* e
  251. ADDRC280:! `# s; s$ U2 P2 B2 D- B- g% @
  252. PLA
    0 Z% }. C# [6 d/ s
  253. TAX" _; a% d, t3 Q
  254. PLA
    5 s  K( c$ C8 Q. O
  255. RTS- U5 I! L' m4 e* A' b: ^1 k6 t
  256. " K8 g( ~4 f  U3 w  ?1 r

  257. & C$ T% W+ k! b. @7 c3 U$ X/ ~( L
  258. ;[FC][最终任务PPU][END]8 I9 n) n# e! [
  259. .ORG $C056    ;跳转到PPU重写程序' F! X9 |0 F  E/ @4 R
  260. JSR $7000
    % Y5 P! p! k. T3 U$ i
  261. 0 X& v6 W9 ^+ ]
  262. .ORG $CEBF
    ' ~  x+ T/ z6 e2 h1 c1 ?0 h' x
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入6 k) Y6 S) C# j0 T% {$ ?
  264.   
    ! r6 u* v' `% p8 S0 t5 h1 J( P& Y
  265.   .ORG $E460
      Y; a" y) Q( k! v. ~$ ~% W2 B# @
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入$ q7 j  [+ M* p" |4 q
  267.   
    % i% m" i: {& Q" M+ f( Q( T
  268. .ORG $71F07 U# x8 m$ \9 ]' R- E0 t9 I4 x
  269. STAGE_DATA_WRITE:
    * [; w) {- [( C5 F2 b
  270.   LDA $6010
    * `0 Q; [9 f( I/ O
  271.   STA $1E    ;关卡写入
    3 d+ h: X& Y  o
  272.   LDA #$00
    ) }- C" M. Y9 v' [/ X
  273.   RTS& M% [+ [+ D0 c5 o( D1 I
  274. .ORG $71C0$ w. n+ H  |: ^& k$ M& C5 a- s6 E. p
  275. BULLET_DATA_WRITE:    ;副武器数据写入! k8 V$ y8 G0 b4 S
  276. CPX #$0E
    & b/ K5 ]& G7 s4 Q4 m9 Y4 j5 Y
  277. BCS P2_BUL
    8 n: P) ^7 B/ Y5 Y9 e
  278. P1_BUL:' H& ]2 H3 \2 M) I; L* f
  279. LDA $6004
    - h, m; W! Z* x, Z6 T. Q2 B
  280. JSR $D7D0    ;P1副武器数据写入6 a$ O) f; L0 \6 Y
  281. RTS
    : F; V" w* z% u4 L! o/ O  {( j
  282. P2_BUL:7 [' W: U+ l. O3 O
  283. LDA $6005! m* {( ~6 l- K+ C# |, \5 `
  284. JSR $D7D0    ;P2副武器数据写入2 ^' i7 M/ O) V) V( O: W9 N9 X
  285. RTS- I* {; |* i4 [+ j4 t; Z
  286. ! T. u& @" g, C* A

  287. 9 [  Z* Q" ~* c9 c1 h: i+ i4 L! W
  288. .ORG $7000; F# q- V- C$ Y; m6 F; ?
  289.   0 {( `( I# [2 `6 l1 J4 d+ [/ n
  290. STY $4014    ;补上覆盖的精灵写入指令$ @6 D, o. t8 \0 ?8 P) k
  291. PHA
    - x9 V4 W. H9 p: t, I# y5 w
  292. TXA2 a. r3 T  j- l; }* L/ r; I, d! D( ~
  293. PHA
    . m& B$ N  ?* P& _' E* |& n. g
  294. TYA: b1 \9 V& u9 }% E5 N0 T
  295. PHA
    - F" H3 p4 W. w% T
  296. LDA $0C
    " L8 \( M, v, N' L
  297. CMP #$01    ;比较是否为标题画面; Q7 v/ a/ m9 O& x
  298. BEQ PPU_STAGE8 {1 g) w7 H' Z
  299. PLA
    ) T' h, m2 }5 ~% u* [# ~
  300. TAY/ e, u' `' u# w& G
  301. PLA
    $ a, w* D' {/ A1 v* A4 z
  302. TAX& j6 a+ H9 B, \( J8 K  X( t4 L2 B3 p
  303. PLA
    : X( ]. K; P' C
  304. RTS
    ! K/ P8 s* t7 ]' W$ `
  305. PPU_STAGE:    ;STAGE显示程序7 u% b& ~2 h' c9 E" i8 m: ?
  306. LDA PPU_ADDR_DATA: G+ q  G6 R* Y' S  m7 P
  307. STA $2006
    7 g: k  w' ]. z6 `
  308. LDA PPU_ADDR_DATA+1
    8 y; i, }6 [" `4 S2 t9 k, M
  309. STA $2006    ;坐标设置3 u) K/ U& D% f$ W8 H1 {
  310. LDX #$00
    ; d. j& P8 `. i4 N# T0 D/ Q" \
  311. PPU_STAGE_WROTE:    ;写入STAGE字模) m6 P/ T/ v0 m& y  g
  312. LDA STAGE_DATA,X- h4 j! c+ G" ?7 F4 F' v
  313. STA $2007
    2 u7 G4 n  c% ^7 R
  314. INX
    1 @- x7 g6 Z# Y# p
  315. CPX #$06* k+ s2 c! J- L) K* q: s* A6 M3 X
  316. BCC PPU_STAGE_WROTE$ p0 X) |$ q1 f2 E. `5 L2 g5 N
  317. LDA $6010" i3 r3 m& A# `& E5 ?1 P
  318. CMP #$FF    ;关卡数据初始化条件判断
    ' M% e) N. c" X( |) K, m( M
  319. BNE KEY_B0 U% y. Q+ h. \  c( k, L/ t5 I4 R; L
  320. LDA #$00
    * v! Q4 o' C) n6 `  x' V6 f
  321. STA $6010    ;关卡数据初始化
    8 C, e" B" l/ G& w
  322. KEY_B:    ;关卡减少
    - {: a2 H3 U( O" C/ ]' l
  323. LDA $04
    : s* ~& w. [: w" c! E5 Z
  324. AND #$42    ;按键B或左减关
    * x2 t, R% t- C, C9 a7 V, W/ e
  325. BEQ KEY_A/ b) M- s4 N/ h0 q& k
  326. LDA $6010
    + Z2 R) s8 n; K: |  P: ]
  327. CMP #$00    ;关卡比较
    5 U5 t! L2 |" e7 L1 E/ l
  328. BEQ KEY_A
    : d8 U$ @+ g" `  j
  329. DEC $6010   ;减关
    1 D, V( h9 V" S* W8 S" T
  330. KEY_A:    ;关卡增加
    6 W+ _9 ?+ b+ e9 d1 Q% y
  331. LDA $04
    $ Q: s7 m/ a0 I2 G8 v
  332. AND #$81    ;按键A或右加关4 c4 x& b# j5 r
  333. BEQ PPU_NUM_WRITE
    , {; s8 `# I+ U
  334. LDA $6010
    . u! i3 `5 [1 R4 I  \/ n  t
  335. CMP #$04    ;关卡比较
    8 Z9 p% k8 {6 ?! |; f$ K
  336. BEQ PPU_NUM_WRITE
    % m# o8 d: P# ]& j2 S
  337. INC $6010    ;加关
    4 G! j+ V4 ^, f* L' P* K0 i1 C
  338. PPU_NUM_WRITE:
    8 `; _1 f4 O' I! o# ~7 Q3 ~
  339. LDA $6010
    ; E% @& m- H3 ~* ?
  340. TAX  X0 I/ Q# r  [, p, i5 U, T2 M9 X! R
  341. LDA STAGE_NUM,X    ;写入数字
    + r! n7 F  T- |4 _& W( N2 d1 k
  342. STA $2007
    4 V" v6 R$ ]. T/ i
  343. PPU_RTS:- N/ Q+ A) ^7 _
  344. PLA/ Q$ D# N& J! p: A5 K: K
  345. TAY
    1 n; O' a3 {9 p1 y: _3 I0 R! j+ \
  346. PLA4 r5 `, I, A* m( M( N+ a* X- H
  347. TAX# ~- y4 G: H3 R1 ?% X4 s1 x
  348. PLA! Z# Q. R7 G& Q3 E2 I
  349. RTS7 P' I, e& W- }( D; d

  350. & R) i: v- {# v7 e

  351. - N, V$ u" i% x+ H3 e1 _
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据
    ' ~% m0 h3 Z  u
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00. `/ @1 S* @1 b4 l' ]9 n0 g
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据
    7 ?, G9 ^- y/ X0 u3 ]. K
  355. .BYTE $D1,$D2,$D3,$D4,$D55 m5 o& B+ g) S  J/ G3 ?6 L6 [
  356. , Q/ ?) y' w  C8 w) S# S) l& C
  357. PPU_ADDR_DATA:& Q. N  E2 u* Y
  358. .BYTE $23,$0C
    $ D7 _' J6 e( w$ u, ]5 u" u+ m6 u
  359. ' V  v- S; N" ]) R, r; Z
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1730 天

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

签到天数: 2367 天

[LV.Master]伴坛终老

发表于 2017-3-29 10:20:54 | 显示全部楼层
感谢楼主分享新游戏

签到天数: 1142 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 2088 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 3206 天

[LV.Master]伴坛终老

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

签到天数: 1803 天

[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
8 W9 K4 R* i: \$ K) g6 t( z$ a最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊

: n; I! z0 |6 E# a3 T已经加上了,赶紧下载吧
[发帖际遇]: 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
* Q9 [; F0 i* d7 W1 m! B旋风又疯狂大修改了 哈哈

! k6 O1 }  f$ [: E6 h6 V- n  B+ M' j疯狂不起来,无聊了而已
[发帖际遇]: yandagui摆地摊卖菜,占道经营被城管罚款 2 个 柠檬. 幸运榜 / 衰神榜

签到天数: 49 天

[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-10-8 06:55 , Processed in 1.090821 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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