设为首页收藏本站

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

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

 火.. [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 * @3 y2 K: p6 Q( B9 m  w

. c. o9 N( k2 l. |: U( q! o  g[FC][忍者神龟3][END选关]
4 G* Q9 T4 b+ h# A" Q& j$ y  k+ d, X. c
时间:2017.3.30
8 n7 e% e1 z8 ?0 ?$ \' e/ O( @作者:FlameCyclone
* T  s- T9 J  U& R; Q9 v' ~9 R内容:- `$ n0 g6 Y: b* H* @' e
    1.关卡选择:   标题时,左或B减,右或A加;
- z$ L7 T& L  a$ {    2.全屏击杀:   暂停后,按A键切换;
6 z0 B0 G8 w; \, e# R5 i4 @% v    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0
    0 `) B! u& ^! o( h. M% k: z( b
  2. ora_data:8 W' {3 e6 L6 x# d  U" t* ^" C
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10; E5 o3 d( p0 ^
  4. and_data:
    * b1 n! W  e% e$ }
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    3 j7 Z  c# q5 t& i9 @5 s- z$ L

  6. + Y9 n/ n4 ^& m/ n0 \
  7. button = $F8
    6 |# Y( a) s$ A* i: |) w
  8. flag = $6000
    ! @) z( P9 ^* o# C' _7 v
  9. pause = $0045' D  P. \6 ]) d6 }

  10.   P, E. X& O6 F; V0 Z) `
  11. # c5 ?$ U: E0 g' d
  12. .ORG $F90D
    6 s( Y" c/ r8 ~, e/ S$ p$ s7 X
  13. JSR $FEC0
    0 |. ^9 C  u  \& o- @

  14. ! ]; M- k$ a  Y" V
  15. .ORG $FEC0/ l# v4 B0 x7 ]+ v
  16. STA $54,X
    : Z, ], S. a9 @
  17. STY $FA,X' p: Z7 Y; ]1 V; p. I
  18. PHA  f) f3 b& b: s. m0 I& |# ?
  19. TXA9 w8 o6 m0 J' T2 Q
  20. PHA; x% _( M1 H' _8 V
  21. TYA- a, w4 d7 B, _6 h( z
  22. PHA! \+ |/ C, z/ p% C
  23. JSR KEY_OPERATE
    ( G0 R/ S) V0 K% A
  24. JSR INV' K2 H2 {+ f9 y& D3 @7 o* e1 }
  25. JSR LIFE
    / H! z- G# n+ T; R8 o& J
  26. JSR BLOOD
    6 P  R- j: Q: g7 ~% ?  d
  27. PLA) X1 p( P" }: [) G! t$ L
  28. TAY
    ) B2 U* A' \. ^. J* W* F) {9 W
  29. PLA! y* e; v( w" j, E9 x, P5 {. ]
  30. TAX
    . q& B: \! }& j6 H0 q0 D; y. `
  31. PLA
    5 a( t& M8 s# M9 w( o
  32. RTS- V6 x( j3 C' S5 t+ t
  33. KEY_OPERATE:7 v! _4 P4 C7 D9 c4 P! |1 a! b
  34. data_protect:
    4 h7 G6 h# S6 A$ z0 N$ B6 i
  35. PHA
    1 }" _4 P2 n8 {$ t8 o4 s* f2 ?; _
  36. TXA5 Z* C7 [" O( \
  37. PHA. c0 `; h+ u  L0 W
  38. TYA" n5 a6 D% Z0 w- m% S2 a8 ?2 p9 G
  39. PHA8 [8 ]: Y8 D8 K) O; M" |! ^
  40. ) i1 f; c- l: n: z) c
  41. FLAG_CMP:
    1 D! f2 D# x# ~% q  b# Y1 M
  42. LDA $600F, W0 j% {5 J0 w5 M% c" r7 }
  43. CMP #$7F    ;标志数据初始化条件判断
    6 `1 d2 X5 k( H' P3 l
  44. BEQ pause_cmp0 A- m1 A7 ?3 V# j
  45. LDA #$80
    8 l. W0 a, s; ?! c& y! B  ^( k
  46. STA $A001    ;6000-7FFF写入启用
    % m( J+ l2 a0 r, B, R. s
  47. LDA #$00( o# o" T4 T- U' ?
  48. STA $6000    ;数据初始化# Y; }4 ~0 Q+ _
  49. STA $6001    ;数据初始化6 u3 o- I5 p4 ^
  50. LDA #$7F# a% A  B% r. E& r! J; @1 m
  51. STA $600F2 g3 Q' q8 w, f9 x( M' Q$ x
  52. pause_cmp:9 k! r! ~* o/ Q3 {9 [
  53. LDA pause. `: B/ C* L9 M: g1 ?# U, |
  54. CMP #$01
    - r: s+ ~# R2 r) M4 a; K+ ]0 `2 ~% g
  55. BEQ button_press
    : C0 `6 W% k4 ~7 T% H6 I- G6 F% x* k
  56. PLA4 H$ T" P$ L$ c' s* A
  57. TAY
    # K2 c+ q0 i( `; ]1 S$ i1 G
  58. PLA
    - g) E5 Y0 A4 d! o
  59. TAX
    ' C) ~, c7 I8 `: O8 _, k
  60. PLA
    4 ~' ~2 W& E. l% S
  61. RTS
    7 B7 g) X2 @. I1 m0 L

  62. ! A+ ]+ A3 K& J; ^) J
  63. button_press:- Y) ?+ p4 x/ K$ y) x
  64. ini_Y:( y% `: {3 U0 [+ j' n
  65. LDY #$00
    / C( r" q4 q$ y& ^+ m+ K% I
  66. button_cmp:
    5 s& R6 p0 u8 L8 D" U# {! A) a1 x
  67. LDA button,X' a9 O+ W& U2 {  H5 j- I8 R
  68. CMP ora_data,Y
      D& `3 J6 }, t7 I6 t
  69. BNE count_Y_cmp+ P8 a( ]7 x. B4 S, I: l
  70. flag_cmp:, B; R+ J1 v3 d, `( r
  71. LDA flag,X. J1 {" i: f- w% v! o- V7 l+ @
  72. AND ora_data,Y
    , J/ h( G6 @. Y! K
  73. BNE flag_and
    % C. D  x$ {: T# Z" \6 j
  74. flag_ora:+ ]* i, \3 J1 j: y" T5 @
  75. LDA flag,X
    8 z. ~/ K. K. f, a
  76. ORA ora_data,Y
    7 P& h# _; f- I
  77. STA flag,X
    ) D: C1 t7 \: j0 p, Y
  78. BNE count_Y_cmp
    % w! E0 O- `2 v% T! a  y- R
  79. flag_and:# x2 L  w+ n1 A, d1 |) t% W% U8 F" ?
  80. LDA flag,X
    5 b6 x4 |/ T: {$ p5 T2 y
  81. AND and_data,Y
    + l& N7 v4 z0 {# C* D6 p! ?. y: _: P' l. j
  82. STA flag,X
    9 g  N% W" y+ s
  83. count_Y_cmp:
    " E0 M2 Z% K3 w. P5 G7 _) w
  84. INY
    ! p$ [. j4 o0 K
  85. CPY #$08+ n8 i* l8 E* Q" x7 @8 a
  86. BCC button_cmp  B/ z1 o1 p) Z  Q4 O! j' G
  87. " T# G. n4 N. ^/ I9 s" i2 D
  88. data_extract:
    4 r9 t2 C4 w' W/ d8 P& f: M; a
  89. PLA
    - r* ~7 K6 H2 M0 z
  90. TAY: H6 {0 g) d' A/ l, V0 A, {- r
  91. PLA0 C8 W( r7 @2 h  h
  92. TAX0 O* n, ?$ o4 g6 t
  93. PLA
    9 \$ T9 [4 y/ j, h4 u

  94. & _: O- ^7 i9 P6 d/ N
  95. return:
      T9 y- z, Q3 ], o- b9 g8 A
  96. RTS, K' }6 @! T; [, T6 d1 A$ R

  97. 4 g* @6 B: y/ P1 r; F6 V: f" H/ O

  98. / H/ g( w8 I  f- z+ w
  99. INV:    ;无敌
      v& b) M( a5 R
  100. LDA $6000,X
    8 e; l* w, r2 p( F8 n0 Y) x7 G
  101. AND #$08* k7 n; u; W( M$ |
  102. BEQ INV_RTS% Z$ Z5 X" Q+ y1 q
  103. LDA #$05
    + k1 t/ O& I# m0 |, [) z3 M1 C
  104. STA $04FF,X1 H' y9 \( W( O! y8 \
  105. INV_RTS:
    ( c/ q1 K8 A0 C2 l+ k" F
  106. RTS
    ) s" T* u( ^  Z; r, l
  107. ) m; G$ i( }1 \0 C8 g- y' j6 O

  108. 6 @* p- w* R* x* f
  109. LIFE:    ;生命3 s" O- k' W6 t9 A; p+ D
  110. LDA $6000,X
    - I/ ], S/ V: W, c4 C$ u' u
  111. AND #$049 r$ |( A1 q9 C# [$ Q2 ^* s
  112. BEQ LIFE_RTS. ?. i1 w: w  E) N/ g# H
  113. LDA #$09# @% _5 U$ h/ X
  114. STA $6A,X
    % g/ \/ F: c" W0 s$ O& I
  115. LIFE_RTS:& U( @- O: C& {  R' g/ y0 u/ O
  116. RTS
    9 R( K' ]9 {$ ?, j' k
  117. . v* c. _+ S' d4 R* i7 v

  118. ! Q" K& A/ R. X( j) D. r) }6 ^# A3 M$ M2 M
  119. BLOOD:    ;血量
    3 f0 s9 f% N( w/ x; V1 e
  120. LDA $6000,X
    : x4 O% G! T. ~4 S! p' e" ~
  121. AND #$01& s5 p+ E( f$ P) `9 B# n) a$ L
  122. BEQ BLOOD_RTS
    $ D% }& R( g3 J* J! e9 s
  123. LDA #$7F
    9 |: L& Z  ~# C
  124. STA $04F1,X4 x+ \& f5 M  P' Q; _% ?2 P/ ?
  125. BLOOD_RTS:3 g; ?8 I8 F3 ~3 K
  126. RTS
    % N) I  O+ k5 j- h$ r
  127. & }; G) x" H7 X, L$ G0 p% r% W% F
  128. . M. S5 [9 c( ?. }! T
  129. ' I6 L+ n2 o& q

  130. , B0 Z) A9 e# Y" _# U7 C0 @
  131. .ORG $D29F2 Q. o0 f( C/ l4 i) c
  132. JSR $FF809 Q* \2 \6 e, ?4 V3 Y. c+ Q

  133. " {0 `5 B- t0 S, ^& G; W7 m9 x
  134. .ORG $FF80
    ' A3 L$ d5 I3 S# Y1 V8 {/ D
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀
    & g- b: \, x* Q0 H5 G
  136. STA $06281 n% V# T- i$ x7 e  B
  137. PHA
    6 `3 \$ \0 l! U, c) G4 ^- T
  138. LDA $6000
    5 D- n% T- v4 n- [
  139. AND #$40
    ' H. A7 `/ i( b# j, b" g3 }. z
  140. BEQ ADDRFF8E
    2 L/ v5 `5 |$ ^* D  E' s; T4 Z
  141. PLA* G, d. n: E: x& }$ B! `8 ]
  142. CLC   ;敌方死亡状态判定+ S4 n- L% C# c' d
  143. RTS& [) Q( I9 o) t
  144. ADDRFF8E:
      H; G+ X. ]! l
  145. PLA
    ; X9 U9 l  P, h) w, L# `
  146. RTS
    9 r' \2 O" U7 O6 b
  147. 1 N% M' h4 w  h" v# Q# h

  148. ; O1 C$ }1 L2 p
  149. .ORG $D151
    * \4 K% {0 k+ M: g
  150. JMP $FFA0& k" p, a9 k7 P4 y' n

  151. ) z' t: f5 `! \% U0 r! v& c
  152. .ORG $FFA0) d' O) X& w7 O) M" `! h7 t
  153. KILL_BY_ONE:    ;杂兵一击必杀. W+ \( G) r5 c: e/ N
  154. STA $0621,X) Z; V  n, ?. ]6 S) E! i
  155. LDA $6000$ m( O4 z: j, V# x" m
  156. AND #$407 m% f: w4 y1 J7 X  a. A
  157. BEQ ADDRFFAD
    / n9 P7 w) u9 V4 u9 B
  158. JMP $D19A   ;敌方死亡程序跳转
    / b" }- R, Z  C- r; C5 l
  159. ADDRFFAD:! b+ w3 e8 Y( x) ^
  160. JMP $D154
    ' P1 O: b8 G' `0 k

  161. 3 d4 O+ |( u. A  q7 Q& M
  162. 9 I1 _' C, a  s6 A4 B$ H; W) h! I
  163. .ORG $A7F66 Y7 \- q- U" ]4 x6 T& v1 W
  164. JSR $FFB0
    ' {. N4 W' Y6 W4 u$ q' w

  165. 5 V/ \; Q8 A4 F
  166. .ORG $FFB0    ;全屏攻击
    " U# N8 ^" K  T# j+ ^
  167. PHA
      s( H+ m3 C) E4 i& h- ?
  168. LDA $6000
    - v4 T% o& Z: a# x
  169. AND #$80# s- T& D- W' y9 N
  170. BNE ADDRFFBD
    5 A( M4 t: y/ \: W; y7 I2 j) l
  171. PLA, |& Y+ s6 F5 H$ z1 v4 I
  172. LDA $00152 J' n2 K( J; Z$ j6 j" X" ?/ n5 ^
  173. SEC* A: N: {' d" E" M+ q% e; x
  174. RTS
    5 B# ~2 `% u( V! [3 ^8 ]( h
  175. ADDRFFBD:
    + ^0 T& l5 V5 ~+ ?5 Z) \
  176. PLA* _0 S% D5 M5 f" D1 }
  177. JMP $A826
    & p7 p' V1 ^& Y
  178. % j: {! M! r$ ]4 D

  179. - k+ l: o1 u$ H* \: n: o3 x

  180. 5 n! b! x6 n' B# Q6 f
  181. .ORG $AA6A" u0 q, R! B; Y* w) z
  182. JMP $FFD0# U3 Q+ m9 ~! {, }# ?7 V. [- H
  183. . }9 X; E, T, m1 |: K
  184. .ORG $FFD0    ;敌兵动作忽略' y% K( w% q1 Z, l0 O$ b9 t# G+ ], {
  185. PHA/ I* k+ o/ \+ o. z7 Q
  186. LDA $60009 I8 A% g9 H$ q' Q) a: t0 c; H
  187. AND #$80
    ) H. t% y+ E7 Z' N6 }
  188. BEQ ADDRFFDC
    / S+ Y2 D/ ~* K! C( ?5 [2 O6 F) i6 b
  189. PLA4 D, z7 W  j/ n  V7 G
  190. JMP $AA72
    9 ?9 W3 E9 A2 o+ h$ C; q
  191. ADDRFFDC:; ~4 A3 n" V! b: |: D3 [% \) ?
  192. PLA) b$ p  @9 v+ S2 B, I, y) ~
  193. LDA $0629,X5 y8 t# B, e1 S; W7 w1 k
  194. JMP $AA6D
    - q, U; k7 C% P% p, F

  195. - Q; O5 N9 |3 {
  196. ;[FC][忍者神龟3代标题选关程序]
    ) W2 q0 ?) O) }; e# {- g
  197. ;作者:FlameCyclone 2017.4.1) |1 b+ Q* n& f3 y2 d

  198.   d; [( |2 S  P3 b: O5 z* {

  199. 1 w2 r8 v! x6 F7 e( y" q
  200. ;配置数据2 g. F% S" }0 Y. ], N" g9 B! ^1 ^
  201. KEY_ADDR = $F8    ;按键地址' O+ p2 J. w" i* B- `" ~
  202. STAGE_TEMP = $6010    ;关卡临时地址1 p) k1 ^$ t; W2 ?
  203. STAGE_MAX = $0E    ;最大关卡数
    4 Z" r6 B' q5 J. E% b0 d
  204. TITLE_A = $20    ;标题条件A
    4 v; E) C+ I' u: H
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    7 O5 W8 o# S; ?
  206. TITLE_B = $21    ;标题条件B
    # X) M1 W# G( p1 j: ?# y6 E+ {6 F
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定
    : ^' n1 \/ e% E4 ]4 b. c' r+ S
  208. PPU_END = $FF    ;PPU结束符0 E) ]- z. F; M  z2 F0 a5 Y, x! V
  209. TIME_LAY = $4A    ;标题显示延时地址! A% r/ w& j, H
  210. BUTTON_DEC = $42    ;关卡减少按键7 X/ b8 K/ C" f. K' b
  211. BUTTON_INC = $81    ;关卡增加按键
      O* e8 p: x# Z
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量
    # S' u" @7 @- f: R) H4 k/ w) U
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量$ `# Z1 `( x* o: o' |% u, T
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
    9 |+ {1 t  ^3 s
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位
    , s; J3 g5 ]# j# U1 w
  216. CHAR_S = $A2    ;字符'S'
    - i* _! y4 L, k; n4 v
  217. CHAR_T = $A3    ;字符'T', t6 o  h3 ^4 {- `4 s6 n
  218. CHAR_A = $90    ;字符'A'
    : {7 j5 t$ x' [; c( N8 e% F: e1 n
  219. CHAR_G = $96    ;字符'G'8 F# A5 E$ L- H9 J* x& T
  220. CHAR_E = $94    ;字符'E'
    7 |5 D" C& O5 ^) }% G/ I
  221. CHAR_SPA = $00    ;字符空格0 ~7 u$ A. W5 T
  222. CHAR_LIN = $AE    ;字符'-'
    ' E8 `7 }# \# B0 g, K' v( D
  223. CHAR_O = $9E    ;字符'o'! E. }9 o4 V- I- w' G
  224. NUM_1 = $81    ;数字'1'
    & l( G6 Z2 u2 t! j
  225. NUM_2 = $82    ;数字'2'
    . q; j* O  Q  u' G/ G! j  ^, }1 I: X1 y
  226. NUM_3 = $83    ;数字'3'- z$ X5 }% z  P3 C! i8 }
  227. NUM_4 = $84    ;数字'4'. j6 k2 O0 |" m8 B4 c" k7 K
  228. NUM_5 = $85    ;数字'5'  P- c/ g8 _* k3 T# u
  229. NUM_6 = $86    ;数字'6'7 R6 {$ |/ c1 w
  230. NUM_7 = $87    ;数字'7'* F, Z$ N+ F% k; G- T
  231. NUM_8 = $88    ;数字'8'8 ]% t4 a% B  o- Y6 p$ S' S  s9 U
  232. NUM_9 = $89    ;数字'9'3 v  {7 @$ o, H6 B2 F
  233. NUM_0 = $80    ;数字'0'$ x% h' g* \( O, |
  234. , F8 W! G2 [; {) O% J  g
  235. .ORG $F82A
    5 w  a+ H1 J& Z/ X* R' t
  236. JSR $E700
    $ J. L" L. }3 P2 |9 D/ H" _9 I

  237. ; b2 P+ [  A8 t, f. ~. ?6 Q% a

  238. 6 [1 b3 ]- h* n( ]
  239. .ORG $E700
    / w7 K2 W  b( j5 q9 \2 K: O
  240.   ' B$ C) X2 ?8 h3 a; }: x& g* J  A
  241. STY $4014    ;补上覆盖的精灵写入指令
    * u/ l/ X* Z% P* G" P" O) b
  242. PROTECT_DATA:    ;数据保护
    $ e  @$ x% }# b; p7 h7 X
  243. PHA    ;数据保护开始
    4 c+ w2 N7 \' ~
  244. TXA& D+ t8 g  `- O
  245. PHA
    - R: t- B# v: A8 O% h
  246. TYA9 ~$ A( `" n# X: t
  247. PHA    ;数据保护结束
    9 R, k; w- P7 b4 R
  248. LDA TITLE_A
    # f* R+ H* o( _5 ^5 f7 J2 T
  249. CMP #TITLE_A_ON    ;比较是否为标题画面! e! ?7 J4 Y% G* n+ K( \
  250. BNE RET
    % c! W0 O% x7 `1 F1 P
  251. LDA TITLE_B! B9 O& S, i) Y) U
  252. CMP #TITLE_B_ON    ;比较是否为标题画面
    / g: W- A1 ^; |2 _
  253. BEQ PPU_STAGE; w7 o6 w3 d1 `# i
  254. RET:    ;恢复数据
    7 @' B* I7 D* h1 k) r7 z
  255. PLA    ;恢复数据开始. q, y8 \* q8 j% i( z6 U
  256. TAY
    8 _# ~& w: j9 C1 H# M+ ?
  257. PLA. e  \. p" X& G1 X# h$ c! U' g
  258. TAX5 P8 h- I, z' S$ S- p
  259. PLA    ;恢复数据结束
    8 b7 k0 ?3 N, |7 m4 K
  260. RTS    ;返回
    $ ~, T6 D3 ^8 r1 n; r8 E6 _
  261. PPU_STAGE:    ;字符STAGE写入程序
    ( r/ }* C& P5 X3 d) k- a
  262. LDA #PPU_ADDR_H 8 v$ R0 _- I; S# K8 Z# z) c
  263. STA $2006    ;设置PPU字符写入高位地址
    : h% J: ~# k5 V7 F. ]
  264. LDA #PPU_ADDR_L3 A9 w! ]$ E) L& o5 o: W
  265. STA $2006    ;设置PPU字符写入低位地址+ c  Y: V  ?, [  _/ ]
  266. LDX #$00
    " c9 o7 I& w6 F& ^  ^* i) ]
  267. PPU_STAGE_WROTE:    ;写入STAGE字模
    3 q" X6 r4 j/ S" o
  268. LDA STAGE_DATA,X! y2 b  E" [: _" _' p' F
  269. CMP #PPU_END    ;判断是否写入结束
    0 A9 y! F9 g2 {3 p+ o* v
  270. BEQ STAGE_CMP3 E: ^; M# x* G! O
  271. STA $2007
    3 h: ]$ A% q% l& `2 {" l
  272. INX% T. g5 R$ f3 M( b6 B0 B7 {; n
  273. BCC PPU_STAGE_WROTE3 J$ u6 ~3 F# h5 x) [# t: a
  274. STAGE_CMP:    ;选关操作
    . g% o- j# Q2 {6 B9 l- u
  275. LDA STAGE_TEMP
    6 H7 v: t# T5 J9 a
  276. CMP #$FF    ;关卡数据初始化条件判断
    1 J4 n- [4 Y1 Z, z$ N
  277. BNE KEY_B
    8 f4 z9 r# b" ]8 [( p+ b  A2 V/ d
  278. LDA #$00
    & R: v) U  P3 S% ]
  279. STA STAGE_TEMP    ;关卡数据初始化
    ; i) s6 f6 N% |* h- s1 g5 P6 G
  280. KEY_B:    ;关卡减少
    ! w. W. M2 k2 l3 k' S6 G2 m
  281. LDA KEY_ADDR  c! @/ y1 s: i) L( O
  282. AND #BUTTON_DEC    ;按键B或左减关
    9 M1 g! i/ t* h6 I% v
  283. BEQ KEY_A$ s8 P, r, E8 W
  284. LDA #$FF! s& s! L) }7 d9 i& d
  285. STA TIME_LAY    ;重设标题延时( `5 w/ a, u. O9 c3 ]
  286. LDA STAGE_TEMP$ u  W" Y' g  x% Z
  287. CMP #$00    ;关卡比较
    " x8 `- C  w) S! }- U+ {4 D
  288. BEQ KEY_A& n) p* w* K; k5 y( G- Q8 U
  289. DEC STAGE_TEMP   ;减关
    : W' t( ~4 v) D/ `+ W3 K4 V
  290. JSR MUSIC    ;按键音效
    , z$ D6 `( C% R1 e3 M
  291. KEY_A:    ;关卡增加
    2 i9 y- m, K- v& m# J" Y
  292. LDA KEY_ADDR
    1 U1 i' J+ W/ H- G6 r5 {
  293. AND #BUTTON_INC    ;按键A或右加关' \1 s6 d- I& o9 t8 b. ^4 P, e$ ~
  294. BEQ PPU_NUM_WRITE0 k* C$ g) N; x; h' J, v
  295. LDA #$FF
    1 y7 C7 r# Q, c# D8 T4 c
  296. STA TIME_LAY    ;重设标题延时
    / R# p, Q2 D# Z" o. ^7 I/ Q
  297. LDA STAGE_TEMP2 k$ r8 `9 D% N
  298. CMP #STAGE_MAX    ;关卡比较
    3 M9 f! r# Z! q. `. \$ N" w6 H1 l& {
  299. BEQ PPU_NUM_WRITE
    & u, ]4 Z. z5 s
  300. INC STAGE_TEMP    ;加关1 K# D0 a/ m7 o
  301. JSR MUSIC    ;按键音效/ h7 V( J% r: G# W* W/ F5 G
  302. PPU_NUM_WRITE:    ;关卡数字写入地址, B/ z& O' }! G! E
  303. LDA #PPU_ADDR_H1 |2 D2 |3 B, W1 |9 ^! n
  304. STA $2006    ;设置PPU数字写入高位地址0 b! H, {! s. Y/ R& P& ~0 h
  305. LDA #PPU_ADDR_L' L% V- i/ ^8 b  d5 w# w$ }
  306. CLC  ?: k; _+ a5 M0 X
  307. ADC #NUMBER_A; q8 J; w1 I5 l# c3 E
  308. STA $2006    ;设置PPU字符写入低位地址- U: k& h0 I2 o) N
  309. LDA STAGE_TEMP
    ) Y% c( K+ a: y0 Y: o. s) M' s" V
  310. TAX
    1 v7 U3 V, f" ]1 U9 q4 J/ l  C, U
  311. LDA STAGE_D1,X    ;写入数字
    9 }+ j0 C: {0 m( e/ }3 M
  312. STA $2007
    - N" ~: C$ k  d, q1 B
  313. LDA #PPU_ADDR_H2 M- y: i) M1 T# z& y8 Q6 Z! i
  314. STA $2006    ;设置PPU数字写入高位地址$ p% M( M5 _- @) n$ J. {
  315. LDA #PPU_ADDR_L
    5 V8 @! V: Z9 m- c7 ~, Q
  316. CLC- ]  I9 R3 _9 I
  317. ADC #NUMBER_B
    0 u+ {/ Y' M' b
  318. STA $2006    ;设置PPU字符写入低位地址; e+ ~, d% C+ q' b9 D* g
  319. LDA STAGE_TEMP
    $ P+ u0 s/ T# c; r3 G( _
  320. TAX
    7 i! F3 N  h  s) G5 i
  321. LDA STAGE_D2,X    ;写入数字
    ) k0 U: A. i- N
  322. STA $2007( _1 i( H+ n0 x# ^
  323. STAHE_WRITE:+ G1 H  I. W+ f  {8 l4 [
  324. LDA STAGE_TEMP
    ! D: J+ ~* c! ]" L; C/ b
  325. STA $2D   ;初始关卡写入$ H, F" E: D$ m3 ^, W
  326. PPU_RTS:    ;恢复数据: b7 P% y; X% {4 }# a7 `0 c$ G' J
  327. PLA9 ]5 M# q3 {8 P' y0 @6 Q6 r, M
  328. TAY
    $ P8 K3 a7 S! ]3 `
  329. PLA
    # n. C1 p2 G1 I* O. N
  330. TAX$ C2 a0 S+ q6 a. d5 k2 r! U# n
  331. PLA+ d, O5 `1 p1 ~; Q! r; D* u/ K
  332. RTS
    & y* O# g8 F7 Q" b+ C
  333. - {1 o2 x. E9 q
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据
    : h) r( l0 N$ j, M. L
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END
    , @4 u% `% N- J4 h
  336. ( ]$ X+ i8 r- A1 e7 x8 X; v8 r
  337. STAGE_D1:   ;关卡数字: U- F1 |% I- p' C) d; m0 z( o
  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* T4 g9 u0 K# t. H. x+ E

  339. : H7 g- r: o0 {+ J
  340. STAGE_D2:   ;场景数字
    1 t8 P9 f* \3 V; a% T" G
  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
    6 O6 z: U% Z( [9 d& }' x9 [' V
  342. , y+ e' U5 O/ f& T

  343. 0 V: ~6 w3 M; k" Q* n
  344. MUSIC:    ;按键音效
    / ^3 ^1 _+ j7 O" t- i/ V9 }* m
  345. LDA #$3B    ;音乐号
    5 M/ X4 g6 U/ Y5 o; I2 B* X
  346. JSR $919E    ;系统音乐调用
    ( Q8 D- k8 W, X5 W- E
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;
& j: [. k: E- K5 j4 t5 ?    5.生命加满:   暂停后,按下键切换;+ l" f2 h3 t3 d/ J5 z( e7 E
    6.血量锁满:   暂停后,按右键切换;. A* B5 @7 O- \% v& W1 O
2 `) b7 L( E* t( P* y
/ a! H5 W8 L5 S
0 r$ O5 k: P+ p9 z9 Q
6 C! R/ c6 \: V: m

7 a# V) f6 _" s9 k. k3 bFlameCyclone.ys168.com. [9 l. S3 n7 W/ |' p
www.nesbbs.com
! c0 v5 m! e- B+ t( s1 w
游客,如果您要查看本帖隐藏内容请回复

  Y6 K4 @" X3 ^' S# o) m/ y* S( j

本帖子中包含更多资源

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

×

评分

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

使用道具 举报

签到天数: 2526 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 71 天

[LV.6]常住居民II

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

使用道具 举报

签到天数: 1454 天

[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 个 . 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 3128 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 2258 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 2012 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!
  O  q6 S5 P9 Y" X9 ]
回复

使用道具 举报

签到天数: 179 天

[LV.7]常住居民III

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

使用道具 举报

签到天数: 1617 天

[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-7-16 00:44

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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