EMU618社区

 找回密码
 立即注册
搜索
查看: 2741|回复: 59

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑
8 f! D1 C9 ]4 @+ v2 G5 J6 c1 {
3 e% B5 M& s; E# S[FC][忍者神龟3][END选关]9 J  ?, s0 o5 W! n( t9 t7 r% |8 W
; }/ r) f, p  j: x
时间:2017.3.30
) R4 T- Y: v' E# ?; x* j" H- G- J) M作者:FlameCyclone, L' H$ I$ l% K  Q
内容:
$ ~5 [+ u' m+ i$ w    1.关卡选择:   标题时,左或B减,右或A加;6 ~% U3 V1 p+ [) n
    2.全屏击杀:   暂停后,按A键切换;
$ N( o& X! {( N+ x    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0/ M$ Z& `$ b& l+ C3 o& P& [- ~
  2. ora_data:
    . ]1 @' g2 B9 q* P
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$107 s: f. U+ ~# T
  4. and_data:
    . Y9 f! |$ s0 U1 N7 C8 y
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
      M" r8 O0 h. v. _0 ^& q" o" |

  6. 9 u& z; X0 [; I1 W! d
  7. button = $F8
    & T8 _4 z1 v# e# L1 f* t2 u
  8. flag = $6000, v8 m- J7 W0 L$ T3 H9 D
  9. pause = $0045
    , N1 [) @3 a8 ?+ `; g+ @

  10. 9 u, B2 m5 d) N2 r- I# B
  11. % x* s+ ]6 |" M8 I- s0 V5 e
  12. .ORG $F90D
    : _6 o, I6 k/ n2 x
  13. JSR $FEC0+ D( l; _# w- }0 ~$ o3 p- Q/ }( {
  14. ! t: O) ]0 \1 ]1 d$ G; L
  15. .ORG $FEC0
    5 F( i1 m7 W' ]: {5 r7 }
  16. STA $54,X
    4 k( i. R' x/ J
  17. STY $FA,X% }- T$ h7 G( M, [3 d1 ~" w
  18. PHA
    2 l+ L1 ~! D" C
  19. TXA
    9 E: S( ]: L7 U
  20. PHA" h" G2 e; F4 E7 A3 j
  21. TYA
    ! T- K: @5 o( K+ f- J: d' W
  22. PHA- ~8 h; @1 m4 `6 C3 J4 I
  23. JSR KEY_OPERATE: x8 b1 P3 V7 i$ v/ ]
  24. JSR INV
    + ~7 m$ C6 E# T% E
  25. JSR LIFE
    2 |  M  m8 z) Y* H& l
  26. JSR BLOOD
    ! @# p( e( V. q. u  w$ o! x
  27. PLA- P) N" m$ P) D
  28. TAY+ B* d! X( y" H$ g$ J% W/ |% h
  29. PLA/ w! B. M' Q1 S! q4 o7 z3 M
  30. TAX
    2 C% L8 w! g$ Z+ w
  31. PLA+ s( S7 I; z( R; L! t4 C9 p
  32. RTS
      @) `! A$ q8 M8 C! X4 N" N6 {9 o
  33. KEY_OPERATE:! r. w  S" j# p
  34. data_protect:
    3 x- @" H& i9 o2 o3 ^
  35. PHA1 Y3 x, h& b) Q2 M9 I4 i
  36. TXA2 S, S4 d$ n- W; T; R" ^. Q5 i2 F
  37. PHA( V. Q- [0 \1 O. J# K
  38. TYA
    6 I4 ~0 z* q2 r! r7 v" v# k
  39. PHA  ?- @2 @7 v+ G; B
  40. " c. j" o+ R7 C; p3 S
  41. FLAG_CMP:
    ( \. G1 p# v  g; e+ u1 }  S
  42. LDA $600F
    3 y+ S' U1 f8 X. h6 p- F
  43. CMP #$7F    ;标志数据初始化条件判断1 s) n$ M/ Q( N+ u# K0 E: Q
  44. BEQ pause_cmp& l! Q: \% ?# {% u! {
  45. LDA #$804 E3 B: K  I$ p, }9 ]
  46. STA $A001    ;6000-7FFF写入启用: k/ _- K, T6 V1 U% \
  47. LDA #$00
    ; l) x+ E" w1 y* v* B$ P1 \
  48. STA $6000    ;数据初始化
    : v) k, B$ @# c' y
  49. STA $6001    ;数据初始化
    4 k( U2 q" Q1 c5 L' M& H) ^8 P2 M2 z
  50. LDA #$7F
    . ^- V6 n# g4 E5 D* N
  51. STA $600F
    + g% I8 s& n3 Z' B: U
  52. pause_cmp:
    1 d  F* P: {% T/ \
  53. LDA pause1 S- J* @2 }. j/ o: m1 C$ I: C
  54. CMP #$01
    8 p9 d: }8 x) m
  55. BEQ button_press
    3 I& E1 [7 B5 I7 H2 Y& c9 Y
  56. PLA/ ^: `& p/ b4 d! Q$ O1 v& u+ t+ T
  57. TAY
    ; p4 D4 J: c' D& x5 l1 F
  58. PLA
    $ ~  N# u  ~2 v. v$ b: Q; L
  59. TAX
    * A3 L% v  |6 G3 F: w+ i
  60. PLA3 z* z. d. l9 y
  61. RTS- k/ V# @; X8 A4 h  ]9 W

  62. " i! t* _) f4 x! s2 c. y2 ?
  63. button_press:, Q" p! p( n) s' j  J9 b
  64. ini_Y:
    0 I$ W( s& n4 q  w! H0 g
  65. LDY #$00# Z1 c! U9 x. _6 h$ f
  66. button_cmp:
    $ d, |9 k& E6 Q- X
  67. LDA button,X! b+ l2 h5 c4 x% Y
  68. CMP ora_data,Y
    ! U8 |% Q7 Y- K4 v0 ]/ `" @% J
  69. BNE count_Y_cmp9 F3 h- Q7 P' R. W: h7 R
  70. flag_cmp:" _1 A4 g: ~6 c& F
  71. LDA flag,X1 u1 r3 L$ G! X) Z. Y2 }; Y/ C3 I
  72. AND ora_data,Y
    # A  ^: Z4 Z8 `, d' o
  73. BNE flag_and
    ) h" H6 T! D* i. Q
  74. flag_ora:
    ; p2 T" m9 E9 Z1 j
  75. LDA flag,X
    . `0 x% `+ x& u
  76. ORA ora_data,Y
    # x$ ~  _/ P. K" O* X; Y! r
  77. STA flag,X
    9 o+ w0 _+ K) t+ V
  78. BNE count_Y_cmp# a; G$ q3 x( `
  79. flag_and:
    9 V0 M0 l3 @; F: h6 m( c/ J
  80. LDA flag,X" X% {2 L; a2 l
  81. AND and_data,Y0 s" |1 R8 A7 g0 y; ?( `- ^
  82. STA flag,X
      d# q8 \. v7 ^
  83. count_Y_cmp:
    , Y1 Y5 d2 L: k
  84. INY: s( j) ^6 E$ a. H/ J
  85. CPY #$08
    + x8 w" H2 K0 S3 o- a3 p3 L9 O+ K
  86. BCC button_cmp$ B8 q. r5 w/ q! |+ x  n9 F. G

  87. 3 q& i9 w8 }1 e8 Z) {1 j, F# g
  88. data_extract:5 G' Q6 [6 I) U7 w1 A% n$ {0 B
  89. PLA) r% H6 j) e& y8 U+ K9 R" S9 F
  90. TAY4 }7 p: a) ^& S- U! v0 j/ f
  91. PLA) p9 I& x' r4 J3 u
  92. TAX
    3 ~) o0 l: h% H: ~8 S
  93. PLA
    4 T. h9 I% h* r) k+ |% K

  94. 3 K$ s: m: {: h1 `7 O5 W
  95. return:# F0 }$ ]$ X, B+ I6 ~: G7 K
  96. RTS
    0 S3 |, B6 s2 ?  i  z' B
  97. , }1 P4 a9 S3 R9 q! `* `4 ^

  98. . q, l6 ?( n  |, O) H9 m% D9 F* h
  99. INV:    ;无敌: W& T. i7 _" C. R, j7 O
  100. LDA $6000,X
    + \# H9 e' b7 V% `3 v$ l* ~/ x4 y
  101. AND #$08
    6 X' x* G$ Z: L5 ^% y4 H
  102. BEQ INV_RTS; J( l( X- V* L3 |1 |
  103. LDA #$05
    : V( h! V- z( ~3 }. M
  104. STA $04FF,X
    ; e1 v, z4 k' n8 w% V0 m
  105. INV_RTS:
    ! G, A; U* x# w+ k  c' f; d* Y
  106. RTS% X: i# o( i8 R6 U
  107. - J1 s3 q% M! P2 I: D% e- X

  108. 1 G- e3 E% K) ~" l
  109. LIFE:    ;生命
    2 m4 L* D( |  {* Z8 u/ o& _
  110. LDA $6000,X
    " U1 }2 i; v( i: m+ T; c
  111. AND #$04/ o% p+ n$ `7 D9 a; N1 L
  112. BEQ LIFE_RTS
    , E. j, D2 c4 Z7 F) @; k0 ?
  113. LDA #$09" J! {$ J( I1 j# D$ D0 C) S* _
  114. STA $6A,X  y0 J; B3 O& `1 V2 ?
  115. LIFE_RTS:4 N0 l2 p+ b/ ]
  116. RTS
    - p( n+ O. G$ S* K% @7 h  B" x

  117. ! Q! U# h! H- k$ q. i% o
  118. 8 U+ ?. \/ e/ x8 j4 D' j, r
  119. BLOOD:    ;血量8 z% ?* |. K$ W* H9 E* n. G% F
  120. LDA $6000,X
    7 H) l: Z0 D3 X5 Q
  121. AND #$01
    ( g) Q$ d; n6 R5 ?# \7 b- _! ^, K
  122. BEQ BLOOD_RTS3 e2 X) y, h8 O( s0 B% ^
  123. LDA #$7F% v% l2 i! \# X" M
  124. STA $04F1,X: ]* T1 C7 k) r  ]. `1 k, D5 s  N5 l
  125. BLOOD_RTS:
    0 n7 q  q7 ~9 T9 ~9 r1 q& {& X
  126. RTS
    5 a. T% f8 h7 r+ J9 f$ {- u, t, u
  127. 5 L! [! q% }- h7 c

  128. 3 u% S/ |2 ^. @0 x
  129.   @7 g5 T5 L9 f& ^$ Q' c/ ?7 k

  130. # N& N& S% c4 h
  131. .ORG $D29F
    % v( e# D; _* d6 p% s. L0 b+ V: t  C2 q
  132. JSR $FF80# ?" g. S  B% A( W' N
  133. ; F6 F/ y  c$ ^) H! i. B
  134. .ORG $FF80
    3 d! r3 H4 a8 ^6 U0 m; b* C8 P; A
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀
    0 t* x# q2 D: e4 q4 j; u3 e$ Z
  136. STA $0628
    6 C5 o( n, l; y$ t* |
  137. PHA
    : [4 Q; X2 z' {. A3 d
  138. LDA $6000
    # n; W. O" I0 J2 C9 y* G
  139. AND #$40. h$ u) o" J- w
  140. BEQ ADDRFF8E
    ! Z! n+ c& P5 j
  141. PLA
    : T  _6 S8 G0 ]
  142. CLC   ;敌方死亡状态判定3 K9 Y0 Y% e, G
  143. RTS. q8 r. }# o) [
  144. ADDRFF8E:
    8 B0 e9 G) n4 u2 }
  145. PLA+ e9 e5 M- r( G  E0 s
  146. RTS
    " Q* _! ^" T* k# F

  147. , k- P& P1 M4 i! }# Y% v

  148. 7 x8 U1 K$ h* v
  149. .ORG $D151
    8 O- i7 a6 w/ V5 F0 K% B" K
  150. JMP $FFA0* ]% ^) p. `( q! h) J# P8 V( o
  151. 8 V( ^6 p. U% W/ r  D  T$ |
  152. .ORG $FFA0  x% `" Q3 n/ @1 u) t9 j, c- j
  153. KILL_BY_ONE:    ;杂兵一击必杀
    8 b& Y0 W' v; J: k
  154. STA $0621,X6 Y0 e+ B8 U( L. x% [
  155. LDA $6000
    . H  M4 ^# L5 z
  156. AND #$40# M" [, S( ^/ O
  157. BEQ ADDRFFAD7 T- s9 v2 b! W7 W# s& A( W% i
  158. JMP $D19A   ;敌方死亡程序跳转* o4 z: A+ G' ^( P9 |" l' C: |
  159. ADDRFFAD:
    0 {- s8 D8 n5 T) y
  160. JMP $D154
    $ `& L, g% \8 q& c
  161. / h; ~' K$ s& Z" g

  162. * `( ?4 U/ }' Z: c, }( {9 t5 U7 v
  163. .ORG $A7F6
    4 E. a' _0 p& c' V% l
  164. JSR $FFB0
    8 h4 X5 b/ {6 o' N7 ^

  165. & t# W( k1 m+ c! g  C
  166. .ORG $FFB0    ;全屏攻击' W6 u" z6 Q, S, J3 R/ a% D
  167. PHA
    ( z) k1 H7 N( s& N! y# P. e5 P
  168. LDA $6000
    / N; p" m# M2 p8 Y+ t; `1 {
  169. AND #$80
    , g1 S" P, O' p
  170. BNE ADDRFFBD
    ' K) s0 z/ @+ e* \4 S) P, n
  171. PLA
    " o$ Q- ]8 S- G( L
  172. LDA $0015/ P6 N: f. \, U/ o
  173. SEC, L# b; N: _6 O
  174. RTS
    + o( j( P( g# d* D' Y
  175. ADDRFFBD:2 a& C' t( C/ U4 E4 {2 l2 ?
  176. PLA
    , P+ P# V" D4 h0 J: }& g; S
  177. JMP $A826
    5 o2 ?7 \$ T$ i$ W& Q0 T2 V( I
  178. ) z) Y  [+ s: y# w0 y

  179. 2 j4 _$ K0 U  {) E
  180. " c8 R9 s7 h" t+ Z4 V5 @# J
  181. .ORG $AA6A
    , f4 o  ~! Y+ v1 n; h" o
  182. JMP $FFD0  q$ C" H8 E' d8 H3 C
  183. ) d: z9 w+ E( a8 C! Q- j+ z
  184. .ORG $FFD0    ;敌兵动作忽略
    ; y# {3 f# {! `1 K8 @: w8 e
  185. PHA* _4 p0 b2 s, J3 b9 ?+ r+ n$ g; c3 R, ^
  186. LDA $60008 p2 W! ^7 r  g0 E) a3 l6 p9 ?
  187. AND #$80
    0 A$ F; V4 |) K3 e' y
  188. BEQ ADDRFFDC& O/ k4 F9 [# n( z6 y$ E
  189. PLA# C8 \7 X$ x% b
  190. JMP $AA72# z! W1 q0 _) m+ ]( p+ L. M+ j
  191. ADDRFFDC:
    2 x$ V5 r, X; H/ ]( r
  192. PLA) A7 I/ ~* b1 p1 `
  193. LDA $0629,X
    + s' ~( o: t. L
  194. JMP $AA6D- v( F; w4 k# i$ r" v7 v* z% o

  195. . `2 F& u& ?- s4 _  a  R5 k% I/ F
  196. ;[FC][忍者神龟3代标题选关程序]. W* i; w3 ]+ C6 M0 g2 x& B$ j3 h
  197. ;作者:FlameCyclone 2017.4.1- f! y1 }3 p- P$ x

  198. ) k0 A( R: ~( A

  199. ; d7 m+ ^. ^' u" j1 J
  200. ;配置数据
    " e0 q9 k1 S9 I: |2 T4 V# Z/ \
  201. KEY_ADDR = $F8    ;按键地址5 a/ A/ r8 m$ k& Z6 |
  202. STAGE_TEMP = $6010    ;关卡临时地址) K3 X) @# i9 b) _. U1 ^  O
  203. STAGE_MAX = $0E    ;最大关卡数5 C7 H9 |7 n1 A
  204. TITLE_A = $20    ;标题条件A8 ?* F. e" \3 z% @" }
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定9 }3 D/ j5 W1 g
  206. TITLE_B = $21    ;标题条件B
    6 O$ C# Y: T  a# S/ G
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定9 l6 w& G1 Q# C4 n: r( V
  208. PPU_END = $FF    ;PPU结束符; ?) q% {  _6 O0 V- R+ b+ l, q5 [
  209. TIME_LAY = $4A    ;标题显示延时地址5 ^3 V, S/ D. Z3 N! \1 r
  210. BUTTON_DEC = $42    ;关卡减少按键" \5 a6 e% P+ P0 D
  211. BUTTON_INC = $81    ;关卡增加按键
    & Z& @: z1 y% A( H) P' a+ t
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量6 N) `( {4 O5 Z7 }! M5 w
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    ! V& j/ Y/ E6 D( ^6 x: g  b6 a
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
    4 A2 r/ x0 {0 _8 N
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位5 Z! n* K2 G; o! F( W
  216. CHAR_S = $A2    ;字符'S'
    " G) S/ Q# {" q5 r+ {' x% P! y  x
  217. CHAR_T = $A3    ;字符'T'$ m% ^+ k$ t8 X$ R9 @8 z. w
  218. CHAR_A = $90    ;字符'A'
    + a% n  j% F9 Z
  219. CHAR_G = $96    ;字符'G'
    . C& K) A% a' {7 o1 I3 k
  220. CHAR_E = $94    ;字符'E'
    : A  h1 R3 x$ u# Y
  221. CHAR_SPA = $00    ;字符空格
    0 L+ P( d& ?& }
  222. CHAR_LIN = $AE    ;字符'-'$ Z; x7 o" D4 |/ o# d. X6 r
  223. CHAR_O = $9E    ;字符'o'8 V2 H/ o/ L( d3 v# M$ _. T* R
  224. NUM_1 = $81    ;数字'1'9 u; l- L# B" Q3 B
  225. NUM_2 = $82    ;数字'2'
    1 ]% |9 ~; I8 |0 W( O+ }
  226. NUM_3 = $83    ;数字'3'
    4 ]6 q1 d6 N3 S# @
  227. NUM_4 = $84    ;数字'4'* d8 j/ s# p- B7 H4 S
  228. NUM_5 = $85    ;数字'5'# f% h, n/ I4 W1 c
  229. NUM_6 = $86    ;数字'6'
    8 N/ s) C" t+ j  ~) ]4 C- q1 |
  230. NUM_7 = $87    ;数字'7'( G( e; n, x. N- F: r7 T
  231. NUM_8 = $88    ;数字'8'
    1 N/ M/ X, }8 J: U5 b* l* o0 C
  232. NUM_9 = $89    ;数字'9', y9 U7 a# _1 k- \3 z  r9 z& A
  233. NUM_0 = $80    ;数字'0'
      [# ?  G5 {- U$ X7 W/ a
  234. ( t8 R, T- V* V' V: [- s0 B
  235. .ORG $F82A  w6 x7 H3 i1 U) k( J9 R* s
  236. JSR $E7007 k2 r/ v! P# [5 b7 Q  {4 e1 _

  237. * j1 W9 \  s. m: s! e4 ?

  238. 6 R& b- b* P# [7 \
  239. .ORG $E700* O7 ]: {+ y! B& B7 Q$ L
  240.   
    . U( ~/ x# }3 ?9 f. N) j# T
  241. STY $4014    ;补上覆盖的精灵写入指令
    9 D% q" p$ w; O7 ~6 w, w) J9 T
  242. PROTECT_DATA:    ;数据保护
    1 O: g9 a% T  H
  243. PHA    ;数据保护开始
    ( X6 k- E5 y3 K/ P$ [
  244. TXA6 C% y4 v; I! i4 p* k
  245. PHA3 ^" X1 P: \& A. q
  246. TYA# o: r* d: |2 Z. c& E
  247. PHA    ;数据保护结束4 _% s; W- }! _
  248. LDA TITLE_A% w+ B9 w, P+ T* ^/ v. M
  249. CMP #TITLE_A_ON    ;比较是否为标题画面! x+ j9 N: t, Z9 P
  250. BNE RET
    " x& U) y: L7 ]  @% [
  251. LDA TITLE_B& a6 P$ U8 {* l5 u7 s
  252. CMP #TITLE_B_ON    ;比较是否为标题画面
      s1 p8 X* i! X, T; a) a
  253. BEQ PPU_STAGE( K( x) @/ h- g! ~
  254. RET:    ;恢复数据0 y. r+ M" o; W/ h* q9 q9 b$ Z6 k
  255. PLA    ;恢复数据开始1 a% J6 i9 s  p6 U. t5 _1 G8 _
  256. TAY, w! J0 q! y" C: ]& J
  257. PLA4 x& i4 d( C" }: h% s3 _# N
  258. TAX
    3 y; x8 N4 i3 M% f  P1 C4 Q
  259. PLA    ;恢复数据结束
    6 ?0 x/ [5 H. H# O& }
  260. RTS    ;返回1 ^; I! e* Z+ Z% u1 ?
  261. PPU_STAGE:    ;字符STAGE写入程序2 N1 \% h. H/ m. I" V
  262. LDA #PPU_ADDR_H
    ' c4 ^/ j, G; f9 }. _, ^
  263. STA $2006    ;设置PPU字符写入高位地址
    " l! |, l( l) E: i! O5 G: n
  264. LDA #PPU_ADDR_L
    " b! M- `5 z8 T8 ?; \) j. B) K
  265. STA $2006    ;设置PPU字符写入低位地址) T; b$ d4 x# |. H7 w' d) U
  266. LDX #$00( ?8 _( ]' G$ S5 C) y
  267. PPU_STAGE_WROTE:    ;写入STAGE字模" I0 _9 I* f! T3 s1 [, X7 [2 D
  268. LDA STAGE_DATA,X/ {1 i: N" ^3 r
  269. CMP #PPU_END    ;判断是否写入结束( t/ q+ k3 H# {
  270. BEQ STAGE_CMP
    * L* l+ g* V% X! q$ K9 {8 \
  271. STA $2007
    + v6 _- K2 _7 Q' \& s2 @5 l* R4 F
  272. INX
    & f( c  L! Z  v4 f
  273. BCC PPU_STAGE_WROTE
    . s0 A" L7 t! e" b" ?7 J
  274. STAGE_CMP:    ;选关操作
    ' Q( \" v8 x9 E5 l& N
  275. LDA STAGE_TEMP
    ; G$ g1 N4 N7 l% Z
  276. CMP #$FF    ;关卡数据初始化条件判断
    - ]/ L) }9 }* a. Z2 V
  277. BNE KEY_B
    " \5 w1 I# s6 }
  278. LDA #$00
    ) f3 n3 _& W$ N$ q# h3 {2 _/ Y
  279. STA STAGE_TEMP    ;关卡数据初始化
    ! {- B9 @- E  X. H
  280. KEY_B:    ;关卡减少
    6 ~# `* W6 G  ?3 n. f1 g0 `
  281. LDA KEY_ADDR9 t* Y; _1 ]# X$ _2 f* B& W
  282. AND #BUTTON_DEC    ;按键B或左减关/ B. o! j0 z' @( G- k# s6 E0 H+ k
  283. BEQ KEY_A3 e: }% `; p) R! c8 @
  284. LDA #$FF; F9 ?3 J3 }$ A: N% u
  285. STA TIME_LAY    ;重设标题延时
    4 J" H8 I: s+ Y0 }2 Z
  286. LDA STAGE_TEMP6 J, Y" P$ B; Y- `4 |) B' h5 x
  287. CMP #$00    ;关卡比较
    1 ?, ?; e+ G7 `% V4 z
  288. BEQ KEY_A% S. Z2 W% p  E6 v! }
  289. DEC STAGE_TEMP   ;减关
    ; w5 ?4 z0 |, w0 R% P
  290. JSR MUSIC    ;按键音效1 q* ]) W  Q$ a" N. @
  291. KEY_A:    ;关卡增加
    - O: k. F& i1 C% Z7 d3 F
  292. LDA KEY_ADDR* B& \" K/ p, g6 W& P
  293. AND #BUTTON_INC    ;按键A或右加关
    - d: ]' D2 ~7 `7 t) a6 O
  294. BEQ PPU_NUM_WRITE; E0 d. Q. L4 P4 f) @2 T, B
  295. LDA #$FF! \1 @! C- J3 D3 G* c
  296. STA TIME_LAY    ;重设标题延时
    / Q, R, B' C* Z+ E' A- M
  297. LDA STAGE_TEMP
    ( f7 m3 h1 E4 z( g: d5 w
  298. CMP #STAGE_MAX    ;关卡比较% c! S2 D: L/ w" b7 ]
  299. BEQ PPU_NUM_WRITE
    4 H# j& O) P6 F2 e8 [: W% y
  300. INC STAGE_TEMP    ;加关$ G# ]# \& q. r7 @  ]2 |- \. X
  301. JSR MUSIC    ;按键音效! R9 Z. u! U+ T" {% x' r
  302. PPU_NUM_WRITE:    ;关卡数字写入地址3 B! W( d4 b; G1 z  U4 x3 i/ H' n. q3 G9 H
  303. LDA #PPU_ADDR_H
      c- \- o; s7 x( u. {
  304. STA $2006    ;设置PPU数字写入高位地址% b$ v& c$ Y8 i
  305. LDA #PPU_ADDR_L
    $ X# a! _# E9 N" r( m% t6 j
  306. CLC
    ( Y( v. p0 v' |5 B* z6 q
  307. ADC #NUMBER_A
    ! X+ v6 t- F( b! g, {
  308. STA $2006    ;设置PPU字符写入低位地址7 T4 J. _  c4 ?9 A# ]8 H
  309. LDA STAGE_TEMP
    5 l; ~2 f! A  z( _6 a8 O6 S
  310. TAX
    0 l5 w# u3 @' J. j9 b% P
  311. LDA STAGE_D1,X    ;写入数字
    # {( R) j# g5 i! L2 Q
  312. STA $2007
    & h5 D+ u6 J4 L
  313. LDA #PPU_ADDR_H
    6 z2 \) X2 Q/ w
  314. STA $2006    ;设置PPU数字写入高位地址
    ' X# a+ e9 K/ E
  315. LDA #PPU_ADDR_L6 f: B8 G* p+ U/ l; k6 g; n
  316. CLC* K/ {) o" i) t/ x
  317. ADC #NUMBER_B% H# K3 E5 X7 M% V, E. }- i+ }
  318. STA $2006    ;设置PPU字符写入低位地址9 e5 B7 D7 t: @9 t/ k3 |
  319. LDA STAGE_TEMP
    ( G& I1 O0 ?) h: a, h
  320. TAX
    1 d: _( ?! ?* D! i6 B% z4 w
  321. LDA STAGE_D2,X    ;写入数字
    + [( y2 N, Z5 @( K% k$ t
  322. STA $20071 v8 }9 g: L" y
  323. STAHE_WRITE:# L* r* m- ]3 B
  324. LDA STAGE_TEMP1 e$ K* N; K* g" A1 _
  325. STA $2D   ;初始关卡写入& Y& o; S& B" n, w+ L
  326. PPU_RTS:    ;恢复数据
    3 ?) u+ b5 a. ~
  327. PLA; y5 ?; c" y% `$ T
  328. TAY
    4 n' w* j; p# n
  329. PLA/ S: f6 u! o9 m: X( }
  330. TAX: Y- Q  f! Z3 |9 ]
  331. PLA, l9 M0 g# a" d) P0 t
  332. RTS# g; o7 E4 M0 v* Y& @0 c! R7 j: }! F9 X
  333. & s" N" N; [" Q& U0 i4 n
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据
    3 {) P4 L% s1 @6 a1 \; `. E, _+ E: `
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END
    5 J! K" x' s3 {0 d# I1 O
  336. 6 b6 _  d& d5 Q! z7 |& P5 C
  337. STAGE_D1:   ;关卡数字( U- Z4 F7 I; x) ?" ~( B
  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_86 [+ P5 J1 X6 P, l1 q( x) M
  339. 9 _  T/ q, p/ H% M' p- ]8 k
  340. STAGE_D2:   ;场景数字( i; ^* g: U$ n3 Y* e$ v* |3 e; b
  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
    & j& s+ o/ k. Y

  342. 6 R5 e% _1 {. G1 Z( i$ x

  343. + v) v9 w6 N3 A5 e! G
  344. MUSIC:    ;按键音效
    ! D1 x% ^; y# J1 d* |& L
  345. LDA #$3B    ;音乐号
    ; @6 P  @& o6 ~  ?+ s. j( u' M
  346. JSR $919E    ;系统音乐调用
    8 j$ l& _6 B, C% c4 o
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;1 {, q. H: ?( q8 d
    5.生命加满:   暂停后,按下键切换;
* q, a( A* y" Y0 a    6.血量锁满:   暂停后,按右键切换;
$ P/ x  d8 g5 F/ Q, Y. Y: c2 j4 ]( C& i% I2 d
( P3 V$ m9 }: e; ~. r

8 k* h# F: t$ V2 S2 G2 i  {& }$ P: _+ S& x; a5 o: P/ P: G" Q
, D: {4 h# y) c/ E$ i
FlameCyclone.ys168.com! O( w7 b' d' Z* E
www.nesbbs.com/ ^9 U" ^" \! y9 f# W/ z* F
游客,如果您要查看本帖隐藏内容请回复
* [1 v( @" C% a2 L2 y

本帖子中包含更多资源

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

x

评分

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

签到天数: 2410 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1318 天

[LV.10]以坛为家III

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

该用户从未签到

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

签到天数: 1766 天

[LV.Master]伴坛终老

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

签到天数: 2981 天

[LV.Master]伴坛终老

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

签到天数: 2105 天

[LV.Master]伴坛终老

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

签到天数: 1859 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!
0 r- O8 ~0 A5 X& a

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1560 天

[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, 2025-2-19 06:09 , Processed in 1.112304 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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