EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-28 23:25:55 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-21 18:58 编辑
7 z2 ?/ |& V( L9 \# D3 [6 c! d; f* {3 ~( l+ v$ ?
    [FC][最终任务][END选关]
0 S3 u. C7 X+ f: e
9 H# Q7 j" r/ @$ U& v& g时间:2017.3.29
1 S0 l2 |# |9 y+ W/ p作者:FlameCyclone
; `  \* d, n$ b. u7 G内容:) R- [1 p# q. @: z' a: ]+ K
    1.关卡选择:   标题时,左或B减,右或A加(1-5关);$ }, }( h) _; n; }
    2.无敌锁定:   暂停后,按上键切换;
6 |: X: y8 A6 c* t: w) L. N    3.生命加满:   暂停后,按下键切换;( Y+ d: J) P! V4 |5 b
    4.速度调节:   暂停后,按左键减,右键加(1,2,3三级);
: ~% s5 |8 W( l2 D1 f4 J    5.子弹切换:   非暂停,选择键切换(普通,W,L,B);, v% r- v3 R0 ~, y: x- f
    6.B弹数量:    暂停后,按A键切换(1个或2个);' {1 {3 G. ?9 h" X
    7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;3 k& G  `6 C, P3 a+ F8 M
- ~" }' S/ K2 t* M" P. l# w

  [5 `! p) P5 e- U3 a- a  A- w9 ], N8 k$ {  D% s7 t3 z- E
2 z* l9 k2 O5 }) c: m/ G2 S

" V% E: E$ u$ b: t
1 W- _1 ~/ j- V2 w% {8 Z- a8 i' g
游客,如果您要查看本帖隐藏内容请回复
8 u, j0 @  w6 d5 t  l" ~
FlameCyclone.ys168.com
6 {; S0 ^+ F% K7 x6 Bwww.nesbbs.com
  1. ;[FC][最终任务KEY][END]
    5 E: x# T, M/ W3 H8 B0 f& I4 B
  2. button = $04    ;单次按键
    1 {1 p  m" M1 x7 F
  3. flag = $6000    ;功能开关标志  w$ Q, S- b! d- |
  4. pause = $000E   ;暂停地址
    , G, t" Z  _) N5 @4 M: X4 u4 i7 I

  5. 1 W, r( D: ?3 S* X! ?1 L
  6. .ORG $80001 A5 e. ^& E3 k/ z& L$ H
  7. LDY #$08    ;自带的按键程序
    3 ^" R. U9 z; c5 W+ I5 v
  8. ADDR8002:
    , B  V3 o# w$ x% ?- N4 S
  9. LDA $4016,X
    ( M% J1 O# ]1 f0 r
  10. LSR' Y, P- z4 @- @) \' Y! T% }
  11. ROL $0021
    7 V, p- q) W, `
  12. LSR4 ]2 V) H* ]" L5 g* J5 R8 Z! Z# p( ?
  13. ROL $0029- @4 _0 I% E- M& v
  14. DEY' S' S2 s) |9 H$ C/ v6 ~, F6 P
  15. BNE $80026 b' U6 u/ T" U# w* [% k
  16. LDA $0021. `- a$ u' k6 Q) C. K0 J
  17. ORA $0029
    3 C+ f- O( ~: h) N+ n" T, ?9 G
  18. STA $0021$ c' }# U  Z) j4 J/ _# _
  19. LDA $0020
    : D. S- K. V, O5 f% `
  20. AND $0021
    & M6 J( j# Y9 I5 Q: `* V
  21. STA $0020: e5 ]1 t1 \4 B
  22. LDA $06,X
      {+ \! g0 A) m
  23. EOR $00208 t( @; z3 t2 B6 X
  24. AND $00201 [/ a# {; F# ]( s" ^
  25. STA $04,X5 t4 c7 ~$ P3 V# c
  26. LDA $00203 L" Z4 v- F" R6 v9 B( G
  27. STA $06,X  _  C$ K/ a6 {8 \2 f
  28. JSR KEY_OPERATE6 ^/ B" R* _/ X
  29. JSR Function    ;功能调用
    , o4 I( o6 b/ D: E
  30. JSR Weapon    ;武器切换调用
    + C% J' N4 P: }# u$ y" F! v
  31. JSR Power    ;威力调用" j9 G; M2 X1 q5 T% h$ \
  32. JSR BULLET_NUM    ;子弹数目
    8 ~" i# a: _! J
  33. JSR BULLET    ;副武器类型1 O+ ~, g+ d% N; C# z/ a
  34. RTS3 `7 w' f, l" l/ B) ]
  35. & m% J! k6 ?- z/ I+ s

  36. 1 T. ?/ F& I5 E# ^; L% M5 E

  37. - l: x- a9 ]; ]& J
  38. .ORG $8050
    * `0 m3 h4 d* x5 _; v
  39. Function:    ;功能# a( b: w; e' d; V+ K6 x3 k; N
  40. WUDI:    ;无敌
    + e( j" ~9 V: O$ ~1 w
  41. LDA $6000,X- j, w' ^$ [7 W+ P6 t2 I
  42. AND #$08    ;开关判断
    5 ]; O0 y- k0 J7 F9 \
  43. BEQ LIFE5 D9 o  l" w& c
  44. LDA #$05
    7 _8 i" y5 O6 y" j( z
  45. STA $05DC,X    ;无敌锁定; h# g* ~4 R" a( W; P7 o; h$ c+ g
  46. LIFE:    ;生命
    ' u1 O9 u5 O; L$ f; F! M1 C! {
  47. LDA $6000,X( K& J6 M: E* A2 K2 y1 L( N, V
  48. AND #$04    ;开关判断
    0 h  r1 F' R" H$ W8 S, d
  49. BEQ FUNRTS
    / q6 v+ ^+ }) y/ ~, n) b0 h9 P
  50. LDA #$05
    , s$ r! q, ]. \$ c0 b2 g3 [
  51. STA $1C,X    ;生命赋值. ]5 x2 o" O; d  v( C; E
  52. FUNRTS:6 ?5 X6 w' `0 K. R
  53. RTS4 ~$ x" c+ [8 X% Q+ I  G, U) P

  54. & C  L' h# Q- \0 V
  55. Weapon:    ;武器切换/ W% t% _( u/ J
  56. LDA pause    ;暂停状态判断
    ) t6 H+ a$ L/ U6 h
  57. BNE WEARTS4 U9 H/ H  i, @4 g2 y
  58. LDA $04,X
    0 L( a7 W: T/ E: k3 d
  59. CMP #$20    ;选择键判断  C8 Y5 k& L5 R7 y  R$ L2 H1 F" ?) p
  60. BNE WEARTS
    & p/ f1 ]. K' T" |! O+ l
  61. LDA $12,X" Z0 v+ Q* k9 K' G* Z2 \% k
  62. CMP #$03    ;武器值判断
    # \/ i" ?/ `& w' w) }7 A
  63. BCC WEAINC
    # |- t, u$ q' E  U4 @
  64. LDA #$FF
      e& t3 \6 _1 a+ u) T- ^
  65. STA $12,X    ;武器重置
      t6 Y; y3 A# |7 |8 h, M/ [! z$ ^
  66. WEAINC:
    - z0 s& ^7 E; _# F5 q
  67. INC $12,X    ;武器增加1 R6 z( g3 b- y

  68. 8 V' s* D- `- Y0 @0 S- c* X+ q/ C
  69. WEARTS:
    . q+ B  K1 n3 @2 g' e
  70. RTS4 v3 d. r, \% D: e

  71. / Y8 Y$ t  V" Q0 c9 u# G: h
  72. Power:    ;威力4 N; \% [: ]* `
  73. LDA pause    ;暂停状态判断
    ! O5 W4 W3 d5 K% z- n
  74. BEQ SPERTS
    5 B' }6 K1 E9 ]
  75. BUT_LEFT:
    * j4 N0 y: }0 @
  76. LDA $04,X
    + X9 F. o  C" h! M0 h: K% B' y
  77. CMP #$02    ;左按键判断
    3 l' E. @# n7 y# x! @2 {
  78. BNE BUT_RIGHT
    4 {* b( {& a* }( y: |
  79. LDA $88,X
    . q6 P! a3 d+ O- a2 `
  80. CMP #$00    ;威力判断( x( v1 }8 a1 E% m5 N2 i
  81. BEQ SPERTS3 q1 C5 Z1 m0 w# k: c- E
  82. SPEDEC% K0 O) s3 n. m  ?- Q
  83. LDA $88,X    ;读取武器值) f5 T; E7 C# B& a2 |3 F
  84. SEC! A+ h+ w6 A' Z  f9 Z3 N
  85. SBC #$08* T, r9 G9 Z8 d* q
  86. STA $88,X    ;威力减小" R: E5 z6 Y+ g' ?9 S: ?
  87. BUT_RIGHT:4 n9 k% X8 |" W8 @3 m' _- A1 L
  88. LDA $04,X
    * T- a8 N- v2 x! c7 r4 z1 c
  89. CMP #$01    ;右按键判断
    % b/ Y, u* W7 b2 \0 |
  90. BNE SPERTS
    " p9 B, W) u1 b
  91. LDA $88,X5 \  {% J$ P8 w8 }0 |4 `% s
  92. CMP #$10    ;威力判断
    2 c/ o& C6 m2 [' X9 }0 Z0 y; q
  93. BEQ SPERTS5 \/ S6 d& L% T& C9 J
  94. SPEINC:
    " ]6 w/ H9 T7 d
  95. LDA $88,X    ;读取武器值4 F; r- Q; j" O. h
  96. CLC
    ! W: Z4 b+ o' u8 k
  97. ADC #$08
    & V% V+ k; V5 m1 K" b4 ?
  98. STA $88,X    ;威力增大6 x# I" T9 E  B1 K

  99. 5 f- C6 g3 Q5 ~
  100. SPERTS:
      C* b! }; v1 [( F( Y+ S* r
  101. RTS
    7 v( |7 y6 Q3 a! `" W/ W2 p

  102. * O- g) \3 X& \2 S/ ?" O' C
  103. BULLET_NUM:    ;子弹数目4 ~4 D5 i& ^" Y" D$ b# d$ Y
  104. LDA pause    ;暂停状态判断
    7 a) |! R; T3 F1 W. v
  105. BEQ BULRTS  F1 y. Y9 ]7 G$ l" L, E6 C
  106. CPX #$00    ;主机玩家判断7 r$ ^( S1 l/ v3 n% n$ Q  g
  107. BNE BULRTS
    , R! e: F  `% X% x& l
  108. LDA $04,X    ;主机玩家判断
    , P  n5 Y3 W% x1 J& q' _' o# ^
  109. AND #$80    ;按键A比较
    7 f% [' ^9 l' k* p4 y
  110. BEQ BULRTS
    8 `  _+ |: {# L/ c
  111. LDA $87    ;状态判断
    , i; ~, `. u: W, N
  112. BEQ BUL_2' u! @/ _' x4 u8 F; J0 M3 t- q: t
  113. BUL_1:
    & P7 e9 n- ^5 A2 w; d+ ]$ _7 O9 V0 B
  114. LDA #$00
    $ D" Y+ ], X! x+ H/ j& r
  115. STA $87    ;1发子弹, r  O8 d) v0 v# z
  116. BEQ BULRTS  S3 l/ G$ }" \4 {0 F3 ?
  117. BUL_2:
    ( M/ C- h" @! ?! Q
  118. LDA #$01* G+ t' M# s+ q$ K
  119. STA $87    ;2发子弹: v8 {8 r- _: k. @! I( w% I
  120. , \$ b; i0 Y/ h2 x6 F. G" \5 X
  121. BULRTS:) J$ w  ?0 Q( q  O3 j
  122. RTS( U6 [+ `8 u+ z$ X6 Z

  123. % i3 u9 O" ^$ R6 L1 k8 @

  124. $ u! R/ u0 w1 a! Y- f
  125. BULLET:: h' K% y9 C4 E3 p8 m
  126. LDA pause    ;判断暂停状态9 h2 L! h4 H" b) r
  127. BEQ BULLETRTS
    8 M0 l7 j: k- B. f
  128. LDA $04,X
    5 b, l& s1 G! @% M0 `
  129. CMP #$40    ;按键B比较
    8 H' O, `  [/ B
  130. BNE BULLETRTS6 F% s& ]. u, Q. I9 f) e7 p% Y" O
  131. LDA $6002,X    ;读取副武器; w! ^7 \4 H* J* u! u
  132. CMP #$03
      ?1 U% [4 b# k7 j4 A2 o+ _1 g
  133. BCC BULLETADD  g- y9 D% Q6 s( e3 s# R
  134. LDA #$FF+ ^& Q) p; N/ @
  135. STA $6002,X( T$ a! v. ]( m. |' ?6 R' Z/ f
  136. BULLETADD:
    0 k) m" v0 O1 y3 W' p* q
  137. INC $6002,X; S: T% ]( N, M& y$ I

  138. % a8 {) T) D  ?: Q- x8 i2 f4 J0 q3 y
  139. BULLETRTS:
    2 G, S' {4 Q7 \1 Q: Z" z
  140. LDA $6002,X
    7 e8 H% U0 H$ f( g4 r; T* M
  141. TAY
    9 M8 u& l2 w- x& ?$ T. u$ z/ _
  142. LDA BULLET_DATA,Y
    ) X/ s8 I3 x6 J& `" _- F
  143. STA $6004,X    ;写入副武器数据7 \( {- g4 X* F, T& G
  144. RTS
    4 m2 M; F7 h# X( {+ b6 @  Q8 B2 w

  145. 5 `3 w0 E$ u+ [9 e
  146. & {5 a/ y9 `# c* E: I
  147. BULLET_DATA:
    & {! `& D: j4 K3 u
  148. .BYTE $06,$02,$03,$04& Z% E: @  m; q" c9 O, B3 z4 b: j
  149. 9 {$ i# y% Q, _" K/ ~

  150. 8 y0 s9 S  l9 _" t: C

  151. ! n. {' L: T/ ~5 [4 V" z9 c' |: `" e
  152. KEY_OPERATE:    ;按键开关操作2 o& A( j- H% u+ O% P' \
  153. data_protect:    ;数据保护
    # V8 J# W$ j# k; C$ q$ o* V
  154. PHA3 Q7 [7 C: s+ L) z6 f) M0 j
  155. TXA
    * \7 H. A9 _8 m6 S5 u. f2 }5 ?! _
  156. PHA& x, f, T7 v0 ]/ e8 @
  157. TYA: r) f2 S9 G8 \  f
  158. PHA) V: i8 X, P& e% x0 u

  159. # _+ ?% ^( }- ^1 W( K5 R4 S% O
  160. FLAG_INI:    ;开关标志初始化
    & M5 e6 ], _4 r- f2 r
  161. 4 F1 L7 s: t% E% E0 N
  162. LDA $600F) l$ ^1 T! B& u% e( X8 C* }
  163. CMP #$01
    ' I9 a" C+ P  [1 R
  164. BEQ pause_cmp' \$ d+ s' K' ?
  165. LDA #$00
      p1 p, K& L1 a7 F' s5 [5 N! Z9 a
  166. STA $6000, y' n. s4 f' R! o) c
  167. STA $6001# F( a5 f4 W3 a6 y
  168. STA $6002
    ; v5 x7 W) E1 Y4 o9 G; X& F2 }
  169. STA $6003
    % t% c3 h& s8 d& b! C
  170. STA $6004
    0 [2 X8 L- ~# [- k1 ~0 n
  171. STA $6005, J# U8 ~) z; L# X1 I
  172. LDA #$01
    ! e' W; p2 [5 Z2 y7 z% d/ ^/ u! g
  173. STA $600F
    # y( Q8 p: g* u/ _+ u
  174. ! K  |" {# U, ~8 l9 Q1 ?# I/ M
  175. pause_cmp:    ;判断暂停状态- a9 R4 S. F" V( {3 |
  176. LDA pause* [$ p" U: C8 ]' Z$ g, x
  177. CMP #$01    ;判断暂停状态
    0 L! H: v- G% E" F  K* @1 f
  178. BEQ button_press; l/ f" ~. c. q- a1 b% o
  179. PLA% B6 L" Y8 z; N3 l% a
  180. TAY
    % }/ Y- D9 b+ ~' m% }5 m
  181. PLA% ?! O" u6 S- v; c, `$ q
  182. TAX
    0 h% _2 h1 ~6 E% W3 x& Q
  183. PLA
    0 O+ N3 k3 [- D
  184. RTS
    " o2 A' T6 V4 \

  185. ) x6 o9 A; w& V! T
  186. button_press:    ;按压操作& T( h! j0 j* W$ J7 n9 [8 G" `
  187. ini_Y:
    . x7 F; g0 j4 k# v$ R
  188. LDY #$007 t6 ]8 b" D  n/ t$ Y  k: `% I
  189. button_cmp:+ @: g- c+ |. @$ ]. E9 a
  190. LDA button,X
    $ r- v- i+ L, g6 d/ l: N: b" T
  191. CMP ora_data,Y
    " s2 w- m1 A& {; u: {: M
  192. BNE count_Y_cmp% }: Q. J/ I' C1 b
  193. flag_cmp:
    , W+ V& W9 Y1 {( F: U  F4 D
  194. LDA flag,X6 w  L- r2 F2 u' l) e
  195. AND ora_data,Y
    ; z, L- T  u' Z
  196. BNE flag_and
    9 a/ Q# L" a4 f; ~( J
  197. flag_ora:
    . K* a4 @+ c; `3 @
  198. LDA flag,X
    3 t6 }5 S' v1 e0 T# v5 c2 z
  199. ORA ora_data,Y4 K' R) n  ?" U3 p, `- z
  200. STA flag,X
    / i% `4 W. C; F/ R3 r# l8 O8 k) T
  201. BNE count_Y_cmp$ \. P! o; b; N$ a
  202. flag_and:
    9 _' u8 \1 B  L, K4 r$ g
  203. LDA flag,X
    - w3 S& ~# a1 Q+ ~- Y; q
  204. AND and_data,Y+ q) h4 P, [6 f! N! t
  205. STA flag,X
    1 N3 p4 Z) A8 _/ ?$ A6 r: x
  206. count_Y_cmp:" u% i6 Z/ p, ]7 O' k' d, H
  207. INY1 {2 A+ e0 g* O, C& G
  208. CPY #$08
    . l, L) S" j) J3 b
  209. BCC button_cmp
    / _1 r5 B! R' {& E

  210. $ \9 L  X1 A7 H5 ^* H; l% W
  211. data_extract:    ;数据恢复% M( H1 U5 Y/ T  q& H" Q
  212. PLA. ^( O, _! o4 B! w4 W" t! t
  213. TAY
    1 l$ w9 J4 C" i. o3 ?
  214. PLA
    3 ^9 S2 I1 x, ?8 n4 k
  215. TAX
    0 B  |) n4 e9 p
  216. PLA
    9 }" w; Q5 O$ i# F/ K# h3 H
  217. $ F% H- h7 ?1 B# j$ X# r) _2 `3 m
  218. return:) \* p  u3 l% m$ W
  219. RTS$ F7 ^& F/ A8 x; P3 Z) f5 Y; I

  220. - m* X2 X( E# P4 z/ H
  221. ora_data:   ;按键相或数据/ {. V. C' Q: r) R
  222. .BYTE $08,$04,$02,$01,$80,$40,$20,$10( ]/ s8 z3 y1 h* d
  223. and_data:   ;按键相与数据* B$ W8 A( B' R) O. b2 e8 k$ Y# U' x3 j
  224. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF- \0 \( c7 f7 @9 z: p0 x

  225. % X( S- R: G# m( k/ T8 E' J8 {5 E
  226. 8 |/ q1 U  V+ s" D4 d- h; w
  227. - g9 m8 P! {$ i" q$ r* }; X

  228. ' F8 a( @+ t0 ^' k( T6 R

  229. ' B. X2 t6 p! t6 o% B6 I; p2 E. H
  230. / O+ ]: G& X5 t2 M

  231. ' V) k5 L- n1 z8 `, E" b9 Z! j
  232. 1 u$ c! v/ ]( v9 Y, Z, i/ ~, p

  233. * k, K$ X  s% R* E$ u/ {5 f6 u
  234. .ORG $C264    ;自定义的MAPPER2切页程序  r) c# h6 a( ^* ~
  235. PHA  c1 P  g* O( }3 F2 X
  236. TXA
    / I8 a( f: V- `7 x6 {7 _6 V
  237. PHA* |3 t( L, r$ z$ J) B% x9 u6 w3 k
  238. LDA $0066: o+ o2 F: R2 b, A2 A  ^7 a" B% C
  239. BNE ADDRC280
    " ]) C* S8 }# @  w
  240. LDA #$07" Q$ {& {. |- ]: I
  241. LDX #$03" X# O- D8 o2 }1 ~" {. |
  242. JSR $CD9B    ;自带的切bank方法2 A% e6 {) C/ ^" S3 B8 o
  243. PLA
    9 q( d+ }6 L+ @5 |* @7 x5 v
  244. TAX
    8 r- Q" d' x9 R# @
  245. PLA7 q; l$ u# L8 I. W- _: Q& E
  246. JSR $8000
    , i! b  B3 t, I
  247. LDA #$06" B3 B  t" q& B
  248. LDX #$03
    & ?: N5 i* B9 K- l# h
  249. JSR $CD9B    ;切回原该切得bank(可以不用)* ^  R, T, ?' |2 h6 A4 u
  250. RTS
    / {9 P3 D3 T5 e$ [5 }5 M' J7 ^
  251. ADDRC280:9 J* U( u7 M! D
  252. PLA
    1 \1 D& f# Z# y7 X. t6 N
  253. TAX
    ; [4 P; {, d( @7 q/ o3 S, P, A
  254. PLA9 q- g. s, t5 X2 T% |8 n; Y% R
  255. RTS
    3 X# }. m8 {1 r/ t
  256. 6 ^3 y+ i0 e7 ]4 G7 r
  257. # p7 B% L- z! r% Y5 m, k
  258. ;[FC][最终任务PPU][END]
    ' G3 Z$ @$ G$ a3 ~
  259. .ORG $C056    ;跳转到PPU重写程序) A$ D* X9 U7 `& o' b2 g
  260. JSR $7000
    5 z3 O( h. U. ?3 Q, V# |/ G6 v

  261. ! z  q, l% l* e8 P, H' _6 \( ]
  262. .ORG $CEBF$ u2 _+ i  C6 p" I8 K' Z. M
  263. JSR STAGE_DATA_WRITE    ;跳转到关卡数据写入2 L- O' D$ n# r* _9 u$ y5 Q: z0 h' Y
  264.   
    / S: k! I, M4 V- q' q+ x
  265.   .ORG $E460
    1 Q+ ~2 C) w& Y4 V( J
  266.   JSR BULLET_DATA_WRITE    ;跳转到副武器数据写入2 ~. c* {: Y0 q) h: I6 x# g
  267.   ) D& \  {8 T. p1 y# _) E
  268. .ORG $71F0
    9 n; K* v( ]9 u" ]: X: @
  269. STAGE_DATA_WRITE:
    8 I1 v& B  _" h2 z+ i
  270.   LDA $6010/ G% j$ D6 P% ]5 W+ U" e
  271.   STA $1E    ;关卡写入
    ! L8 F* W1 l( ~2 r2 c! C5 N
  272.   LDA #$00+ i) `$ u8 V; ~; n' V
  273.   RTS
    + E) f# K$ q3 v9 d: G
  274. .ORG $71C0
    8 k8 e4 o* S. M4 r  L8 _
  275. BULLET_DATA_WRITE:    ;副武器数据写入: i" e7 l; X0 B8 ^8 M& Y
  276. CPX #$0E
    - e+ B1 b8 q' N) }7 ^, _5 y
  277. BCS P2_BUL5 P4 s3 R# u. M; F! m$ I$ `- l/ L
  278. P1_BUL:! C6 O8 I9 [2 h+ y3 Z6 L; }! D9 z, }
  279. LDA $6004
    : e) ~# U  Q6 T( g/ Z
  280. JSR $D7D0    ;P1副武器数据写入2 u1 c: O5 A: }& [' q
  281. RTS' ]$ X( z9 A1 Z! i
  282. P2_BUL:& o% {4 c# b- |# v
  283. LDA $6005' S3 ]+ U$ |7 q+ J2 J1 o
  284. JSR $D7D0    ;P2副武器数据写入
    . M! |/ {. @/ r1 g( B; a
  285. RTS
    8 k( t' \4 I5 l( c

  286. ) C! q; ^% B! p
  287. 8 |7 D* {$ [: W6 I; a; n* h8 B
  288. .ORG $7000
    / ^& o- I9 b- K7 J9 c
  289.   6 J; N9 Z6 r! D& s
  290. STY $4014    ;补上覆盖的精灵写入指令
    ( Z6 t/ r. U3 e8 h8 E& k
  291. PHA
    2 M0 K) t/ T# H' s. `
  292. TXA
    . E3 I/ B) j2 c8 h6 ~
  293. PHA
    & x1 E/ C/ C8 _6 _7 h( M5 e# G) K
  294. TYA
    ; E; I$ x% B8 s+ S1 Y
  295. PHA
    6 l" F2 o% h2 H5 ^
  296. LDA $0C" }9 T4 T) V& K6 d( S! T& C
  297. CMP #$01    ;比较是否为标题画面! @. I5 v$ G! c) W1 A; @8 n
  298. BEQ PPU_STAGE
    * U+ w+ t% l4 T- Y
  299. PLA
    8 k2 p2 q1 o/ @( d& y) J2 Y
  300. TAY
    1 {% q6 g& [3 r
  301. PLA* W9 }7 |  ^( V4 a4 R" N. g
  302. TAX
    % v" N% o0 m6 e
  303. PLA
    ) L7 s3 p" W, a
  304. RTS
    $ ^6 L. d& C! Q, m+ {
  305. PPU_STAGE:    ;STAGE显示程序
    6 l/ ?3 h" y0 I
  306. LDA PPU_ADDR_DATA
    + p1 s$ G! W. M3 Z: C
  307. STA $2006
    6 O$ ~4 @% K/ b
  308. LDA PPU_ADDR_DATA+1
    6 ?8 L( j$ m# Y, R/ R
  309. STA $2006    ;坐标设置8 G4 r& i6 n: g
  310. LDX #$00
    9 H" |4 S+ m9 {9 T- L, ~0 I
  311. PPU_STAGE_WROTE:    ;写入STAGE字模, H" P0 Q9 o9 @
  312. LDA STAGE_DATA,X6 U3 [* h; E) {6 s6 v
  313. STA $2007+ |* D& R; f* n
  314. INX
    ! I1 o5 Y, [8 q
  315. CPX #$06( G' W2 Y0 c; i- D
  316. BCC PPU_STAGE_WROTE
    + f; ~# s: C+ K2 i8 m
  317. LDA $60108 Y9 @7 v% {0 x+ @) v. a- G/ r$ b
  318. CMP #$FF    ;关卡数据初始化条件判断9 ]+ x( B; v( X, o# G$ T
  319. BNE KEY_B) |4 u4 G, @! S1 i- R6 G% k
  320. LDA #$00. F# s( `& _' p- z  n
  321. STA $6010    ;关卡数据初始化# K$ I  @8 m; b7 n
  322. KEY_B:    ;关卡减少7 ?* E5 U& O5 N; ~0 K$ m7 x
  323. LDA $04: |) t0 G1 \) X  W2 z! ^  e
  324. AND #$42    ;按键B或左减关
    $ n9 o" b, ]4 r$ s( N- C
  325. BEQ KEY_A- P0 R7 i; K7 n+ T
  326. LDA $6010. Z; a6 x/ l6 v
  327. CMP #$00    ;关卡比较+ _1 T  {0 r  Z* X8 y' Z
  328. BEQ KEY_A/ f# \& E! Z8 J) x5 B6 M( R% \
  329. DEC $6010   ;减关
    0 g; y& D! o8 W0 U/ Z7 E2 M
  330. KEY_A:    ;关卡增加
    ) z: `- s' Q8 N
  331. LDA $04
    : n5 ^7 |" s( z( {7 P) Z( @
  332. AND #$81    ;按键A或右加关: ^# `& I8 N& d/ C  m* j
  333. BEQ PPU_NUM_WRITE8 ]/ J! S: X% F
  334. LDA $6010
    # e2 a6 E1 M9 o) I) g
  335. CMP #$04    ;关卡比较8 c" \; w& F1 d4 G5 ~$ t
  336. BEQ PPU_NUM_WRITE3 V& `% |! `! }- N* W# C/ d
  337. INC $6010    ;加关
    : P  Y# v) K/ Q0 T* A2 ?' Y" q8 l3 |
  338. PPU_NUM_WRITE:
    1 g, B9 ~& v8 L; a: P/ [) n
  339. LDA $6010- U6 O$ q/ P8 \6 c/ S$ G/ S
  340. TAX# g% n7 D/ [+ Y( B
  341. LDA STAGE_NUM,X    ;写入数字
    5 X2 I2 I( @. \; G$ M0 @  R3 @
  342. STA $2007
    - E$ Q. f1 b8 d6 F* @/ _: z
  343. PPU_RTS:
    & E# h- I# C, P/ M
  344. PLA
    7 V5 ?+ |+ a/ g0 v7 a6 d9 k
  345. TAY
    7 v1 u; R/ D$ A7 Z" k
  346. PLA% O& t$ l+ \( c" w- T0 @$ P
  347. TAX& F; X( N2 X2 |. B, t, B4 W/ g8 |
  348. PLA
    : W5 g7 Y# u/ H5 d' w8 j5 n
  349. RTS
    - z  d9 J5 p% _0 n! s0 J# q7 S
  350. 7 A. R8 P7 g. H/ I7 z! s/ ]6 z
  351. ) r) ^0 ^% ~8 O. s8 M
  352. STAGE_DATA:    ;关卡文字S,T,A,G,E,字模数据
    9 D2 G# e4 J/ Q! p7 x. {( v' m
  353. .BYTE $EC,$ED,$DA,$E0,$DE,00
    , z$ q1 {5 n" A9 ]; N% h
  354. STAGE_NUM:    ;关卡数字1,2,3,4,5字模数据& M, ]/ S3 Q. j
  355. .BYTE $D1,$D2,$D3,$D4,$D5
    - R- H1 {: X  H( M) [

  356. 1 B0 B* W" T0 n' d3 _
  357. PPU_ADDR_DATA:1 `1 X  o6 N! X
  358. .BYTE $23,$0C
    0 m' B3 f1 L" x3 _5 {. q( l
  359. & ?! L. F$ o# m: @
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 1786 天

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

签到天数: 1190 天

[LV.10]以坛为家III

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 2159 天

[LV.Master]伴坛终老

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

签到天数: 57 天

[LV.5]常住居民I

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

签到天数: 3273 天

[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+ ?6 g( @- {8 R5 n# j7 s& F$ {
最终任务用选人秘籍选10人后B弹一次可以发2发‘,平时只能发1发.修改的子弹切换功能能不能多加上这条啊
2 y  I- v0 G  v2 h9 i
已经加上了,赶紧下载吧
[发帖际遇]: 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# }% h: Q) ~& U) x  Q0 [; A. }3 e
旋风又疯狂大修改了 哈哈
( d) ?2 K3 R1 F" V3 F7 x3 F
疯狂不起来,无聊了而已
[发帖际遇]: 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-12-17 13:55 , Processed in 1.092774 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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