设为首页收藏本站

 找回密码
 立即注册
搜索
查看: 3416|回复: 62

[原创FC/FDS-HACK] [FC][忍者神龟3][END选关]

 火.. [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 + M# }0 G( p$ j2 h/ p

% F) D1 x) f) b3 B[FC][忍者神龟3][END选关]
& ~0 `) Q/ h( @% i  O
& z( {3 X# Z; ~2 I时间:2017.3.30
, N9 }( ^9 M& d& M* J$ g+ M7 W  n作者:FlameCyclone
* F9 S+ ~- R5 j, q  \( {: S" k内容:
, b  x; i1 i) G; R/ e3 Z$ c    1.关卡选择:   标题时,左或B减,右或A加;
. P2 r: o' W1 `% u3 u1 k8 q; o    2.全屏击杀:   暂停后,按A键切换;
/ s1 t4 C7 L$ B- U    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0# w2 P7 ]3 y* l) _& n
  2. ora_data:- g/ B+ G4 ?9 @$ Y
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
    ' X0 F1 B5 b# }. O" l' U( c
  4. and_data:1 a! Y! I& a: w9 C, I. k- K' P  Y
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF/ T1 W' d3 e! g1 i# ?( L

  6. , D- c5 V7 s' X6 \7 L9 C
  7. button = $F8
    # P6 t' N: L0 }" V
  8. flag = $6000
    9 Z# M2 ~& C6 Y2 t( u
  9. pause = $0045
    ; t# r! b+ S# g( C' m5 f% t
  10. 8 z- k9 Y" g6 q

  11. 0 k3 I- }- P5 J' a
  12. .ORG $F90D  |2 M- E# L: V3 c7 ]/ L( _
  13. JSR $FEC02 T. x" p! z# O9 ^: T6 x1 B

  14. / w% s2 t9 }( M; L* P$ U0 U4 \
  15. .ORG $FEC0+ R9 U: p9 ^: e9 G, I# ^  H
  16. STA $54,X" _) S# E& I. r( E6 E- w
  17. STY $FA,X
    5 f- [5 C! i( K1 I0 p% @. F
  18. PHA
    9 z0 @  w9 u3 k4 h4 l7 \' R7 b
  19. TXA; `& v: g/ E. W, A: q, O
  20. PHA3 B3 ~, V" B" q1 Q0 O
  21. TYA
    & T: `% m$ E/ X
  22. PHA: N! g# ?$ H* q
  23. JSR KEY_OPERATE. L0 d7 ~' g2 ^+ Y8 i
  24. JSR INV
    " s0 u' G8 Z7 {. f
  25. JSR LIFE7 q8 Z& \( x1 n2 [- ~  p- f, c
  26. JSR BLOOD
    6 Q% v. x4 C/ O; C; K" U
  27. PLA
    6 C5 b% D9 Q2 I1 Y0 c
  28. TAY) d  C0 H$ z9 _- r) ^1 M$ k8 f: N
  29. PLA
    8 S/ m" v0 b) q& v4 s; z" d1 U  ?3 Y
  30. TAX
    ; F. ~! p/ m3 X- s) l+ U
  31. PLA
    % d4 I2 }; D& p  r& a
  32. RTS
    7 P: W2 R; y: D7 B
  33. KEY_OPERATE:
    % M$ d4 ^" \8 G2 v6 ?$ K* e$ L
  34. data_protect:- S! K4 S' m& K
  35. PHA5 Z; J  z3 ^! }( e( c  n
  36. TXA" o. }. e1 _6 A0 ~( z
  37. PHA- [/ t3 |$ }  d
  38. TYA* e7 m1 \0 H* u$ r" W
  39. PHA
    6 S/ H/ v' Z1 |1 ~7 D3 O4 ~
  40. 1 i4 h5 R/ t! z4 c1 D7 V3 l7 I
  41. FLAG_CMP:
    5 A+ D. n; O0 q$ @
  42. LDA $600F
    ) [0 k2 U5 \( _: {$ H, b" G
  43. CMP #$7F    ;标志数据初始化条件判断
    1 a  g: |( J8 B, V
  44. BEQ pause_cmp
    # n$ ]1 r3 M( [/ j' i1 V' @' x
  45. LDA #$80
    / I5 A$ u- j0 U1 e1 K) h
  46. STA $A001    ;6000-7FFF写入启用( }- F+ ~9 U8 F* m! u' L
  47. LDA #$008 R  G) ?0 O4 f
  48. STA $6000    ;数据初始化0 v  S7 V& |& \2 G" {4 a: m
  49. STA $6001    ;数据初始化
    3 O4 k2 _# E2 d; Q
  50. LDA #$7F( t+ W" N$ R# R
  51. STA $600F8 M- o* R- S) e+ U
  52. pause_cmp:
    : h* b) l! B  F3 m; x' K. X
  53. LDA pause$ B/ g, I1 V: J. N7 n
  54. CMP #$01% F- A+ c- C8 g& s" f8 z  m
  55. BEQ button_press
    . q, w9 O% z7 h; d# s
  56. PLA: v4 \3 U2 r- D% T: C
  57. TAY
    ' I$ C2 e3 ^, G: t2 ]
  58. PLA8 S0 D( z! |3 G4 b* ?
  59. TAX
    * Q$ Y& Q  V2 g% T8 ]9 ~
  60. PLA
    ' {2 K7 n* g2 g# |- ?5 j/ d
  61. RTS% M5 w+ M0 T: O$ N6 F' i, f
  62. ; E( r- J7 |! Q
  63. button_press:# r) I7 k! ~! c8 s* k
  64. ini_Y:
    * F" K% @% P6 c" S
  65. LDY #$00
    9 @0 Y; k( d. [# S* x% W
  66. button_cmp:. T+ n/ Q& U$ a5 n( r* b
  67. LDA button,X/ ~- Q9 w  O0 \; H9 z( {
  68. CMP ora_data,Y
    8 d( ~2 i2 x4 L% J7 n" l
  69. BNE count_Y_cmp& h- l5 E3 B% w$ }. X4 |/ z
  70. flag_cmp:% W$ L% b( E8 `/ w1 t: Y, ]; D
  71. LDA flag,X
    3 K, H, Z9 ?# P- B% \0 [
  72. AND ora_data,Y
    : a* U- p& X3 j8 T4 Z
  73. BNE flag_and$ j& F* U$ Q6 k# _* p
  74. flag_ora:
    , ^3 k: t- T) `9 j7 |" P
  75. LDA flag,X
    5 m  D9 {- J- d; K! ?; m  E
  76. ORA ora_data,Y
    - x/ F, M. K0 R3 d' Q( U
  77. STA flag,X5 R4 z& q  `. G7 v+ F
  78. BNE count_Y_cmp
    0 T' [0 F, D8 f+ g
  79. flag_and:, K# m% ^  w1 J# n! i+ q
  80. LDA flag,X8 i$ M" ]) x# b$ Z& m' x
  81. AND and_data,Y
    ) N: F8 Q% O9 ~! `9 j& F/ H3 K. g
  82. STA flag,X0 j6 B6 a+ c, s" o  @% s9 Z
  83. count_Y_cmp:( v# \/ Y  Z& V
  84. INY  R) J& R0 A2 R' v5 T7 i' J! L+ {. b6 d! I
  85. CPY #$08
    0 ^* g7 x* Q4 m6 d# P" Q! }
  86. BCC button_cmp- ~* I9 t$ O1 h) f

  87. 9 l) ?, E1 A2 y9 |5 s9 u3 i4 V) }; t
  88. data_extract:' X; p% h3 k, I8 {2 J4 \7 b( S
  89. PLA
    # A  @( Z# N( r2 y3 e+ q* N" @
  90. TAY
    7 S8 q+ j. ^/ E$ c
  91. PLA
    : S  B6 P: ^* f& K  K7 l% }
  92. TAX
    # F, ~  E6 e5 [
  93. PLA# Y4 x$ t) N2 J0 E1 o) J
  94. * N, l* ]. C# u' [
  95. return:0 R4 A# z) R5 X6 |+ s( U
  96. RTS
    / t9 |6 t& S9 ^7 t, S
  97. / i9 j+ }9 H8 x' S* K1 K  V1 P

  98. . A6 ^; y0 f1 ]) E0 \4 e
  99. INV:    ;无敌& q, l8 H7 I5 s
  100. LDA $6000,X5 v7 S- a9 i2 `' Y0 ]8 a
  101. AND #$08
    7 Z# n! A! @" R2 w
  102. BEQ INV_RTS: ^% \$ _* s2 h( d
  103. LDA #$05
    # F5 F: s5 ~1 i8 x. b  n; L  F+ ]
  104. STA $04FF,X, m7 y6 r) ]1 X" @7 I( U7 Y
  105. INV_RTS:
    " [, j5 n) G9 Y5 D# o
  106. RTS4 ~! z3 R$ w+ l2 S+ G3 S

  107. 2 a, g+ ~* D8 u: X

  108. % p/ k- k+ r: p$ }( H3 i
  109. LIFE:    ;生命& f; z* O; x4 ^3 \
  110. LDA $6000,X
    * V) z4 M, k6 V1 w
  111. AND #$04
    " ]6 L4 M: D# F6 Z/ i
  112. BEQ LIFE_RTS
    & n5 _, A% h1 U8 J
  113. LDA #$09
    ! z) Y3 H% W" Y- O
  114. STA $6A,X
    / {% c! ^/ c( L- X4 g
  115. LIFE_RTS:
    : M6 u7 r% r' f: C
  116. RTS0 V- F" `6 g$ N. P4 I( _2 w
  117. 4 E3 [, ]' C4 u+ V$ M  A" U

  118. ' ]( P7 C$ W" |6 q# h5 w, o
  119. BLOOD:    ;血量& T" a' r$ D# |" P" t6 T
  120. LDA $6000,X
    8 i$ A4 L. p% N8 p, ~( C+ j9 K4 X/ l
  121. AND #$01
    + o! e9 q! T9 O; n6 j/ v: U
  122. BEQ BLOOD_RTS% q" o* T. x2 x' o
  123. LDA #$7F' h& L: i' _0 W9 W% c! H% M# c2 V
  124. STA $04F1,X
    7 V8 F" n- Q: G7 v5 C! o
  125. BLOOD_RTS:
    * z) {5 I- z$ P- f& k
  126. RTS: K/ |3 Q$ I8 c) b. n

  127. 9 W3 v+ j/ O# }5 g. e

  128. 3 f) k8 o/ }1 e

  129. : z" n3 C" ~. D* g3 Z% H

  130. . o) y+ p; Z1 x. c0 t* k$ E
  131. .ORG $D29F
    9 A" F3 j7 z+ [+ Y0 {1 U
  132. JSR $FF805 o" @: q. |! E& t7 K, ~

  133. , p, K6 t1 l/ @) L! b
  134. .ORG $FF80* M" S* Y4 D- d, @& ?( S  t
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀
    , W; L8 _  p) @/ _7 d, O
  136. STA $0628
    1 o% I" U5 s& m  l, Q
  137. PHA( F2 b  z' U. i3 m7 P
  138. LDA $6000
    , [& Q% [0 }( t+ ]
  139. AND #$40, z; R2 Z0 W+ I3 p9 A
  140. BEQ ADDRFF8E
    ) K( o4 u8 t* C# B% S% F. g
  141. PLA
    % z' m, S# e& A1 F% p  K7 N
  142. CLC   ;敌方死亡状态判定
    + F7 `9 T0 x2 z0 P8 z1 P# w) _
  143. RTS3 i/ }! X; C( y2 i; s& A: g5 ^! g
  144. ADDRFF8E:1 G) }/ @$ u1 b3 ?/ j% q5 {3 j
  145. PLA
    - t% O# W9 r1 ], e5 W& f
  146. RTS
    ) R! `8 k+ @7 n6 d

  147. 7 ]6 Z6 m& o& Z' L  E  v8 J' E

  148. ! Q# R3 ~9 ]+ m2 U  W- U) ?6 ?
  149. .ORG $D151
    8 D( ^9 v& A/ o
  150. JMP $FFA0
    # t' f8 Q& B9 V1 w

  151. " G. R  X. B5 {; n, \" x
  152. .ORG $FFA08 T' t' d' Y6 h7 o
  153. KILL_BY_ONE:    ;杂兵一击必杀7 M! Y6 r5 ~; V- y9 |8 S
  154. STA $0621,X
    " g0 k/ ?1 e1 o7 Y$ i
  155. LDA $6000" j- S! I  O2 K) ^4 D" J
  156. AND #$40
    . `. y. G: r3 @. E/ J' b/ Q
  157. BEQ ADDRFFAD
    4 _- P! t& |' T' z0 {" e) m, F4 b
  158. JMP $D19A   ;敌方死亡程序跳转, \" P0 w: @9 J  S9 |
  159. ADDRFFAD:4 H: z; ]4 n: K& E8 x2 `. Z4 `! m
  160. JMP $D1543 ]/ [0 w/ u) ?4 r  e4 c

  161. & d4 _% v! h% P, c/ E
  162. , i) k4 y  }, l% E6 j
  163. .ORG $A7F6
    9 p  R# {+ D& G# f$ y
  164. JSR $FFB0
    - ~  O; U% m7 v$ e+ n

  165. 2 f/ a9 P2 R, {" W1 H2 j! k
  166. .ORG $FFB0    ;全屏攻击
    * U- ^1 f7 j. }+ t3 M  b
  167. PHA
    , m8 L' b# ~& h" q, e1 [; S# n( t5 s( W
  168. LDA $60000 X1 F. U+ p' Y4 w$ @6 f
  169. AND #$80! i0 w# b" i. k7 ?; }6 b: Q( }* ~" b
  170. BNE ADDRFFBD: I  d$ c+ B4 t* q
  171. PLA* e. \: K2 e! l
  172. LDA $0015. B1 s/ s3 `8 X( Q. t& {7 E$ }
  173. SEC+ s9 ~2 s3 g3 i1 t( d3 ], P
  174. RTS0 _1 p) X  P% K
  175. ADDRFFBD:. U( V$ q8 L! s( A' v* y4 s$ }
  176. PLA# D' W& f( U" c' b5 a5 k0 `' u
  177. JMP $A826
    0 R) I: E4 [2 B9 K. I2 z1 c
  178. 4 z+ z- f% M6 K& V

  179. $ z7 k: s$ m8 p* F
  180. 2 k6 D/ h8 M, a
  181. .ORG $AA6A
    : |6 N5 }8 ^% }, P
  182. JMP $FFD0% ^4 x$ L3 y8 h9 l* G4 H

  183.   K/ |+ A7 I( j( Z# o: T( W
  184. .ORG $FFD0    ;敌兵动作忽略
    . q3 y$ k' d! a( x
  185. PHA0 C! ^3 z3 b# W" U( s
  186. LDA $6000
    5 g* u0 r$ x. B+ ]
  187. AND #$80( ?- p  o, @" }2 E% S3 b+ p* `
  188. BEQ ADDRFFDC
    1 ?, m7 q# M- @, ?2 T/ c# A) _& f4 _
  189. PLA
    3 k) Y3 h4 F# J: _4 x/ O- I* ]$ g/ C
  190. JMP $AA72) q% P9 p& E" `
  191. ADDRFFDC:& Z* ?5 y! o; h5 N- N
  192. PLA4 H# ^; g  }! l" T
  193. LDA $0629,X( h* \; D1 K5 E: @4 k
  194. JMP $AA6D
    , k- H1 i! U- L
  195. 2 J- q1 `+ k% |/ H" |
  196. ;[FC][忍者神龟3代标题选关程序]
    ' k$ P4 `: K$ D2 p  F5 |& D
  197. ;作者:FlameCyclone 2017.4.13 N1 }/ v, d+ k0 K: L6 s2 E/ T: N
  198. 3 w. M3 S0 P8 a' b  K0 o
  199. - t7 W* D4 j! D% }- j  H
  200. ;配置数据5 ~7 _4 Y7 a$ L7 Q/ c
  201. KEY_ADDR = $F8    ;按键地址) C- R1 Y3 o; c' B/ B
  202. STAGE_TEMP = $6010    ;关卡临时地址
    4 ^7 F  s5 x9 s! ]+ F
  203. STAGE_MAX = $0E    ;最大关卡数
    0 ^" V2 ]3 O8 \  t3 o% F9 Q' P
  204. TITLE_A = $20    ;标题条件A+ m0 d8 }1 R$ V) L! f! Q( T. p: O
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    ) a- @4 T  h5 U7 j" _# @: e
  206. TITLE_B = $21    ;标题条件B
    6 U/ ^. I7 G. B4 K8 N
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定
    * S% O! K6 \1 d5 ^9 J. x8 M
  208. PPU_END = $FF    ;PPU结束符$ d7 y/ \2 N% n9 S
  209. TIME_LAY = $4A    ;标题显示延时地址' R5 }/ g6 [7 u9 s; N* A1 Z
  210. BUTTON_DEC = $42    ;关卡减少按键- t, |/ G0 ]2 b$ D' u3 M
  211. BUTTON_INC = $81    ;关卡增加按键
    % H' @0 @* ]6 n6 |
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量) E% L( Y' o4 R9 G8 e/ i6 m
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    : ^# R# h4 X5 ?4 b1 y$ @/ q
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
    2 V& I! }1 O& |( l! @% g( j
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位
    7 H/ g. f7 q" X! ?# E* U
  216. CHAR_S = $A2    ;字符'S'
    4 n* F# f2 x  z6 ^! m2 {
  217. CHAR_T = $A3    ;字符'T'
    7 s; I3 ]9 Q, Q3 N7 X5 E0 I5 m2 V
  218. CHAR_A = $90    ;字符'A'" X/ {7 a# e6 h2 n
  219. CHAR_G = $96    ;字符'G'" j. `+ ^9 O/ y8 M1 l3 b
  220. CHAR_E = $94    ;字符'E'
    6 q" @  Q; K& Z% ]$ I
  221. CHAR_SPA = $00    ;字符空格
    # g+ e- n0 b" ~* O3 W# Q
  222. CHAR_LIN = $AE    ;字符'-'. [1 J2 j  p7 @% x+ \! ]3 g
  223. CHAR_O = $9E    ;字符'o'
    ' i4 {% J! l+ g, p. F) h- E8 u
  224. NUM_1 = $81    ;数字'1'
    2 B: M3 a3 M6 D& u  a# S  j
  225. NUM_2 = $82    ;数字'2'/ `. `3 a3 s0 a0 L+ u
  226. NUM_3 = $83    ;数字'3': Z3 c! |9 ?  J7 d
  227. NUM_4 = $84    ;数字'4'
    / {& s0 t7 z, w  p
  228. NUM_5 = $85    ;数字'5'
    7 F7 {; n2 k, J) k2 ~9 m
  229. NUM_6 = $86    ;数字'6'2 N. p/ i$ q' n9 z- ?
  230. NUM_7 = $87    ;数字'7'+ `4 A' P9 s$ ~; J3 f  ]& U
  231. NUM_8 = $88    ;数字'8'
    " j) q! D/ v4 Q0 g2 w8 B
  232. NUM_9 = $89    ;数字'9'
    3 w5 N+ E# c# r2 R$ O+ `- `
  233. NUM_0 = $80    ;数字'0'% P2 X+ t1 q/ v2 }8 t1 x; E/ V5 ~
  234. & D+ m& F& u1 Z% W
  235. .ORG $F82A( z7 r& `9 ?1 Z5 o  P8 p/ P
  236. JSR $E700
    ( ~; G9 T! e9 g. r

  237. + X1 B: _" `! h, P

  238.   H4 m  m) O7 {' Y
  239. .ORG $E700
    ! \1 \" J: S0 j% O
  240.   
    5 z* E1 C) m( M6 L5 _0 ]
  241. STY $4014    ;补上覆盖的精灵写入指令
    # w; L$ D+ R! _; t
  242. PROTECT_DATA:    ;数据保护) N+ r  M4 Q0 X. e1 |4 ^
  243. PHA    ;数据保护开始
    4 `# q0 G5 |5 b# }
  244. TXA4 |4 n& L" d9 m) O
  245. PHA
    2 x8 r4 E% Y; u2 N
  246. TYA
    : {2 m' ~/ ?% k+ H3 P
  247. PHA    ;数据保护结束
    / H: |; E9 ~* J0 z" a
  248. LDA TITLE_A
    & a. H* a1 I, k" W
  249. CMP #TITLE_A_ON    ;比较是否为标题画面
    , l; N& k$ b, s# q* K
  250. BNE RET
    3 h, |/ }$ R2 ?, [# `! c
  251. LDA TITLE_B
    + n! h* R0 ~# @; w2 z, ]7 }
  252. CMP #TITLE_B_ON    ;比较是否为标题画面
    0 v, g7 T' V4 O& |
  253. BEQ PPU_STAGE3 a) Q* Q: B1 ]% O; d
  254. RET:    ;恢复数据
    - M6 ]/ ]% e% D/ z
  255. PLA    ;恢复数据开始
    - M) i4 K  W2 Q
  256. TAY
    ( _3 M" J  G5 S- u8 i4 ]
  257. PLA3 J$ l2 B8 V# v
  258. TAX
    1 d3 W4 v2 `# g
  259. PLA    ;恢复数据结束
    , ]+ a2 m; }3 V  A2 c- U" S
  260. RTS    ;返回7 b% U) s3 r  ^# {* v) }4 ^4 v
  261. PPU_STAGE:    ;字符STAGE写入程序
    ! X5 l# h" ]* F  y0 a: E0 P5 ~
  262. LDA #PPU_ADDR_H 4 V" T6 g8 R2 s0 M4 S: G1 V
  263. STA $2006    ;设置PPU字符写入高位地址( G4 c* m+ |& v( Z
  264. LDA #PPU_ADDR_L
    2 Q9 v; _) M0 z' e! A
  265. STA $2006    ;设置PPU字符写入低位地址5 k# t9 c9 a4 d; j- y
  266. LDX #$00/ c( P6 N' R9 X7 m
  267. PPU_STAGE_WROTE:    ;写入STAGE字模
    ! D8 H! U2 c. w9 e
  268. LDA STAGE_DATA,X' T. Y) f! W$ Z3 O5 F2 f$ j
  269. CMP #PPU_END    ;判断是否写入结束8 {. M9 o8 i) u1 D# G
  270. BEQ STAGE_CMP2 X: C- t7 q8 J' M5 e! Z5 a
  271. STA $2007
    0 Q! y1 j1 E. K8 H
  272. INX; ^; t1 u# d( n% i+ K
  273. BCC PPU_STAGE_WROTE
    5 z/ j! Y- w$ j9 H1 X* V
  274. STAGE_CMP:    ;选关操作
    5 w7 i2 o. U* F9 L% @1 Q
  275. LDA STAGE_TEMP
    # G! E  s4 Q. x' h: z+ X* `
  276. CMP #$FF    ;关卡数据初始化条件判断
    ) S4 ~! d3 Y* s7 _0 a* C
  277. BNE KEY_B
      t; ?' V0 L; S/ ~0 r4 t
  278. LDA #$009 t- C% Q1 _( O. F
  279. STA STAGE_TEMP    ;关卡数据初始化7 R9 S" f" ]/ Y: ^" `
  280. KEY_B:    ;关卡减少/ \& G  D" m0 e* b. z
  281. LDA KEY_ADDR
    , ~) x: i1 E! }- S+ {7 J6 p
  282. AND #BUTTON_DEC    ;按键B或左减关' a8 ?* j& O" Z, \; J3 b+ l6 k, _3 f9 l
  283. BEQ KEY_A1 V9 h8 i7 i& h6 W" K- T7 b
  284. LDA #$FF
    3 m- U+ s" t! N6 D  u' R
  285. STA TIME_LAY    ;重设标题延时
    , Q7 W  z- E3 F
  286. LDA STAGE_TEMP9 K: ]2 Q6 {  u) d5 h
  287. CMP #$00    ;关卡比较7 _$ X8 F+ c4 l: \& T) k; m% @
  288. BEQ KEY_A
    6 P! o! H2 Q* H  r% I6 q1 |
  289. DEC STAGE_TEMP   ;减关/ ~' i& V9 H9 O+ z
  290. JSR MUSIC    ;按键音效/ f( }( ?, W$ K9 u  ^- T
  291. KEY_A:    ;关卡增加( C% @- n8 o& o
  292. LDA KEY_ADDR0 Q* @# M) K( s
  293. AND #BUTTON_INC    ;按键A或右加关; q! K* w$ y9 h- R* l; D% B8 d0 W
  294. BEQ PPU_NUM_WRITE
    ( Z9 A( n2 n* b
  295. LDA #$FF+ ?  e9 e% C# r' h
  296. STA TIME_LAY    ;重设标题延时0 _. f$ C9 N$ ]$ p
  297. LDA STAGE_TEMP
    % I( u7 s* p1 }# n' b9 g
  298. CMP #STAGE_MAX    ;关卡比较0 t1 q9 ]6 Q* o5 ^1 n4 U( p3 {) ]
  299. BEQ PPU_NUM_WRITE
    7 Z; f! z+ T% o2 k6 D7 f
  300. INC STAGE_TEMP    ;加关# J( _& g( \+ ?, C
  301. JSR MUSIC    ;按键音效
    ; e1 k; F& B& Y& B
  302. PPU_NUM_WRITE:    ;关卡数字写入地址
      J  o9 _: B6 v% b" q* Q
  303. LDA #PPU_ADDR_H
    ; o. h% t5 Q+ c
  304. STA $2006    ;设置PPU数字写入高位地址# m* U* s) r+ ~1 l8 G3 D0 _
  305. LDA #PPU_ADDR_L' x+ J6 v6 Z# G9 Y- K5 c* v
  306. CLC
    9 E. o( @$ h6 W& H  i- V  ^! b
  307. ADC #NUMBER_A6 ~0 `6 s! x4 c7 t
  308. STA $2006    ;设置PPU字符写入低位地址
      N/ d6 s& X5 x0 L2 m
  309. LDA STAGE_TEMP8 D6 q% Q0 a3 C9 \% R: T  O
  310. TAX& E  q8 }2 Y6 [! b; H  v
  311. LDA STAGE_D1,X    ;写入数字9 E& r; ^' \6 O  w
  312. STA $2007" U4 @) {0 O: a% N  i2 ^
  313. LDA #PPU_ADDR_H
    - t; }- f" ?% x
  314. STA $2006    ;设置PPU数字写入高位地址
    0 y& o2 y' N& V; `2 g
  315. LDA #PPU_ADDR_L2 q0 r" ~8 Y8 h+ Q
  316. CLC1 c2 A. [% c& w. F' [" v% N' i3 m' n
  317. ADC #NUMBER_B
    ) I- c+ z6 I3 ^9 l
  318. STA $2006    ;设置PPU字符写入低位地址
    $ P- E- W! `' ^! C4 R* D
  319. LDA STAGE_TEMP* M# r# L- C! a/ I
  320. TAX
    8 ]  D: y8 b& T5 V; ?, X" |- j9 j( J
  321. LDA STAGE_D2,X    ;写入数字$ m8 j, z- c) L8 @- ?
  322. STA $2007; c& L) j) U5 G. _$ R
  323. STAHE_WRITE:
    ) _+ v6 j9 P0 e+ I0 Z
  324. LDA STAGE_TEMP% A- a; C. V. W$ v
  325. STA $2D   ;初始关卡写入
    8 {, i) o) t" W% ~5 m3 j0 H
  326. PPU_RTS:    ;恢复数据5 T% R4 i- _# E6 Q1 i
  327. PLA' |5 l( v" l* h" s8 L. P0 \
  328. TAY
    2 K. u% V) f2 ~- b9 b+ F4 t; d
  329. PLA
    ( E+ L- r* i/ \. {
  330. TAX
    - X% u( d% p, A* d; |. `* D, {8 ?* U( u
  331. PLA
    4 O3 H( Q5 p1 R: {* l3 _
  332. RTS. O! F3 v$ U' N* Q8 B

  333. ' z5 {0 I. L) k1 `! |
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据. g% U& C0 P4 m% H4 |1 u) d
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END) x8 K2 a$ ^& m

  336. 6 b! L$ P2 M5 I7 s& M; P# ^
  337. STAGE_D1:   ;关卡数字
    9 b% a* ^+ K6 _6 Y" S4 c! r8 Q
  338. .BYTE NUM_1,NUM_2,NUM_2,NUM_3,NUM_4,NUM_4,NUM_5,NUM_5,NUM_6,NUM_6,NUM_7,NUM_7,NUM_8,NUM_8,NUM_8
    7 v- M& \' ~7 F' y4 R
  339. " c1 w' M' W9 F7 m$ |$ e6 e$ X
  340. STAGE_D2:   ;场景数字6 }/ q) ?# q3 t0 D5 z  l# ]5 F
  341. .BYTE NUM_1,NUM_1,NUM_2,NUM_1,NUM_1,NUM_2,NUM_1,NUM_2,NUM_1,NUM_2,NUM_1,NUM_2,NUM_1,NUM_2,NUM_31 J0 \) |( X- `- O0 [. f- ~+ g9 j
  342. 0 n7 K* K# m. W! Q3 D; r+ [* R
  343. 8 V: o9 \. s8 z! m+ A; u0 v
  344. MUSIC:    ;按键音效
    . L& l) [: j: i( L
  345. LDA #$3B    ;音乐号
    * v5 I" L7 i3 J2 o# }
  346. JSR $919E    ;系统音乐调用
    & w6 K5 Y& p6 i9 P1 R: F3 i  k
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;
. B* D# B& f' V8 w' [% @1 N; ~. G/ S    5.生命加满:   暂停后,按下键切换;0 X' a/ }) p: [* C2 b+ r/ a
    6.血量锁满:   暂停后,按右键切换;
1 w$ `5 i: O$ ^: ^& v' k  w4 N- Z2 P: V0 s+ l8 \
* j0 |9 w1 @* M

$ M9 [4 `& f3 s9 Z, x% h3 K4 p1 O" ]1 |4 t

3 @7 Q! F! h7 `# ^) QFlameCyclone.ys168.com
0 }3 }; l+ S: A) ^* y# |www.nesbbs.com2 x8 u0 C3 _4 `% @: g; w
游客,如果您要查看本帖隐藏内容请回复

, t+ `1 ?: A5 `# q# H, V8 ^' p4 _

本帖子中包含更多资源

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

×

评分

1

查看全部评分

签到天数: 187 天

[LV.7]常住居民III

发表于 2017-3-31 15:19:48 | 显示全部楼层
感谢修改,辛苦了
[发帖际遇]: dabayu 发帖时在路边捡到 3 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 48 天

[LV.5]常住居民I

发表于 2017-3-31 15:57:22 | 显示全部楼层
这也是个好游戏啊。谢谢修改。
回复

使用道具 举报

签到天数: 2366 天

[LV.Master]伴坛终老

发表于 2017-3-31 17:15:48 | 显示全部楼层
感谢分享新游戏
回复

使用道具 举报

签到天数: 1418 天

[LV.10]以坛为家III

发表于 2017-3-31 18:08:30 | 显示全部楼层
这个有意思,比30人版的还要简便
回复

使用道具 举报

签到天数: 2461 天

[LV.Master]伴坛终老

发表于 2017-3-31 18:24:11 | 显示全部楼层
2和3改的很强悍
回复

使用道具 举报

签到天数: 71 天

[LV.6]常住居民II

发表于 2017-3-31 19:13:18 | 显示全部楼层
{:4_103:}哇塞,真心不错,楼主辛苦了,终于圆了我的梦,多谢多谢!
[发帖际遇]: 街机爱好者为灾区捐款 2 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 1377 天

[LV.10]以坛为家III

发表于 2017-3-31 21:04:59 | 显示全部楼层
这个修改超爽啊..太感激了
[发帖际遇]: 多乐事为灾区捐款 3 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

该用户从未签到

发表于 2017-3-31 21:30:31 来自手机 | 显示全部楼层
这个修改的好阿弱弱的问下不是说隐退了吗
回复

使用道具 举报

签到天数: 1775 天

[LV.Master]伴坛终老

发表于 2017-3-31 21:34:31 | 显示全部楼层
楼主改的太棒了,谢谢分享
[发帖际遇]: pp12 捡了钱没交公 柠檬 降了 1 个 . 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 3048 天

[LV.Master]伴坛终老

发表于 2017-3-31 22:08:30 | 显示全部楼层
感谢楼主分享!
[发帖际遇]: afti辛苦发帖,赚了 2 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 2178 天

[LV.Master]伴坛终老

发表于 2017-3-31 22:32:18 | 显示全部楼层
感谢楼主分享
[发帖际遇]: 一个袋子砸在了 datone 头上,datone 赚了 5 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 1932 天

[LV.Master]伴坛终老

发表于 2017-4-1 02:16:39 | 显示全部楼层
简单很多了,感谢修改
[发帖际遇]: 找不到服务器 打扫环境卫生,被奖励 4 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!
% ?9 g- K3 H) `# {
回复

使用道具 举报

签到天数: 179 天

[LV.7]常住居民III

发表于 2017-4-1 14:07:04 | 显示全部楼层
以前在实体机上老被BOSS虐 现在好了 搞死BOSS 哈哈哈
[发帖际遇]: 九月鹰飞 在网吧通宵,花了 2 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 1579 天

[LV.Master]伴坛终老

发表于 2017-4-1 15:51:06 | 显示全部楼层
好东西收藏了
回复

使用道具 举报

签到天数: 39 天

[LV.5]常住居民I

 楼主| 发表于 2017-4-2 20:42:12 | 显示全部楼层
来看看貌似没人下载
回复

使用道具 举报

签到天数: 39 天

[LV.5]常住居民I

 楼主| 发表于 2017-4-4 11:44:04 | 显示全部楼层
已经适配nestopia模拟器
回复

使用道具 举报

签到天数: 93 天

[LV.6]常住居民II

发表于 2017-4-7 01:13:04 | 显示全部楼层
感谢游戏
回复

使用道具 举报

签到天数: 57 天

[LV.5]常住居民I

发表于 2017-4-20 10:51:15 | 显示全部楼层
研究研究
[发帖际遇]: 一个袋子砸在了 曹的爽 头上,曹的爽 赚了 3 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2026-4-26 14:41

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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