EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑
* H9 J5 Y+ h. U+ q
* f0 D4 W! Y- U8 V    [FC][最终任务][END选关]
/ h- b6 v4 N9 ^* B4 g% P7 C( e' h2 l- J! R7 ~* }
时间:2017.3.29
0 x0 P& L" y' w  b作者:FlameCyclone
/ t- C: H6 C9 I内容:
) D& P  k" E& |& x4 g. y) R    1.关卡选择:   标题时,左或B减,右或A加(1-5关);
3 h+ _- d- O. ^" I# I+ p7 c  v    2.无敌锁定:   暂停后,按上键切换;9 O' r- I6 C( a
    3.生命加满:   暂停后,按下键切换;
9 b1 v! O/ [  T- g6 y" ^    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);! ~) w4 N6 m- z
    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);
: A4 j; l) \3 P3 ]& e    6.B弹数量:    暂停后,按A键切换(1个或2个);
% w- k( b5 K+ O+ i$ c/ N    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;) j* g6 p/ e$ f1 Q) U, i( @
! y& a# {% Q; ~7 F$ n
& G8 H8 Z/ ?% w: E5 a: U+ W
2 h; B. c8 h+ O/ W" d2 Z! F( }

) z; l% T- z5 n1 `! Z9 D& M3 S5 L, X" T- ?1 W+ Y. J6 a

8 S" J1 }" l* a% z; K6 R7 ?4 Z& q
游客,如果您要查看本帖隐藏内容请回复

& G4 f% p% v7 V8 V% J" R4 rFlameCyclone.ys168.com
; H# j  A( H9 A" Iwww.nesbbs.com
  1. ;[FC][最终任务KEY][END]: d( q0 [5 n- x
  2. button = $04    ;单次按键
    & o; ^# z( |' I  F3 C- A$ q0 q
  3. flag = $6000    ;功能开关标志
    / |0 S& I, X. k) l
  4. pause = $000E   ;暂停地址  U7 [* C$ H4 k6 V

  5. / Y4 N( N& `, J" ^& z2 f( q0 I
  6. .ORG $80004 B5 I: N- J  q. o, a6 A5 C
  7. LDY #$08    ;自带的按键程序( G6 ]! @) X6 B3 b* [6 d  }) I6 z
  8. ADDR8002:
    & Y5 }, p% l( J
  9. LDA $4016,X% M+ b; }6 M2 s
  10. LSR. `+ k8 Z- l' W& K/ ?9 a$ a: w" T
  11. ROL $0021) U* Q5 ^# j" b- @6 q4 \# u/ H( C" p
  12. LSR8 Y$ z; f3 Y, N1 f; h- \
  13. ROL $0029
    9 Z- Z% m( t6 N4 g' u( @
  14. DEY
    - M- F1 H4 p5 h* w9 o2 F2 G4 m
  15. BNE $8002
    " |5 W# n+ p" A) w, ?  x: q
  16. LDA $0021" j! B0 h2 `9 \* J" S6 s" b
  17. ORA $00292 X$ y; ?' a0 |% ]
  18. STA $00214 L0 x- ?  B3 B, N9 h2 }3 @$ ~5 u+ N
  19. LDA $0020
    # l! j" w% V, V% Q+ n' L
  20. AND $0021; s! W$ S2 p: R# Z4 c! w
  21. STA $0020
    ' [9 m+ _; _3 E
  22. LDA $06,X
    - c$ h, O5 _' F3 F4 {. ?. @
  23. EOR $0020
    ; [  U4 D/ X8 q) B+ b
  24. AND $0020* V  j: `+ F2 p1 ]/ a
  25. STA $04,X
    : w8 B3 r3 B* }6 Z& J* O# U
  26. LDA $0020" H$ F3 c, w, d4 _/ y3 G& y0 l# S
  27. STA $06,X
    1 R: M: u  O9 n  A0 F
  28. JSR KEY_OPERATE
    / ]' Y+ E1 r. A2 f$ [7 ~2 R
  29. JSR Function    ;功能调用  s- _9 b! d8 \' g/ \  g0 M
  30. JSR Weapon    ;武器切换调用) \* D& g- ~- s7 R# \$ v
  31. JSR Power    ;威力调用" P" F! r& s3 X3 j3 G
  32. JSR BULLET_NUM    ;子弹数目- k5 e( ~3 I* W3 m* a% V
  33. JSR BULLET    ;副武器类型
    7 D, g# _/ L2 K- a$ Q+ q  J
  34. RTS3 t6 a- [$ y9 B& B
  35. , ~. Z* X! \: G6 C) Y( a5 y

  36. 3 [0 T) k2 U- \0 E- F3 z! ?1 [7 E( U: F
  37. / X) {# M* M+ @! D7 q
  38. .ORG $8050
    3 \9 I3 P) ]/ y9 W+ U
  39. Function:    ;功能1 k+ N# u! T! q7 |+ E
  40. WUDI:    ;无敌
    0 a  d3 ]* _$ S. ~/ ]" v
  41. LDA $6000,X
    / D) l6 Y9 }* j* ~5 c; W: k% r
  42. AND #$08    ;开关判断9 n3 X, w& e. h% E4 M
  43. BEQ LIFE- T5 Z, m8 j' W9 J' ~
  44. LDA #$05
    ) b  q; n9 i) [8 f1 s/ `
  45. STA $05DC,X    ;无敌锁定+ c; X' C0 C6 V0 a% f
  46. LIFE:    ;生命
    2 n9 ~" [3 _; f) j
  47. LDA $6000,X7 Q% Q; J1 p4 _
  48. AND #$04    ;开关判断
    7 I* s( ^' y8 G3 _
  49. BEQ FUNRTS7 w$ |: \4 H* \: Z( @9 U
  50. LDA #$05( c( Y: c9 {+ u; @5 A0 b+ r, g  |
  51. STA $1C,X    ;生命赋值
    ( L- J! I+ t# |' W2 |* j) ]
  52. FUNRTS:
    3 _: r9 I5 B# c  M
  53. RTS
    : C, [! T8 \& N# w

  54. - g3 |- g! `( @
  55. Weapon:    ;武器切换0 P+ A& S; ]3 b8 I6 N& p
  56. LDA pause    ;暂停状态判断0 \& L3 y- a, S( P$ t, r" e2 ?  ?
  57. BNE WEARTS  N+ H& @( v0 m' U8 F% y3 p* P
  58. LDA $04,X
    ; p5 |: y9 J% R: c& W
  59. CMP #$20    ;选择键判断
    $ U4 R1 H! Y5 r8 o* h: R  M
  60. BNE WEARTS' ~& n" Y0 x6 F$ Q
  61. LDA $12,X
    3 u. \; k( X1 X% W4 V# e) ^6 J
  62. CMP #$03    ;武器值判断$ l4 B3 H$ j- B3 }: W( w
  63. BCC WEAINC+ {) P7 p3 |$ z) M% }% V% {
  64. LDA #$FF! q1 e  ]: k- t3 j: h3 E5 s
  65. STA $12,X    ;武器重置4 o- |/ J+ H2 ], z, ^
  66. WEAINC:
    0 o6 Q+ \: r! k1 l
  67. INC $12,X    ;武器增加$ I2 I. R5 A5 ^" }& Z- `# S
  68. 0 _9 S0 Z5 i* a9 ^% r
  69. WEARTS:
    ; f6 J. {1 O! K2 E# t# {* ]
  70. RTS, Q1 U' P/ a: D% d! m
  71. / a; I7 O& G# U& l: t* i. g' o
  72. Power:    ;威力- D1 E% T6 @7 {
  73. LDA pause    ;暂停状态判断+ ^* Q  H4 a7 q
  74. BEQ SPERTS
    " ], s9 C  W* D( m6 k
  75. BUT_LEFT:
    " _* X3 Q3 w3 ^$ ^- ~
  76. LDA $04,X" s7 D5 b; y. H1 ?" U# p* P" O
  77. CMP #$02    ;左按键判断
    8 M8 y, K* j" ]2 }
  78. BNE BUT_RIGHT
    ( g: P7 R, e; q# @# {! K+ j; n
  79. LDA $88,X
    - J, t3 r2 P6 ~6 V* J2 K
  80. CMP #$00    ;威力判断
    4 k, k7 G+ C% b% B
  81. BEQ SPERTS+ }1 g) W$ G. l, ?; Y' j
  82. SPEDEC
    2 ]6 q+ D& Z9 }. ^2 ?
  83. LDA $88,X    ;读取武器值7 x1 V7 B% a; z' @% u
  84. SEC& m8 g; j; t+ J+ B- Z( I
  85. SBC #$08# l& W2 A" @3 \( X$ ]- a. E# C
  86. STA $88,X    ;威力减小' t. t4 L& e$ `% {
  87. BUT_RIGHT:% D- {1 O. F1 r
  88. LDA $04,X( q! ]5 l* Z' Y0 \+ N
  89. CMP #$01    ;右按键判断7 J( g# U# H8 d+ H
  90. BNE SPERTS" }! z  ~* F1 d+ S5 _
  91. LDA $88,X
    2 M6 g8 _3 R+ ~3 J: j/ w/ x2 K
  92. CMP #$10    ;威力判断% x3 W7 a$ h* f! z9 j9 B7 I# Y
  93. BEQ SPERTS! F& y9 ~8 c" ^9 M# n
  94. SPEINC:
    ; s7 Q! A6 d$ N' i
  95. LDA $88,X    ;读取武器值! G  e( W0 v+ y+ g" R. v" X
  96. CLC9 H6 @+ s2 c! y5 K# d) U
  97. ADC #$08% B2 E% S) A: Y
  98. STA $88,X    ;威力增大
    ( m+ J2 r0 y& L( p6 Y5 d$ l

  99. & _$ d' B3 a' a& G2 v2 g
  100. SPERTS:
    , y: x+ t, N2 q' a0 ~8 {8 g+ S
  101. RTS1 _2 ]* X  I1 \" b/ A; _7 w0 o

  102. 3 N$ Q# q8 D( n
  103. BULLET_NUM:    ;子弹数目$ ]# X/ `/ ~/ \! X6 [
  104. LDA pause    ;暂停状态判断. k, K6 r5 T1 m
  105. BEQ BULRTS( m' u5 y9 p1 @4 i
  106. CPX #$00    ;主机玩家判断
    + Z0 B4 X9 x0 {  q: B3 P
  107. BNE BULRTS3 W. o! c+ @7 _" T& x
  108. LDA $04,X    ;主机玩家判断( A! S& }7 z: l, l. Y  o
  109. AND #$80    ;按键A比较* C* @) t, A. R6 b6 G/ \8 s% M
  110. BEQ BULRTS
    9 z$ t, q0 V6 R  k2 ]( O; y8 X
  111. LDA $87    ;状态判断
    " d' n8 {: X9 ?3 `. y
  112. BEQ BUL_2
    % p# _4 m, F6 z' I" T. v9 j2 z
  113. BUL_1:
    ; L! C3 I, X  P% u! U
  114. LDA #$00
    ) L1 ^7 J$ ^( E
  115. STA $87    ;1发子弹0 |0 b( a; N) Z8 n3 ~; ]
  116. BEQ BULRTS6 V: `# M3 ]$ z' M3 ^6 s7 `' v5 W
  117. BUL_2:& }) }9 c* R, s6 N! k0 H
  118. LDA #$01; B3 W2 P6 J- P  N, M( x, V) u
  119. STA $87    ;2发子弹( z# ~8 G2 s4 b, Y

  120. / ^+ U7 z( c# L9 M+ ^0 `4 Q  A
  121. BULRTS:
    9 ]/ V& `% Z7 ?0 U9 Y! T
  122. RTS
    5 n& d1 b5 [% [/ e/ C+ q

  123. 6 r( X6 S* R( P
  124. 1 v0 g% Q2 x3 d; V, U5 R3 K
  125. BULLET:2 i4 ~9 t) q' s4 f' f* |7 V$ Z* Q( B+ q
  126. LDA pause    ;判断暂停状态) A3 l4 |: s8 m: T  G# b- |
  127. BEQ BULLETRTS; I" F" o; v6 I0 A7 ]8 Z! {! l  T
  128. LDA $04,X4 h. }5 W0 q+ X2 i( ]
  129. CMP #$40    ;按键B比较
    0 [1 V! J: V0 \
  130. BNE BULLETRTS
    % r" X, x" t' L8 {7 b3 E1 y
  131. LDA $6002,X    ;读取副武器
    5 ?2 O' @) q9 L. w% x' E2 }
  132. CMP #$03
    3 a7 S4 K. J. l. j% x4 O' X
  133. BCC BULLETADD
    4 i: O5 P' z5 k; S* u( N9 ]+ ]
  134. LDA #$FF
    " j* x! ]& {* D; P4 ]
  135. STA $6002,X, f0 M2 S% K5 @/ ^
  136. BULLETADD:2 |9 H9 p& p5 T3 ^5 h" q) h
  137. INC $6002,X! p) J; v4 r. l! ]2 {. t8 B
  138. / |+ q  h) E, K/ g$ D/ d- f
  139. BULLETRTS:2 b/ U! s8 f9 r
  140. LDA $6002,X
    5 c. E2 J9 F( Z( S( x1 T
  141. TAY
    0 l0 g& ?2 s) P$ I' _
  142. LDA BULLET_DATA,Y
    ( L3 B/ i8 L. F! `) c
  143. STA $6004,X    ;写入副武器数据3 E3 v  t7 |6 q
  144. RTS/ q' A9 k6 f, I2 f
  145. 6 g* V# O3 u9 q, Y9 A
  146. . m3 @$ L. m8 B6 w1 g: G2 P
  147. BULLET_DATA:$ J; W) I: j% m# x3 U% L
  148. .BYTE $06,$02,$03,$04# p! A7 ]; `, p1 }+ E/ `

  149. 1 r. c( H2 [$ `3 i  M

  150. 1 c5 y' n) A2 k4 P# y. y! x

  151. 8 @& [; u' A: j" k8 D, R7 L
  152. KEY_OPERATE:    ;按键开关操作7 |$ z1 f0 L' K3 j
  153. data_protect:    ;数据保护; }% ^* ~) R6 {
  154. PHA
    ; _  M9 {. _7 [' A4 e1 a5 A
  155. TXA
    ' Z6 F/ E( K% ~% O$ F. k
  156. PHA/ t  M. ]4 _: u
  157. TYA
    : h- ?9 v  J$ E0 |7 Q
  158. PHA' G" m. r* Z9 ^
  159. * T( s. g: T* \: ]* r
  160. FLAG_INI:    ;开关标志初始化
    " i4 l% x7 H/ M/ h& n! u$ p' n) Z% M" q
  161. + Q1 n$ i* Q  t+ ]& z% e+ S
  162. LDA $600F2 F1 z; z0 A. m1 ~, d$ H3 R
  163. CMP #$014 e. W# _8 f% X. |5 d+ W. }
  164. BEQ pause_cmp) j' ]& T: X- \$ a
  165. LDA #$00
    ! \$ }; g3 r' U$ R
  166. STA $6000
    2 Y9 Y/ t+ p( C. F4 q2 E( C
  167. STA $6001
    8 m9 N* ~: Q3 P6 K3 i
  168. STA $60029 t+ y7 z1 M( _! ?
  169. STA $6003$ O) ?) E. _7 u! }
  170. STA $6004
    3 w: m& W3 f- T# u
  171. STA $6005! E) Q  g4 a; W+ V
  172. LDA #$01
    9 O' E. t4 C$ j9 g) I  j/ y! w# M
  173. STA $600F
    3 A7 s; Z! k1 Q" L
  174. 2 W$ O1 I3 R* ?
  175. pause_cmp:    ;判断暂停状态- L- E8 V7 \" c9 {' x6 l
  176. LDA pause9 f0 E' n+ E: z$ z+ @2 F
  177. CMP #$01    ;判断暂停状态
    $ [# Q6 ]2 w7 q: x2 L
  178. BEQ button_press
    + c. r" Y8 H3 o$ j6 L; C, P
  179. PLA
    1 Q, y2 Q  Z2 o5 O0 g; p
  180. TAY
    / |! ]9 M) H1 b# z: Y. \+ @
  181. PLA
    5 v7 o  u" Q0 j% j2 a* G
  182. TAX8 b$ q2 @6 _/ {; S; X
  183. PLA
    / B/ b: O0 v$ l- r$ q
  184. RTS* f$ _1 n  ?0 K3 ?: W3 ~* [6 L

  185. - M4 a/ x" h" f& z( |) {- [
  186. button_press:    ;按压操作  F0 \3 l( j$ k* F
  187. ini_Y:
    7 d' `9 {3 M: A. p' q- b
  188. LDY #$00
    , a( L4 ~& a3 s
  189. button_cmp:
    $ G3 ~" X! s, L2 N; @8 i
  190. LDA button,X
    : B) m5 d7 [! b1 f5 p+ h
  191. CMP ora_data,Y9 A$ a8 E2 S5 ~$ ?5 u4 |2 q
  192. BNE count_Y_cmp3 v- G4 }5 x" S) U
  193. flag_cmp:2 a( K! _! v: D( o) k, e
  194. LDA flag,X
    * y5 {+ R7 X/ v( j7 `8 ]1 t0 u: T
  195. AND ora_data,Y
    % f: n# b, w) y+ J
  196. BNE flag_and- q: x+ ]) \8 t9 f7 O: O, ^! `
  197. flag_ora:
    ( Q8 V% l  \* U( |+ h  @$ k
  198. LDA flag,X
    4 `, k$ W+ y$ [, l* X7 n& n
  199. ORA ora_data,Y
    / _$ z! l0 p* g( F# A3 Z5 M
  200. STA flag,X
    , [# u$ u$ I# H% n( M
  201. BNE count_Y_cmp
    3 Y5 e  p7 @- G" X! h" `
  202. flag_and:! k( C3 ~' d  o7 x$ n1 t/ p
  203. LDA flag,X
    & }" }0 E7 f& N' ~
  204. AND and_data,Y
    9 H% C1 Z# K7 M9 \
  205. STA flag,X- X3 v# Z5 o8 ^
  206. count_Y_cmp:
    ( q6 D$ _8 X" q* F* D  C1 y
  207. INY
    3 h" v1 I8 ^0 c+ B" s7 ^( R$ g
  208. CPY #$08/ f% {6 ?2 [* W) L" s9 o
  209. BCC button_cmp8 v+ s1 ]) C$ B  H; [
  210. 1 Z) }9 D% V( i& |
  211. data_extract:    ;数据恢复
    7 G8 e- _& d; b9 y
  212. PLA5 G8 y$ A/ x, S# m3 E+ ]
  213. TAY
    8 G5 X5 W0 _; b  c9 D
  214. PLA+ B, X: V6 z% f6 K8 T' |( D
  215. TAX
    2 e3 E$ i, F) Z0 n! V
  216. PLA5 ?% h( S8 S, D& x9 Q

  217. * I" m; f& T' ^' ]: Q/ q
  218. return:$ E% Y5 S! {& z  |& b5 h
  219. RTS$ |: K  ~& i1 V# y8 q
  220. : {$ X! g( e9 G
  221. ora_data:   ;按键相或数据
    5 ~6 A2 E+ a: r( p; s' ?0 I+ w
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
    * F" g: U: D5 k8 m, s
  223. and_data:   ;按键相与数据; d. f2 h6 k3 |9 e, M+ C
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF7 B" Z& [* F8 h; U* H

  225. 1 d6 u# ^9 k  H0 j' V  N0 r

  226. % Q( b  A; T! d6 f: x9 o! ^0 U

  227. % v5 g6 |3 b9 D: Y2 {+ c

  228. ! ^- y7 l1 M( a& `$ f
  229. # F0 e" ^/ T. B, A1 K& K1 }  U, O+ X

  230. % T; r, c: D  d
  231. 6 x2 V! x3 N5 e

  232. 8 X! ~2 b4 p4 E) y

  233. . U6 h2 j% r7 h6 u
  234. .ORG $C264    ;自定义的MAPPER2切页程序
    " X' ?) U% z$ {, v* S, w# u9 l
  235. PHA8 G, S6 q, l6 V- \
  236. TXA% w: O, k; ^  q! @
  237. PHA9 Y4 {& y; u/ D7 M; `
  238. LDA $00662 B* |: W/ I: H  D# M( z
  239. BNE ADDRC2801 H3 M$ A; ^  P& x) A& \+ I
  240. LDA #$07) g( u( I& A3 f2 r9 Q
  241. LDX #$03& K( X* D6 A" z3 v6 J# [
  242. JSR $CD9B    ;自带的切bank方法
    1 q3 l0 U$ @# N3 c: _$ l
  243. PLA; ~# W3 e9 c! ]4 P
  244. TAX
    8 l: I  Q6 P, E
  245. PLA9 Z  E; _  v; i4 K5 Q7 s
  246. JSR $8000
    6 X3 u$ ~, P9 |$ W" i  ~
  247. LDA #$061 ]& v4 E, T3 M8 z# K
  248. LDX #$03
    5 U+ \/ A' j! ^$ O  S8 O4 W
  249. JSR $CD9B    ;切回原该切得bank(可以不用)% c$ W; e2 @4 d+ l/ c& ~; g
  250. RTS
    ! w0 S+ i5 `7 }2 f+ ~+ g0 t. G: I
  251. ADDRC280:) k0 D* z4 ]) u3 [& o" V' y! c
  252. PLA
    . B* m1 f7 e3 K) g* k3 G+ x
  253. TAX4 I! A/ v- D  E& h& @
  254. PLA3 S& n: }4 K0 A
  255. RTS0 V- m+ T& @8 X+ C' M. ^6 R
  256. 2 b2 v2 l+ N  U4 p4 ^. e' n
  257. / ~* }* U/ B( ~  D: W
  258. ;[FC][最终任务PPU][END]% T8 S1 d3 N8 F; }6 A8 j% r% B7 b7 g) e
  259. .ORG $C056    ;跳转到PPU重写程序( c- J3 V* ?% E6 T7 V
  260. JSR $70009 a9 T0 _% F0 J# {: t

  261. 6 L: w5 Y" e6 u/ ]4 n1 A
  262. .ORG $CEBF( e7 S- Y0 M- q8 N! T  e- f; U
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入
    ! L% }# p2 R1 L( P
  264.   
    9 T$ i4 W# B2 S# e' @
  265.   .ORG $E4603 P8 k5 ~* h! L* E
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入
    7 H2 [( K: {: ?  G$ D% |6 D$ X' b
  267.   
    ) s7 }( N! `8 {
  268. .ORG $71F09 e% q$ |  m2 v
  269. STAGE_DATA_WRITE:
    4 b( e, _- q8 |6 H, F
  270.   LDA $60108 n3 R4 {* I% N& ]( ?
  271.   STA $1E    ;关卡写入3 K  K' D4 S) G, T/ W3 q
  272.   LDA #$002 J( p8 {+ x: z
  273.   RTS8 `2 J; e: E2 Q5 F4 P& l
  274. .ORG $71C0
    + d6 k+ [; y* O8 d2 x' c
  275. BULLET_DATA_WRITE:    ;副武器数据写入5 _; o; |5 B. P+ J0 g% t# i
  276. CPX #$0E
    ) U! K9 t5 Z0 ]* e6 W
  277. BCS P2_BUL, p6 Q! ?0 ?3 {+ i1 O
  278. P1_BUL:
    7 h; U" p* h; i* w5 R
  279. LDA $6004
    , N7 I3 j3 w0 h( o) q
  280. JSR $D7D0    ;P1副武器数据写入
    # ~7 |( V- N- ~9 @8 G0 S7 |; I0 T# ]
  281. RTS% V: x! X# a" W$ v8 M% M
  282. P2_BUL:
    4 l/ n6 X3 {! r9 g# y3 j
  283. LDA $6005
    ) P7 z4 w9 T$ r9 n0 [  j, O
  284. JSR $D7D0    ;P2副武器数据写入2 \& R; r4 h6 ]" Q3 {: G7 O
  285. RTS( Y6 u1 u2 v1 }( W1 b. n
  286. 8 L% a1 j; A) O+ R

  287. ; H. \. `0 u3 T0 g* k
  288. .ORG $7000
    % z/ E+ i) c: A1 h" \5 q- {$ ^4 d
  289.   
    * ?7 b+ P6 ^4 \% a% K/ H
  290. STY $4014    ;补上覆盖的精灵写入指令& G& U2 r% A$ V: [( m/ ?2 P
  291. PHA
    / _. T! i- P% x) L0 t) P4 J$ z
  292. TXA; j  s9 r- V* _, g/ V1 J6 F: K0 h
  293. PHA& Q+ @$ v* u: Q% w- T7 a/ P5 P
  294. TYA
    , X: \: d( S  f4 a
  295. PHA& X& N  R8 H) V' w
  296. LDA $0C
    & }, D: }$ B  V: T+ i! ^' ~
  297. CMP #$01    ;比较是否为标题画面
    6 O- T! r3 h* d6 g
  298. BEQ PPU_STAGE
    # _* o8 c) n6 u" J( v
  299. PLA- i% I* ?3 \5 B( m% A' ?
  300. TAY
    + D8 B# u: v3 H( X1 I/ y  e
  301. PLA
    7 V2 v8 x# h" |- p$ |
  302. TAX
    $ ?* @7 U+ a' ~- ^  J% G
  303. PLA
    8 R. i* x% Q, V  q3 B6 X
  304. RTS! s2 G$ i6 n: `3 ], a; X0 v- D$ G  B' o
  305. PPU_STAGE:    ;STAGE显示程序  U) o' Y# k1 _- _2 a- t
  306. LDA PPU_ADDR_DATA4 Q2 |+ _/ l+ ?5 x) z! c/ [+ c: X* E
  307. STA $2006* ]' w% S+ }2 H! o( c6 r3 ?
  308. LDA PPU_ADDR_DATA+15 I7 Z0 `" f. M
  309. STA $2006    ;坐标设置
    " L- x" A, c( p- R! [$ V
  310. LDX #$00$ h/ b1 z8 L  s8 P" d& h
  311. PPU_STAGE_WROTE:    ;写入STAGE字模
    + y" g- t' y; i  W2 ?# ^/ \
  312. LDA STAGE_DATA,X8 l# h' s9 K- V7 |) q0 {
  313. STA $2007, Q, R( c+ w  f  X7 N
  314. INX3 L6 t5 o9 P0 g4 J" m
  315. CPX #$06
    . g2 G0 [( I' D5 E
  316. BCC PPU_STAGE_WROTE
    : {; Q! N* K$ h0 i; Q3 X! j3 Z
  317. LDA $6010
    ) v# @+ G9 s1 _+ n
  318. CMP #$FF    ;关卡数据初始化条件判断, G, j( i$ H* J7 g8 k( q
  319. BNE KEY_B
    5 O8 K) Q7 j, r3 o5 o( a
  320. LDA #$005 ], D; d7 c% M" I
  321. STA $6010    ;关卡数据初始化
    / [8 i% R/ f, d- B
  322. KEY_B:    ;关卡减少' V# z$ G, L. O. a4 {' ~+ z
  323. LDA $043 a* r! \+ M+ B# }. t' \
  324. AND #$42    ;按键B或左减关3 r8 N  l. U8 Q2 V, C
  325. BEQ KEY_A
    & S9 `1 }2 b! Q  r
  326. LDA $6010
    ( K8 _& j8 m+ |1 e5 v
  327. CMP #$00    ;关卡比较
    7 a2 b/ E  ^2 S' v( l  f1 w
  328. BEQ KEY_A: S! C0 [- ~4 L# E  |
  329. DEC $6010   ;减关
    $ C) v& L# ~  j, p6 }9 n
  330. KEY_A:    ;关卡增加
      a  k3 C& D( w6 I$ \
  331. LDA $04; }/ c2 }- N# ]( i$ h! U. \
  332. AND #$81    ;按键A或右加关) \, P2 A  O$ M+ O9 P! k
  333. BEQ PPU_NUM_WRITE; G  `3 a' \- W* a# T* B' H1 W
  334. LDA $6010
      t. h- \  ~& q* I6 E7 [$ R4 W8 ?3 w
  335. CMP #$04    ;关卡比较
    ; z0 L' G- p4 t4 D. M+ i% j0 u- p
  336. BEQ PPU_NUM_WRITE
    7 @$ q6 |0 f1 l& k( R3 L
  337. INC $6010    ;加关
    6 I- E7 h4 G' O0 c! {2 L5 S
  338. PPU_NUM_WRITE:7 b0 Q9 n+ y0 @% I
  339. LDA $6010! d- x( A7 D5 t# \/ _9 |( F6 A; [
  340. TAX
    4 Q1 @9 e% N$ }& [
  341. LDA STAGE_NUM,X    ;写入数字- N/ d) b2 |$ v( f  K7 Q) Y: [
  342. STA $2007, N& i4 G0 a1 t! F- l
  343. PPU_RTS:0 G$ Y6 _7 ~" f! R3 h2 g+ t) @9 K
  344. PLA; M, B, d1 L) P
  345. TAY
    $ _9 |) c2 u. d$ m8 n  X
  346. PLA
    " L7 @& m, i  P1 [. h! D
  347. TAX
    2 w3 _: G* g6 A; i& q9 q/ t7 X0 E
  348. PLA' d6 m" O) Z4 E3 B
  349. RTS
    % F# h2 [  m; g2 C. r7 M& E

  350. & T2 d8 _5 |* J0 `! N' d, P7 b

  351. ! N4 F& f" H; ?$ @6 T: T* I- g
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据
    . i* N+ c4 l: N* j4 W6 P
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00
    2 i! Z) j7 b6 G
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据
    / R$ f. x% ~+ Y+ |) B! p% N" d
  355. .BYTE $D1,$D2,$D3,$D4,$D5
    5 h3 e# C4 O4 C1 }" ~% e
  356. 7 G7 l  e% F! C( i
  357. PPU_ADDR_DATA:
    $ k: F1 p' U! v3 x  c- O8 z$ n
  358. .BYTE $23,$0C) I4 M8 s, o# s2 _

  359. % Y/ J- `1 ~7 a" W3 [+ \
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1713 天

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

签到天数: 1136 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 2069 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 3186 天

[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:126 D& g9 K) A6 _4 \0 z
最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊
/ t1 D4 E2 y( i. x5 m( @% m
已经加上了,赶紧下载吧
[发帖际遇]: 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$ B7 T! @; G5 M* B$ N
旋风又疯狂大修改了 哈哈

& E  y: ^7 m+ T5 S& Z- x5 v疯狂不起来,无聊了而已
[发帖际遇]: 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-9-16 20:16 , Processed in 1.113281 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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