EMU618社区

 找回密码
 立即注册
搜索
查看: 2234|回复: 55

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 * ]) C; r& _' Q

0 G) l$ h' B' c1 r( Z8 d2 i[FC][忍者神龟3][END选关]
' \/ E5 R: u- I# Y: R" q, E9 ~% L7 @  t; |) V
时间:2017.3.30: m2 {$ ]1 S! `! k/ g) z
作者:FlameCyclone- l- l1 u$ j# f0 e
内容:
4 G0 D! p7 q$ t# w: L    1.关卡选择:   标题时,左或B减,右或A加;
* M0 g! i1 S2 @7 [' ?/ D    2.全屏击杀:   暂停后,按A键切换;' D  @, e8 z5 l& t0 X
    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0
    5 t! R3 C6 i. q# C
  2. ora_data:
    $ _5 R! D% y; d5 j; {5 @1 J
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10: e3 Y$ F: Z% w3 G& H! z: Y. _! H
  4. and_data:$ u& m' v8 R: _4 s8 T; T
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    * X  V2 e" C) [! _% W# [# z; ]# m: h$ ?

  6. 2 W, D0 z' i1 D) i: O9 S* {
  7. button = $F8+ x/ V5 }: [6 f5 P% i; P. x; r
  8. flag = $6000# g$ m& _7 t  V6 n! w5 p& n1 Y8 w
  9. pause = $0045
    , ^: t9 l% h2 T3 d7 N2 s: K
  10. , I0 B- @0 A# A8 H4 v% V, F: d

  11. % Y: E% k# N$ T. J2 M
  12. .ORG $F90D
    1 t$ z  r6 _" u& x' v9 M8 e
  13. JSR $FEC0
    7 V" I9 ?& H4 m) z% [6 |: K
  14. , J. `9 u; P/ X9 i
  15. .ORG $FEC01 m; @' x9 Z$ D4 ~4 k: G
  16. STA $54,X0 _5 g9 D7 x( w9 k- T/ x
  17. STY $FA,X0 D* t' v. q7 Y  ]1 |6 n6 X* T
  18. PHA# N1 {; N  U  \
  19. TXA* ?4 `* b$ k. C( B+ k9 h  A1 y
  20. PHA8 E- \* k5 n4 [# w. W- w( j
  21. TYA9 E8 O0 d, E2 U/ u
  22. PHA
    ! {% l$ k" A. B2 |
  23. JSR KEY_OPERATE/ P  m. O$ L5 D5 v' u2 o
  24. JSR INV
      Z  q  L' N% D( q
  25. JSR LIFE3 Q# y+ i- t; E) @
  26. JSR BLOOD
    " X+ u8 b+ Z, }% ~
  27. PLA, j9 r9 O- O% g4 ?7 E9 u7 e. s% q
  28. TAY* U: ~8 @' F2 H4 X: r
  29. PLA
    - n% M# ]  X8 h
  30. TAX. O+ n  _4 I0 J' h5 P; P( P  `
  31. PLA5 `, E2 _/ x) K9 N
  32. RTS  H0 K/ m; R& p7 C: S( u
  33. KEY_OPERATE:
    ! x, _/ S  t- @8 ?- x( D& Q- O
  34. data_protect:) j4 O0 j) H& B4 y- S3 [
  35. PHA$ S; w# |/ n+ O- _2 U. `  V' U
  36. TXA
    ) o4 J! f; T) I- I4 l1 {. y; i$ i
  37. PHA# P* Z" M4 _* A) d1 N0 v$ ]; ?9 l
  38. TYA
    ! b* R  q+ ~1 P7 d
  39. PHA) K4 v  F6 R( ^2 e2 P; F

  40. 8 S0 i$ U9 R* l& p6 W4 u
  41. FLAG_CMP:+ q! X$ c+ x' ~: V
  42. LDA $600F3 B9 N; o4 G: O+ W# @% \
  43. CMP #$7F    ;标志数据初始化条件判断
    5 Y' i5 S5 v, F: t
  44. BEQ pause_cmp
    0 Y; y# R. L$ i0 U, M  H/ t3 n
  45. LDA #$808 h+ |5 e6 @+ ~& s/ w
  46. STA $A001    ;6000-7FFF写入启用( S7 l4 n" k5 w# l, U0 C0 t
  47. LDA #$00
    $ X" v, x( Q0 p. M$ t. J
  48. STA $6000    ;数据初始化
    " M' Q7 }" {* x0 Y  q, N
  49. STA $6001    ;数据初始化: Z: ]! u( Y: U+ L" D- n( S
  50. LDA #$7F8 Q9 R6 ]8 f- t( D6 y. o2 A- N; I3 J
  51. STA $600F
    3 k$ X7 b7 j4 t& a0 M
  52. pause_cmp:+ t; J7 j$ i# v$ e' {& C$ W* b
  53. LDA pause
    " }/ O4 w2 j) S  G1 B2 u5 s
  54. CMP #$01/ }2 l$ N/ Y0 e0 \( M
  55. BEQ button_press% P4 r! [: k- c5 l; h
  56. PLA
    + u0 z& [0 I" K
  57. TAY
    - P: ^3 U' Y0 `( [$ A4 R
  58. PLA8 X: N+ Q. @( W$ D& r
  59. TAX
    4 r# k8 e% {3 }( g" x6 o8 d2 J
  60. PLA
      o% u$ L; L5 q( y) _
  61. RTS7 f' A+ s' g4 K1 g( l
  62. ) w, Z% t. [* ?1 D6 F* H8 y* C7 z- V
  63. button_press:
    4 Z" N# A4 K) }4 |' s
  64. ini_Y:
    9 q7 h0 _, a  O" Q3 Z1 G$ t
  65. LDY #$00
    2 H) W( H) Y( t7 w4 C/ `" V, J
  66. button_cmp:
    $ X! N+ J2 j( ~, p9 }
  67. LDA button,X
    & L3 Z5 n2 p7 ]8 D! \. q- o5 @. `
  68. CMP ora_data,Y
    , A3 f; @6 T8 i( g" V3 [2 Q) ~5 s
  69. BNE count_Y_cmp3 x, [+ k. L  ~) D/ r, T4 |8 U
  70. flag_cmp:
    ; }  A) V& E/ a2 d
  71. LDA flag,X# K# q, K4 {- \. P1 n
  72. AND ora_data,Y+ x& B9 N+ N3 w' ]" A9 l& }9 T) P/ I
  73. BNE flag_and
    : s! z% S( N5 @2 v
  74. flag_ora:: p3 K2 {. m. v8 C4 O4 V
  75. LDA flag,X9 q, ]3 ]% |) b% Q% W' Z" F3 k
  76. ORA ora_data,Y. ^5 V* O/ G4 @% v$ s
  77. STA flag,X
    2 w  Y9 u/ a) p$ N
  78. BNE count_Y_cmp
    . k& _+ W0 y0 E
  79. flag_and:6 `5 L/ }3 Q& f+ l  C3 Q
  80. LDA flag,X
    8 h) W; Q% ]* M% b# G* a2 l9 L/ q
  81. AND and_data,Y
    " n- |! e9 A6 Z( [0 P
  82. STA flag,X
    . t8 v7 Z' K3 \% y
  83. count_Y_cmp:- {. v3 u- Q$ x0 h" U" R- y* _
  84. INY
      V/ {  L% {! q+ I% C) m6 S
  85. CPY #$08/ W, i* r8 J3 _, t) U6 y% [; Y5 R
  86. BCC button_cmp
    ( X3 V4 @+ y/ U5 I* P. \

  87. 5 s4 l! t  O. ?! [5 \0 |1 k
  88. data_extract:
    ) }& Z; a5 ?$ O2 r6 i) g- r2 v5 i& z
  89. PLA0 l0 @; q* k& m2 f, z  t
  90. TAY
    5 a+ {+ H/ A+ b% n- m& b: P! S8 \
  91. PLA8 u) T5 a8 Z; V5 C, [# x7 Q$ K6 z
  92. TAX
    8 i  z9 ~0 P% M
  93. PLA& _/ H# [; y* L7 j# s( `" g9 h

  94. 6 i3 I7 I- T. t) \8 h9 r
  95. return:
    3 o7 p1 j3 J- f6 a6 s" N) G
  96. RTS5 w2 E- H9 C8 U" I5 ~8 N. Y+ ^2 v

  97. " B) h  {) [6 Y+ r  l  T

  98. ; J* b: p3 p: E; u/ a
  99. INV:    ;无敌% \; t: G8 D' ~5 `6 k5 w9 {6 [
  100. LDA $6000,X
    0 w$ W9 k0 [( p
  101. AND #$08& X' L* Y6 A$ N. [1 l
  102. BEQ INV_RTS
    " a' s& v* p7 R! o/ u
  103. LDA #$052 J) y1 }+ L4 W$ G' h7 R! Q
  104. STA $04FF,X
    + m& ^# f0 a7 p3 i. q: \
  105. INV_RTS:
    2 q' s7 X- O6 n- |9 Z$ I4 c
  106. RTS5 ~; y9 d, g/ f" R- }2 s  e, y

  107. . J" w8 @; n$ f* k

  108. ) k, P  b& H5 T* N" Z
  109. LIFE:    ;生命
    * Q% t3 |- b  I# R& T
  110. LDA $6000,X1 {; P) b! q* h: L  Q
  111. AND #$04
    + X% B# X1 P/ }: s; \
  112. BEQ LIFE_RTS; P. n; X% q5 o7 _3 x
  113. LDA #$09
    ( A  v& V1 r% n$ }  Q4 k
  114. STA $6A,X
    ) Y; p1 P% b7 A
  115. LIFE_RTS:
    7 m; A; k! B* T) X( ]: {) }
  116. RTS
    1 ]! H, y: a0 }- X

  117. 6 K/ |8 X3 k. w

  118. / _  w/ k  H) J
  119. BLOOD:    ;血量! _3 e* L, o, K" ]
  120. LDA $6000,X
    $ U7 ^% |; s1 b; Q  l
  121. AND #$010 i9 A! u3 v% |) @" \7 O: ]9 Z
  122. BEQ BLOOD_RTS
    7 ?0 D8 T8 t: R( v: _( K
  123. LDA #$7F
    9 E6 B" _+ q3 h5 z4 i: j5 T" G! Z
  124. STA $04F1,X$ }. {( r: P, B, b( |+ }* u, q) U" L
  125. BLOOD_RTS:
    " @7 L7 J$ {7 H
  126. RTS
    . v" M1 t3 ^$ T; J3 [) k$ b" g
  127. ; W# s' U& g% m6 y

  128. * Z. X1 R3 f$ H( y
  129. 9 t+ z$ P8 C, F; l$ D$ D! R1 m1 R

  130. ) C2 T9 Z* ~* N( @4 H3 W
  131. .ORG $D29F
    # ^2 ]2 [" f& a8 X
  132. JSR $FF80
    $ g. R8 [  x  C7 ^6 P* b

  133. $ L& `$ C7 V' M$ c8 B7 ^* H
  134. .ORG $FF80
    % V( C9 T- w0 Q% }4 g6 M" j
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀
    8 C( [0 v9 ^) d3 S; B' F6 u
  136. STA $0628
    2 V( R6 T' t" u; V- ]
  137. PHA
    ( H! F. m5 A3 ~; o/ y4 Q
  138. LDA $6000. }- f; W) Y2 V& S5 S( Z7 ?
  139. AND #$400 ~$ l1 _5 p9 y& o% R8 o7 ]
  140. BEQ ADDRFF8E4 R& i/ m2 Y. g- b1 ~, N& M
  141. PLA( h$ W- ?/ c2 K3 Z! {: b- y2 r. x
  142. CLC   ;敌方死亡状态判定: ^/ a% J7 H' t- x
  143. RTS/ A) `( E0 e* R
  144. ADDRFF8E:
    5 E  d+ O7 b" u) ?
  145. PLA
    : O0 O; t, j# h' [, [1 E
  146. RTS
    7 r+ Q& e2 U2 M+ X' i1 x0 ?: I

  147. ' O  \6 v: q; t1 K! W2 m

  148. 0 z6 M9 C- x. U7 r8 U' }
  149. .ORG $D1514 `  P, U- C, w. E, |: r
  150. JMP $FFA0
    7 |" h, U$ D  x3 {

  151. # B3 \+ Q% }$ k' L  Z+ F( K
  152. .ORG $FFA0
      D- \* F6 U: f; n
  153. KILL_BY_ONE:    ;杂兵一击必杀- j- ?# S5 b8 _
  154. STA $0621,X
    1 L3 l/ |) f( r5 |+ M' W- q
  155. LDA $6000
    , F" g; c% R8 A5 a
  156. AND #$409 N% Q0 Z. s% Z
  157. BEQ ADDRFFAD. L; H2 w& J, v. C* n( K
  158. JMP $D19A   ;敌方死亡程序跳转% J! C; S8 X9 C8 ~
  159. ADDRFFAD:
    + F0 t6 ~) X+ R% P! F' m) a6 C
  160. JMP $D154
    0 W% _1 {# s% Y/ m
  161. ) [6 q, T; v; z+ ~) _# }# ?
  162. 3 i* T; I! W" C' d% R; u
  163. .ORG $A7F6' O/ H" m6 Y- ?2 f
  164. JSR $FFB0
    ' L6 @# x, X  w: ]. H

  165. 8 k$ N/ C8 [2 v+ R1 i
  166. .ORG $FFB0    ;全屏攻击
    ' Z# k! D9 i/ F$ W2 J
  167. PHA
    2 P7 S+ Z! `- F6 s* R6 g
  168. LDA $6000
    2 b  K! O8 L7 \: K' v
  169. AND #$80+ o' u! y- ~; V8 w
  170. BNE ADDRFFBD+ E) I: X$ \4 e# {& o: c6 v
  171. PLA" [0 B% N+ L7 v* H* P
  172. LDA $0015
    6 F. h6 S4 G+ n- n. W! O
  173. SEC( L+ G/ R/ Y  o, A/ i
  174. RTS
    7 p: j* K8 l: c7 j5 ]* K- S
  175. ADDRFFBD:  U) a9 {# [$ H' L! A1 s
  176. PLA
    ( u. V3 u9 ?+ u. P8 @# n
  177. JMP $A826
    & w& I7 j, ~" V" l
  178. + e& G* u! J0 B

  179. $ K7 C* n1 L( }8 H* \

  180. & R& d3 o1 \; \3 x7 Y
  181. .ORG $AA6A& q- j% q, A9 m  D2 m1 G
  182. JMP $FFD0
    6 n( _5 t. I% \# R: X( e; X4 W
  183. : [1 ~) k% l+ G4 f8 D* Z
  184. .ORG $FFD0    ;敌兵动作忽略
    % D1 @: I+ x; M( V8 I! N9 \
  185. PHA1 F9 a7 `" t2 k! B* A% c
  186. LDA $6000. Y6 T! d3 g% t6 R2 O
  187. AND #$80
    3 d& T1 E- {5 ^  ~( \1 g
  188. BEQ ADDRFFDC
    & ?" a: L2 b6 c1 M
  189. PLA
    6 [1 O; Q7 r; ~" `$ c6 x2 _
  190. JMP $AA72
    ! [: W+ [" P6 e  i0 c+ L
  191. ADDRFFDC:
    ; Y' k# y4 y9 a$ h3 g' i7 F
  192. PLA
    $ \0 v: @" L1 o) V, Q& `2 P. O
  193. LDA $0629,X
    # L9 k; D, l3 w' I
  194. JMP $AA6D9 P$ d! `& j* d
  195. " i/ L5 B* a- ?  |) g
  196. ;[FC][忍者神龟3代标题选关程序]
    2 n. W8 n% B8 d. }( _1 g
  197. ;作者:FlameCyclone 2017.4.1/ a" Q# N+ b! ~% O7 s0 E

  198. ! L, g. }! i0 _' L! F
  199. 1 N; S! C/ {( X
  200. ;配置数据$ Q  q  Q- X, U5 T( x6 r
  201. KEY_ADDR = $F8    ;按键地址4 v9 v0 O$ N. Y, E2 ~, N/ S
  202. STAGE_TEMP = $6010    ;关卡临时地址& {, V8 ~+ ]/ @0 I1 }2 O
  203. STAGE_MAX = $0E    ;最大关卡数
    / _; M+ Z8 X: A" Z+ I
  204. TITLE_A = $20    ;标题条件A- m0 g; `" `5 `5 P" |
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    " C& x) y& u/ {6 x4 G! ]& X/ h" c
  206. TITLE_B = $21    ;标题条件B: }1 U- [. k1 L  g8 {9 I
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定# W, u3 y! ]! e( {- u
  208. PPU_END = $FF    ;PPU结束符8 q6 c" z, v0 m3 ~" l" D% f
  209. TIME_LAY = $4A    ;标题显示延时地址7 w2 D, x$ w8 Y: |" Y9 j
  210. BUTTON_DEC = $42    ;关卡减少按键
    ! A; g* K( N  \  d' V
  211. BUTTON_INC = $81    ;关卡增加按键1 ]6 s, v9 k# t6 V. m0 L  n
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量) J+ H% P. i( K* n: B
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    9 h/ H2 x: V- G; Q0 ?" h# K0 D
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位+ h9 q) [) G, g) m( i% M' s" J
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位# o" p1 w" J* I; S+ @
  216. CHAR_S = $A2    ;字符'S'
    " R. i% q0 w. o" G5 W' _, a
  217. CHAR_T = $A3    ;字符'T'( z7 v$ z" Z9 Z  d6 ?" @5 Y) {
  218. CHAR_A = $90    ;字符'A'
    9 [, P  P3 B2 Z% ]; w+ a# y, E3 M
  219. CHAR_G = $96    ;字符'G'6 V8 r1 c; m: Z, [  \
  220. CHAR_E = $94    ;字符'E'
    % [' K" J! u3 u6 H7 t
  221. CHAR_SPA = $00    ;字符空格6 \. L% `8 N4 |
  222. CHAR_LIN = $AE    ;字符'-'5 b- ?* o1 A# o; E+ U! h
  223. CHAR_O = $9E    ;字符'o'! T( r& }3 L; j
  224. NUM_1 = $81    ;数字'1'
    - k, X1 \4 O% J5 Y, y: S+ g
  225. NUM_2 = $82    ;数字'2'0 S& y. {, _0 f& D- L
  226. NUM_3 = $83    ;数字'3'# H9 u& z9 }, e6 M- B4 u- c4 z+ m
  227. NUM_4 = $84    ;数字'4'
    0 d$ N- e4 s- y  ~" B* v7 \
  228. NUM_5 = $85    ;数字'5'& Y" x. s6 b& z# U& R
  229. NUM_6 = $86    ;数字'6'
    . c- x/ O; F9 u4 d8 ]
  230. NUM_7 = $87    ;数字'7'
    8 m5 Z, k' ^/ n7 t5 J- i8 K# ]# c
  231. NUM_8 = $88    ;数字'8'
    & P5 o5 u# q; {) y1 c
  232. NUM_9 = $89    ;数字'9'
      r2 ^  }# b* f1 Z  T
  233. NUM_0 = $80    ;数字'0'" w) M2 b. u* A7 Y
  234. ) J: h8 Q5 s" T5 Q/ v4 E( w. _
  235. .ORG $F82A
      ~- M1 Q- L4 o1 Y
  236. JSR $E700
    4 L  y: Q$ v. N7 [
  237. ; s, L8 }8 b: H1 F4 l9 H: _& N

  238. - v  f( u7 ]6 p; Y
  239. .ORG $E7007 m: l3 y7 u6 l5 T% R
  240.   
    : _; z! r$ P6 V4 Q. J1 v
  241. STY $4014    ;补上覆盖的精灵写入指令
    ! A8 s! S. E8 N% w3 p: i
  242. PROTECT_DATA:    ;数据保护) k1 B% I/ F! r2 `: Q! Y) S+ j/ @
  243. PHA    ;数据保护开始
      Y9 J/ ~2 t$ X2 N8 x0 |; z( Q; u
  244. TXA7 f. n$ j7 G4 j' T
  245. PHA0 D% e* \1 ]9 z5 I3 [9 `3 J  R
  246. TYA
    8 p5 x& {* O5 g& t/ g/ P9 f- @) w
  247. PHA    ;数据保护结束
    ' X/ }/ n* K8 ?: b4 @5 L5 P! N" z7 c
  248. LDA TITLE_A
    . R% y' m3 E0 s; b- p7 `
  249. CMP #TITLE_A_ON    ;比较是否为标题画面. L' ^& X% A  h; k5 d2 \! v/ D9 n, ~
  250. BNE RET' S$ O& |' k5 K, r
  251. LDA TITLE_B. X9 j& x5 V4 f6 K
  252. CMP #TITLE_B_ON    ;比较是否为标题画面
    " h0 r4 |8 r* W* J
  253. BEQ PPU_STAGE
    . k9 H. n% S$ |! Q( [
  254. RET:    ;恢复数据
    8 n# z7 @0 z. O) a
  255. PLA    ;恢复数据开始
    % A& a) A- J) P/ b
  256. TAY
    * f6 Z; Z  _4 @
  257. PLA/ [0 I1 T& a7 r4 O2 r! \) H
  258. TAX
    " w/ z5 T1 F+ g, {/ L" V; y, D
  259. PLA    ;恢复数据结束# W" ]( n/ Q# Q( P( x
  260. RTS    ;返回: C( k5 t1 r7 Y& L# U
  261. PPU_STAGE:    ;字符STAGE写入程序* r: |, m6 ^+ |/ i0 e$ f3 V
  262. LDA #PPU_ADDR_H
    & T, X7 u9 F9 a/ ^% n+ O
  263. STA $2006    ;设置PPU字符写入高位地址
    2 R8 p( V: C+ U' t1 e: U
  264. LDA #PPU_ADDR_L& O* a* Q6 Y9 F, |% J) h2 X
  265. STA $2006    ;设置PPU字符写入低位地址
    1 c+ ]* D6 d# U% h
  266. LDX #$004 _# h5 M- z' K9 t
  267. PPU_STAGE_WROTE:    ;写入STAGE字模% `7 \& I3 `: I0 U4 r( X, E
  268. LDA STAGE_DATA,X
    5 [( z1 Z/ _+ Y2 i
  269. CMP #PPU_END    ;判断是否写入结束/ j" X$ Y" L0 F; d( O
  270. BEQ STAGE_CMP# m) b. t; y$ S5 D: A
  271. STA $2007
    / k! F& \% G7 }
  272. INX5 e5 A0 {( K. J, A( _! k
  273. BCC PPU_STAGE_WROTE  ~9 E7 [" l+ i( Y
  274. STAGE_CMP:    ;选关操作2 m5 I4 ]" T$ [+ v' ~5 @, p/ K
  275. LDA STAGE_TEMP
    2 G2 P7 M- |; g  L9 i5 [
  276. CMP #$FF    ;关卡数据初始化条件判断- i8 T# m$ H" A' m3 u1 W4 l$ B% V" U
  277. BNE KEY_B
    ' E! {7 T$ g7 F0 f9 l
  278. LDA #$00& W2 A1 O4 X' i! U9 m
  279. STA STAGE_TEMP    ;关卡数据初始化
    9 |- G7 ~& X& ?/ O' O! t1 D- X' F
  280. KEY_B:    ;关卡减少
    , S$ T) S+ }! a( R
  281. LDA KEY_ADDR
    7 [; \) Y, n( I" T% b
  282. AND #BUTTON_DEC    ;按键B或左减关$ [2 f% t4 `8 P: d; t, L3 d
  283. BEQ KEY_A
    / Y* C7 W$ ?3 q3 e! J5 R; ^
  284. LDA #$FF
    6 O& f8 M/ O0 C0 y1 _% i
  285. STA TIME_LAY    ;重设标题延时
    3 {4 T$ k  R/ |( i
  286. LDA STAGE_TEMP
    + V' J0 L. c& g" e9 f2 o! s
  287. CMP #$00    ;关卡比较
    9 r: ?+ P3 N7 V, e
  288. BEQ KEY_A7 o* m' p) t) d/ c7 \' D1 M/ a
  289. DEC STAGE_TEMP   ;减关
    * p5 o/ g' F# d& T
  290. JSR MUSIC    ;按键音效
    : @5 h+ ]6 X: |4 F  V3 ^2 H
  291. KEY_A:    ;关卡增加1 v+ s0 `. A$ `' U2 n* W1 l
  292. LDA KEY_ADDR) p5 E1 `0 |" ~
  293. AND #BUTTON_INC    ;按键A或右加关
    7 A2 C+ Y, G! g
  294. BEQ PPU_NUM_WRITE  X3 t* M' `( g& L
  295. LDA #$FF; t3 M* A$ A" Z5 i" {
  296. STA TIME_LAY    ;重设标题延时) B. \( G0 G& b' f. A
  297. LDA STAGE_TEMP
    8 ^3 A# b" ^( F9 K
  298. CMP #STAGE_MAX    ;关卡比较  ^& C( Z. ~) h2 n  A6 ~: C9 ~+ O
  299. BEQ PPU_NUM_WRITE
    " ^; T' u6 H; |& {; M# S& e
  300. INC STAGE_TEMP    ;加关
    ) ?/ x' D/ o4 A- B0 l9 l' F- ?
  301. JSR MUSIC    ;按键音效
    & Y* r( B* ]" o; }' b
  302. PPU_NUM_WRITE:    ;关卡数字写入地址
    ; {' _. k5 ~: _- C! L: A
  303. LDA #PPU_ADDR_H
    ( |. c) Z) I% {) j6 I- F
  304. STA $2006    ;设置PPU数字写入高位地址( X+ W( N' B( s  l& V' R# \
  305. LDA #PPU_ADDR_L
    . w5 j8 v* [. r9 A6 C+ F$ J
  306. CLC
    : A" V. \9 u, \5 G9 J
  307. ADC #NUMBER_A
    " Z7 k' o1 p1 O
  308. STA $2006    ;设置PPU字符写入低位地址, k4 F: y; A; l% Q( x9 c
  309. LDA STAGE_TEMP
    & U- l* q- a# O5 K; |1 R
  310. TAX  M! H7 L# [+ b. i
  311. LDA STAGE_D1,X    ;写入数字
    " j! r0 G, Y' J
  312. STA $2007
    8 r' O4 b5 V3 O. z1 e  ~/ `
  313. LDA #PPU_ADDR_H- [! k1 X# X( ]9 N$ a9 s2 G
  314. STA $2006    ;设置PPU数字写入高位地址
    / f! A6 D1 Y6 A$ K! k
  315. LDA #PPU_ADDR_L2 F9 e8 T* t: W. q$ l5 v  j9 J
  316. CLC
    4 O8 A2 M- D7 Y& p4 f. R  d* `
  317. ADC #NUMBER_B
    2 Z: [) Y+ l  @6 v) h
  318. STA $2006    ;设置PPU字符写入低位地址
    " B# C. ^: k9 |9 p. H
  319. LDA STAGE_TEMP
    8 E2 a* S* A9 @9 L9 q
  320. TAX7 l0 ?' ?$ L& Y& R8 S( b
  321. LDA STAGE_D2,X    ;写入数字' `$ \/ H: U% }) F
  322. STA $2007; ~; N# m9 {: f4 Y1 Q" \' ^0 Y8 l0 N
  323. STAHE_WRITE:
    + c# c8 k3 w0 I- w) e, |4 B0 J
  324. LDA STAGE_TEMP
    ) }9 S$ A5 G3 e  Z5 U
  325. STA $2D   ;初始关卡写入
    # Y8 B; V, c6 ?8 z0 D8 M4 r
  326. PPU_RTS:    ;恢复数据
    - m. x5 M0 A2 c" T' }1 M
  327. PLA
    / t4 H  i) F* \( i! Z; ~
  328. TAY$ z+ d9 {+ t1 \
  329. PLA9 P& n3 p' q3 Q
  330. TAX/ R& }0 S; s  D( _
  331. PLA
    3 v; W% S$ r7 _' n$ v4 \6 o
  332. RTS( P, O# M, Y: }. E$ E

  333. 7 V) h: C! w* T' x5 e& T7 g1 o0 }$ D
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据$ X4 P5 D0 V2 d* L, z5 Q
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END; b" P! c- [; H/ R9 r
  336. 8 ~: {9 o8 v- X4 R6 g
  337. STAGE_D1:   ;关卡数字
    + y2 k+ P/ j  w3 f
  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
    - Y8 r; l9 I/ t5 Q1 W+ f/ W9 y

  339. 9 C+ P* Y6 N* y' H# w( B
  340. STAGE_D2:   ;场景数字
    + [5 |7 S" \! F5 }0 v
  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
    + ^8 M: v/ c% ^2 r

  342. : d7 ]* B! n, O5 J. w0 L/ |5 P- q
  343. 5 b  D$ x4 S: N# Y2 x
  344. MUSIC:    ;按键音效
    ; h( I" l" i8 G8 Z4 |! @7 @- E" g
  345. LDA #$3B    ;音乐号
    6 E. [% {4 b4 W  N- W2 C' t4 ~2 F9 U: P* k
  346. JSR $919E    ;系统音乐调用4 T8 c3 p6 V2 U4 O/ F
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;3 a! B2 B  h, E( S2 R
    5.生命加满:   暂停后,按下键切换;
" E3 b  E/ j( U& c    6.血量锁满:   暂停后,按右键切换;
' y1 F7 O0 `3 M- O& _
# t+ \5 f; {+ @3 O/ x: h$ w7 J! C- X' u$ J4 n1 I
, C" e4 [& T: o/ ?+ u1 U3 G

9 |; j- R: @- l% v, L' g: H5 d+ Q5 H( U  [
FlameCyclone.ys168.com( C, T3 _- ^; v: s) S8 `
www.nesbbs.com7 k+ z7 l" ^0 F. z: h
游客,如果您要查看本帖隐藏内容请回复

: N' i, j; f* Q0 q& k% L

本帖子中包含更多资源

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

x

评分

1

查看全部评分

签到天数: 186 天

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

签到天数: 2342 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1235 天

[LV.10]以坛为家III

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

该用户从未签到

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

签到天数: 1749 天

[LV.Master]伴坛终老

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

签到天数: 2892 天

[LV.Master]伴坛终老

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

签到天数: 2014 天

[LV.Master]伴坛终老

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

签到天数: 1766 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!
+ \0 _. e8 J; \

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1483 天

[LV.10]以坛为家III

发表于 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, 2024-11-18 06:21 , Processed in 1.109375 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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