设为首页收藏本站

 找回密码
 立即注册
搜索
查看: 3788|回复: 63

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

 火.. [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑
& N6 k  {6 R6 Z0 c8 A
+ H' Z1 n+ {1 f( H8 @' T[FC][忍者神龟3][END选关]
! V2 u# i. Q+ |9 Y
* t1 \8 ^6 w( n8 q* Q3 c8 g时间:2017.3.30( Y* O! x1 }/ S% [, e; I  p
作者:FlameCyclone. G0 e, a* _$ q0 V" i
内容:
& y& c8 G7 a  F6 ^( A    1.关卡选择:   标题时,左或B减,右或A加;
1 y6 ]3 T, R4 s, o& T    2.全屏击杀:   暂停后,按A键切换;0 Q4 W1 ^2 v1 j; p
    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0- p& ~# ^* Q7 O& I5 l5 W2 g7 G
  2. ora_data:
    $ a. _0 x) O# j$ L+ C8 B
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10- `+ g( g( S0 i8 F- W7 r
  4. and_data:+ J7 R' [# K) U- u; @* b/ S! B! v+ [
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF( M8 n6 F9 S5 D6 j8 Q

  6. 3 l- b  p8 w$ E; _
  7. button = $F8
    - S) M" X1 K( o% c  r. v, e; M
  8. flag = $6000
    % f6 H" I" n' Y$ \9 B3 @
  9. pause = $00451 C& r9 v$ z' o) N4 `" U

  10. . L1 m0 _) `' W+ k  }% j5 P4 w
  11. + N9 `3 Z0 W: k( G6 M1 b
  12. .ORG $F90D
    % ^4 g1 U' ]1 K" S9 ~
  13. JSR $FEC04 t2 X# r1 W2 x9 z

  14. 0 b; ]! r3 ?( f6 C2 E
  15. .ORG $FEC0
    % Z: B* d3 X( k% o/ K& x3 W! E6 _* R) N
  16. STA $54,X
    3 ]3 @" _  S" n7 ], n
  17. STY $FA,X
    $ b, p7 Z2 o- ]' ~/ U, ]2 E
  18. PHA
    ' K# L' O) B/ P  W. h; _
  19. TXA
    9 K# [( P! c/ V0 W
  20. PHA- F  G5 S% t2 @2 |# I
  21. TYA
    + A, m2 `9 T: }4 U! I2 A
  22. PHA
    ( A" k/ M- W! M
  23. JSR KEY_OPERATE9 ], W' J7 \3 a0 y8 C
  24. JSR INV
    9 W( y" C) Z$ W
  25. JSR LIFE. E7 H6 x; g' Y1 G
  26. JSR BLOOD
    6 x( x& H; U( P
  27. PLA. z8 i0 z6 T3 }5 j9 e' ]0 L) z
  28. TAY0 y6 v% m- u  u7 m/ ~' P/ I/ I  J
  29. PLA
    : [+ ~3 L( E1 ~7 [
  30. TAX& H" M6 a. p, x# c: x
  31. PLA
    " q' h6 @$ ~5 Y" O
  32. RTS
    ) D* ~7 F& _/ ]$ o- l
  33. KEY_OPERATE:/ d: {: Y2 G/ F9 N+ J8 ~% ]
  34. data_protect:
    - G  p9 v+ Z3 ^4 u6 G, e
  35. PHA
    ) K9 a( v4 B2 t5 A* V
  36. TXA4 q- l* }5 `: D6 z5 {$ A5 R- b% c. |
  37. PHA, ]7 k3 k% b9 E; V; [3 q
  38. TYA! Y. K" o1 r3 A5 ^$ N; C' H; ^
  39. PHA% Q0 ^1 c& P5 x' J* _1 v

  40. . s2 \6 `/ v( n" d, F; O$ ?# q
  41. FLAG_CMP:
    ( p6 G5 k0 v. i% [
  42. LDA $600F8 p, {; v; |% W, q- w
  43. CMP #$7F    ;标志数据初始化条件判断& P( }( Q# ^* S$ B; b9 W
  44. BEQ pause_cmp7 L# h8 {1 K( W' |3 [, h$ y+ y
  45. LDA #$80
    1 b9 u! J' t& W& j% _
  46. STA $A001    ;6000-7FFF写入启用) J5 E+ W% ~3 U# S$ o
  47. LDA #$00
    % N6 Q# H9 c- Q" O* D' T
  48. STA $6000    ;数据初始化
    8 H, a5 ^! o+ X( C# q; l
  49. STA $6001    ;数据初始化
    9 ?- a" m! @, j2 x5 c+ M8 M3 L
  50. LDA #$7F
      i# U0 [5 N6 L4 Z
  51. STA $600F
    ! Z4 A* ~  t: n7 B
  52. pause_cmp:
    % F* l) Z/ k& a/ H
  53. LDA pause
    . X# {3 P) L- F5 q
  54. CMP #$01# ^$ V3 E: m& B% X$ r( Q6 h
  55. BEQ button_press" _% r7 K2 J4 F' G8 }0 k, Q
  56. PLA
    7 E# O$ [) g4 a- |9 b4 Y
  57. TAY
    . n0 k; z* r3 D) n
  58. PLA% ]6 i1 s# Q$ j' ]8 \
  59. TAX
      Y" W0 h$ ^7 n
  60. PLA
    ; n% _" B# }4 u6 U
  61. RTS3 T0 O# r7 \* ^, d2 z9 [8 J

  62. 1 n# p1 P  G6 w' a2 _
  63. button_press:
    . g8 \) X5 n$ Z0 C, U5 W% J* F7 p
  64. ini_Y:; I' ]: O* T8 W% M( b4 z" h3 F
  65. LDY #$00
    ! N' H# r4 d- _
  66. button_cmp:
    ) G# B8 u& a9 U8 {
  67. LDA button,X
    3 W; `' b' P: X) A+ n: M6 [/ X
  68. CMP ora_data,Y# M( J  j  ^1 q" Z' z- I
  69. BNE count_Y_cmp
    ' i; u) h! \: U: H1 F
  70. flag_cmp:% W& r; ?& O& `8 |( m8 g$ @5 q6 C
  71. LDA flag,X( k' {1 R- u+ g; g6 |
  72. AND ora_data,Y
    ) c" ]+ q9 `' B. p2 J, s
  73. BNE flag_and
      C/ U' b) W. g1 R5 l
  74. flag_ora:- ~0 L! g/ L/ s3 O9 h8 N3 W8 i
  75. LDA flag,X$ M  R8 g7 k, `8 A# c
  76. ORA ora_data,Y
    + y/ E$ [2 ^" r# Y3 X
  77. STA flag,X% _8 t' A7 Z3 u; B+ `
  78. BNE count_Y_cmp
    & K( l8 n3 ?/ s: Z, ^; Z
  79. flag_and:
    ; t# L8 L% d9 T: R
  80. LDA flag,X& [1 i+ v+ q! ^
  81. AND and_data,Y
    1 d* L$ z0 G" j8 o4 r/ b3 O$ b
  82. STA flag,X
    % C; B0 Z! a% c: z
  83. count_Y_cmp:8 d2 K* \8 z$ K' r% S% r
  84. INY. D: M4 G1 d- u. V
  85. CPY #$08
    0 U0 E$ y! b2 @+ O
  86. BCC button_cmp" V' Y- y1 P2 q/ B9 G
  87. 9 \9 p: L+ H! O4 X
  88. data_extract:
    - N5 J7 B% r; e8 A/ j0 n3 D
  89. PLA0 Q2 u; l$ X: _
  90. TAY
    2 {; I: ]+ l, |0 @; i
  91. PLA
    - U+ A$ a+ D1 d3 ]& X
  92. TAX
    5 j" R5 \+ ]4 j8 Y% b; s- }; G2 j3 {
  93. PLA8 x: d! b* r4 v8 [3 c' z  q

  94. : z, x7 c, R8 O
  95. return:
    : G: n+ L$ G1 `7 Z1 s% P
  96. RTS
    + ^) _0 U* N. ?$ L1 t  K

  97. 8 h* l( N6 O1 |* W

  98. , n7 O1 s# i% o, Y- m3 j; J9 D7 `
  99. INV:    ;无敌2 I3 d: E9 [- `& n. W
  100. LDA $6000,X
    . _8 L# y. G1 \/ C$ _* x" N
  101. AND #$08# `8 m& |" g4 z5 B$ N: @- b& i* z- ^
  102. BEQ INV_RTS7 S0 o% p0 F, G- I
  103. LDA #$05$ P8 ?# @% V( U  C; @
  104. STA $04FF,X8 L* w; n7 ?) u$ W" t2 G. h
  105. INV_RTS:9 Y7 Y8 \- m1 E- [% l
  106. RTS
    $ x6 Z: h# R1 A; X% t7 R- ?' v

  107. - _- g3 Y  I. E8 I7 F" E6 V

  108. 3 M1 Y8 M4 \' D; y- t# L
  109. LIFE:    ;生命3 `7 R) H' |4 W& V# u. X: X' c9 j
  110. LDA $6000,X
    3 r* Z, d) O) j# ^. w7 Y1 ^% p2 j% U
  111. AND #$046 K7 t) }5 F) C' [9 [; S
  112. BEQ LIFE_RTS
    5 w( p% f# W6 f$ r5 O, `) N2 @
  113. LDA #$091 s) F8 j- e( W+ A3 Q
  114. STA $6A,X
    % i1 _& ?, B9 d. l2 t. l2 o" H
  115. LIFE_RTS:
    9 ]  w* K1 B) q0 P& E! \/ @. q
  116. RTS) J8 o: R7 H3 z# n  M6 @+ U
  117. 0 Y5 z! X( p: v5 w

  118. % X) V- D' @/ e* G. {6 A- _, @
  119. BLOOD:    ;血量
    : ^/ i: s4 |9 M* L
  120. LDA $6000,X
    5 U0 W' u1 i" o* Z1 z$ `: Z/ S
  121. AND #$01
    " [% R- w+ M( _6 ^8 F6 @
  122. BEQ BLOOD_RTS) c' V  Z+ F6 r' V, N* x% N& ]0 n
  123. LDA #$7F
    ( U1 q7 B+ j- X, O  q, d( ]; ~" o
  124. STA $04F1,X! i3 n1 }7 Z9 Y, {; u* g( B
  125. BLOOD_RTS:' z3 a% T/ m" I) `0 X( j
  126. RTS( p" r9 J2 ]  i2 g

  127. 9 y9 V1 G8 R: |7 U& d
  128. ! {& R9 q( r$ W1 D
  129. . o, O9 ]/ q2 h# U5 T9 h) @7 W1 C
  130. & M; x; e- e/ a; Z0 L
  131. .ORG $D29F* c6 K& t% q. o4 _2 g9 @% @! r
  132. JSR $FF80) f5 I+ f$ j' p. |! z% Y9 b
  133. 6 N# h: W9 v0 B& t1 \9 ~% r8 Q, L
  134. .ORG $FF80% b4 P# M5 ?( [& y) W
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀1 B6 L& m5 H0 m1 O# C
  136. STA $0628
    + Q% T/ ^3 H3 n& \, `1 V8 G
  137. PHA) G3 I/ j! h. M+ C* w" o1 k- l
  138. LDA $60001 B' B- @$ B4 S7 o! h
  139. AND #$40
    * ?7 b5 j* W3 E4 ?, I" o; C4 [
  140. BEQ ADDRFF8E2 N* c& z! J* f
  141. PLA
    / G: U8 C4 a5 U1 h/ `' M5 j
  142. CLC   ;敌方死亡状态判定
    1 F3 d( @2 B3 O1 Y) n$ Y, s+ [
  143. RTS+ S8 F  X$ a% C0 D& ~1 E3 [2 o( n
  144. ADDRFF8E:1 l) M3 G( b% g4 \8 r* [
  145. PLA6 @; J. ~% e- S8 b
  146. RTS
    2 d$ Z% z; X) p- ]$ F: D( j$ J

  147.   f2 N1 W' s& P8 c& W) y* r9 v
  148. ) f& b2 D) y8 a' g0 ~  M- D
  149. .ORG $D1515 S) m# e) \' K$ N2 ]
  150. JMP $FFA0
    ; G, l# X. P7 |# x
  151. , ~3 Q' C, X1 C
  152. .ORG $FFA0
    1 ], G" c/ E. a# H" o+ F9 N
  153. KILL_BY_ONE:    ;杂兵一击必杀
    + E2 P: b9 V% g- n/ G
  154. STA $0621,X
    5 n5 s. p( k) M% U
  155. LDA $6000& L2 K& E0 J0 M4 n, S8 u: [
  156. AND #$40
    $ F0 z" k+ N5 Z/ l; y8 _. m! Z  W
  157. BEQ ADDRFFAD
    ( N9 i3 V* ~, |
  158. JMP $D19A   ;敌方死亡程序跳转
    + `" b" \1 y- l# S
  159. ADDRFFAD:3 X& t, |" j5 ^8 O2 k- i! V4 s9 y
  160. JMP $D154
    7 ]$ v0 M8 ^* b& }! p6 H8 Z  I$ p4 u

  161. 0 g: G4 E8 {5 G7 \4 o% g8 S

  162. ! A, h) D' [$ g, y- B% _
  163. .ORG $A7F6
    ' j% \1 D" a, f
  164. JSR $FFB0
    % t/ g+ p/ v& F/ H, d
  165. & s  E  O( G1 k+ \; e3 s; B
  166. .ORG $FFB0    ;全屏攻击
    , m) t) L; X) a7 w* N# x6 P
  167. PHA5 s: i. z1 v$ H8 y$ \
  168. LDA $6000/ S( c2 A+ \+ t4 g" L5 l3 \
  169. AND #$80
    9 c: l: |  q+ r2 I
  170. BNE ADDRFFBD
    4 U* H4 {: ^6 k, J
  171. PLA
    $ n, H' Q! m( f- Y
  172. LDA $00151 I5 B5 b9 w) N' y5 U; n* {" B
  173. SEC
    * {" l! M9 {. J$ C) V& D1 L7 r
  174. RTS
    8 k1 J, X+ Z& r1 ]
  175. ADDRFFBD:
    . V# w' ~3 z$ j
  176. PLA# q8 I8 x  T2 e. ]% d6 R
  177. JMP $A826
    9 r" Y2 @4 q* n# [* G- f% a

  178. * G0 y/ f* c/ {/ S8 f7 i
  179. ! ]6 L! Z. g3 @5 O

  180. 4 |& F% Y( ]) x2 C0 f
  181. .ORG $AA6A: N" Z. z: U- i6 \- f. c0 Z5 _
  182. JMP $FFD0
    9 n% m# T' j# I; v3 N! F  Z
  183. 3 t' M- O6 A  A+ `) ], m3 V; p% a; R
  184. .ORG $FFD0    ;敌兵动作忽略
    ' c3 |, e0 B* d- |8 ^; l+ ~2 A
  185. PHA1 L/ x, I4 m: y
  186. LDA $6000  J& s3 v4 _$ s
  187. AND #$80
    / |4 z( \# l. j. j6 I: [, R
  188. BEQ ADDRFFDC
    ( _  \6 @. v( q1 ^+ B/ ~
  189. PLA8 C3 m1 U' R# Z1 N; J  m
  190. JMP $AA72/ f8 ~( O0 ?. c2 A; _
  191. ADDRFFDC:5 e/ H7 x# p6 d; H) B+ S! @
  192. PLA
    7 A% ^* b% L5 N+ O; A, h0 _( q5 |
  193. LDA $0629,X
    , G1 [8 c! C* v8 t& J# X+ _6 j
  194. JMP $AA6D
    # a0 V( e; }4 \8 ~% ]
  195. 3 w' S: E6 |3 b+ g7 I# G
  196. ;[FC][忍者神龟3代标题选关程序]* A) X3 u5 c. x5 }
  197. ;作者:FlameCyclone 2017.4.1  J" i. }: |, Q/ w  i* S) M) w# d% M
  198. ! m( r" t/ h6 R3 ?4 ]5 q2 d

  199. 1 c* r* _  s7 X' c& U% Z0 ^1 m- k
  200. ;配置数据. q+ v1 s6 a2 i( E4 z2 X/ {
  201. KEY_ADDR = $F8    ;按键地址
    ; f7 ~' }  F- t7 n$ k
  202. STAGE_TEMP = $6010    ;关卡临时地址
    ) Y% M& t% X. L
  203. STAGE_MAX = $0E    ;最大关卡数+ N* X: k& `1 w% X  O+ Z) D1 L
  204. TITLE_A = $20    ;标题条件A
    . k4 a. o; L) k0 g9 \1 \5 Y: Y$ D$ L' \$ d
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    6 L+ |( `+ i- {  E0 F
  206. TITLE_B = $21    ;标题条件B6 B- k2 w; t% W! L$ ]  c0 e& J
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定* ], t0 b2 b) x! o
  208. PPU_END = $FF    ;PPU结束符
    2 L7 ^: Q" [. a2 h" g
  209. TIME_LAY = $4A    ;标题显示延时地址" U8 v8 x: q  J0 o; Y$ E
  210. BUTTON_DEC = $42    ;关卡减少按键
    ! h5 V# L- T7 y8 Q
  211. BUTTON_INC = $81    ;关卡增加按键
    4 C+ g1 _- M' _  K: ]* S' l  R
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量
    " W0 U- p: \! U7 `' Q
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量' Z- i- Y  C  L# Z
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
    , H' x! z6 V0 M  K# m
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位% `. \6 M/ T6 `1 x( F  F' `& }
  216. CHAR_S = $A2    ;字符'S'* k% b& m7 c. M; z3 a6 i9 C1 k
  217. CHAR_T = $A3    ;字符'T'( X5 ^+ h* F7 x1 `. e0 ?" i: H
  218. CHAR_A = $90    ;字符'A'4 \3 f( I" h0 U+ l; p+ |' F1 k' a
  219. CHAR_G = $96    ;字符'G'' O0 ~: a5 t2 \& R& {! d
  220. CHAR_E = $94    ;字符'E': G. R( a, q/ m/ M
  221. CHAR_SPA = $00    ;字符空格
    ' M& b$ D1 O5 `0 H
  222. CHAR_LIN = $AE    ;字符'-'
    7 g& T" F7 T9 F8 ^
  223. CHAR_O = $9E    ;字符'o'  r' w7 H5 v: x: h6 x. g1 U
  224. NUM_1 = $81    ;数字'1'# Y8 j1 z/ ~- i$ b9 p) s
  225. NUM_2 = $82    ;数字'2'' p4 u& l- [: t& Q3 F4 V* h8 |
  226. NUM_3 = $83    ;数字'3'9 d) r" V, m" ~6 R/ K: C4 s
  227. NUM_4 = $84    ;数字'4'8 c& b5 Q: G3 `
  228. NUM_5 = $85    ;数字'5': |( W+ V1 @  M/ |
  229. NUM_6 = $86    ;数字'6'
    * e$ b- v8 q" E  M, D; U( \( J
  230. NUM_7 = $87    ;数字'7'
    1 T2 J! h! n7 r8 A( T
  231. NUM_8 = $88    ;数字'8'- x. d8 }1 p4 @0 \! A5 l
  232. NUM_9 = $89    ;数字'9'! M0 q& V" _# E  m/ ?% A
  233. NUM_0 = $80    ;数字'0'# }  l1 G: o( N: B, \9 X1 o, V/ w

  234. 6 O& t- ]2 ]+ z% }/ \
  235. .ORG $F82A
    2 S6 p: |( W; R1 u+ ^* q
  236. JSR $E700% G8 Y2 s) o' z" _; ~5 W9 ?
  237. 8 @" w! H: L; E  @3 U( p

  238. 6 G0 y+ R+ X' E/ b) V
  239. .ORG $E700
    ( L& m6 R! f9 I3 `$ ~! z
  240.   
    7 S0 d) O: \' c) o9 I4 q
  241. STY $4014    ;补上覆盖的精灵写入指令
    # R$ J$ ]% X% g7 w
  242. PROTECT_DATA:    ;数据保护7 s* ~! g, s( h( ]4 K
  243. PHA    ;数据保护开始& {( K3 _5 I+ y" K
  244. TXA
    $ L* o4 ?4 P# S
  245. PHA
    / U# Y( K- E* K) b4 j
  246. TYA
    1 G$ k1 Q! D2 b0 B8 a. J8 ?$ m
  247. PHA    ;数据保护结束+ ~+ z' [5 b% B. s0 \9 Q
  248. LDA TITLE_A$ t8 R- e6 X( }& T+ i. v: ]9 a& v! ?
  249. CMP #TITLE_A_ON    ;比较是否为标题画面
    ( O9 d! B3 m9 P; r: n7 q( A
  250. BNE RET/ A' n3 ~  g+ R2 i  ]
  251. LDA TITLE_B9 I: D1 y7 Z( O3 E: w5 {5 C; {
  252. CMP #TITLE_B_ON    ;比较是否为标题画面
    7 I' f' O( O# y2 b( C
  253. BEQ PPU_STAGE5 c' K. e/ Z9 K& }9 L+ l
  254. RET:    ;恢复数据
    % J1 Q' Q1 E7 x, D. Q
  255. PLA    ;恢复数据开始
    1 C! ?1 h# q3 M- B
  256. TAY; O9 m9 }* O9 N& ~5 J4 j& E' x
  257. PLA5 [, f( K* w3 M, F
  258. TAX
    ) o4 I3 Q5 Q7 N4 M  n* ^+ a
  259. PLA    ;恢复数据结束
    : H2 n: w% A$ n
  260. RTS    ;返回
    8 {9 _5 K  z/ z7 E& e0 E
  261. PPU_STAGE:    ;字符STAGE写入程序
    ( `* z" x) r( Y/ m, S% A" V
  262. LDA #PPU_ADDR_H 6 N) `7 D5 H+ d) @* O3 J6 V" Y, A
  263. STA $2006    ;设置PPU字符写入高位地址& M5 _; I# i* \5 Y3 T% K/ U" W
  264. LDA #PPU_ADDR_L8 ^) F9 {: ^  h! ~& Q) q
  265. STA $2006    ;设置PPU字符写入低位地址
    . Z8 ?8 X; V0 f/ o4 p
  266. LDX #$00
    . y7 m5 S# t; c8 K" `
  267. PPU_STAGE_WROTE:    ;写入STAGE字模
    + P: @) x+ ~* D; V
  268. LDA STAGE_DATA,X8 K/ e: t2 y6 J0 E7 r
  269. CMP #PPU_END    ;判断是否写入结束
    ' @0 E! l& \7 j/ g: T8 W
  270. BEQ STAGE_CMP
    ! D3 a7 B8 p9 w5 O9 J$ [" \
  271. STA $2007: V) ]- R) j6 z! [9 o) |) D
  272. INX& u1 u5 u; w9 Y+ [. _+ U  f
  273. BCC PPU_STAGE_WROTE
    - {6 A8 B2 s7 E5 U- A( i
  274. STAGE_CMP:    ;选关操作, h& B7 y5 ~: A" X3 |- T
  275. LDA STAGE_TEMP
    3 ?$ t! j( ^  }$ ]3 K" L  Q* [
  276. CMP #$FF    ;关卡数据初始化条件判断
    5 [4 E- t9 I0 o' L) W+ z
  277. BNE KEY_B& ]( `* ]6 J! f& _
  278. LDA #$00  T! R( w* i: a. m' p6 ~" f
  279. STA STAGE_TEMP    ;关卡数据初始化
    $ u# l8 A- P5 I' ]8 S5 y+ H! I
  280. KEY_B:    ;关卡减少
    2 R* Z& s# }- w/ V2 M/ H  D
  281. LDA KEY_ADDR! N) V5 \9 d1 y0 O9 \% x
  282. AND #BUTTON_DEC    ;按键B或左减关. u0 z! e' b6 a
  283. BEQ KEY_A9 P5 U3 N' ~0 u8 m
  284. LDA #$FF
    6 z/ z4 h3 U3 O) N6 L$ ]
  285. STA TIME_LAY    ;重设标题延时! b! |- M6 x5 y* _5 X! }$ I: G: U
  286. LDA STAGE_TEMP
    ) I( d3 V, x: r% j
  287. CMP #$00    ;关卡比较
    + S3 B9 C) C, ^6 b
  288. BEQ KEY_A) N* I7 F$ W  m+ j5 h2 _# k* L
  289. DEC STAGE_TEMP   ;减关
    . E7 ^& P$ a6 w) o
  290. JSR MUSIC    ;按键音效
    * M/ P( p1 s" x4 I
  291. KEY_A:    ;关卡增加4 G; S. l9 }/ P
  292. LDA KEY_ADDR
    7 f. C* L9 W- P. W9 s/ T
  293. AND #BUTTON_INC    ;按键A或右加关3 H: m+ A, b1 k
  294. BEQ PPU_NUM_WRITE
    , P  T0 l& R+ `2 L
  295. LDA #$FF0 W. |" R% G7 A  x2 R# w7 n7 }
  296. STA TIME_LAY    ;重设标题延时
    ' U) T# L" [2 z' l3 `
  297. LDA STAGE_TEMP
    / {+ n/ o0 F" J
  298. CMP #STAGE_MAX    ;关卡比较2 _% h- f0 n. k# Y
  299. BEQ PPU_NUM_WRITE. V* u% y  E5 V
  300. INC STAGE_TEMP    ;加关
      A8 u3 j& j  Z$ g/ \
  301. JSR MUSIC    ;按键音效
    3 G% B" e  p2 b
  302. PPU_NUM_WRITE:    ;关卡数字写入地址, ]0 u, C9 q; M" k' C
  303. LDA #PPU_ADDR_H
    $ R5 ]* N& P2 d9 n0 ?4 s# u
  304. STA $2006    ;设置PPU数字写入高位地址
    + h& ^+ }% Q$ k4 S% p: }
  305. LDA #PPU_ADDR_L
    , k7 O( o  B5 W2 x: L. v
  306. CLC# q0 V: p: E; _
  307. ADC #NUMBER_A
    # X" g0 D+ y% B. ~0 Y) V
  308. STA $2006    ;设置PPU字符写入低位地址
    % d8 N' W9 I- N0 v% L
  309. LDA STAGE_TEMP  ]& f+ I, v8 q, _7 P
  310. TAX
    8 W/ I( k1 n* ~
  311. LDA STAGE_D1,X    ;写入数字; v+ a# \% ?3 ^; X* D/ d
  312. STA $20071 q: `* }6 U" m' h2 _) R
  313. LDA #PPU_ADDR_H- E! i; u$ f. ?' y8 H& l
  314. STA $2006    ;设置PPU数字写入高位地址
    % a9 l, j  \3 E0 N, y# {
  315. LDA #PPU_ADDR_L  ~6 p  f8 G; K4 W6 n8 y$ C2 v9 n; C0 P
  316. CLC/ [! I. w" Z6 T7 D
  317. ADC #NUMBER_B
    6 _# O9 m5 ~' h6 l" }3 e
  318. STA $2006    ;设置PPU字符写入低位地址
    6 T# ]7 g( M6 @) p; W
  319. LDA STAGE_TEMP- Z4 ?7 U# f/ u- Z0 a
  320. TAX" ]) t2 i! t, b' x: L: x, a7 u
  321. LDA STAGE_D2,X    ;写入数字8 _* q/ k( g6 ]5 }
  322. STA $2007
    * V: D6 ]7 b4 D. _$ d
  323. STAHE_WRITE:
    3 R! V) Y; M0 C8 k/ g
  324. LDA STAGE_TEMP$ Z# u$ |6 ^+ |" f, F
  325. STA $2D   ;初始关卡写入4 j+ f% s3 Z' j
  326. PPU_RTS:    ;恢复数据
    - t' s& m: \7 U( \8 X# p6 c! b
  327. PLA3 a2 o- I! Y. W9 x8 G3 f6 P
  328. TAY
    ( L5 z0 l- M$ c# S) N7 E
  329. PLA
    7 s- X4 U9 R/ G# p
  330. TAX
      [9 ?4 F2 E( x/ I8 R: D' p% H
  331. PLA
    " ?' ~2 g" p1 E8 K+ ?  N% c
  332. RTS  W+ s. x: n8 M# A2 O
  333. . z- [) O0 I  L4 \6 L7 j
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据% [4 ^& j: }) G9 q4 v; ^8 k
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END
    7 \" V1 r! D3 B2 W+ K; _

  336. ( `+ t& W3 {' A
  337. STAGE_D1:   ;关卡数字5 ?- [( I" G$ [4 l1 }6 f$ M! Y
  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
    3 t  S2 O0 w4 Y6 ~4 K3 h" @) ?

  339. * Z+ g. w& j; R( ?+ T! \
  340. STAGE_D2:   ;场景数字
    3 f( U: a9 h& t9 }: j( e
  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_37 }9 h+ `$ f" y! Q$ R; T4 p3 m! K) L

  342. 2 ^% w. g( ~! l' ~
  343. / r7 q# ?) t; Q3 [* B7 S9 ]4 W
  344. MUSIC:    ;按键音效
    : L& @# T. r4 s3 C4 `2 U$ U
  345. LDA #$3B    ;音乐号
    % S2 M/ v$ T0 J1 V& x. G
  346. JSR $919E    ;系统音乐调用% F. w- |! Z4 P: D0 [) ?- }
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;
- X: d: d+ B: H2 n# ]1 H' w3 v    5.生命加满:   暂停后,按下键切换;' E, Q  Z* u( f
    6.血量锁满:   暂停后,按右键切换;
! O! f9 v" ^: Q) z" e" y0 o5 B
- G4 p$ q0 s2 D% v% S5 ?7 M/ T
4 m, I- i' n& k$ B. Q# _8 x& F# v3 p4 u' a5 w" @
. ^) z3 f& Y  @9 j3 l

) S5 I6 A' A# t- a4 o* s& n: x: U. uFlameCyclone.ys168.com! D* X' p" H6 ?7 I6 \
www.nesbbs.com9 t9 a+ _7 X: w' p0 v* O! x
游客,如果您要查看本帖隐藏内容请回复

9 I: R% L5 V, }

本帖子中包含更多资源

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

×

评分

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

使用道具 举报

签到天数: 2508 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 71 天

[LV.6]常住居民II

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

使用道具 举报

签到天数: 1433 天

[LV.10]以坛为家III

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

使用道具 举报

该用户从未签到

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

使用道具 举报

签到天数: 1783 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 3109 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 2238 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 1992 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!
% h0 n% `& D/ f- O
回复

使用道具 举报

签到天数: 179 天

[LV.7]常住居民III

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

使用道具 举报

签到天数: 1599 天

[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-25 22:16

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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