EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑 : L! Y. @( e5 L: O! y! S
% h$ j/ y: s( C" W0 ~0 l, q
    [FC][最终任务][END选关]# b2 X' v0 Z+ E- y
6 d0 M/ x' E9 D4 r0 P8 Y
时间:2017.3.29
/ D4 G: N0 A! f9 Y0 Z0 h$ Q1 o) ]作者:FlameCyclone
' b+ k# N/ y( c4 H- |: B  R内容:
  Z  a' \2 n  }3 }/ f4 S% p9 f    1.关卡选择:   标题时,左或B减,右或A加(1-5关);
' h4 G# S+ D0 ^, v2 t    2.无敌锁定:   暂停后,按上键切换;
* L. S* f, P6 h# i    3.生命加满:   暂停后,按下键切换;' Y; b! p/ T9 M2 C: P7 i
    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);
7 O6 n: f+ L. g0 m2 i0 a    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);! N* r$ g' x) b2 s. N, d
    6.B弹数量:    暂停后,按A键切换(1个或2个);
" A/ B6 C9 f, k3 m    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;
& b: M* z" Y" i% E# R) a9 m% I; }# j6 U

/ |" P9 l# P% t( O# |; D: G. H! j# A4 `# C* Q* C5 a
# c: F: S  [5 ?4 K

  j$ o) v5 X9 V; b0 A
