EMU618社区

 找回密码
 立即注册
搜索
查看: 2300|回复: 57

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑
$ Z. a, k: q4 N& H9 g, Y! M1 X$ f- x. D
[FC][忍者神龟3][END选关]4 \0 Y/ [" e2 D! H8 E  W
$ R. G8 `1 e. Q( c7 ~  W
时间:2017.3.30
+ s7 s; Z/ P1 D7 _+ m作者:FlameCyclone) D. F. R+ e. e7 ^9 B. \# S
内容:& p3 l8 ^% q9 S7 f  h7 e, W
    1.关卡选择:   标题时,左或B减,右或A加;
8 W  d! E; N! a5 o" V( @7 m    2.全屏击杀:   暂停后,按A键切换;
4 `5 a$ {; W! a5 g9 z    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0
    * }9 t! O5 G. G3 o
  2. ora_data:
    $ G# @+ {' N& N* T. W
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10- W, V  }) Q' L: d
  4. and_data:
    % {6 x; M) B& V" G. Q
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF4 \- t- K! R& r4 Z
  6. - X; d; k0 T4 O( N. w
  7. button = $F8
    ( q; c7 I& o0 \. h0 Y5 Q- j) s
  8. flag = $6000  A$ S9 R- E0 ?
  9. pause = $0045
    / t& X* g' t& h( Y) M
  10. * F( X& X) q. O4 ]) }& |
  11. 7 x- a1 i% V/ l7 o8 K  V
  12. .ORG $F90D
    " u5 }& Y: G: n. P3 x
  13. JSR $FEC0
    0 |& _1 Y8 h5 E# @- L( i0 I! d

  14. 7 `. M$ F5 H2 o4 |# s1 a5 f& g
  15. .ORG $FEC0
    8 ?, e+ G* Q8 m/ D! y$ y0 v
  16. STA $54,X
    1 R' u1 k  e  c0 Z0 P
  17. STY $FA,X0 W8 R  v$ y5 l5 t# E
  18. PHA
    . B9 {' J4 w6 y2 s/ Z  K
  19. TXA$ m4 c8 I: D2 F
  20. PHA
    $ z7 Q5 _0 t: O
  21. TYA
    $ z/ c4 G  n  }, v; v+ ~  e: T- E
  22. PHA: ^, }  N8 T# W( Q  X2 J$ _
  23. JSR KEY_OPERATE
      k7 Z' d* `2 y' y6 J: l# w6 o
  24. JSR INV8 d' }& Q, G8 ?$ o  g3 X2 P) B. l
  25. JSR LIFE
    9 I3 V) r0 w  r' D- }
  26. JSR BLOOD
    : N  t, ]0 s: ~) I* ?0 Z
  27. PLA0 n5 g6 a( T3 K! N
  28. TAY
    # R1 E0 d# E1 M* g0 n# G
  29. PLA7 R  J1 B3 O$ \8 C6 \. v
  30. TAX! X% Q8 t5 K  c' z1 c& ~
  31. PLA
    ) x( |6 W) R5 M
  32. RTS
    1 Q3 J+ T7 M' S6 p1 v# K' Y( F
  33. KEY_OPERATE:$ p( x! S- x8 }- L0 v! g+ w9 @2 ^1 X
  34. data_protect:/ V5 t  c1 E% R" W
  35. PHA
    ; N: h2 C" G6 d8 H3 p6 y0 V
  36. TXA
    8 Y: X9 N& B+ W. z8 V
  37. PHA
    : j* e" L; {% H/ v$ j+ X$ q3 r
  38. TYA. Q0 W, p6 P4 F2 }7 q( s- O, _) J
  39. PHA; H; |, O0 ^2 @2 [8 J
  40. 4 e3 b) ?! o4 _/ `* e' L9 Q; V
  41. FLAG_CMP:% H& X/ F& J) `. D" O% e( |
  42. LDA $600F
    : f5 s: ~3 U+ E! v7 J3 b+ o! c0 z. y
  43. CMP #$7F    ;标志数据初始化条件判断9 H" {) v9 {3 C. a9 y
  44. BEQ pause_cmp' X; |0 H; Q+ _: ]. I2 @
  45. LDA #$80
    7 @: O# D1 R- \4 G* E
  46. STA $A001    ;6000-7FFF写入启用
    1 Q1 ?- b5 e: N
  47. LDA #$00* z. d/ a3 J) ?9 {7 o
  48. STA $6000    ;数据初始化! C$ P* R* ?4 E' y  {) e
  49. STA $6001    ;数据初始化
      c: M1 a4 j3 l8 x1 r
  50. LDA #$7F
    9 Q1 A7 S0 m7 v) u
  51. STA $600F
    ' q! Q( I) ^4 H# S7 i
  52. pause_cmp:
    6 r3 H# {! L! E3 F/ f& s
  53. LDA pause4 Y( B1 {: ~6 E% k/ @9 N
  54. CMP #$01
    ; R* e2 h1 u1 q# t( t7 G
  55. BEQ button_press  m/ M, ]8 q+ @% x& R  {
  56. PLA2 _" e# ~: d! d9 l# ?0 \
  57. TAY
    / \- P: x" o' k" q) h9 B( j( N
  58. PLA
      o' g+ ~  c* C
  59. TAX
      d8 {0 Y6 g# L5 p
  60. PLA
    6 X: I2 Y: [& T$ b4 @0 P
  61. RTS
    4 F8 q$ J2 {9 v0 j+ t6 e

  62. 3 A0 x0 u$ g+ Z8 x$ x
  63. button_press:
    # l6 j/ t( U( L! ?
  64. ini_Y:  f* Q) `3 l" z9 r9 F! h
  65. LDY #$008 @0 ~! r! Y" U1 c
  66. button_cmp:4 S( |+ z, G9 _( g, R  c/ W
  67. LDA button,X+ m! J, }4 A+ Z5 j1 q
  68. CMP ora_data,Y
    ' b- W$ S: o6 d8 _
  69. BNE count_Y_cmp
    8 B5 m8 _8 B- J, s; z& S4 N
  70. flag_cmp:
    + R2 X& _0 f  i3 I! T7 @
  71. LDA flag,X
    / }# T* [0 b$ T) j8 q" g8 w
  72. AND ora_data,Y
    8 f. e* ~/ D4 }9 I% M
  73. BNE flag_and. U3 S4 @+ d) V
  74. flag_ora:
    * l" g9 X$ W" x8 g# x- d
  75. LDA flag,X  \2 a1 ?3 D" G5 O  c: F
  76. ORA ora_data,Y
    * }" l; k! X7 g, c
  77. STA flag,X1 o; S5 `: L) N7 R
  78. BNE count_Y_cmp
    % |7 t. B, O9 Y/ D7 A1 y
  79. flag_and:
    9 T+ |( S  B( |* A$ H
  80. LDA flag,X' q' L3 c9 ~; Y. E5 b7 j. s4 I
  81. AND and_data,Y3 _& {# G8 J/ A) E% W0 [' k
  82. STA flag,X
      }1 Q8 D. _! F7 @" [" r* o  a
  83. count_Y_cmp:
    # {3 Z6 g- `* Q" Q+ r1 {
  84. INY
    * ~6 Q: q* o9 o+ g. i
  85. CPY #$088 f) s( a& _. d5 w
  86. BCC button_cmp. V" D& D# g, F
  87. * d4 Y5 `  H2 b# r7 z/ J6 ~0 @( f3 A. z
  88. data_extract:
    8 A/ I. H: @% C6 v$ k6 Q
  89. PLA7 s4 ~) D: b+ O# R
  90. TAY3 b1 C/ d9 |/ x' @4 y
  91. PLA- F( q, C5 s* M. D6 D( x0 k
  92. TAX
    / \$ t! O  E+ a: Q
  93. PLA8 h4 E  d: g6 |0 H6 s& Y- d

  94. 5 O& n  ?4 B0 }! V& ]
  95. return:
    6 s; j: _2 y1 p
  96. RTS* y% ~9 k) p$ T/ C5 G
  97. . D, y, L+ j& J3 h. b' R
  98. , u) Q7 }# W2 d, b0 B2 V+ ~5 [
  99. INV:    ;无敌
    4 w% ?3 c) b) i( A' L1 F: G. ?
  100. LDA $6000,X- m3 h3 o2 G, \
  101. AND #$08
    9 s1 m: p8 X+ H0 s
  102. BEQ INV_RTS0 c3 B: k  t0 v+ t9 ?: |) l  F( k7 W
  103. LDA #$05
    . K* `- z8 I% u5 u- P9 q8 s
  104. STA $04FF,X
    1 l# [/ [9 s& ]/ K; o
  105. INV_RTS:1 G0 r9 m1 N* y, a/ u
  106. RTS. s# b; K. F4 L$ x8 r  f3 I6 X
  107. # K( n: [. r' h7 y+ ~2 J  T: i

  108. / W9 V, n. ^" ~' S/ f; m
  109. LIFE:    ;生命$ R, j, }' L, [- K, n9 Z
  110. LDA $6000,X$ O; X" L  M, c" B0 m7 P- c
  111. AND #$04
    5 w* [; s; A6 O4 f/ ]' O
  112. BEQ LIFE_RTS  \! l4 {; X$ ~" T- \- i# v2 Z& |  E
  113. LDA #$09
    / i9 P& N- J# m7 a
  114. STA $6A,X
    ! J) Q% p: r$ Y: l3 |5 x# L
  115. LIFE_RTS:
    3 y" J8 c( a$ G% [
  116. RTS; S/ X) ~! Z6 [- o8 |# I  K

  117. 7 H) B2 X8 n$ h& j; x/ m; D0 B

  118. 9 B8 E, P# f- p% Q+ |! V) P
  119. BLOOD:    ;血量
    ( W4 K. R0 L9 l+ K$ h; j
  120. LDA $6000,X0 r# k3 ?3 |' g- E( ~
  121. AND #$01
    + |% @8 Y% o% s$ T
  122. BEQ BLOOD_RTS( ^9 G9 m0 s: c# J0 {2 F
  123. LDA #$7F
    $ D- l4 D3 U, w" }4 x
  124. STA $04F1,X
    1 w  l, O# G1 p! K" f! Q2 V
  125. BLOOD_RTS:
    6 Z3 W3 h- _2 q: I
  126. RTS
    ! k# J9 W$ [. X2 y* P  O% B
  127. 2 u7 N8 g6 n* N& o% U
  128. 6 @! f: m, B' O# W0 Q
  129. + {- B- X  i6 Z9 J
  130. . U) f+ |' _& m# j5 d$ c6 a+ r. Y
  131. .ORG $D29F1 A3 P2 Z) y" k& g! F% y2 O
  132. JSR $FF80
    " X# P: ~& O1 s3 S
  133. 3 u7 i  `4 U9 P, l" }( v0 R
  134. .ORG $FF80
    2 E9 n( T7 f. K) B
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀
    . @6 v8 R8 v  n7 B6 N. p
  136. STA $0628- `9 |4 P7 ?: \1 d, R5 o- M
  137. PHA
    * Q# U1 K2 B9 F) Q% e  |! k/ S
  138. LDA $6000+ }% z! Z: ?' l
  139. AND #$403 Y! {& d9 G. M4 z/ V% H
  140. BEQ ADDRFF8E. m. |0 s- d* ?/ Y/ A" |, U" W
  141. PLA0 p3 _( Y. v) Q* t; i2 C
  142. CLC   ;敌方死亡状态判定& m0 j4 R) ^: _6 I1 ]& Z+ {* T
  143. RTS
    9 m  x* m4 x* f/ F' a
  144. ADDRFF8E:
    8 W0 q  v2 V# z" d3 O7 H' m
  145. PLA( h' m: L5 w! R4 Q: G
  146. RTS
    6 |, {9 j" w- X1 _1 A1 i( K
  147. . l  V; v; M. n

  148. 7 ^8 G- I' y9 t( p
  149. .ORG $D151: _3 P/ S: E$ j% S  d1 V- `' R
  150. JMP $FFA04 J9 _1 p3 D8 v5 w  a

  151. 6 m) @  n0 h" t5 g# T
  152. .ORG $FFA0
    / ]: F% \4 _% N+ u1 g
  153. KILL_BY_ONE:    ;杂兵一击必杀
    ; c+ M1 w, _, i, p+ f2 R
  154. STA $0621,X" m; k! |9 P- k$ k8 t) Z
  155. LDA $6000
    8 X$ K$ X# {/ h7 r
  156. AND #$40
    6 g/ i4 k0 D, C  n) k1 q4 K. o- b. b
  157. BEQ ADDRFFAD
    : A! `; {6 b2 W" M+ A9 k) B9 h3 b
  158. JMP $D19A   ;敌方死亡程序跳转
    5 b3 E) J) R; H4 v" |5 {
  159. ADDRFFAD:
    - ]" r( f4 k, q) ~3 H# X6 ]6 m
  160. JMP $D154
    0 d5 Z# q, s* w

  161. % N: q' ~) E6 z

  162. : N" l1 \) \6 y6 D9 G/ s& W
  163. .ORG $A7F6
    4 V# s- b5 a" t( O  M
  164. JSR $FFB0
    4 z. U& \7 x5 H" {8 z
  165. & R4 k) I: c# j" {- |4 D+ G
  166. .ORG $FFB0    ;全屏攻击
    , S; }+ W$ O* V& F9 M- w
  167. PHA9 {) L( E- K' ?
  168. LDA $6000
    9 Y% L" ]" j  b7 L
  169. AND #$80: ?0 V# M' j& K. n& J) w; v
  170. BNE ADDRFFBD
    2 {* r. @4 ]! D, T7 e8 a3 j5 A: ~
  171. PLA: w+ e' a# D  H2 _
  172. LDA $0015
    / h, \1 k1 U7 k9 m: W
  173. SEC
    2 k# s6 s9 U5 E
  174. RTS
    3 `! _$ ]: a5 v$ L9 n
  175. ADDRFFBD:
    2 {5 ~. n" @/ K4 l6 H
  176. PLA
    - a9 P) ^/ F8 O# V! D! }, z
  177. JMP $A826; K4 |! {( E& H/ n' e
  178. ' B! K$ S4 D/ o' h+ x, v

  179. - k) ]: b0 X  d9 l2 \# L- L

  180. ' S& H2 r/ H# a( s5 V* J, z
  181. .ORG $AA6A2 d' i1 t; F: T9 N# ^) p# m
  182. JMP $FFD0
    " _2 r% f$ N9 D
  183. , k. x2 F& D- t4 _9 W* B
  184. .ORG $FFD0    ;敌兵动作忽略
    3 u" I/ v, {6 L2 [! o
  185. PHA% j/ c8 G. z' D
  186. LDA $6000
    . S7 R2 l+ v" m
  187. AND #$80; z& S; h& {$ g
  188. BEQ ADDRFFDC
    + F9 Z+ i3 g! p, [; q8 r
  189. PLA$ m/ H! s" L, c/ {  _
  190. JMP $AA72
    1 \, Z9 ]2 `9 c+ w3 T
  191. ADDRFFDC:& ~& o" U  d8 e1 _
  192. PLA, x4 `/ g7 \1 `. p0 u) Z( a
  193. LDA $0629,X
    8 J: R6 c6 q6 S8 k5 X/ E: C
  194. JMP $AA6D
    . l2 W( n* \' y4 c- h
  195. " A/ L3 P& O! l; P% w8 g/ }
  196. ;[FC][忍者神龟3代标题选关程序]
    - v" F9 f3 R4 b$ @
  197. ;作者:FlameCyclone 2017.4.1: L2 R3 ]1 F2 u4 w& t0 g
  198. 6 _& G7 J) I) e, b1 h+ b

  199. + p$ m# U$ w, q7 e
  200. ;配置数据- F4 Z' k7 J  v( X2 n
  201. KEY_ADDR = $F8    ;按键地址, i$ Q8 z% Z$ {* J5 L. y
  202. STAGE_TEMP = $6010    ;关卡临时地址
    9 P# w; @4 J1 }; W
  203. STAGE_MAX = $0E    ;最大关卡数
    - E% h; O8 `6 {5 ?
  204. TITLE_A = $20    ;标题条件A
    3 X) G" ?( G2 F# q
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    1 h, @) f4 W! @. q
  206. TITLE_B = $21    ;标题条件B- U' u+ N2 ~/ y) [: Y2 S& z
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定
    + g" q. {- [; p+ L8 Y0 @
  208. PPU_END = $FF    ;PPU结束符- C9 }* Y/ T9 _, S2 p$ s( i
  209. TIME_LAY = $4A    ;标题显示延时地址) R9 R/ I; t2 ]% q
  210. BUTTON_DEC = $42    ;关卡减少按键2 Y+ }3 Q; d6 U+ g# G; D
  211. BUTTON_INC = $81    ;关卡增加按键
    6 I) V8 z; i( `$ z
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量
    7 t. _1 B. {& q* N1 h
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    9 O/ ]4 p3 T: X3 m. G6 K
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
    ) W+ f$ |/ r8 L# M1 t. ^3 i# y
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位5 M1 k2 C) T9 E3 E- T! _( u, y
  216. CHAR_S = $A2    ;字符'S'
    ( x: q: e4 c$ g) i: w
  217. CHAR_T = $A3    ;字符'T'
    : z1 }8 u9 [5 s) b/ G
  218. CHAR_A = $90    ;字符'A'9 \$ U& c+ z- [  G1 ]7 f
  219. CHAR_G = $96    ;字符'G'
    - B# K7 o  \6 f2 l9 J
  220. CHAR_E = $94    ;字符'E'
    9 q/ b" {, |1 u
  221. CHAR_SPA = $00    ;字符空格& y; I$ A- C) D+ e
  222. CHAR_LIN = $AE    ;字符'-'0 y8 R1 g0 d6 S$ H- e- d: Q
  223. CHAR_O = $9E    ;字符'o'% ~/ w8 o( A4 u
  224. NUM_1 = $81    ;数字'1'
    ' c0 V! x6 M) h9 s! c: |
  225. NUM_2 = $82    ;数字'2'# q# z3 B4 a5 B5 \6 g
  226. NUM_3 = $83    ;数字'3'3 @; l9 I0 Y) l& o
  227. NUM_4 = $84    ;数字'4', i* g  m$ K' e+ a5 R
  228. NUM_5 = $85    ;数字'5'1 T" `. W' U# F: D
  229. NUM_6 = $86    ;数字'6'/ J/ L1 G2 c5 M) n
  230. NUM_7 = $87    ;数字'7'" r" ?2 H: M. F. B: ?
  231. NUM_8 = $88    ;数字'8'
    ! H7 [6 z( Z: v) L& N9 O* M
  232. NUM_9 = $89    ;数字'9'4 x1 U5 H7 e. d0 U3 w2 Q1 D: Q
  233. NUM_0 = $80    ;数字'0'
    3 _1 y  b7 M+ J3 M$ {8 F
  234. 4 k0 r% x! m% R1 m8 f" w1 n
  235. .ORG $F82A) I$ \) G$ W4 ?* |& J; ?: p: H( I
  236. JSR $E700+ D( {/ t) _/ l; b7 y3 X

  237. * V1 j1 k( r. r+ a6 R
  238. 6 n% f" z5 G' X, t' w, m; G
  239. .ORG $E700
    ) x, }1 o; A3 H5 P7 U( f3 _. x8 I
  240.   1 @$ H7 A  A+ d2 _
  241. STY $4014    ;补上覆盖的精灵写入指令( `( n6 n# K5 e% s& X# W. N6 M+ j
  242. PROTECT_DATA:    ;数据保护9 j" m3 F% s' [0 g# O
  243. PHA    ;数据保护开始
    7 N6 h# o3 m8 u; |, [4 E
  244. TXA/ h; Q. Z, Q6 O  N5 Z- K: D
  245. PHA
    # h  k7 l! S" Z* c# r* X- t
  246. TYA. \/ z& F8 y4 K; x- A; Q
  247. PHA    ;数据保护结束8 }9 A1 ?! p& o& k
  248. LDA TITLE_A$ Q! W) @( }+ g
  249. CMP #TITLE_A_ON    ;比较是否为标题画面( ]( M6 e6 W* F4 u1 A* B5 {
  250. BNE RET0 P0 R3 ~' o! F4 P3 j% I
  251. LDA TITLE_B
    * a9 @+ N' P* P
  252. CMP #TITLE_B_ON    ;比较是否为标题画面5 t( ]8 ]2 n* \* m
  253. BEQ PPU_STAGE
    1 f" k: h: C$ V5 I- i0 J! @
  254. RET:    ;恢复数据
    5 r$ w& @: n& G! H
  255. PLA    ;恢复数据开始# ^7 m- y$ y  t. M9 d8 V! D
  256. TAY' p/ D1 ?% D7 i  \" z
  257. PLA5 k& K( v2 @) S$ \) u4 r
  258. TAX+ a3 _- k# g/ E# p5 O
  259. PLA    ;恢复数据结束7 M9 m3 y! K1 q6 T8 D
  260. RTS    ;返回
    , Q# R9 I8 T3 v, g4 u7 z
  261. PPU_STAGE:    ;字符STAGE写入程序$ L' v# }  e! g! z$ C; C  Q2 i
  262. LDA #PPU_ADDR_H
    5 H9 p& h  a1 z7 \
  263. STA $2006    ;设置PPU字符写入高位地址* X; N; J, l& F8 e; ~  t
  264. LDA #PPU_ADDR_L
    , {8 x/ C/ P6 G9 J3 h3 v) T
  265. STA $2006    ;设置PPU字符写入低位地址
    * y3 F1 [/ v& D8 r: Q6 J9 ?9 B% }" m
  266. LDX #$001 c  ]" w. _& d5 s" o
  267. PPU_STAGE_WROTE:    ;写入STAGE字模/ w8 `3 B* Z! |: K- v- q3 K: m
  268. LDA STAGE_DATA,X
    ) p# G5 f: g3 q* Q; m; o2 F
  269. CMP #PPU_END    ;判断是否写入结束
    0 I2 V6 q& z* b! I  z
  270. BEQ STAGE_CMP! P6 |9 p; p- @6 O3 s/ Z7 R
  271. STA $2007* }3 c% V- A3 k/ Q. y
  272. INX
    / q( D" Z+ e# M
  273. BCC PPU_STAGE_WROTE
    2 e9 S& S% d' v
  274. STAGE_CMP:    ;选关操作
    : {0 e; k+ ^, f! t: f/ d, X
  275. LDA STAGE_TEMP
    + t3 \' |. t4 t3 ]# C
  276. CMP #$FF    ;关卡数据初始化条件判断( g7 q7 h( T9 u% [4 {
  277. BNE KEY_B
    6 u, D, P  M' n
  278. LDA #$00
    0 ~( J; P+ ?, x
  279. STA STAGE_TEMP    ;关卡数据初始化
    & v  }8 {9 B; ~
  280. KEY_B:    ;关卡减少
    ; B0 W* I8 X2 G: ]
  281. LDA KEY_ADDR
    ) E/ n; n. t2 @/ p" J! F5 @% t0 f
  282. AND #BUTTON_DEC    ;按键B或左减关
    7 Q  g) y8 U: Z( D6 L
  283. BEQ KEY_A5 g; a3 |7 B! g1 k; G+ w' i7 N# `
  284. LDA #$FF
    : K- L6 k. n, F3 ~4 I
  285. STA TIME_LAY    ;重设标题延时+ g# d; b: W' N! e
  286. LDA STAGE_TEMP" ^% X  `, q  w
  287. CMP #$00    ;关卡比较" E% r9 S: R+ U  x* J! b  R! t
  288. BEQ KEY_A
    , ?9 v+ j: r* ?; A# K7 ?$ f
  289. DEC STAGE_TEMP   ;减关+ U" p0 E# w" @" i  B% A2 `; E
  290. JSR MUSIC    ;按键音效* ?  c* U& n6 S" C" E% L% f: g/ F
  291. KEY_A:    ;关卡增加% F& U( f6 H) R( i& n5 E: E
  292. LDA KEY_ADDR* v* Z+ b+ }0 H( H6 x- t1 `9 R
  293. AND #BUTTON_INC    ;按键A或右加关$ Q! S8 u; c) v6 L  K( V) ]
  294. BEQ PPU_NUM_WRITE
      F$ U2 }# ~1 B+ z5 J+ o0 I1 `5 I' t
  295. LDA #$FF' Q2 x7 q9 y3 \2 N+ ~9 n
  296. STA TIME_LAY    ;重设标题延时3 ^4 ^9 ^& s6 @5 T8 s% S3 K
  297. LDA STAGE_TEMP
    : t9 N0 o  ?+ j$ F
  298. CMP #STAGE_MAX    ;关卡比较
    ; I9 Z- k' G3 C0 u. f; m
  299. BEQ PPU_NUM_WRITE$ C9 v; [! d% |2 r: U
  300. INC STAGE_TEMP    ;加关% Z1 r! ?1 g* }* t8 Q0 G
  301. JSR MUSIC    ;按键音效
    ; ~- V0 |' h$ _/ p2 t
  302. PPU_NUM_WRITE:    ;关卡数字写入地址  U  G! J  [' x6 q, n4 |
  303. LDA #PPU_ADDR_H
    : P2 T- I4 S. q# h+ O* I+ w3 ^
  304. STA $2006    ;设置PPU数字写入高位地址
    + `7 R, d7 U1 a8 _' H( H! v8 L
  305. LDA #PPU_ADDR_L- E' z/ W% `* D5 d3 J
  306. CLC
    2 p7 n0 k7 r( S) {
  307. ADC #NUMBER_A
    7 }0 a/ _/ R/ r2 Z" o
  308. STA $2006    ;设置PPU字符写入低位地址- U( x, ]5 }2 ~2 k. n
  309. LDA STAGE_TEMP: V% F/ M( w, j0 W* ?( F6 ~; Q
  310. TAX
    8 u3 Z  y+ [2 M
  311. LDA STAGE_D1,X    ;写入数字
    . f/ f8 S0 _! v9 w. ^; s
  312. STA $2007& d2 c3 J4 W. ?  G4 h6 c
  313. LDA #PPU_ADDR_H
    & C( _$ V8 r+ ]+ P
  314. STA $2006    ;设置PPU数字写入高位地址
    5 `4 D; ?2 O+ l) Q. L, Q) ~
  315. LDA #PPU_ADDR_L5 \# x+ a" m- B; w2 C
  316. CLC7 J" C% ~9 {+ |7 R" p' T' @% w
  317. ADC #NUMBER_B& L3 g6 _9 ?7 e( c; I
  318. STA $2006    ;设置PPU字符写入低位地址5 A4 }8 }" J* ?+ j  ~% N- e$ q
  319. LDA STAGE_TEMP
    7 q) x0 L$ ]  w- P; N
  320. TAX( l' y7 m; |: s& q: O- ~; ?
  321. LDA STAGE_D2,X    ;写入数字8 G) |. k. `5 N
  322. STA $2007
    ; F. ]. N1 H1 a) y8 j
  323. STAHE_WRITE:
    4 @. d: c* A5 w: ~& s; W$ m
  324. LDA STAGE_TEMP6 c! ^' O3 z! X! i, e' f6 o
  325. STA $2D   ;初始关卡写入
    / m3 I0 |/ o5 O1 P  m8 f" y
  326. PPU_RTS:    ;恢复数据
    8 D1 \1 D8 Q' g0 \$ z1 W% _! a
  327. PLA
    ) h8 W* [5 ~+ `3 D# b
  328. TAY
    2 w* ?( o' B' w4 b3 ?" z% s
  329. PLA
    & N( D" {/ B# ]6 U& n- J
  330. TAX' q. r2 B/ h% S( C! f
  331. PLA
    / K, w! Q5 Z; }" h+ z
  332. RTS
    . e" g# V2 I2 _  ]& @4 K8 a

  333. 5 k* Q- d  G1 e
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据# R5 K, F& B! s  W
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END4 }- p- f& j0 M( E5 L
  336. 9 a  Y1 H5 E& ~  I) ~* |
  337. STAGE_D1:   ;关卡数字
    + R1 u1 @; r# 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. y; `. @* v  K

  339. 9 d+ U0 |4 U  ]. Q
  340. STAGE_D2:   ;场景数字
    . Q1 Q  B) I' K/ k, ?( r: x
  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
    ) P0 S8 i2 C6 o
  342. 1 p4 j* b! t9 X/ h7 `1 q' z

  343. & N- L7 l" y8 L% e! l) c% L
  344. MUSIC:    ;按键音效
    ; V1 ^, [6 _  U
  345. LDA #$3B    ;音乐号- k& H* D8 j) P' V
  346. JSR $919E    ;系统音乐调用
    6 @6 u4 A0 a, i- v, y4 T4 |3 M
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;+ c: X2 d2 x+ c0 F  ^
    5.生命加满:   暂停后,按下键切换;4 p' M2 i5 e: q1 j
    6.血量锁满:   暂停后,按右键切换;
0 U% v4 ?. L" b2 o2 z9 Q- a
& E/ s/ M+ m2 s* G6 e. u
1 G  S$ H' \+ @3 L3 F5 v3 i: M- a% n) s, q' C( t8 z
, J0 N1 f0 R/ ~. M( @9 e. C
; R3 ~& P& N# X6 o+ A7 B
FlameCyclone.ys168.com
5 G+ s: h5 Z" P: u% nwww.nesbbs.com
1 F; n, M/ T, q
游客,如果您要查看本帖隐藏内容请回复

) S+ F# h" B+ I$ `: \. {0 w* n

本帖子中包含更多资源

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

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

签到天数: 2362 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1261 天

[LV.10]以坛为家III

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

该用户从未签到

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

签到天数: 1750 天

[LV.Master]伴坛终老

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

签到天数: 2922 天

[LV.Master]伴坛终老

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

签到天数: 2044 天

[LV.Master]伴坛终老

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

签到天数: 1797 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!
; ~# ?3 s0 Y: [) u% ?

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1511 天

[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, 2024-12-18 17:16 , Processed in 1.091797 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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