设为首页收藏本站

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

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

 火.. [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑
* i+ L0 E3 t. k( N
" p9 m& w  p; Z4 d7 \[FC][忍者神龟3][END选关]
+ n) q( E0 k, h) e! \8 B# R: A' t5 l* J, i3 x; u7 x; M0 W/ e
时间:2017.3.30
, z4 }! c" |3 D5 O3 D/ C: `" H作者:FlameCyclone
9 }9 x! Q6 [8 [) k+ J8 I) E; v# B内容:
" i- k+ ?6 l" r$ x    1.关卡选择:   标题时,左或B减,右或A加;
9 M# A/ k+ _6 B/ F$ |* ^* n* Y    2.全屏击杀:   暂停后,按A键切换;( O. J0 Q* E- A, E# m0 E% l* n: B
    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0
    ( x/ P4 y8 Z& H3 L
  2. ora_data:* |7 t* a* i; s9 u4 h7 d  G
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
    * ?& @/ O( Y1 K  x
  4. and_data:' `7 w  t' _) @4 [5 m4 z
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF3 h2 p. i# P  W$ K- u) d
  6. : M( G1 F' \8 x2 a* Y4 i( v
  7. button = $F86 d8 @0 y: y$ `* j% D; G" i+ @
  8. flag = $6000& e/ u! C0 a, t2 W4 E$ i
  9. pause = $0045
    1 S5 T: |& U! I" s! \* Q! y& a, ^! f

  10. 6 ]9 F$ l5 d* c  a# m
  11. 1 y( l: P; ]2 z' O  {5 d8 `
  12. .ORG $F90D
    3 S6 u3 Q, v7 q) I  O3 I+ v
  13. JSR $FEC0
    - V+ z9 l1 m% \4 q# L* Z

  14. 0 w" z8 M7 D( V' v( w1 t" {
  15. .ORG $FEC02 [+ S2 d. }5 r+ ~9 v
  16. STA $54,X' p+ X3 `" P: W+ P4 u5 }
  17. STY $FA,X
    ! n( R9 e( c5 `$ d& z
  18. PHA
    3 X) e' [9 P+ W8 [+ W% o
  19. TXA, q, z0 w  o: f2 Y3 d+ f  h. {, S
  20. PHA
    ! u' N- U8 l% V$ Y
  21. TYA
    * z+ {( A0 U2 h  Q) y% m1 T
  22. PHA8 w, ]  v! F) W/ D7 b
  23. JSR KEY_OPERATE
    8 b2 b+ q3 f+ K' w9 v1 \! F$ \6 H
  24. JSR INV0 n6 f2 y4 b& X
  25. JSR LIFE% v/ ^4 w* W) s) V
  26. JSR BLOOD. u5 a5 S! z9 s# _
  27. PLA
    ; a/ Q2 W2 \7 Q( o, G* i! j9 R
  28. TAY
    , C. C, ^. H& z
  29. PLA
    # ]7 O1 x  o  T. D3 D! D* d; j" _
  30. TAX# n7 s* O7 D# H8 M  d% M
  31. PLA9 {, }% a2 u' U8 T$ I: B
  32. RTS$ ?% Q1 T7 ?( z0 `% x: T  F" }
  33. KEY_OPERATE:
    & i4 L0 \1 W9 R% P  A# t9 h
  34. data_protect:/ p7 h/ W" L& Z- h- d' Q9 O, q3 k
  35. PHA& K# D3 I" d7 s* E
  36. TXA
    9 T& W7 \( E) n6 t$ A
  37. PHA
    9 y4 d, c2 r! r, Y7 f3 U- Y0 o7 E9 W( P
  38. TYA- k9 `( y( n6 t* B4 _
  39. PHA1 V+ i: o+ [4 U! D. R6 a
  40. 6 A$ p  N+ |' v8 [2 H1 I2 \3 n& q  `* C
  41. FLAG_CMP:' ^; f) }8 x4 r/ F1 o
  42. LDA $600F
    0 \* ?; S8 w: g4 Q& Y
  43. CMP #$7F    ;标志数据初始化条件判断+ q) s: V$ Q8 I& I7 D
  44. BEQ pause_cmp9 b7 y$ e5 z/ p4 r0 ~6 T
  45. LDA #$800 Q2 ]$ _0 a7 r1 i- l4 }8 p& ]: ~
  46. STA $A001    ;6000-7FFF写入启用& y5 h2 l5 U; G( p
  47. LDA #$00
    3 \. p# V5 N0 `7 h) P& j7 D$ J
  48. STA $6000    ;数据初始化, k' F& @5 w" Y' |/ F8 F4 S
  49. STA $6001    ;数据初始化: @& Q; h: |( J) Z- w+ r
  50. LDA #$7F0 R0 y+ W7 e- c2 F- j& O3 x
  51. STA $600F! f9 F# e% Q/ [) ]" N0 t4 e
  52. pause_cmp:0 r; @/ T' ^# q
  53. LDA pause
    - i1 X7 `* o  t5 N; F2 O- E
  54. CMP #$012 ?/ y$ S# q& {9 J
  55. BEQ button_press
    7 e: H+ I5 G+ y& h% _; I  Y
  56. PLA
    ! d  F9 |/ X$ |% o2 \
  57. TAY* h6 \5 t! V& R  F1 f
  58. PLA
    6 I* `0 u7 O; x4 u) H. h! S
  59. TAX2 b% V! x. S& t) A) a/ V
  60. PLA6 e; O) w- M$ Q
  61. RTS
    $ ]8 C6 [7 ]- A2 @" j# h3 w) B
  62. % O% N4 p4 w: @1 a4 c+ q% K
  63. button_press:
    " D+ m' G9 A0 i4 ^
  64. ini_Y:% K: r0 K; n/ O: g* g1 K. {! P
  65. LDY #$00, o3 l. ?9 E6 z9 N4 l. Z1 P
  66. button_cmp:
    ( T, c- O& V$ I7 z1 |% ~
  67. LDA button,X
    ! [0 }6 ]# A/ O1 f
  68. CMP ora_data,Y9 ~# M2 P/ t& i) c# q' z$ `! k" `
  69. BNE count_Y_cmp
    # m$ R, z+ T, o& a( R
  70. flag_cmp:, v, `, M# ]# }( @2 s/ U
  71. LDA flag,X" w( V5 \# A: f
  72. AND ora_data,Y& X6 E/ V, j! m5 r) z# H
  73. BNE flag_and, k) i8 y0 \# P5 x& K' }/ o
  74. flag_ora:6 ]8 ~) V( w. `4 o* p
  75. LDA flag,X
    8 b$ z2 H4 @9 V# H# ?7 m! y
  76. ORA ora_data,Y
    # P1 _4 g. O) {" e. z0 p
  77. STA flag,X
    9 y, V/ i. R& W" \
  78. BNE count_Y_cmp' I- ^: A! N' g- a  r/ H& z
  79. flag_and:1 b" r( g& |# _  A
  80. LDA flag,X
    8 W6 k# L! ?. r; u7 \
  81. AND and_data,Y
    ! {7 ~6 O: F6 K3 s
  82. STA flag,X! _4 z0 v. K! h0 q8 N
  83. count_Y_cmp:
    4 k6 V( t/ g6 B" x9 ?3 @' h
  84. INY
    " E; v7 J$ X& Q" ?; w
  85. CPY #$08, _# q. p4 V0 K8 c
  86. BCC button_cmp5 \- R& ?1 Y* @/ D* [0 c: x' Z( Q" j

  87. $ e4 p6 J" y4 D4 t
  88. data_extract:( G8 ~% f9 t0 v" Z# q
  89. PLA
    3 Q( t! }4 ?! s8 f- a
  90. TAY
    5 {+ ~6 P; M; }
  91. PLA
    ' l- [/ W. Z, A
  92. TAX
    - r" K% P: N# |1 O$ }5 W
  93. PLA7 Q. I! o) x- V6 D" ^
  94. " m6 x  i, `6 g5 j4 A6 Y2 {) F
  95. return:
    1 J; d3 k: O, e2 q; @
  96. RTS! n% w$ y+ R4 ]6 ?
  97. " @9 B  W$ _6 V+ Z+ R, B; W
  98. 5 r' [' Z8 x% i$ t# `
  99. INV:    ;无敌& D, J  `2 Q) Q" ]) [7 ?' I  n
  100. LDA $6000,X7 |' n- s/ B- I( [5 W6 D
  101. AND #$089 r- h9 n, l# t- t& Y' F
  102. BEQ INV_RTS& U, ]% y: m, A1 o* P( n* r
  103. LDA #$05" K% I$ V3 j; n! o4 N- s
  104. STA $04FF,X7 Q6 R6 _5 t0 w3 Z# D  Q( o- H
  105. INV_RTS:/ \; }1 O# u) N0 u' s
  106. RTS
    ! s+ h: B( G1 x4 P

  107. " G# i! {$ e  K( `- |
  108. ( ?  t- K, }+ d2 e- X8 ?
  109. LIFE:    ;生命) q* j. M  R1 I: K; M2 V
  110. LDA $6000,X; h* K! t* |5 m( W6 a# ~
  111. AND #$04
    , s  [* O+ ]) R% C5 Y- \# @" h
  112. BEQ LIFE_RTS
    4 L; c6 ^6 ^8 {! p# v
  113. LDA #$097 R" t* {; C, W  h! Q
  114. STA $6A,X- V6 I2 j, x# `
  115. LIFE_RTS:- f" f# p0 ?2 |% T6 z
  116. RTS
    ( j( X3 l$ c  l

  117. 2 s; ~: A, }! ~

  118. 1 J" @( u& \& o* V- M( `+ P
  119. BLOOD:    ;血量
    * V& L7 f! r/ f' n
  120. LDA $6000,X
    8 j1 u6 w( |4 {# {
  121. AND #$01
    % z1 O- c, v, ~  V
  122. BEQ BLOOD_RTS
      H& M: l. @; z4 N1 v
  123. LDA #$7F
    % j+ l0 {" n1 a  q; k1 G; h+ |
  124. STA $04F1,X! E! H; B& u& l
  125. BLOOD_RTS:
    9 U3 }, d4 P9 h5 c& q3 F& p8 N
  126. RTS2 o( r2 k) x: G9 \
  127. 1 F' K1 b. \8 M! H# U' G
  128. " y# f9 w! F! R6 U  c( G" F
  129. , K) I+ L  B9 d* Q
  130. $ R: j7 I0 s) @/ O. }5 q# V
  131. .ORG $D29F6 v$ {8 |9 Q: ^" `, {* o9 C
  132. JSR $FF80
    " t2 L! D( v% C! J$ O( g

  133. % T* k' a8 M" O8 B& l
  134. .ORG $FF80, U! l  s" E+ A/ n' E
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀
    * F3 Y9 _7 `" F3 f5 T0 _
  136. STA $0628
    4 S8 p; ~2 G& n
  137. PHA/ q# {& C( \& Z
  138. LDA $6000/ Q' l/ U2 c# M& B1 |' U
  139. AND #$40
    ; ~2 h  c  Y0 A3 B
  140. BEQ ADDRFF8E! g  I( k7 s1 B7 Q
  141. PLA
    ) q0 c- [' ^) o# V" y! h
  142. CLC   ;敌方死亡状态判定
    - h! u; T  A4 B- K+ I
  143. RTS' g' `& A7 T1 G( _# o, P% J7 G
  144. ADDRFF8E:" @# \/ Y1 b7 P
  145. PLA
    9 G$ ?2 _8 L# W' j
  146. RTS' ]9 a4 O9 P- p8 y3 S
  147. 2 s  M3 Z4 v! ]

  148. 3 M8 _9 x7 p+ Y9 f0 F
  149. .ORG $D1518 R& V' C' m8 O, m
  150. JMP $FFA09 e" g0 J( }" h3 m

  151. 8 }& e7 W! @5 x1 k7 D5 _
  152. .ORG $FFA04 d+ P" y1 H" n2 M) O
  153. KILL_BY_ONE:    ;杂兵一击必杀
    : T% {/ P" ^, W6 b
  154. STA $0621,X
    3 ^: w+ O$ V( P- l, M& b" a
  155. LDA $6000  `: [; I6 ^) r( _
  156. AND #$40
    1 T4 s/ n3 c6 _; W9 h
  157. BEQ ADDRFFAD" ^) V" X; b1 {7 \' Q% T* r
  158. JMP $D19A   ;敌方死亡程序跳转
    5 P) R' b& E1 a% l1 {
  159. ADDRFFAD:+ D9 R: v2 @. A1 B+ U
  160. JMP $D154$ Z: e4 ?! n2 I  Q, c: Q8 Q
  161. - u% h( _) k8 j) L4 I! V9 K
  162. % M/ P- d+ K, G  j( k0 I) T( `( g! ?
  163. .ORG $A7F6+ y& W8 {# \! Q1 C
  164. JSR $FFB0+ `4 u% J3 j& w  i
  165. + Y0 Y* ]) m' @3 y
  166. .ORG $FFB0    ;全屏攻击# K7 S% l; q$ v/ n% \# `
  167. PHA
    0 D- P. q* h2 k& v+ a" C
  168. LDA $6000$ L7 c5 i0 k' d: ^
  169. AND #$806 W9 b2 K$ L5 r. g
  170. BNE ADDRFFBD
    $ P& y! K8 N: Q" x
  171. PLA" ?# c/ C- _4 H3 b( p# T. U
  172. LDA $00157 r, ^- [0 T& e5 t0 }
  173. SEC
    + x& s7 v2 G1 u/ B4 q% ^. ~1 y
  174. RTS
    1 E" n# G! j$ D' w: v" r
  175. ADDRFFBD:6 J0 t( |: `8 t/ ?' \# c
  176. PLA
    4 [9 Q) j8 E, k* A  K* H6 u& _0 A0 M8 h
  177. JMP $A826
    / @" o5 r) X# e# t; [

  178. * x0 ^* W* M, e* n7 }  r, m  S7 I( C
  179. 9 ^2 E2 V( E/ M! v2 F) `% c2 I
  180. ' k. C1 @- ~+ y) ^) A
  181. .ORG $AA6A! F3 }# Z, ~( y( L- e2 p3 p
  182. JMP $FFD0
    7 c$ I. g* p" I& q1 q/ Y) ^- z
  183. 9 b, f  K+ p0 H2 H# \5 ^4 s0 D' g
  184. .ORG $FFD0    ;敌兵动作忽略1 F+ `9 C* s* ^$ n& ^* b+ V
  185. PHA
    3 v% X  ?0 ~* b! K4 |: b1 S* q3 S
  186. LDA $6000
    ) ?$ \( W9 o. D3 K
  187. AND #$80+ z6 Y$ T4 G& J& L( i
  188. BEQ ADDRFFDC$ A4 t! A' B! Q6 y% D+ a/ I
  189. PLA
    $ y' W! z5 B* ?4 d2 x
  190. JMP $AA72
      T$ ?/ x2 D$ e7 E  {0 a# q! F5 o
  191. ADDRFFDC:. E5 \( L0 X1 v2 c7 y
  192. PLA
    . s& V* v+ v0 n& |
  193. LDA $0629,X
    4 T+ @- o, T0 h4 O, Y  p
  194. JMP $AA6D
    , L7 M# \4 \/ D# G0 ]

  195.   ]# G* ~6 A! x0 w1 |! O
  196. ;[FC][忍者神龟3代标题选关程序]0 L% e  L+ v! G5 H) o! C
  197. ;作者:FlameCyclone 2017.4.1
    6 A, y0 C8 ?. i8 ?7 Q) N

  198. . U* i  b+ @' X" v) u

  199. - [( O- }( K# x! _' x' N# B
  200. ;配置数据+ f7 D/ m) N4 H/ t* K6 O, z
  201. KEY_ADDR = $F8    ;按键地址4 X$ c* X5 Z- ^0 D. L& |5 k
  202. STAGE_TEMP = $6010    ;关卡临时地址4 e" Z/ m( Q# @5 [3 G# }
  203. STAGE_MAX = $0E    ;最大关卡数+ c9 ?& [3 F- r
  204. TITLE_A = $20    ;标题条件A
    7 \1 w# L- J5 s" _) i: i, Z# a5 L
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    , ]9 u3 E/ z+ \
  206. TITLE_B = $21    ;标题条件B
    8 K8 N6 P. U: O8 u
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定
    % j0 w: g2 v4 u( W
  208. PPU_END = $FF    ;PPU结束符
    0 F7 k: a% ~# A
  209. TIME_LAY = $4A    ;标题显示延时地址
    5 \' J4 b  l9 T- i( a% R, k# r
  210. BUTTON_DEC = $42    ;关卡减少按键  F' |9 w& n6 p+ M- i) x+ Q0 X* C
  211. BUTTON_INC = $81    ;关卡增加按键7 s7 F( M6 y, p2 n/ s3 }6 X; q
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量3 N5 g( O* A1 P( z( Q* r
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    7 g5 {  K! V+ P# w) [
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位6 u! {4 o! A+ J$ ]1 Q2 ?. v
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位
    1 `* I/ ~' d3 p+ n
  216. CHAR_S = $A2    ;字符'S'% K. F( K; [: V' O
  217. CHAR_T = $A3    ;字符'T'# o; d" y5 A  [- {# B0 B
  218. CHAR_A = $90    ;字符'A'6 ^' P! T: @0 ]5 N9 [
  219. CHAR_G = $96    ;字符'G'# I6 _+ o1 p$ ~# i7 ?1 R
  220. CHAR_E = $94    ;字符'E'
      n3 e( m- j) d$ E6 u5 c
  221. CHAR_SPA = $00    ;字符空格
    & z8 e' |$ H5 I* t( l+ w1 y5 E) e# {
  222. CHAR_LIN = $AE    ;字符'-'
    % U6 ~- p: F6 w1 \/ Q5 ?
  223. CHAR_O = $9E    ;字符'o'
    . A2 L3 v, Y  {& y) u* _, \
  224. NUM_1 = $81    ;数字'1'
    : w. ]0 {) |6 l9 w
  225. NUM_2 = $82    ;数字'2'
    7 h8 H0 Q* S2 x6 D, x3 r& f
  226. NUM_3 = $83    ;数字'3'2 q8 C- i, i2 i/ Q
  227. NUM_4 = $84    ;数字'4'; b% n5 M3 C/ N6 U5 Z$ N' m
  228. NUM_5 = $85    ;数字'5'
      G2 Z3 E7 D9 I# L3 A& X* \
  229. NUM_6 = $86    ;数字'6'* q2 c- k+ i: O# x7 r+ x0 ^
  230. NUM_7 = $87    ;数字'7'3 `/ r9 U4 m5 h, Y
  231. NUM_8 = $88    ;数字'8'7 y: ^, U2 W( c$ o: {% v
  232. NUM_9 = $89    ;数字'9': k) B# @2 J2 {/ y; b
  233. NUM_0 = $80    ;数字'0'$ e& p2 E; k& O' [3 x' u' i7 s
  234. 9 W$ ?, Q+ W' l/ k% v
  235. .ORG $F82A
    + B) A  x  ]* Z9 h
  236. JSR $E700; n3 ~2 Z7 F. z2 K2 d, o  H
  237. ; B2 K: v% m! Z

  238. 7 E+ e- P4 @0 w1 ^
  239. .ORG $E7006 J: ~! E. D; C" b
  240.   ( g3 E9 m! l0 Z2 {- j$ @: o
  241. STY $4014    ;补上覆盖的精灵写入指令
    4 ?# p. _* K1 [$ Q" @9 l
  242. PROTECT_DATA:    ;数据保护; m$ Y* u, d1 ?0 r$ u  n
  243. PHA    ;数据保护开始) n) G# g" {  ~8 E# |/ e& Y6 {: `
  244. TXA# j# G  o% x; z- Z1 w$ d0 N
  245. PHA6 L9 U4 p# j" o; b
  246. TYA; z2 Q. l8 n) b/ p* M
  247. PHA    ;数据保护结束
    7 R) {2 Q7 C; m0 `% M/ z/ x
  248. LDA TITLE_A
    6 F6 I- `) N- i
  249. CMP #TITLE_A_ON    ;比较是否为标题画面
    4 w, Z" F# N# r+ M5 u) ~/ M0 B
  250. BNE RET
    ! O  z% h  |9 w" _; N+ P) t7 Q8 X
  251. LDA TITLE_B
    ' n, v! G" u4 X! ?. Z$ s+ L) C
  252. CMP #TITLE_B_ON    ;比较是否为标题画面! M9 \  y. B; [9 y" m' ?0 H
  253. BEQ PPU_STAGE
    9 S0 I; |* z4 |5 Q1 o
  254. RET:    ;恢复数据
    * Y9 l& r/ n9 }2 h* U, ]
  255. PLA    ;恢复数据开始
    " f1 x. J5 x3 A" t. Q# [8 M! X3 G
  256. TAY
    8 u8 h& ]0 l- T, y. N
  257. PLA
    & \" I3 ~: V4 V# p
  258. TAX6 {# s" z2 h$ z$ r
  259. PLA    ;恢复数据结束) k; ~- W6 ]  I
  260. RTS    ;返回
    5 w: y6 }! c9 h3 T3 V' \$ [0 [
  261. PPU_STAGE:    ;字符STAGE写入程序: y$ B2 @* b5 M. W7 R
  262. LDA #PPU_ADDR_H
    : |2 u2 Y0 y& O! I
  263. STA $2006    ;设置PPU字符写入高位地址
    8 m% x" i+ A. V, T% R! d
  264. LDA #PPU_ADDR_L8 W: h) b0 `: D9 J
  265. STA $2006    ;设置PPU字符写入低位地址
    7 s- I5 g7 B$ m# c6 H6 t
  266. LDX #$00  e* |8 |9 m& V) J
  267. PPU_STAGE_WROTE:    ;写入STAGE字模
    9 @/ e1 _# Y. V% U4 _3 q
  268. LDA STAGE_DATA,X
    - f" D- e+ E3 t; m0 ^3 ?5 W/ {
  269. CMP #PPU_END    ;判断是否写入结束
      r9 _: c7 }: E) v
  270. BEQ STAGE_CMP
    ( V/ O/ J" _7 Q* H% w: {
  271. STA $2007
    , }5 D* ^# |3 o
  272. INX
    8 o" _  b& `# M
  273. BCC PPU_STAGE_WROTE/ g$ s$ t3 E8 Y1 P/ ]3 O
  274. STAGE_CMP:    ;选关操作& w2 a  Y4 v" t/ A0 n7 }
  275. LDA STAGE_TEMP  `& H+ s* Q9 d
  276. CMP #$FF    ;关卡数据初始化条件判断- e6 V9 X" d7 L8 n  T" m
  277. BNE KEY_B
    , x7 Z; F0 F0 S2 D& A% e+ v
  278. LDA #$00$ ~  o+ ?+ e, n; o* d
  279. STA STAGE_TEMP    ;关卡数据初始化8 t* }0 Z9 [, D. T2 ^1 \' x+ M. T
  280. KEY_B:    ;关卡减少
    # O+ p) t0 |7 z- e9 B, L5 |# K
  281. LDA KEY_ADDR
    ' o2 s% e0 E) |$ G2 ]5 H3 ?3 f
  282. AND #BUTTON_DEC    ;按键B或左减关( P" A) J8 G" L& Z* v$ p7 X
  283. BEQ KEY_A+ W: R9 k: K2 G
  284. LDA #$FF  \. R3 Z2 N4 q: W( t- j
  285. STA TIME_LAY    ;重设标题延时  L/ ]; L* ^8 W5 L9 T
  286. LDA STAGE_TEMP5 x; k6 P5 M1 d! V
  287. CMP #$00    ;关卡比较9 f( @3 V/ [7 {$ k5 _3 B
  288. BEQ KEY_A
    1 ?& F  H! w( Y
  289. DEC STAGE_TEMP   ;减关
      ]: A; |: x/ \( I
  290. JSR MUSIC    ;按键音效& k3 X8 T; t. @) c! W) O+ }# k
  291. KEY_A:    ;关卡增加
    1 N7 U& D4 _, k  S) o  M9 ^3 K0 F
  292. LDA KEY_ADDR! p" f5 W/ \9 x- R
  293. AND #BUTTON_INC    ;按键A或右加关+ V$ M. e6 R) N8 H1 O7 \
  294. BEQ PPU_NUM_WRITE( x5 A- M5 X( A& n
  295. LDA #$FF9 J' r' M6 w* Q3 b( R
  296. STA TIME_LAY    ;重设标题延时
    7 y) r4 ~8 {# X8 ?% Y# s
  297. LDA STAGE_TEMP  }( y/ x9 E. |0 Z" p# H
  298. CMP #STAGE_MAX    ;关卡比较
    . d6 |6 k( Y. [( M( k5 a+ z/ g
  299. BEQ PPU_NUM_WRITE
    ( T) k4 E7 m) x1 b5 N0 N
  300. INC STAGE_TEMP    ;加关
    2 O# V. y3 }7 ?& x% K
  301. JSR MUSIC    ;按键音效
    - t% T' M+ u6 S+ Q7 v% F
  302. PPU_NUM_WRITE:    ;关卡数字写入地址) q3 R( f% i8 V5 c
  303. LDA #PPU_ADDR_H
    3 q* {- @; y& K+ A. Y* C! f% O$ ^- f
  304. STA $2006    ;设置PPU数字写入高位地址" ^) x2 ^- e9 ~( I: A1 T# T1 N
  305. LDA #PPU_ADDR_L9 ~. E; x5 t% E3 d7 h( X
  306. CLC3 r; v( c/ S/ [8 E* ~, i; [: }
  307. ADC #NUMBER_A
    ( F' W. P  w2 j( E
  308. STA $2006    ;设置PPU字符写入低位地址
    3 C$ D3 S' k! B; j3 _9 w  W
  309. LDA STAGE_TEMP" u5 a5 a( `# g( {! ^
  310. TAX- p) X# H0 W1 n6 J5 L
  311. LDA STAGE_D1,X    ;写入数字6 [  I! l" h4 C5 D+ ?
  312. STA $2007
    - N$ |# F$ S- W7 }  x
  313. LDA #PPU_ADDR_H2 V  c2 |' g5 k1 l6 M; Q1 Z
  314. STA $2006    ;设置PPU数字写入高位地址# U. o( x( r" O6 t3 e  `
  315. LDA #PPU_ADDR_L, I2 }+ H; I( u  I' e7 S6 {
  316. CLC$ X) L$ l. x$ {# ?, |
  317. ADC #NUMBER_B5 f+ \+ p% U  D9 N8 \0 T
  318. STA $2006    ;设置PPU字符写入低位地址
    7 {0 U% x0 e" q& i
  319. LDA STAGE_TEMP0 b- |1 k3 t4 ^6 L+ Q. u
  320. TAX6 Q: ^+ O' \' [8 u+ O- Y" F
  321. LDA STAGE_D2,X    ;写入数字1 A% y& `/ Y7 ~' h
  322. STA $2007: |7 v5 ~- ]( X' B. u" q2 G
  323. STAHE_WRITE:8 q. T4 p" n  @4 [9 A/ c7 z
  324. LDA STAGE_TEMP0 N# P( m. ~, R2 y+ j. \8 U8 X: x
  325. STA $2D   ;初始关卡写入
    0 _) c7 O5 g; `8 ^
  326. PPU_RTS:    ;恢复数据/ j8 ?( t2 h/ R, h4 L: ^4 ?
  327. PLA# ]. C7 @6 W% f# C. Q
  328. TAY0 D4 b) k$ h9 c  w
  329. PLA+ @/ N/ {) O9 q0 F1 |" Q0 @% c. i
  330. TAX- z: A1 S6 `& N, U/ }( }1 H& N2 d
  331. PLA
    ( y' D! j* t* t$ b+ c" C; I
  332. RTS
    * g$ f( b$ j, N2 A: N0 D
  333. ( C( ?  G6 {; O% K2 Q/ J
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据' V2 O! W/ J7 @2 |2 W7 Y
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END; J! J, z2 I9 z1 V4 B
  336. 3 l# T% d, s, i* k4 H2 h, m6 @
  337. STAGE_D1:   ;关卡数字7 z, x2 P4 s5 g& g7 Q1 n- v9 r( H: i
  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 W: t3 g  t& P+ W& v" b- \- R
  339. 7 U: ^0 ?) F- P' D3 i# L6 L2 U
  340. STAGE_D2:   ;场景数字
    , @- M) r! T( @* a. ?( p/ }  T. R$ q
  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
    4 k7 q) Y, f& R0 l, R

  342. # m) j, Z6 X/ B8 K
  343. 3 ?: C* p2 ]. Z
  344. MUSIC:    ;按键音效; l$ ]3 J5 f. i7 ]: e/ S9 s4 G
  345. LDA #$3B    ;音乐号
    9 ]: y$ e" e/ ^3 f( j, I
  346. JSR $919E    ;系统音乐调用& |- W, M8 q8 c% Q
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;/ F. j  y3 _3 c8 Q9 A! e0 E$ s9 D# d
    5.生命加满:   暂停后,按下键切换;
& s: U; v8 g7 n6 y    6.血量锁满:   暂停后,按右键切换;
  X. u- R3 T6 g" m9 K, s9 X0 w5 k( P2 x; k: ~
6 B* n, H0 o# s
( H; W) c  ]. q- g
, {" d! b+ I8 d6 K
- S6 v' w8 e. D
FlameCyclone.ys168.com& e, M6 a  x2 [* P- t8 T
www.nesbbs.com; u7 i" ]" G; F3 h# F  Z
游客,如果您要查看本帖隐藏内容请回复
9 l) i/ A" z: i( R6 h) q/ C

本帖子中包含更多资源

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

×

评分

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

使用道具 举报

签到天数: 1414 天

[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 | 显示全部楼层
老规矩,先回后下!!!!!!!7 Y5 H4 _# A0 s: F! b6 r
回复

使用道具 举报

签到天数: 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 20:02

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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