( s/ l$ N% K2 F* G1 X0 L& O
游客,如果您要查看本帖隐藏内容请回复

6 b* k: A4 A1 K( s# j% nFlameCyclone.ys168.com
' n" i9 i& G, A+ Ywww.nesbbs.com
  1. ;[FC][最终任务KEY][END]9 G( |- V# m7 N- N* a& H
  2. button = $04    ;单次按键& l5 ^5 h6 g- W9 T) l, J1 i
  3. flag = $6000    ;功能开关标志1 `! Z; p" ~  z  B
  4. pause = $000E   ;暂停地址
      Y: Q: U! i/ O+ R* \! P
  5. * t; j# I+ K. i, |  ]8 R
  6. .ORG $8000" L. O* F% Y. Y# A& ^# P$ Q
  7. LDY #$08    ;自带的按键程序
    ( v% _1 b& x: F- H" r0 o
  8. ADDR8002:8 x( l7 P$ v& [. x3 M2 t
  9. LDA $4016,X
    ' J9 }$ j2 u7 v4 d( T  _8 f
  10. LSR/ N. c/ P7 s  [) Y; k5 i
  11. ROL $00219 B2 R+ n# t1 w- [# n) L
  12. LSR
    1 N, ?( f: s, b9 c* W2 ^5 y& S% j
  13. ROL $00294 b" R. P, x* w* t+ u% `# t
  14. DEY
    / h1 |! Y, m* u% v3 `
  15. BNE $8002
    0 o0 G9 W1 V# `6 v* A. u
  16. LDA $0021
    " r: \  F' l: `
  17. ORA $0029) G' Q, p/ ?4 Z4 X
  18. STA $0021
    - @$ C5 i+ b& Z4 [9 S7 ?9 M! ^" U' i
  19. LDA $0020
    7 a" g1 V9 I5 q9 l+ |) A: S
  20. AND $0021; e5 L5 [) T$ x7 z; s  ?
  21. STA $0020
    / S7 s( O1 g- X2 \* V( h1 S8 w/ F% m1 t
  22. LDA $06,X8 V& k* c& g' ~  V% u
  23. EOR $0020
    $ ~' P8 d) J8 O# t$ }
  24. AND $0020( H* d  ~" w. c3 T
  25. STA $04,X( e2 |9 X6 p% s
  26. LDA $00201 k7 }# _  s8 o+ A$ K
  27. STA $06,X6 w) ?2 T' u8 M" i3 L5 b% B2 i+ G
  28. JSR KEY_OPERATE1 [; V1 x! [( O/ `. m; a
  29. JSR Function    ;功能调用  K% W, I, ^$ G9 N0 g
  30. JSR Weapon    ;武器切换调用% M' |( L- q+ H9 Y/ n
  31. JSR Power    ;威力调用" ?- T/ M' \) {2 @
  32. JSR BULLET_NUM    ;子弹数目2 I- a$ v6 q4 h6 g) E" S
  33. JSR BULLET    ;副武器类型4 N: B- U2 L+ T" C9 Z
  34. RTS1 [. K7 h! g. L# |( s
  35. 3 B, H) V1 q. n

  36. + O5 m/ V; h; R- j, B2 L! T$ {
  37.   B' e! o- m+ |% y8 z  ]" V
  38. .ORG $8050
    - r5 j: H" }2 b: y) w
  39. Function:    ;功能0 g: W9 e0 k( {5 i6 w; k% \2 {
  40. WUDI:    ;无敌
    4 |- s8 d  K5 [+ g
  41. LDA $6000,X7 O; m" }5 q& g. O0 o8 O
  42. AND #$08    ;开关判断
    - n! h  Y4 \% A; h4 y) v% X: e
  43. BEQ LIFE+ P# S8 W0 D; G- f1 I: a! H6 b- i0 |
  44. LDA #$05
    ; [, e3 A2 v- `3 T: e
  45. STA $05DC,X    ;无敌锁定) o6 _( m" ^; I# S2 b" p
  46. LIFE:    ;生命4 ~* U4 A( E+ X* `4 _" U! d
  47. LDA $6000,X
    1 o2 @5 n" E, e& m, [
  48. AND #$04    ;开关判断1 T* r& X$ a. F4 G7 P# ?
  49. BEQ FUNRTS% x& \0 a1 E4 F( H8 [* o
  50. LDA #$05  z0 v# L. [; a( I. _8 s
  51. STA $1C,X    ;生命赋值0 S; \4 L/ z$ k. m. n
  52. FUNRTS:+ W0 A6 C3 ^* V
  53. RTS
    / Z: N$ o2 _3 K. u5 m
  54. , M; U3 N6 |! }9 u( Q
  55. Weapon:    ;武器切换
    ! s. R5 V& F( U- Y
  56. LDA pause    ;暂停状态判断
    % j5 S1 `! @6 }# X
  57. BNE WEARTS. u3 R! @# D! l' A  f8 v; Y$ Q
  58. LDA $04,X
    4 `! z2 s6 i% {  y* d
  59. CMP #$20    ;选择键判断, o# q* F9 }" H0 w
  60. BNE WEARTS
    7 h$ I8 x7 _, f& V/ b* n
  61. LDA $12,X' t+ A1 O/ v3 n: f9 c& B* O
  62. CMP #$03    ;武器值判断
    / B" i: ^2 ~8 W+ k7 @
  63. BCC WEAINC! }" e8 o; q. w3 M) C8 e
  64. LDA #$FF4 {4 ?  h3 v4 o$ T4 t/ Y. p
  65. STA $12,X    ;武器重置" o5 J7 y1 e/ z5 ^/ e8 {
  66. WEAINC:
    1 d& s  U" X6 }# F' j" i4 X: ~
  67. INC $12,X    ;武器增加% r2 H1 J3 a# K% F! I6 b
  68. 8 T1 R: J, |0 J6 Y" z. w
  69. WEARTS:
      w7 k1 k6 ?9 |- Q, ]
  70. RTS9 O2 d/ t& w6 z8 j7 @
  71. # `  q! ~  E9 u; P. z7 A
  72. Power:    ;威力
    2 s# i; h& C  F" l9 e- a) z" b
  73. LDA pause    ;暂停状态判断' g! g8 I4 f7 L! M- n
  74. BEQ SPERTS* D# |! \9 [7 I, f# y/ E
  75. BUT_LEFT:
    ) C5 d. f. I6 D9 K& r1 U' B
  76. LDA $04,X7 }5 J6 n& R" |! c. W5 ~: z
  77. CMP #$02    ;左按键判断1 p' P( y; V" n2 |6 T
  78. BNE BUT_RIGHT
    ) X4 e0 ?0 p5 Z
  79. LDA $88,X- x1 Y) y1 O. h$ ^2 j
  80. CMP #$00    ;威力判断
    " l- {5 S4 g; V7 s' {
  81. BEQ SPERTS" q8 R" h+ _9 ~* f+ I3 u4 U
  82. SPEDEC
    7 X" Y8 N0 T$ k! \1 Q
  83. LDA $88,X    ;读取武器值" P  _" ]. Z3 ]4 F3 F5 g; H
  84. SEC& p" s8 X4 ]9 H- k& V# x
  85. SBC #$08
    / k! y5 v4 s+ o
  86. STA $88,X    ;威力减小
    $ r7 g2 p7 ?6 O6 @  R, [( D
  87. BUT_RIGHT:
    / a, [- R/ d+ S4 O8 r# _
  88. LDA $04,X* r  }. a* s  |3 X% S4 n9 j
  89. CMP #$01    ;右按键判断+ v# Z- i; Y1 L: u$ Z. F) X
  90. BNE SPERTS
    $ I+ H9 @0 Z# c' b. H- X
  91. LDA $88,X! ?7 x) G% q: L
  92. CMP #$10    ;威力判断
    ( l0 Y. G$ C5 V! [7 d
  93. BEQ SPERTS
    , e0 o. G! U2 C6 O( l
  94. SPEINC:- w) r& H! U7 q3 [5 w+ e
  95. LDA $88,X    ;读取武器值" G1 w! N6 ?+ J6 L/ g
  96. CLC' U' u/ \* s  m. e, s0 E
  97. ADC #$08
    2 d+ ]! Z; l# X9 G5 ~
  98. STA $88,X    ;威力增大. P) |2 X3 K0 A' j7 M
  99. + l# B! p5 y( D. e
  100. SPERTS:2 g) H5 i9 r% V0 s0 e: d, P
  101. RTS% q5 J8 s; M/ W: W

  102. 9 D" [2 C8 X$ \3 h9 m& b  q' |/ c4 E
  103. BULLET_NUM:    ;子弹数目. J6 e) h: c3 ~$ ~  E" O6 B5 g: R
  104. LDA pause    ;暂停状态判断5 d! j# T( L! _4 ^$ x( W4 V
  105. BEQ BULRTS# Y; m! L; i- b" @% S. b( q
  106. CPX #$00    ;主机玩家判断4 D! |3 c9 I" K* w+ J# g7 s
  107. BNE BULRTS. z9 a. @1 H" s& k
  108. LDA $04,X    ;主机玩家判断
    ; f$ s0 W* u, h$ h7 P$ F. p2 ]
  109. AND #$80    ;按键A比较( x& f1 \6 r9 s# S4 r
  110. BEQ BULRTS
    ' c8 I! \9 J6 J" c
  111. LDA $87    ;状态判断
    9 W4 }6 L* w+ u/ J
  112. BEQ BUL_21 {7 i* P& ?8 u7 r, {5 O1 k# `0 p7 g" H
  113. BUL_1:$ ~( [0 N/ p' k8 n$ m' B. [
  114. LDA #$00
    9 J* X' Q. _) T* [5 @
  115. STA $87    ;1发子弹/ ?$ ~2 G$ s  ^  O* A! Q  H
  116. BEQ BULRTS
    7 E/ Z7 ]# L1 _; s; g" O+ W
  117. BUL_2:4 V# ~9 w  F$ O. k6 V( m
  118. LDA #$014 x  @! ]+ A6 c' C9 H
  119. STA $87    ;2发子弹
    / `, i9 b( t' f+ p. X7 U

  120. 6 m' X% m" Q; }$ M/ {
  121. BULRTS:
    % E! a: v+ ~( I# l" i* [
  122. RTS3 H8 h$ F8 e  R$ p1 B8 Y6 h
  123. - C8 ]  E6 B2 ~4 A2 R4 Q# b& @
  124. . v5 i* S' S  l# c
  125. BULLET:& P$ H( }, B! k1 ~
  126. LDA pause    ;判断暂停状态3 x, ^4 B1 @# R1 g
  127. BEQ BULLETRTS( e' i1 Z( a  q' j* y* ~& p+ G0 s
  128. LDA $04,X5 m5 q3 d! H! M0 u
  129. CMP #$40    ;按键B比较% {$ Z/ e2 B  ]% r$ a. }
  130. BNE BULLETRTS
    ; z7 [1 t9 M6 I" N. R' J. N
  131. LDA $6002,X    ;读取副武器1 o+ B% A3 U% J/ G/ a  q& [
  132. CMP #$03
    ! I, ]. X  _; ?- H  D/ A( K
  133. BCC BULLETADD5 ?3 [  F: {; A9 F) F
  134. LDA #$FF4 F9 T5 c/ @2 x/ j# o- }+ c
  135. STA $6002,X
    3 {- G; N' T2 S) W3 ~! r- A
  136. BULLETADD:
    5 q. O& ?7 b* ?! ], p! E
  137. INC $6002,X
    5 N% m8 J1 |8 n2 q/ p2 s
  138. " B: ^8 b, w% \7 A6 u
  139. BULLETRTS:
    ( X! B- t" I& J" i
  140. LDA $6002,X
    ' `2 E  V9 e" Q" P
  141. TAY4 u7 q0 `8 r. M/ g) H
  142. LDA BULLET_DATA,Y
    2 o, y* u* r: ]! V: J
  143. STA $6004,X    ;写入副武器数据, j/ u: M; S; p
  144. RTS) ]9 v& n+ D! b8 \! V* y7 X. T6 G+ Q

  145. 6 r! S- L' N1 C+ g5 t

  146. % A  r- ]! Q/ f
  147. BULLET_DATA:! Z* P& a$ f6 J5 }6 F, `8 V
  148. .BYTE $06,$02,$03,$048 f  {$ W$ b5 c' |" b, [' a

  149. 3 Z# j: I7 \) ~3 l4 {0 L( B* c
  150. + K/ Y4 }! r8 G, A

  151. % _/ {  c% g$ B7 n1 a
  152. KEY_OPERATE:    ;按键开关操作4 U) ~5 U& ?8 n" `
  153. data_protect:    ;数据保护
    * G# ]+ J2 S6 K0 ^( q# ^  B
  154. PHA* N  e: P" i  ^3 W( a4 g" D
  155. TXA
    1 x9 I% O% C2 E6 Y- _
  156. PHA5 @9 f! H6 N# U
  157. TYA
    + R  z6 f' w6 G1 [! h$ c1 W  l
  158. PHA7 W5 ?& i: Q  l  h
  159. * d( Y( z) |7 L" m8 X0 I: |
  160. FLAG_INI:    ;开关标志初始化
      J' f/ c  d' O" l. V: ?6 ?9 b

  161. 2 E9 w1 G$ o; d* N5 T  a% N6 d
  162. LDA $600F
    4 M! t, Q+ @$ ^  T6 G6 z
  163. CMP #$01; r$ h1 D/ A" A8 l
  164. BEQ pause_cmp. M0 j% S# c" {- C3 i' ]0 G+ L
  165. LDA #$00
    ; |& `- ?1 f, {. L, c
  166. STA $6000
    6 d6 X5 E& @* F7 n
  167. STA $6001
    ! u/ ~9 r; O7 t: u  W+ t% T3 y
  168. STA $6002
    * M4 X* L* C2 [  _( A6 r
  169. STA $6003
      a3 S0 D' k" O) W& E' _/ j- X
  170. STA $6004
    7 ?9 q$ p  c8 E: o# y
  171. STA $6005; m! |  g* s" V8 g' V. L2 a4 S5 Q
  172. LDA #$01
    - k  g: t; l2 W- S
  173. STA $600F
    * N5 }+ Z  ~: t6 N" n, y
  174. & z0 c% r- E# D
  175. pause_cmp:    ;判断暂停状态: Q+ f: B5 F* T, Z5 G
  176. LDA pause
    : q9 l: Q* W5 k% w2 M  m
  177. CMP #$01    ;判断暂停状态4 D  r9 H& T5 @  c4 k
  178. BEQ button_press
    1 a! X3 }  j5 l+ k/ ]" O- P1 v3 R
  179. PLA8 Y' p1 `7 e1 j# o# S5 F0 o
  180. TAY
    0 N/ Z* a7 r, S# {9 Z( t( n* u3 w
  181. PLA% z4 ~# A  A" E& `; L
  182. TAX
    7 F2 w: e- K  y! @* @! N
  183. PLA
    1 ~1 [' T9 C1 _. H) y7 `( \
  184. RTS7 i7 D! \0 ^0 R7 X9 |7 M# [
  185. ( X: l) `: e" r/ {( c5 Y% T) A/ I+ Z
  186. button_press:    ;按压操作$ D4 j* {% t) D  O
  187. ini_Y:4 q$ t5 d7 f2 C9 M' x: P
  188. LDY #$00: e( B/ E9 `; y0 L
  189. button_cmp:
    ' E: `; z+ Z4 O0 j( M. w
  190. LDA button,X9 M0 R. }! f4 M
  191. CMP ora_data,Y! j2 x; p/ N& \8 ^% X
  192. BNE count_Y_cmp% D8 t( J) G- U* z3 J, f
  193. flag_cmp:- x; ~+ I! `+ ^" @: M
  194. LDA flag,X
      A, h" y$ l0 m/ \4 X
  195. AND ora_data,Y
    , k9 I. K% F3 H7 F# ^8 k
  196. BNE flag_and
    ! A  r: w. I0 u7 n- x8 N/ v
  197. flag_ora:
    ( B- f% c! ~' G$ i* V
  198. LDA flag,X
    3 H8 ^5 k& r+ a
  199. ORA ora_data,Y# a. m$ _7 A" U% b  T/ _+ u; T# d
  200. STA flag,X
    5 o" Y* e; O" p2 C, F
  201. BNE count_Y_cmp
    " ^& ~: T2 g9 s+ w
  202. flag_and:
    * L% ~" @% O' M/ Q
  203. LDA flag,X5 M5 V8 `2 T: `$ w$ [; ]' j9 E
  204. AND and_data,Y2 S' x* C5 i( B. a+ d
  205. STA flag,X
    ' }. ~  X/ [# ^
  206. count_Y_cmp:3 \! U) ~1 V" y- U- l/ p9 q
  207. INY
    8 L+ E& s* V$ p; b% e5 ^
  208. CPY #$08
    , z# z8 @; i4 M$ X4 Y
  209. BCC button_cmp
    $ I; P* C; t( g' [7 ?" i

  210. 1 V7 N6 E4 `3 k
  211. data_extract:    ;数据恢复4 l) Z0 H7 m$ L4 Z( z+ X4 R
  212. PLA8 a& t3 F. L; }( c" Y# k1 q5 ~. E
  213. TAY( e+ c( [" j% m
  214. PLA
    & L$ G6 v: n3 d
  215. TAX- o- A6 d2 m( c
  216. PLA
    - s4 T( ^; v8 @8 G

  217. ; j2 [+ x0 D. l4 Y
  218. return:& T. W4 c# N* G5 W5 b$ F
  219. RTS
    0 p" w, [* R% ]" m  j
  220. 0 g7 [# K( S, {- R: S6 Y9 Y
  221. ora_data:   ;按键相或数据
    + {3 R% Y2 e: ^( D" F% e5 `( z* F
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10( |  c; h; A) e- l
  223. and_data:   ;按键相与数据
    & a3 m: H$ r; z. ~( }# J2 V# F" z. z
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF( J% l0 O3 k& h/ f/ u8 {% ~. V
  225.   J) Q" D) O* P) `
  226. / _& z, _: H7 p* E" z# h
  227. * P# V* A6 t6 a6 a$ t; ^, S
  228. / i! ?7 b$ S& a

  229. 7 R( Z5 n) e2 }/ ?: K* M3 Y- b

  230. & A  W) ~% w" m/ J& t
  231. : V( i" c. L8 ~4 I. s+ I: U
  232. 5 H% G& S, E: T; t, n( X6 u

  233. 6 }1 U2 W' G! A: q3 [" G
  234. .ORG $C264    ;自定义的MAPPER2切页程序
    2 f# s* ~* m" J0 q) b) R
  235. PHA9 F$ X6 x4 E) G( I( c
  236. TXA
    " h% ^$ y& E# j& W
  237. PHA& J  {. L" e& H- d2 w- x" \
  238. LDA $0066
    , a! l4 e+ T( b! a3 p( f) G% }* G
  239. BNE ADDRC280
    6 ]( ?4 w  C6 b# r2 e' W9 k
  240. LDA #$07- Q- w: j8 ]7 h3 B
  241. LDX #$03
    8 t) ^7 l; A% {5 F+ j
  242. JSR $CD9B    ;自带的切bank方法. Y6 n+ U' V/ B7 ^- U
  243. PLA/ M6 Q* P/ H! E/ U
  244. TAX
    - @/ r& C2 d7 y" w# N
  245. PLA
    3 l2 m# w( o& Z- S0 t/ g1 c  n
  246. JSR $8000- b8 I5 \& ]; N9 V: @
  247. LDA #$06
    1 g  V$ h1 S$ b( h5 S' W
  248. LDX #$030 L2 b6 S0 t9 \9 i4 Q$ G* U$ S
  249. JSR $CD9B    ;切回原该切得bank(可以不用)- C3 _% S3 h4 a, F/ O
  250. RTS
    ' U# i8 @% }( c$ g% @! A! u
  251. ADDRC280:7 v: m0 v8 H# S" z  |5 Z8 t) T
  252. PLA8 |2 d6 \  o7 w9 h
  253. TAX
    ) Y' P3 D* R$ B
  254. PLA
    * B/ B6 \0 x, U; `5 D( x# i
  255. RTS( p; W, `9 [# m7 U* H  B4 |
  256. 7 g3 I  C* M# U8 T' U4 p( T
  257. ) j7 T8 x1 S& Q
  258. ;[FC][最终任务PPU][END]# s4 ^9 W6 A6 }5 ?% P- h$ i
  259. .ORG $C056    ;跳转到PPU重写程序
    : T; m7 e% |# o+ V, o* i
  260. JSR $70002 t, S+ x5 }$ h9 C% r  |2 e7 O) u

  261. : `  O9 v: p9 Y. g) w
  262. .ORG $CEBF% `- H7 `7 e$ E6 _. `9 G0 V
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入
    * G, n5 I1 M* D/ A9 G. y5 S! W
  264.   2 [9 g. v6 a' p5 K: |. n
  265.   .ORG $E460
    # `9 ^1 t3 _  _6 L0 j
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入  b6 f2 d# U' U$ \' n% r
  267.   
      B4 b, ]/ c1 N0 R0 i
  268. .ORG $71F0  p+ Y) W" |( ], @
  269. STAGE_DATA_WRITE:
    , {& Z7 ?# I. z2 L" G
  270.   LDA $6010
    7 h! l* l. E0 V0 C5 u) n5 O
  271.   STA $1E    ;关卡写入$ a. ^, `/ [4 v8 P6 f& {4 h* j
  272.   LDA #$00
    . G+ D6 u# l& N
  273.   RTS/ c) {+ h0 p: b1 V, `: U
  274. .ORG $71C0
    # r7 G! R5 K6 ~9 l0 w; F( \* D
  275. BULLET_DATA_WRITE:    ;副武器数据写入7 @: y; g1 j* Z
  276. CPX #$0E
    0 M& m' ~3 Z7 y: t- X  u
  277. BCS P2_BUL* Z: }& c; ^& h  s
  278. P1_BUL:  P; B1 J0 O% M9 P$ n- o4 ^/ `  p
  279. LDA $6004
    5 O9 x8 I- V0 ^$ F1 q1 R' e( _7 P
  280. JSR $D7D0    ;P1副武器数据写入& j% A' ?; [7 B+ \
  281. RTS7 r' ~0 O  ]; w# _$ M& w  R# B5 W
  282. P2_BUL:
    9 t3 [! Z2 I* g9 B" F2 R: A
  283. LDA $6005+ P- {" u% P& s$ K, k) u% k$ C1 r
  284. JSR $D7D0    ;P2副武器数据写入! }8 S, o: x" M7 o! N8 a+ H
  285. RTS
    3 Y- Y9 v. ?2 R) [/ w
  286. 1 t9 u8 O" |3 n, Q* ^8 f& g

  287. & Z# E; Y3 }! P) }2 Z! j
  288. .ORG $7000
    ' x# p# m. p3 ?) z, `" q9 i0 a
  289.   + n9 G! H0 ~, Y  {$ ]. n$ T
  290. STY $4014    ;补上覆盖的精灵写入指令* `" v! H/ \3 {: q( g; D! _
  291. PHA
    $ j' W( Z- k' `9 [/ {
  292. TXA) m) u. G! [0 K1 Y/ p" I
  293. PHA
    * C. x$ X3 O7 l9 a
  294. TYA
    * k' z+ {% w0 c
  295. PHA2 m0 R4 x+ @( w4 D& j5 [! `
  296. LDA $0C
    " ]/ X3 a5 C9 S9 I/ V7 x
  297. CMP #$01    ;比较是否为标题画面. T- x, `& a7 _5 q
  298. BEQ PPU_STAGE
    8 [& k* @4 T7 [# `7 _7 k$ U
  299. PLA5 B/ Z8 Q5 t, {2 F3 c2 t) G
  300. TAY
    - Q" R  a1 A% ~- E" k8 g6 E( O
  301. PLA: s0 U; C3 R; ]. F$ n6 j
  302. TAX* d, N/ B6 x+ ?- ^5 R0 i, t
  303. PLA
    2 Y$ X$ j" J/ O* E! I
  304. RTS) g, v2 B! _; j) w3 t( @5 C5 w
  305. PPU_STAGE:    ;STAGE显示程序
    $ G2 d! i6 s  k& l& [
  306. LDA PPU_ADDR_DATA4 W: {  `* r' s6 C5 z
  307. STA $2006
    9 N6 ~( ~+ w3 u' h/ [
  308. LDA PPU_ADDR_DATA+1+ Y3 H' q' z! }
  309. STA $2006    ;坐标设置2 {7 a! y( J7 G1 K* U1 Y
  310. LDX #$00* W+ ?3 `& C0 z7 {' s
  311. PPU_STAGE_WROTE:    ;写入STAGE字模! e  g6 ]' H0 }: x# o1 _! @
  312. LDA STAGE_DATA,X
    : H1 b( Q2 n. n9 R' _7 o
  313. STA $2007
    ' _: b! e6 U$ v) b, Q
  314. INX
    ' w& |" W  c# c9 X4 Q
  315. CPX #$06, s: g  x4 f9 h6 q0 }
  316. BCC PPU_STAGE_WROTE5 v  E' W* |; J5 n3 S7 v. D
  317. LDA $6010% u* }0 g- a1 T9 Q% _+ }
  318. CMP #$FF    ;关卡数据初始化条件判断
    " H% K* z; ]% d+ R
  319. BNE KEY_B
    5 Q1 P, a0 E$ g+ W
  320. LDA #$00
    8 q" M) F: u/ V" h# F
  321. STA $6010    ;关卡数据初始化
    ( d$ q, b/ c4 m$ `9 M9 L: k9 B
  322. KEY_B:    ;关卡减少
    % d$ _$ R" e1 N  [) W
  323. LDA $04
    $ r) M) @7 q. B. K% h! o
  324. AND #$42    ;按键B或左减关
    2 z0 C0 k2 L7 ?
  325. BEQ KEY_A, |& k1 V: n4 @9 p  G
  326. LDA $60109 k( q5 W# T& e& ~# }. P
  327. CMP #$00    ;关卡比较0 M, h  }0 a+ `, F0 A$ n8 m
  328. BEQ KEY_A
    ( F) I  y( N) B6 ]$ p# D2 d
  329. DEC $6010   ;减关
    8 L+ ^1 P* `7 Z
  330. KEY_A:    ;关卡增加
    " s  x8 K  r* x1 ~1 D
  331. LDA $04
    % v! D- V! \/ M1 b$ y6 R! g  X# Q
  332. AND #$81    ;按键A或右加关+ y( A5 C# R2 @$ S# I" N
  333. BEQ PPU_NUM_WRITE
    / t; c* m9 ?  W: n2 o$ e
  334. LDA $6010
    " e+ Z5 ^: r* c5 O! s+ a6 d* E
  335. CMP #$04    ;关卡比较
    7 c0 F0 _) ^" Y6 [& G
  336. BEQ PPU_NUM_WRITE$ y7 ]' w& R3 U# s1 f  r7 [- B( `
  337. INC $6010    ;加关
    ; `+ ]8 y. V6 R$ l
  338. PPU_NUM_WRITE:
    ! Q  c* s. c- q3 s1 {( G
  339. LDA $6010- o& v  n# q; e! a
  340. TAX
    & C5 V, p; V! S: c0 L# a
  341. LDA STAGE_NUM,X    ;写入数字
    ' y$ O* ~+ C6 M$ a$ b# W
  342. STA $2007" ^/ t/ t6 J% z' |2 v+ l
  343. PPU_RTS:/ V: a& C& u9 C$ u: a3 d
  344. PLA
    0 e5 G+ [, \  v& g) s: C
  345. TAY
    ! h1 q# r9 g% s7 \- [  ?8 X$ i- G) i
  346. PLA
    , B, F8 `2 V9 q; p) N/ E% h
  347. TAX
    4 O  n1 E% x# n1 K
  348. PLA
    8 _1 M0 l5 k+ o6 A3 j
  349. RTS! j; v8 o6 t! O5 y! R* t/ b7 r

  350. " J) ~. f  h0 y* {
  351. 8 A4 D! E% L+ `. e9 `  Q) ~
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据
    . h' S: @% L! |7 V: C
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00
    : `' B$ p/ e' m3 K2 v3 m
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据
    " y7 o) _+ N5 F" o
  355. .BYTE $D1,$D2,$D3,$D4,$D50 d7 Z' h0 p: A# {( f& G5 K$ X$ {

  356. . S: S; J; q7 z6 p
  357. PPU_ADDR_DATA:
    % s& E$ p' T  d' x  w% h& A
  358. .BYTE $23,$0C$ h% B2 k0 P2 E' M/ c2 f

  359. 7 K% Z# g5 y( L$ N* ~  {) H& o
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1657 天

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

签到天数: 1093 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 2006 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 3123 天

[LV.Master]伴坛终老

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

签到天数: 1790 天

[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 [4 b: _2 ~' S% e7 u5 x
最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊

4 W& C% }. |& d( u已经加上了,赶紧下载吧
[发帖际遇]: 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
6 J8 @! C; J5 X旋风又疯狂大修改了 哈哈
3 b' [3 t' p9 Q! P7 ~
疯狂不起来,无聊了而已
[发帖际遇]: 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-7-15 11:44 , Processed in 1.111328 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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