EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 2 ]" `- a( w! E) E: H
0 m# Y0 S' q* y3 _2 k' }: P" s+ K
[FC][忍者神龟3][END选关]
' b0 T' n9 S+ t& L; }
2 z/ M/ h5 A5 f" v8 i5 N时间:2017.3.30
* M4 a% i2 ^# O  c作者:FlameCyclone
+ `/ I0 s1 \  ?& Y' ^9 a( S! y内容:
1 y1 [/ ]( W( t- D6 A    1.关卡选择:   标题时,左或B减,右或A加;
3 o) c; k& G8 O/ R4 P8 }' \    2.全屏击杀:   暂停后,按A键切换;
% U% @, ]1 Q5 f# C# z4 v$ S% N) n( i. s    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0/ m4 Y3 J! F: k1 S' s7 y
  2. ora_data:
    & o+ ~3 f" Q( [+ ?1 V7 z/ M3 }
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
    9 _8 u% w# d7 i2 B, j8 l
  4. and_data:! n* U* h$ c+ I( v
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    3 S8 \7 n6 {6 I* u- G5 q$ \

  6. , S6 u! a' k3 w$ K$ y6 y3 P( S8 R
  7. button = $F8
    9 G* j$ u, W0 L" X$ h
  8. flag = $6000
    9 m& J7 W& Q) Q0 P3 ]6 b
  9. pause = $0045: [1 N3 {# l. i

  10. ( |5 S! v" @8 Q0 I

  11. : F# I* d& T0 t
  12. .ORG $F90D8 _6 O' i" V" m  O- W! r
  13. JSR $FEC0
    3 z; V% j# C- U9 o+ ]) m; o& _

  14.   W: [$ e% g4 f
  15. .ORG $FEC0: ~8 R( W  _2 B/ P) M2 @' F2 X
  16. STA $54,X
    * U9 x5 F' U+ ]6 c. M
  17. STY $FA,X
    4 T; l  T/ ~9 c
  18. PHA
    7 a# I2 n4 S, R% R6 c; g
  19. TXA
    5 B( ?0 q3 k* Y/ v7 i
  20. PHA
    ' N% K9 E7 a9 P( {0 q% A
  21. TYA) J6 F0 p0 [* V
  22. PHA' N  N( W. @: K* l+ Q1 e) N
  23. JSR KEY_OPERATE5 A4 H5 @1 s% T9 D% `) s
  24. JSR INV
    2 L( H' x% @8 M9 Y: W% @
  25. JSR LIFE
    + L$ y' B6 x& @+ v- R+ q
  26. JSR BLOOD! J+ ^( J) [5 R2 Y& [- W" X
  27. PLA
    / E1 K9 b) A. \5 X* U
  28. TAY
    8 q- h6 E3 F  ~
  29. PLA
    # V6 ~* R4 d+ A2 b# N
  30. TAX0 }2 b/ s/ Y' [' D+ b
  31. PLA
    $ N# {+ o) j- e; O7 V
  32. RTS
    1 D3 g  b. n. g; f* Q* E0 J% ?
  33. KEY_OPERATE:8 l+ H+ X1 X8 X6 L  R: [. T8 W
  34. data_protect:
    8 \: g. |) i+ Y2 `# h) n' D% I
  35. PHA1 U. x8 \% l& Z& V$ q
  36. TXA
    0 F5 I* G! Y. V7 o! `
  37. PHA
    + g. u2 `( c3 }
  38. TYA) r( `$ F0 }9 s
  39. PHA5 K  w8 ]% z  r9 G% i4 `
  40. 6 y5 P9 y7 j. z3 _& n
  41. FLAG_CMP:$ s' v: N! G8 a9 y3 K
  42. LDA $600F
    1 m; M) w! D7 A3 E5 d$ l+ }
  43. CMP #$7F    ;标志数据初始化条件判断4 }0 Q$ M& p1 @& U/ P# u% t. c
  44. BEQ pause_cmp
    - u* H7 X# ~' r' V9 J3 t) n/ E
  45. LDA #$80
    * ?) ]* |. `+ o2 e
  46. STA $A001    ;6000-7FFF写入启用
      U9 t6 z( D; r
  47. LDA #$00
    5 S$ ~, C. H: V2 p+ L7 m1 d9 a
  48. STA $6000    ;数据初始化4 y6 b: ]0 M7 D- m
  49. STA $6001    ;数据初始化* I6 Q" z7 `( I3 o- R. t
  50. LDA #$7F, z9 r# m" A0 x+ z* _
  51. STA $600F
    - Y* C1 G$ _) s
  52. pause_cmp:
    . d- V2 X4 Z# c4 X8 p0 R
  53. LDA pause
    0 t0 b0 ~0 D# K. t1 [& L  U+ k. C/ t
  54. CMP #$01) O# T+ x1 |+ M' q: p
  55. BEQ button_press
    : r+ r; R5 o& T/ V3 p- ^+ Q/ U  w
  56. PLA7 j5 G# f6 ]7 ?  G/ X
  57. TAY
    8 W* b1 s; U& p7 v& n4 |
  58. PLA0 ?& b/ z9 h8 z- l, B: N
  59. TAX
    # o2 s6 h/ T- A6 ^1 f/ x8 x
  60. PLA9 B7 {) x* d1 J& Z
  61. RTS
    ) D$ d- T. h9 w  Z
  62. ) t2 U0 g9 E$ H, U% g. @
  63. button_press:
    2 N; D1 K) U4 L4 H6 J
  64. ini_Y:! H8 Z& _* Q  U8 C! E
  65. LDY #$00! S  `/ s/ |' W0 W" M3 n
  66. button_cmp:' ~% y# \! [7 S3 p
  67. LDA button,X
    7 q5 ^3 r. }- Q  `0 o9 u$ H# R
  68. CMP ora_data,Y
    9 h& n. h, {8 v8 J1 U/ S5 {$ \5 V
  69. BNE count_Y_cmp
    9 J/ q& P" s/ N3 P( s) Q
  70. flag_cmp:  Z5 ~* \7 Y- _1 c4 S
  71. LDA flag,X$ T0 c) H0 H1 c; r; z! t* {
  72. AND ora_data,Y, O" W' u/ }& w% X9 K* D- s
  73. BNE flag_and% ~( f# ^- U" K* F2 s0 g
  74. flag_ora:) f) s) e4 V+ Y" x
  75. LDA flag,X
    0 B4 [& O% z+ A5 {+ f6 n  w
  76. ORA ora_data,Y$ x; R0 _4 w, n+ l
  77. STA flag,X
    6 J& u9 ]6 X) T) U
  78. BNE count_Y_cmp! e+ }0 h6 [+ Q( h1 z" f( b
  79. flag_and:% g4 A0 l: E5 [
  80. LDA flag,X; ?& x& D* @! g: F
  81. AND and_data,Y
    9 c; W7 w3 L2 f3 ~0 L
  82. STA flag,X
    ; W) b/ O+ e" ^! D6 ?0 @) A
  83. count_Y_cmp:, U9 X: @3 r, G1 B9 B
  84. INY
    7 P8 e6 z5 N' B, z5 j. b/ a
  85. CPY #$08
    ( E7 q7 B- {' M2 [2 D# q6 i% }+ f
  86. BCC button_cmp( J5 [2 m, k; d/ ^7 Q

  87. 0 I1 {" \) b) L- @& s
  88. data_extract:+ g* D3 P  F* M5 Y
  89. PLA# y; b  o) D6 K! k. a2 N/ g
  90. TAY
    8 \# E* K8 Q; i2 S2 g
  91. PLA
      e! b0 r* J3 ^1 l+ a, d8 P
  92. TAX0 q/ g7 @* N2 c4 t* }8 @
  93. PLA7 D: J$ |, J$ l: P; X; n
  94. 4 i! y& ?9 h2 `
  95. return:0 j  ~, e( c+ ?2 E4 g( Y/ t6 b
  96. RTS
    + q& U8 e4 M7 w8 G. G

  97. , v* V8 L) [( H' x0 Y

  98. + m0 m5 o% P+ I( l
  99. INV:    ;无敌
    / i" T1 m7 p# w" D
  100. LDA $6000,X
    7 d$ q& _9 S6 C% f* N. M
  101. AND #$08, P+ C6 {) H8 w! a2 \9 I: A
  102. BEQ INV_RTS. ]! @3 K' S5 `: `# A* X
  103. LDA #$05
    + j0 F" O1 ]" G$ X* S
  104. STA $04FF,X# f9 a5 P) y: ?
  105. INV_RTS:
    $ j3 H' H7 |$ z' L( W) p- y  {
  106. RTS
    + Y! u/ @& {2 s" v% P  j

  107. . s. M6 j7 t7 j/ r7 o% m% [
  108. : d& X& N- j, e- m8 Q9 D( A- I
  109. LIFE:    ;生命* L2 w% o" a" V9 `  U$ s
  110. LDA $6000,X
    - O8 c1 {0 ]; o: A9 k
  111. AND #$04
    $ \$ E6 D3 M4 J, I( h3 s9 |+ l
  112. BEQ LIFE_RTS
    , _) X* W2 U- ]: G- m1 L) p
  113. LDA #$09! T9 [+ y8 d& P+ b0 {
  114. STA $6A,X
    1 Y1 O  D2 B$ U' G/ N
  115. LIFE_RTS:
    3 v9 ?& c) o+ I* G
  116. RTS
    0 }% Q5 D/ {- k* J' V. f+ E& X

  117. % k, p% _2 j8 ?! i8 H

  118. 1 m& V5 \# \* |' t8 n. X
  119. BLOOD:    ;血量
    # g/ q4 {$ k8 N8 N* J
  120. LDA $6000,X
    0 d5 o# |! a# I2 i5 J: e: g
  121. AND #$01
    8 e/ x3 @4 }; k2 G# N. v. H
  122. BEQ BLOOD_RTS; ?% q9 j7 |; p! A1 i, N9 O8 g  E+ L
  123. LDA #$7F, d; _8 w; }* B6 p$ s3 L+ {
  124. STA $04F1,X
    5 \$ G3 l; g- C3 o* x4 R1 T% s
  125. BLOOD_RTS:" J9 ^( ]* ~3 D! z7 R7 B
  126. RTS& z7 G# ~- B* N% T* S4 b) e5 A0 `

  127. 3 H0 f* D4 J* l0 p) j% F  R- J

  128. $ n9 E' ]& d( j6 T' Q

  129. & \: S6 Q/ \' e
  130. 1 u: v. W6 a: s4 l
  131. .ORG $D29F
    & D5 D& H* e6 F. I& ~6 S
  132. JSR $FF80: M3 z/ v- U. F! A% J+ h( S5 O

  133. 1 j: i* ?. b2 k% {9 p3 `
  134. .ORG $FF807 K8 @8 z. D1 s6 n8 v9 C& v7 b9 v; r
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀0 g1 P0 a: b3 }, V* U+ G
  136. STA $0628
    6 ^0 v0 P2 O3 _4 P
  137. PHA( I/ i! d( i2 P# q2 l
  138. LDA $6000
    . p, \6 I: s7 _) _
  139. AND #$40
      `( ?# f# [- G) \! h# L
  140. BEQ ADDRFF8E
    * M+ R3 g$ [  S/ e0 N& H
  141. PLA0 N7 l) b$ r$ g: _  c
  142. CLC   ;敌方死亡状态判定
    " Y' i, i9 v/ o, k4 c: T' N
  143. RTS
    6 H* W: N9 A- I
  144. ADDRFF8E:
    , n8 T$ V, M% ^0 X; i
  145. PLA* g. c# q( q- y) ?
  146. RTS0 L4 u9 b- v4 n

  147. 7 F) z2 Z1 o9 g% a

  148. 5 ]0 v, L2 X4 ~9 d  E2 a
  149. .ORG $D151
    , F- \! p' M' y
  150. JMP $FFA0
    7 S' M6 C( N# k. k; J

  151. % f3 Q) \% q* L% \* X
  152. .ORG $FFA02 n' _% t% }; D# g2 A! n0 a) d
  153. KILL_BY_ONE:    ;杂兵一击必杀
      G, W9 O* K' {! M
  154. STA $0621,X
    6 u% \. t) P  N8 C1 l
  155. LDA $6000
    9 M6 b! _8 j2 y9 j7 N2 [) k' q5 B
  156. AND #$40" S) f% R0 K4 x
  157. BEQ ADDRFFAD
    4 f: @. U: X5 u4 U1 k1 y% A. T
  158. JMP $D19A   ;敌方死亡程序跳转% t: j: u( G( B. e6 V8 O/ n
  159. ADDRFFAD:
    0 G3 Q& r7 f1 U7 B  K
  160. JMP $D1541 u, S* N5 T: J

  161. 7 p0 l( N' x6 z0 l
  162. ' F' R2 p" p9 M, f9 [
  163. .ORG $A7F6
    . a# O( U8 X) N/ i4 U0 Y
  164. JSR $FFB01 u  ~9 E6 f, u; B$ B  ~1 q" e) c

  165. 5 S( x) Z9 E) _, v0 m9 w) K
  166. .ORG $FFB0    ;全屏攻击
    + W0 U1 V- ?1 \2 z  i9 O  d. F
  167. PHA
    ; a. i( A* ^0 `, k, ]) o# v$ k
  168. LDA $6000
    ; y! |9 h( \% Z* p% E1 v7 F
  169. AND #$808 e/ [/ u- z( ~! ]2 t: Q! L
  170. BNE ADDRFFBD2 E' S8 N3 E3 U
  171. PLA2 [% f* f, S7 H1 _; L
  172. LDA $0015/ }2 K* J2 A+ E# V% |: g
  173. SEC; d; I% h, e( V
  174. RTS2 e% O! d9 [- i% c1 w
  175. ADDRFFBD:' U8 P8 N( p  W9 W, _$ t
  176. PLA
    " ]' s) P1 g5 R1 _
  177. JMP $A826" q9 ]3 h; X" O( d# ?
  178. ; E+ ]3 d/ t! E% b
  179. # b' L) j- q" N% i& \
  180. ! O* m" y/ r9 F% _+ T! e( `5 O
  181. .ORG $AA6A
    5 R3 B- \5 t1 r7 u/ @+ Z5 D$ L! X
  182. JMP $FFD00 ?+ W+ `  b; g: a# ?
  183. # x; Z  |. ~6 _3 b
  184. .ORG $FFD0    ;敌兵动作忽略: Z: |" L& e; q9 N2 j9 N
  185. PHA5 c) j% J  ~0 S* p% @
  186. LDA $6000- l2 C9 X( S$ q! a5 z$ p
  187. AND #$80# t$ P7 d* j! L& H/ N% c) H7 d
  188. BEQ ADDRFFDC
    & F( E0 W0 t. L: d
  189. PLA
      ~+ O  \- Y5 a2 f  y
  190. JMP $AA72' E. J$ e' u5 G/ E& C
  191. ADDRFFDC:2 b) n- G1 M" V5 I3 O
  192. PLA* {' m4 o* b5 O' O% h
  193. LDA $0629,X) h  [) ]) M8 {
  194. JMP $AA6D
    - m" r$ l6 z/ A, l4 w4 t
  195. 0 s* P) B% K* s, O) ?3 H) D
  196. ;[FC][忍者神龟3代标题选关程序]
    6 \" Y. k% i3 [" s# x  b
  197. ;作者:FlameCyclone 2017.4.1" `: e) B3 z- w4 z  t

  198. 7 l" E+ |+ O5 U8 q; ~6 x5 {1 U

  199. 2 o0 l! Z, T$ P2 b7 C
  200. ;配置数据
    4 z/ D/ v6 L3 I4 y7 }- [, i; \: ?
  201. KEY_ADDR = $F8    ;按键地址: p+ U5 H2 w# }( _7 R8 k
  202. STAGE_TEMP = $6010    ;关卡临时地址
    + L2 F# x# b; p8 S: G" c, z  j" H+ t1 `
  203. STAGE_MAX = $0E    ;最大关卡数
    % M0 v" v5 @. Y3 S6 D
  204. TITLE_A = $20    ;标题条件A/ T) ^% d& y+ q! w- ]4 O* Q
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    . r, J$ g8 F- Q2 z  V" z* l
  206. TITLE_B = $21    ;标题条件B
    ( w- L( l1 }% p
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定1 ]8 a. y7 N: E5 n! v2 t1 V1 U
  208. PPU_END = $FF    ;PPU结束符) z) M% t# \# i, j1 U4 B4 O
  209. TIME_LAY = $4A    ;标题显示延时地址
    1 L. Z  r4 k9 x( m4 b* W
  210. BUTTON_DEC = $42    ;关卡减少按键, Z0 Z. `/ q" c' `1 ]7 Z
  211. BUTTON_INC = $81    ;关卡增加按键' ^: B: B" Z( I
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量: t% }0 E, e! `2 [7 `
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    , r5 A3 i# I7 F$ V6 G" N* R! ^
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位+ C# ?* P& N; A/ E2 r2 H: Z
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位+ a0 s, O& t; J/ y) \- @
  216. CHAR_S = $A2    ;字符'S'( m4 d0 z: z7 s' W0 \
  217. CHAR_T = $A3    ;字符'T'
    ! ]% q1 {( ~" P8 }. a# @$ v* C
  218. CHAR_A = $90    ;字符'A'. j4 H: r  {1 a- ~( v% K! a$ d
  219. CHAR_G = $96    ;字符'G'
    8 b4 o( K8 l$ S" B
  220. CHAR_E = $94    ;字符'E'6 K0 {& f: A( C: V' _1 ~
  221. CHAR_SPA = $00    ;字符空格
    " ^8 s1 x+ _) g9 P3 y5 p, X
  222. CHAR_LIN = $AE    ;字符'-'
    * D4 `  d! U7 n. H
  223. CHAR_O = $9E    ;字符'o'; ^4 w% K9 j" A, A
  224. NUM_1 = $81    ;数字'1'/ t* H8 S2 H; F/ t2 \+ J
  225. NUM_2 = $82    ;数字'2'' m6 C# }1 K/ |6 \( W, N* W
  226. NUM_3 = $83    ;数字'3'8 ]' a' b; K: i
  227. NUM_4 = $84    ;数字'4'+ O; q/ \& w( \" `
  228. NUM_5 = $85    ;数字'5'
    ) w: m$ x, ~( }( Z+ T+ o
  229. NUM_6 = $86    ;数字'6'
    * m) u% s! {; k
  230. NUM_7 = $87    ;数字'7'& r% _: \8 S7 m5 y4 q
  231. NUM_8 = $88    ;数字'8'
    9 I! d, `# o0 _6 d* s9 ~
  232. NUM_9 = $89    ;数字'9'6 D8 }6 |, H# R- b. k* S
  233. NUM_0 = $80    ;数字'0'" i  x& Y  t/ y
  234. 8 o; p, |* v9 W5 l7 ~  _
  235. .ORG $F82A
    ! K6 u; }. G; a" k. G( g
  236. JSR $E700
    3 ]9 n% i6 E+ e0 x2 g& |3 W

  237. 0 ^* w" |* T- Q/ v  i7 b$ n3 ?

  238. ' q# c& o* J" U! `
  239. .ORG $E700# Y* \" x+ s! I% t1 {- L
  240.     x8 b* t" L' F' O
  241. STY $4014    ;补上覆盖的精灵写入指令
    % }4 l  Q- V$ n- c, ~  V. ~
  242. PROTECT_DATA:    ;数据保护+ r3 S6 O7 M" R3 h1 e5 o  v  K; Q2 O8 m5 I
  243. PHA    ;数据保护开始
    7 C4 r$ K$ f$ U& `3 d
  244. TXA
    ' ~. h  V: S% K- N0 m. E0 M
  245. PHA8 M/ j6 A/ q/ x
  246. TYA' h3 U; ]/ Q* Z4 X# w
  247. PHA    ;数据保护结束
    ' o* J7 s; }# {* Q$ `
  248. LDA TITLE_A, s- }; ^3 p: A9 h
  249. CMP #TITLE_A_ON    ;比较是否为标题画面4 K- a" i% a; j
  250. BNE RET4 V5 w( b9 F0 k% {  V4 e
  251. LDA TITLE_B# r2 `, ]+ e- B7 _# e
  252. CMP #TITLE_B_ON    ;比较是否为标题画面
    9 n) Z: ~5 P/ C) g  U' g2 a
  253. BEQ PPU_STAGE
    1 [2 {: f1 R, D' b; u% R
  254. RET:    ;恢复数据# f7 x0 v6 H' ?2 D6 n
  255. PLA    ;恢复数据开始
    - R" X4 f  g! W* F
  256. TAY
      K4 o6 i% c9 B0 r
  257. PLA
    5 j: H4 M" P# V3 L, e1 t
  258. TAX
    4 X+ b3 n( \# y% L2 H
  259. PLA    ;恢复数据结束1 I& X& }5 }5 p% Y
  260. RTS    ;返回  z: i! v5 B3 x' ?
  261. PPU_STAGE:    ;字符STAGE写入程序9 O4 J+ N6 W! [7 Q* |& u8 Q
  262. LDA #PPU_ADDR_H
    9 ~! G% v# E- Q% Y; z
  263. STA $2006    ;设置PPU字符写入高位地址  n' X2 n4 W3 l: y
  264. LDA #PPU_ADDR_L. `2 o& h. S( K) u
  265. STA $2006    ;设置PPU字符写入低位地址
    . X% W: ?$ H9 y* u+ }6 d: L0 I
  266. LDX #$008 G; a" o) n$ W: ~
  267. PPU_STAGE_WROTE:    ;写入STAGE字模
    - h( P5 c" t, P1 K, S
  268. LDA STAGE_DATA,X
    ! Q/ f9 x. s; k" Z: t
  269. CMP #PPU_END    ;判断是否写入结束; ?; z( X# n2 B; I3 Q/ R
  270. BEQ STAGE_CMP# O! o! f' y# ^
  271. STA $2007
    3 e2 d. B* N# r7 O
  272. INX8 N" {( e5 b- a( [$ k9 w
  273. BCC PPU_STAGE_WROTE
    1 q& }7 ~+ I$ O" h
  274. STAGE_CMP:    ;选关操作
    & b6 ?# s7 |1 D
  275. LDA STAGE_TEMP, w# {3 g; n! h
  276. CMP #$FF    ;关卡数据初始化条件判断" D6 O% Q' k8 B0 f
  277. BNE KEY_B
    6 [, G- f% w4 n% g. a5 H# ?
  278. LDA #$00
      t( m* f9 S* ?0 u6 U
  279. STA STAGE_TEMP    ;关卡数据初始化9 t- c& i; `9 l( X$ R, R
  280. KEY_B:    ;关卡减少, J/ N( K7 [  X* Y- I8 C) O
  281. LDA KEY_ADDR
    ( f# d  k1 l. G5 J0 y8 Q/ C9 \+ |
  282. AND #BUTTON_DEC    ;按键B或左减关8 H$ F, a" w% I1 c& w+ o
  283. BEQ KEY_A8 r: l' R; j. ^8 q6 C, a) \7 ~: t% Z2 W4 j
  284. LDA #$FF0 T7 O$ \4 p* [. N/ L! U
  285. STA TIME_LAY    ;重设标题延时* N* ]9 s' g! W/ B6 Y. P5 M. D
  286. LDA STAGE_TEMP! T! \  z; }# |7 `
  287. CMP #$00    ;关卡比较
    - }( u( f$ w: ?
  288. BEQ KEY_A
    1 a% a5 [, v2 B# d0 E
  289. DEC STAGE_TEMP   ;减关
    ' G5 H3 ^, n: B
  290. JSR MUSIC    ;按键音效1 E% t" m1 z9 d3 t
  291. KEY_A:    ;关卡增加
    , B! Q8 s) P! p" ^
  292. LDA KEY_ADDR4 A, Z+ A6 x+ [" x* \# P
  293. AND #BUTTON_INC    ;按键A或右加关
    - O# f; B0 C* m( H  u8 `+ ?5 y
  294. BEQ PPU_NUM_WRITE5 c2 }2 A  p& `2 k1 V  ]1 G; w
  295. LDA #$FF
    + Q  [7 z; F0 @
  296. STA TIME_LAY    ;重设标题延时: a, e+ {1 }/ E6 J% [$ r
  297. LDA STAGE_TEMP. g: W, e( h. k# \: ^$ T* k
  298. CMP #STAGE_MAX    ;关卡比较
    9 J5 e* ^: M/ f3 u5 H2 Q; k
  299. BEQ PPU_NUM_WRITE
    : h$ {) n- x3 h  v/ I
  300. INC STAGE_TEMP    ;加关
    6 G2 D% {" [- P. b. V1 T% p
  301. JSR MUSIC    ;按键音效
      x9 G9 B/ e: m" S2 e+ e
  302. PPU_NUM_WRITE:    ;关卡数字写入地址! _7 t1 ~) K' B4 ~) ~
  303. LDA #PPU_ADDR_H8 y+ ?# T+ B2 m/ R7 L/ C+ J5 _
  304. STA $2006    ;设置PPU数字写入高位地址6 o9 b0 R/ F, }3 Q2 Q# ^
  305. LDA #PPU_ADDR_L
    2 s7 H0 D: Q0 ]; N& q2 i7 B0 _! r1 d* b
  306. CLC/ y1 f0 h1 o$ M, h% z: R7 N) ?5 a
  307. ADC #NUMBER_A
      w0 o/ A/ `5 E3 Z, j
  308. STA $2006    ;设置PPU字符写入低位地址
    ; D$ j6 V  e+ O. C5 \
  309. LDA STAGE_TEMP
    5 a( j+ a6 C$ G) s
  310. TAX. `# p% q( H2 u" d; K2 d  T* _) u! T& H
  311. LDA STAGE_D1,X    ;写入数字% R' D7 P  c* @0 K8 ~9 `  U+ ?  a
  312. STA $20075 S$ |: p& R/ s! I% p
  313. LDA #PPU_ADDR_H/ [. `7 q. H- |# w2 C, ?! r
  314. STA $2006    ;设置PPU数字写入高位地址0 q6 h1 g/ P# H2 V2 z$ g0 J* I
  315. LDA #PPU_ADDR_L: W! @. f6 ^/ I( @' @. H. Q  k
  316. CLC/ c; i8 o- h$ \7 R0 i
  317. ADC #NUMBER_B( u) t: R% B/ x5 `
  318. STA $2006    ;设置PPU字符写入低位地址% b; C5 |) l2 G: ?- E- L$ }. j
  319. LDA STAGE_TEMP
    $ z# Y6 o: P) ^' |
  320. TAX
    4 f/ U6 _# A4 j  |) T9 J2 C
  321. LDA STAGE_D2,X    ;写入数字) m2 k: K. \+ p- g2 K
  322. STA $2007
    - H4 ]4 @, Y+ A% i0 m! `
  323. STAHE_WRITE:% H* a. O4 |% L# }
  324. LDA STAGE_TEMP  j7 W6 ]4 s" A& f+ Q' i
  325. STA $2D   ;初始关卡写入
    9 ]6 s! k9 i' L( y
  326. PPU_RTS:    ;恢复数据) Z. G) A6 @+ \
  327. PLA
    : f& }; Y1 U: m! y
  328. TAY% p9 _" @9 K3 A% K; }
  329. PLA7 X9 w1 m+ a6 z5 L- E
  330. TAX6 l4 ?) U5 |+ K( Y8 z7 {
  331. PLA2 B4 D, H( O: F# Y$ e, S/ R7 L
  332. RTS: g$ [4 D3 u$ Z
  333. + Q+ P2 T) d, Q+ q
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据
    7 o( z) W$ ?4 ?$ F5 |
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END
    ' d" b3 v5 Z* ]- ~" w$ b& _# E! B

  336. - D' L& Y0 K# B  r. `
  337. STAGE_D1:   ;关卡数字
    6 N  I- N+ U' l  n' o1 p
  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
    + g; q2 v, E$ k9 J3 G( v8 C

  339. 6 n' o9 i, e8 I3 q7 z# e! f
  340. STAGE_D2:   ;场景数字. }/ `/ ?; R! ~' {  ?
  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- _3 Y1 _) x2 F: x8 f3 I+ o
  342. 9 {0 T+ k2 Y9 a* P7 {

  343. 7 t8 N" ]) x6 B& N
  344. MUSIC:    ;按键音效& _/ v# Z3 B4 P; u' N/ K* D' p8 Q
  345. LDA #$3B    ;音乐号
    0 @' }+ _. [. o  @/ ~, a* z0 T
  346. JSR $919E    ;系统音乐调用) ~5 j1 h7 e% i) y# i1 x' i# ^
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;
1 l7 l3 Z( Y7 _4 I5 ~    5.生命加满:   暂停后,按下键切换;
: E/ o2 ^2 T/ M& c! p4 p    6.血量锁满:   暂停后,按右键切换;6 A" T( Z6 c: W& A$ l0 O. k1 @
% l7 C$ m/ b8 s/ S2 Z

' G$ n0 b" x& v. B  l. R6 _0 ]
4 w% ^2 R  z' y. ?- k$ A
6 I. h. S& Z( B+ T) ^# W& v% y+ m
; ^$ g0 |5 m& h% SFlameCyclone.ys168.com7 I0 }9 M2 D4 f
www.nesbbs.com: I9 f6 T; E! h
游客,如果您要查看本帖隐藏内容请回复
5 P+ [5 l4 k) [' M

本帖子中包含更多资源

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

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 | 显示全部楼层
老规矩,先回后下!!!!!!!
# R& |9 ^- K# L( i: 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:29 , Processed in 1.122070 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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