设为首页收藏本站

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

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

 火.. [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 ( @7 O1 ?) W. _( ~0 Q+ R& a( p

) y; F$ d% z6 [- {: V  M9 n. |[FC][忍者神龟3][END选关]& S5 c; A. w, \6 K" G2 O7 _

! T. q, h6 ], \7 i时间:2017.3.30/ R7 Y8 |1 E, T6 z. l2 Z( H4 ?
作者:FlameCyclone  @9 ~( w# ~2 ?9 M4 M" c, y4 a6 U$ K
内容:0 K5 x8 R  `( W  L
    1.关卡选择:   标题时,左或B减,右或A加;1 H$ {( `: S+ d  c) n# x
    2.全屏击杀:   暂停后,按A键切换;1 {" m  q$ z! B
    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0
    ; y, r1 R1 r! z6 `
  2. ora_data:
    " j/ c' Q" e/ v# V" q7 k: k( X
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$106 i7 S) D: @. ^" h
  4. and_data:
    $ ]! Z1 P! d5 k7 ]$ {
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF; ]! x7 `" P2 y7 L: ^. w
  6. & Q+ t" a) ]) [6 a! Y4 T
  7. button = $F8
    9 H8 S. d8 a4 `: `
  8. flag = $6000
    , h! u- s4 {7 W4 P+ }
  9. pause = $0045
    1 Z$ L- r2 ~  C) @) d9 X, _

  10. 4 W3 f! q0 y4 P/ c1 a0 ^
  11. # F& P* x" s8 M; M. ^; F0 Z
  12. .ORG $F90D
    7 S( b* f5 J- j
  13. JSR $FEC0
    ) E" M& T" _( d$ w5 Y2 I0 b7 x
  14. ' n+ _1 M( ]& B. l- D9 W
  15. .ORG $FEC09 x" ?" \& k$ ]* l' Q
  16. STA $54,X- J& V! f4 t) r# T* [
  17. STY $FA,X; M" X+ u- Z+ i# t
  18. PHA
      d) t, N" \/ v/ F3 |
  19. TXA  O2 w6 R* w, t' }) j  G0 T
  20. PHA" K6 k- Q4 W) H7 p) C$ w0 P
  21. TYA
    + ~/ w- g0 k& t. {7 s
  22. PHA
    6 B" c. m, n' }( I' Y$ C8 H2 P! i1 K
  23. JSR KEY_OPERATE6 C9 }/ m; X; J3 {
  24. JSR INV/ g8 a, b7 e. G6 _5 e1 {
  25. JSR LIFE
    & g; i6 A( B0 A: Y" p
  26. JSR BLOOD, y. W8 L' M& D1 x- D9 }$ p
  27. PLA
    . I6 g$ e1 f; V$ d+ c/ T
  28. TAY: K# s& z0 `; W  b
  29. PLA' j+ v$ O5 m0 Q: f: z3 z0 u
  30. TAX0 {5 ?+ h) A. r3 A9 s( P
  31. PLA
    0 n1 D! D. \5 R# q: |
  32. RTS8 R9 U# i+ ?0 |+ R7 V! `; y
  33. KEY_OPERATE:
    5 ^  N/ ]  j* M
  34. data_protect:
    - v3 O- o7 M. z5 U+ |
  35. PHA4 j  a+ i# O' x/ T8 B0 _
  36. TXA5 z3 G( h* G2 \; f
  37. PHA
    0 ~2 j/ X3 M4 C' b2 Q, w
  38. TYA
      q- ?, d- q" w* i1 q, f! b2 {
  39. PHA# w& c" [" h9 x- Z

  40. ! r+ c4 p& }5 C5 P3 k! M
  41. FLAG_CMP:: p9 W+ V- `! ]3 c2 X4 j5 @
  42. LDA $600F" b4 T2 J0 k7 E/ m) @% m* B9 R
  43. CMP #$7F    ;标志数据初始化条件判断
    3 w3 V$ S, J; X" |* E
  44. BEQ pause_cmp
    / D# S1 f+ g9 H* L/ q' t
  45. LDA #$80
    8 O+ H; u1 V2 r9 e# f. f, V
  46. STA $A001    ;6000-7FFF写入启用
    3 b) C0 o- x7 Z# C- e$ `9 ?1 b8 x! }) O
  47. LDA #$00
    + P7 H; B" S+ [7 Q" G; Z1 s
  48. STA $6000    ;数据初始化
    * O4 V8 `( q* X; s6 U& ]" b6 |
  49. STA $6001    ;数据初始化
    $ t0 L" \- e/ ^9 H) A
  50. LDA #$7F" I1 S/ J& C* l
  51. STA $600F+ @7 S( k8 O. A
  52. pause_cmp:9 A% V* c* P( K. d+ v( {
  53. LDA pause
    & d5 H) @4 }) u& f! T0 D5 y
  54. CMP #$01+ [" O2 S" a+ `  f) X7 r
  55. BEQ button_press6 }+ m8 o6 A* n2 S6 }. E; |2 V
  56. PLA) M! h4 b) G& Y$ I
  57. TAY" T, _* F* e: J+ v
  58. PLA
    % n" `( y, e5 [( {$ m% C7 B. }: p/ y
  59. TAX
    6 ]5 D3 X( }7 }7 o" G) ]
  60. PLA; G* _8 u0 O" N+ p9 f7 o# ^
  61. RTS. S. x  y9 m7 r* r" i0 n* q; g0 P

  62. $ _- h4 Q4 `( v. [& P3 C; t
  63. button_press:, q. ~+ K( ]  N7 M6 E  q
  64. ini_Y:8 u4 n- {  S2 K8 _& Y, x
  65. LDY #$00  C; s/ D8 `" N6 G+ U1 }0 U
  66. button_cmp:1 M6 S) q; a/ ?( Y9 ]  D
  67. LDA button,X
    % }  }& o% s. Y- [' e5 {8 B
  68. CMP ora_data,Y4 d2 K# v. s. z; C' w/ u9 b8 W
  69. BNE count_Y_cmp6 H) o+ S9 l+ x% P, c1 U
  70. flag_cmp:
    9 Z7 X  R0 P; p
  71. LDA flag,X- K% n, j) b" ^# K3 P; C$ l' i8 g* m
  72. AND ora_data,Y
    - v' Z: `9 k4 a8 I2 ]0 y
  73. BNE flag_and0 F$ Y8 P0 X- |! f' }* Z) _. d
  74. flag_ora:
    $ _# K& [) d5 g$ }. D# B8 z
  75. LDA flag,X
    ! J. j- }: p+ w$ A( [% i  F/ Y
  76. ORA ora_data,Y# [: Q6 F5 y/ M) Q& V) p1 A5 p
  77. STA flag,X6 C1 h& A2 A8 P1 A' h
  78. BNE count_Y_cmp3 [' M+ ?3 ~4 P$ T6 b
  79. flag_and:( T3 U% |; o9 B4 B$ o
  80. LDA flag,X
    4 \1 f( m  x2 ?( U1 ]; p& l
  81. AND and_data,Y& k3 P  r7 R+ M3 A- @$ L* g0 E* o
  82. STA flag,X0 s& E+ u  J1 i7 q; g$ d* C# M
  83. count_Y_cmp:7 M- V/ W: F; a5 V. v% i- I! \' @1 S2 f
  84. INY
    6 X! ]1 @+ [6 h$ g4 o- @
  85. CPY #$08
    ! Z4 ~$ |3 H4 ]- @
  86. BCC button_cmp- e( c# J. _% ]. ~% Q9 G
  87. ! R7 ?0 m4 D3 R
  88. data_extract:
    2 |4 t7 f0 W+ t" \4 L+ @
  89. PLA
    . g' H8 k: P8 y4 l
  90. TAY
    $ R. y! N% q! z' s; q$ t
  91. PLA
    - x5 w$ N/ X4 m2 N
  92. TAX: d, t; p1 _- ?$ v8 l/ _
  93. PLA
    # X, V2 B: V/ R/ S4 `0 N
  94. - Z2 e) B1 F5 M. y: J% X
  95. return:
    1 _9 X3 \" @& b, d
  96. RTS
    2 D) E* @  o( m0 c6 a, b
  97. % W6 u' v; G! e7 K6 c+ f! U

  98. 2 Z; ?2 k  R" h, \  I+ \
  99. INV:    ;无敌
    ! @- S7 V( N2 r; g
  100. LDA $6000,X
    ! y9 u$ }  I/ t" _* U; A$ [7 A
  101. AND #$08
    . u. j9 H7 k& f
  102. BEQ INV_RTS
    " k# Z- A- c7 `# ]$ o# ~( D* Y
  103. LDA #$05
    3 f  l7 N8 F: X" c
  104. STA $04FF,X8 Y% \/ q2 N1 ?7 F! ]
  105. INV_RTS:/ {/ T3 M) p" ?
  106. RTS3 t: B  [9 O0 l' J0 l4 [# @1 Q

  107. ! n9 t$ N: \8 Y( Q5 V$ s* j1 w

  108. ( p: m  [* G+ L, O# G
  109. LIFE:    ;生命
    % W1 P7 J- B) [. `5 n; P
  110. LDA $6000,X
    3 w0 u" `4 C' N5 e9 \" k0 e
  111. AND #$04
    - D8 X' I$ A: L+ i4 g! g
  112. BEQ LIFE_RTS7 C( r/ A* k7 i- ?) d3 K- v
  113. LDA #$09
    " z  E# N: T4 _3 \* u
  114. STA $6A,X9 Y7 H; h2 C5 A* ~3 ^
  115. LIFE_RTS:$ [5 r1 N/ U$ T1 I9 e$ |; K
  116. RTS
    0 @; L! ]$ ^/ j3 r$ G

  117. 4 ~2 T9 T% X0 ?; d2 T% d
  118. ( [" E& V( E9 ?( u# C  H$ W
  119. BLOOD:    ;血量
    , q, p9 C4 s% |2 T/ V1 G8 J
  120. LDA $6000,X
    ' J& z" \, E7 Y* m! g% Y/ x
  121. AND #$01
    7 B" ?! k3 G) c
  122. BEQ BLOOD_RTS
    . h( {& h; B6 q
  123. LDA #$7F$ `6 e9 k* C* m* C5 L. ?
  124. STA $04F1,X2 N/ M1 @# ^1 s( f) s
  125. BLOOD_RTS:; R+ k9 S) C* f$ `! r
  126. RTS9 q& n- f7 C' q) d! Y3 X0 V
  127. " q$ }& C0 ]2 w/ A( ?

  128.   R# }1 q' e) z) H, T0 r" K0 L

  129. . x" U2 H5 w: f0 q! [5 {
  130. 5 s# L6 |( R2 y
  131. .ORG $D29F
      d* `' z- S+ B" e( ~
  132. JSR $FF80+ V- z  M: o3 C. O( v; Y6 _

  133. * `6 g) e: Y9 |& q$ w+ [" @3 l0 Y$ j8 t; o
  134. .ORG $FF80/ k" E" C9 F% f) n5 a/ g7 x
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀
    3 `, B5 d" a$ U7 y+ w
  136. STA $06282 `- y7 ^$ F8 q& Z( T7 h: x
  137. PHA" W) z3 T6 L" ?7 o4 w
  138. LDA $6000
    % \7 t4 g- \' M/ H& i6 \4 J' `
  139. AND #$40
    + y7 @+ a% ~! B: K/ _
  140. BEQ ADDRFF8E! q+ q5 N4 J6 f3 ]0 f
  141. PLA8 _8 [1 [3 S8 h/ {6 p
  142. CLC   ;敌方死亡状态判定5 V) c( [: m: v% T3 r8 Z
  143. RTS
    3 o8 T1 J( h. J# _
  144. ADDRFF8E:
    7 s. o& w$ f+ U6 _- g% H: W! d
  145. PLA
    6 h# a3 X& @1 _
  146. RTS7 v: D- Q4 e0 D2 G' d

  147. , S; b  x  }, Q+ C' K8 ?

  148. ( ^7 z( k6 ?3 ?* x/ ~
  149. .ORG $D151
    $ b4 P. ?5 l( w% u4 R/ {1 Z: l
  150. JMP $FFA05 B$ v/ c+ M' F* C  i, c

  151. ( F/ j$ h" l( o; ]
  152. .ORG $FFA0
    ) n( ]; \: Y6 e- s& Q3 F
  153. KILL_BY_ONE:    ;杂兵一击必杀
    " d* b  ^! B8 f/ _3 F! L" O: H
  154. STA $0621,X
    ' u7 D% D: ?0 A9 T
  155. LDA $6000% i4 s  e8 M4 a5 s
  156. AND #$40/ U" B0 J1 }8 o% S, A, J# h
  157. BEQ ADDRFFAD
    ) @! p$ }  H4 m- x% w4 Q" I
  158. JMP $D19A   ;敌方死亡程序跳转3 X1 Z2 m0 f5 a4 O1 e! B/ l: {, j0 l( s
  159. ADDRFFAD:! G+ G: B! l9 z- y/ I( t6 ?' I
  160. JMP $D1540 |  s$ x7 ?' z! R  [& }0 T

  161. / u7 X8 b. x/ F% @$ F* D& [2 M
  162. % d7 K5 H. v& M& Q; W$ W/ g
  163. .ORG $A7F6
    ! N% _, ^# }5 A; o5 W" X/ |
  164. JSR $FFB0
    ' ?( z* B' _* r% s

  165. 2 W& i6 b% S9 ?9 h
  166. .ORG $FFB0    ;全屏攻击+ N: d: V' x2 \" I& s1 O5 M
  167. PHA
    - B  I+ ]3 f$ H- i
  168. LDA $6000
    5 h, W' R- [* ]9 Z' B& h& C1 y
  169. AND #$80
    7 C$ `4 U( ^% P/ y9 Q; V$ f
  170. BNE ADDRFFBD" P  R. @$ n, S! R# B8 i
  171. PLA
    ' r& @/ a+ v5 t% m  _
  172. LDA $0015
    . Q# r! M/ H. S' }/ G
  173. SEC( Y& v. I' s+ f+ f2 q7 W* s. Q
  174. RTS
    9 C) x7 f& [4 D! c* L- U
  175. ADDRFFBD:+ g" ]0 ^% d+ {! Z/ R7 P' X8 g0 y
  176. PLA
    6 G/ Q8 Y0 ?6 j; |
  177. JMP $A826
    ( ]3 F1 `7 Z$ o4 Y0 W9 z* r

  178. 8 Y0 z0 L$ H5 b# Y# e

  179. - w9 r  A0 m. G6 k6 D5 T: L" [1 Y
  180. & y* T$ S# n# L, M- p2 C5 r
  181. .ORG $AA6A
    4 G' o  W0 E. ~% c
  182. JMP $FFD0( a) ]) H" j8 I% r, Q

  183. 4 F1 ]- O4 o* G3 U
  184. .ORG $FFD0    ;敌兵动作忽略
    ( Z9 x! P9 f) E) d$ U
  185. PHA
    4 `& P; @5 H  J5 c' m! R3 b1 P
  186. LDA $6000
    $ H+ Z3 z- _9 V6 X4 s/ a# q. y
  187. AND #$80
    4 @( r7 f1 \/ m! w9 d8 I2 F
  188. BEQ ADDRFFDC
    $ Y* \9 P, }; a% A: c
  189. PLA
    + N4 }$ B2 I, v* X2 h3 P4 W
  190. JMP $AA72+ I: L- a4 [* x& I( G! \/ R% Q9 U
  191. ADDRFFDC:
    , r+ `: ~* ~$ Y$ C5 j) p* J7 T
  192. PLA0 |$ `# y) S# a
  193. LDA $0629,X
    ) r# h2 q# E! _6 n8 M+ M
  194. JMP $AA6D& x2 r: |) T7 b7 D9 S

  195. 4 G2 d3 M( Z$ W! N. Y) f
  196. ;[FC][忍者神龟3代标题选关程序]
    0 `7 H; @& I+ M/ z
  197. ;作者:FlameCyclone 2017.4.19 J" I9 s1 t  ~% l
  198. 8 b+ B( j) H# e; i8 R
  199. & F& s. F( Y& y' E3 D- W! w/ k
  200. ;配置数据
    $ u$ d) a! u: g9 D$ C7 e0 ?
  201. KEY_ADDR = $F8    ;按键地址
    6 G& c( Q' h: [( @
  202. STAGE_TEMP = $6010    ;关卡临时地址
    6 p9 f& P) r; D; _8 H
  203. STAGE_MAX = $0E    ;最大关卡数9 O* X2 H" y" |6 r, a
  204. TITLE_A = $20    ;标题条件A5 D7 o$ {- V* B4 D$ @% s. i$ G) H* d
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定7 [) K2 U- J* G
  206. TITLE_B = $21    ;标题条件B, M0 U# j7 g9 ]. y& |  r- y
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定7 v) X4 T4 D1 P: h* ~
  208. PPU_END = $FF    ;PPU结束符; V5 h" f# T  m6 C
  209. TIME_LAY = $4A    ;标题显示延时地址% J/ Q' b  t7 o4 D8 }, w5 K
  210. BUTTON_DEC = $42    ;关卡减少按键
    0 E4 j; y4 G* G5 i# ]7 [' w3 S( Q
  211. BUTTON_INC = $81    ;关卡增加按键8 d1 g1 ^0 O2 g; {% M: p' y
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量% I5 `" A# w+ `% r
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量5 _% M' G' T5 P- x
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
    ) G$ D& T, W! }2 ^+ }
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位
    $ X7 G: K# i: c1 F" Y
  216. CHAR_S = $A2    ;字符'S'. I3 f7 ~" L  f: Z; H6 t- L; y: t8 F
  217. CHAR_T = $A3    ;字符'T'
    8 A! W" X4 M4 ~
  218. CHAR_A = $90    ;字符'A'+ p: r' M6 L  w) H/ }" S, ~
  219. CHAR_G = $96    ;字符'G'
    5 I  Q* k' b% Y7 N
  220. CHAR_E = $94    ;字符'E'' k3 o& n6 V2 b
  221. CHAR_SPA = $00    ;字符空格# d, a" C3 C+ m0 F
  222. CHAR_LIN = $AE    ;字符'-'
    * Y+ u- M; v- F' L9 i( Z3 q- y/ [' Y
  223. CHAR_O = $9E    ;字符'o': U" \6 b8 ?, T- p' f% I' v9 n) c
  224. NUM_1 = $81    ;数字'1'
    + N0 p7 I5 y& u* r* _: F
  225. NUM_2 = $82    ;数字'2'
    % `3 l2 J9 r% P7 j
  226. NUM_3 = $83    ;数字'3'
    4 A8 M" O0 i- Q& N. Y( i; u. V
  227. NUM_4 = $84    ;数字'4'' c% n& j" j* t* O1 z$ i$ |1 a% `2 r
  228. NUM_5 = $85    ;数字'5'/ g! l& s# N; Q( c( Z
  229. NUM_6 = $86    ;数字'6'2 C5 q  I; b) t6 m
  230. NUM_7 = $87    ;数字'7'8 {8 F, Y7 k. V# x2 n& R
  231. NUM_8 = $88    ;数字'8'4 z+ H8 _+ e* n: j( `! J/ h' j& f
  232. NUM_9 = $89    ;数字'9'
    ' ?. _# L% T4 C& H/ R6 E4 I3 N
  233. NUM_0 = $80    ;数字'0'4 J0 V; P! D3 |3 u: T

  234.   F) {3 O7 d) q! J; ^
  235. .ORG $F82A
    - j! M& v' x9 n6 k
  236. JSR $E700
    & w' e+ F; \/ D+ |8 V) P
  237. + l( I  Y  |1 N& [" o3 [! K1 Z

  238. * j) G" p& M. J! o
  239. .ORG $E700* d, G' P# K7 W* p3 k! Y3 u
  240.   5 t7 i5 K9 ~1 H$ w
  241. STY $4014    ;补上覆盖的精灵写入指令
    - Y- o% B* }, @) d% X* ^
  242. PROTECT_DATA:    ;数据保护3 ~! l- u) \, X+ y
  243. PHA    ;数据保护开始
      Z# z0 m" S& w# f; P! v$ [
  244. TXA
    - G) L2 _4 r9 w# v- H8 m  W
  245. PHA* P! b9 P  n$ z6 ]: k' J# W" Y
  246. TYA/ d" }9 q$ q. j. {
  247. PHA    ;数据保护结束  b7 ]  Q( b: R5 I! R
  248. LDA TITLE_A
    4 R8 j# h3 O' g/ G9 S8 @% J
  249. CMP #TITLE_A_ON    ;比较是否为标题画面+ l2 v" K% o8 v7 J5 y
  250. BNE RET' Z8 D' w( T4 L7 K! l
  251. LDA TITLE_B
    ; A0 v$ S+ `" ?3 ^6 }+ e! \
  252. CMP #TITLE_B_ON    ;比较是否为标题画面$ t6 _' x# p9 q' p& U* j
  253. BEQ PPU_STAGE) m) Q$ V- b9 o  U
  254. RET:    ;恢复数据. L! L. P% s5 v: O2 o3 m5 j
  255. PLA    ;恢复数据开始
    6 I7 o2 J$ Y! S% ]' f
  256. TAY; ?$ J% r4 W8 u; F, J
  257. PLA# P4 Y  U) _0 Q3 u: ?
  258. TAX' B* P% E. V1 Z# }( q: }1 t
  259. PLA    ;恢复数据结束, y% x, P$ U3 `5 r* _, R. ]1 H
  260. RTS    ;返回6 d  Q; e/ S, ?% ]
  261. PPU_STAGE:    ;字符STAGE写入程序! a7 ]. X! B# s. ?
  262. LDA #PPU_ADDR_H
    1 B2 \, f: N8 q; s0 M7 ~
  263. STA $2006    ;设置PPU字符写入高位地址
    / U" o* l; |" D. K7 M
  264. LDA #PPU_ADDR_L
    % a, `3 N4 K7 c
  265. STA $2006    ;设置PPU字符写入低位地址& a, f+ Y: x1 b+ ?/ S* E
  266. LDX #$005 @+ ]. M# H, L; m  ~# |8 v# }) J
  267. PPU_STAGE_WROTE:    ;写入STAGE字模; j( k( U: B7 Q: }/ v
  268. LDA STAGE_DATA,X
    9 `7 M% c" r: I8 ^* o
  269. CMP #PPU_END    ;判断是否写入结束
    1 b- J4 _$ z4 Y- B/ d
  270. BEQ STAGE_CMP
    * \9 m* c8 Z5 W# t7 v
  271. STA $20073 ^/ A+ m2 A- O. v
  272. INX. o" k5 A! C8 R6 F+ I
  273. BCC PPU_STAGE_WROTE9 X: g7 m; m+ A/ p9 ~7 e: s
  274. STAGE_CMP:    ;选关操作" R) c# Q5 n# Z
  275. LDA STAGE_TEMP
    & t9 I; A0 ^$ }9 J. ?8 Q
  276. CMP #$FF    ;关卡数据初始化条件判断" }. V) O4 D2 L* C! y) X
  277. BNE KEY_B
    9 k$ H1 m' {; T) a; t+ ]
  278. LDA #$003 n, v+ Q* `( C
  279. STA STAGE_TEMP    ;关卡数据初始化
    - c3 D! e7 h9 Y* @6 [1 R
  280. KEY_B:    ;关卡减少( x9 n6 M' E, X* V
  281. LDA KEY_ADDR5 `; Y0 u7 w2 C. |$ y
  282. AND #BUTTON_DEC    ;按键B或左减关
    # p/ [( N2 K$ J2 }5 f
  283. BEQ KEY_A
    ' P' y- n5 {- Y- Q1 ^
  284. LDA #$FF
    ' }  Z% ?# l2 o0 Z- u
  285. STA TIME_LAY    ;重设标题延时
    0 q, \2 W0 a& H
  286. LDA STAGE_TEMP
    7 Q) t7 {+ F4 O
  287. CMP #$00    ;关卡比较
    : {- e' J7 E8 _; G
  288. BEQ KEY_A
    & S7 y' P" H& N& p. `+ Y* ?
  289. DEC STAGE_TEMP   ;减关- y2 I- }8 ~: D& T$ X" W2 L
  290. JSR MUSIC    ;按键音效
    , d7 ?4 v1 p! b3 m
  291. KEY_A:    ;关卡增加
    1 |; c5 k! I! _6 L: O* I
  292. LDA KEY_ADDR
    . V. ?& I. O7 b  n
  293. AND #BUTTON_INC    ;按键A或右加关
    / ?+ ~- Z; f" ?8 D& _  v
  294. BEQ PPU_NUM_WRITE
    8 v" E6 ]& l  }% b
  295. LDA #$FF  T( q* Z7 ^* X2 n2 b
  296. STA TIME_LAY    ;重设标题延时
    2 e+ {$ x! S/ l/ A- [0 g
  297. LDA STAGE_TEMP
    9 n! F# Y" v' z; p6 q$ \
  298. CMP #STAGE_MAX    ;关卡比较
    - d! C/ U/ \' r
  299. BEQ PPU_NUM_WRITE! O) A! ^; l& `- [
  300. INC STAGE_TEMP    ;加关. i! }$ i6 h! l# o  P: J
  301. JSR MUSIC    ;按键音效
    + a4 }- i0 I2 |7 B% y! |
  302. PPU_NUM_WRITE:    ;关卡数字写入地址
    # \" H( O0 {: Z: ^
  303. LDA #PPU_ADDR_H
    ; m9 }; ]! z& Y( |& F! N4 M# K0 M
  304. STA $2006    ;设置PPU数字写入高位地址
    & }+ D5 a. U+ U" z0 ?2 w
  305. LDA #PPU_ADDR_L
    / w! w* b* Y& q: l3 b. E, e9 L: e
  306. CLC
    / |7 T, K5 S; ]$ M
  307. ADC #NUMBER_A
    : L# A7 j: b/ L" R( p, B' g% H7 V4 \
  308. STA $2006    ;设置PPU字符写入低位地址
      T7 `/ D, c+ D4 ]2 x5 d% h
  309. LDA STAGE_TEMP. i0 ^) E0 U; F
  310. TAX
    ; ^( @0 W) S6 H) c$ l) N( ~
  311. LDA STAGE_D1,X    ;写入数字' M  |9 V+ W+ F
  312. STA $2007
    " p% `5 P$ A4 a7 W# h% \
  313. LDA #PPU_ADDR_H$ T% Y( |; ^' q. _) q  N
  314. STA $2006    ;设置PPU数字写入高位地址' A8 t- G) M0 s# h  u
  315. LDA #PPU_ADDR_L
    ) Q5 ]' H. J7 i/ k: x6 w' T
  316. CLC. n7 \2 {6 e6 M1 I
  317. ADC #NUMBER_B
    / l4 V" g$ W9 a" R; F; e- l
  318. STA $2006    ;设置PPU字符写入低位地址0 T0 H7 @8 Z6 I7 t0 q; Z* }# _2 j
  319. LDA STAGE_TEMP
    ' G& h; o! o, x6 `5 J- K/ t  \
  320. TAX
    , |/ P. |+ R# h! G, H9 l
  321. LDA STAGE_D2,X    ;写入数字- ?/ }) z) A) T, r8 L: D! v
  322. STA $2007
    8 c6 f, d: v  S0 x( b! q6 ?  g
  323. STAHE_WRITE:; I' L7 ^: ]# Y! x) [" R& V  U  W
  324. LDA STAGE_TEMP- g2 {& c% Z# p* P7 f$ G* U
  325. STA $2D   ;初始关卡写入
    ; P: @; w) `: h! @/ H* \
  326. PPU_RTS:    ;恢复数据' o! ~  G+ v+ o$ H
  327. PLA
    ; q4 A+ h. I+ L. b) y9 O( h
  328. TAY
      ?. E. U+ T2 j2 \
  329. PLA
    & g% l5 b, m; F* V2 ]
  330. TAX
    ! r0 C6 S1 f$ F+ Z( c* ]4 d' j0 z
  331. PLA: T4 n7 d. ?  p3 w3 k
  332. RTS5 s2 D0 r: r. O

  333. 6 W5 {9 F  y* F. H& D/ T$ R6 N
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据) Q. u* \4 P! J
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END/ P3 P$ C8 F# F% a# T! g- n
  336. * v# u$ p3 g" T; h2 Z; I3 E* F
  337. STAGE_D1:   ;关卡数字
    0 O8 V/ O5 R, a* o& {6 j7 a
  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 \- @& j# y5 a6 p

  339. % @6 ]; d) r6 D$ u5 R) S$ L
  340. STAGE_D2:   ;场景数字
    ! Z. a) u; {& u+ `5 y
  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_3
    $ U8 `2 b' h$ k5 C4 C

  342. 4 d! c6 L7 P; D: G& d! h  O# ~( v

  343. " q) e7 R( A; Z3 u, v# Y8 M, `
  344. MUSIC:    ;按键音效
    6 @5 Y+ B- r' [8 P5 A' d7 m
  345. LDA #$3B    ;音乐号
    9 r) Q3 R8 x, p
  346. JSR $919E    ;系统音乐调用/ s; ^2 M1 ^1 T6 v0 q' x# |0 K
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;
0 U7 a9 p$ @9 G. B; k' v    5.生命加满:   暂停后,按下键切换;
( v! N' y! G* ?( F    6.血量锁满:   暂停后,按右键切换;# r( w2 |3 }; _( {! z( a

8 ?1 a8 L$ x) E, c, H
5 C# G5 S# T' @6 z$ s( s* y' a: q

3 i2 p8 D% B, c7 |. {& ?, T5 D5 p' B- q! d
FlameCyclone.ys168.com" O1 K! B, Y0 T
www.nesbbs.com9 Y8 V! E( e& r
游客,如果您要查看本帖隐藏内容请回复

, P2 e# z4 h5 k/ c4 T4 z1 k

本帖子中包含更多资源

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

×

评分

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人版的还要简便
回复

使用道具 举报

签到天数: 2489 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 71 天

[LV.6]常住居民II

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

使用道具 举报

签到天数: 1413 天

[LV.10]以坛为家III

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

使用道具 举报

该用户从未签到

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

使用道具 举报

签到天数: 1778 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 3088 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 2218 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 1972 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!! G5 {/ |1 i6 Y6 v& g
回复

使用道具 举报

签到天数: 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-6-5 19:16

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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