EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 , N3 C' u% ?/ s  o% X1 W$ G

% n! v6 `4 q+ x9 S- C- B' P6 H[FC][忍者神龟3][END选关]- C9 J3 J# x% ^* P' R# w
5 [& I6 X3 U; e# r1 R
时间:2017.3.30
5 F* ]- P% e$ V, z- u2 @作者:FlameCyclone, T/ b% q8 `- o  Y+ d( r
内容:# ~* K7 W4 C# }
    1.关卡选择:   标题时,左或B减,右或A加;% b% _' ~* m9 l
    2.全屏击杀:   暂停后,按A键切换;
% s3 ?  Q/ d$ n( w4 G3 C7 {    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0
    - c7 p- R' v) I( y& P
  2. ora_data:9 c8 [, M2 H# ^
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10. d, q  u, w' e1 n
  4. and_data:4 o2 h8 y2 s8 ^( T, ~1 U" x/ S
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF' l$ G0 y% j2 E3 t5 |6 S4 d

  6. 0 m0 C) ?( V7 m+ f9 p# J3 n' \
  7. button = $F8
      q- u6 }5 Q& y# x, V* w3 _
  8. flag = $6000
    * Z3 S8 e) m& O& i- h
  9. pause = $0045
    4 _  E, F) P( @9 Y
  10. " y5 W- V! V6 n: u" m* d0 z

  11. , y0 V9 D) d+ I. j
  12. .ORG $F90D  ^" n3 D0 Y! {1 M6 F
  13. JSR $FEC0
    9 p( V* p; ?% E$ {1 X: M
  14. : }1 P/ w: K6 P: P
  15. .ORG $FEC0
    3 K% j# y, t: b
  16. STA $54,X
    $ }1 Z3 ^* x( g! C5 A5 c- K
  17. STY $FA,X
    3 n9 c4 n0 f7 G1 A% w
  18. PHA
    , O6 w" p6 B( v' w0 s& i
  19. TXA
    ' q2 E. N) N* A% A/ p
  20. PHA
    4 g+ K) z& u# F( l
  21. TYA
      Z2 p" U+ l9 V. S' a7 L/ A
  22. PHA
    3 H! n1 B/ C* U" y3 u" v; S
  23. JSR KEY_OPERATE
    * Q" |! s* Q  k  c# e2 h/ M
  24. JSR INV7 ^$ `- J* }' r0 p, Y- }7 I
  25. JSR LIFE
    ( j1 o5 O! z1 Q8 r" [0 D5 A
  26. JSR BLOOD
    ' o" X" ]! `! H' w) r2 ~4 r; l6 Q; p
  27. PLA3 G- y% G" ?( W$ ?2 r
  28. TAY( q$ y- O+ j2 A; Q) |
  29. PLA
    1 r( Q# P* U' ]# w7 Y" X( o* D2 S5 I7 r
  30. TAX2 A; p, o, U  G0 l6 Z
  31. PLA; L8 b$ u* L' ]4 D3 V" q8 W
  32. RTS3 O, {7 f# T5 i0 Z+ ]5 c
  33. KEY_OPERATE:
    9 c3 ^/ n9 R4 t9 v; w
  34. data_protect:
    7 y  P* c* ?% @
  35. PHA
    : _5 d0 |! |9 O8 X- \! i
  36. TXA6 Z7 R: N  E$ h0 R7 F4 P
  37. PHA8 d- n2 t* L& k  v; j' ]
  38. TYA
    6 Q5 q" c% N3 i# U. f9 }
  39. PHA
    6 I) ~8 z4 |( T$ k6 A

  40. % d) E4 ~  d' X+ d; f
  41. FLAG_CMP:! s- I, H4 s# G9 ]# e( O) Z: b9 _
  42. LDA $600F
    0 Z6 k  I9 R- l7 J; ~7 p) p' W$ E
  43. CMP #$7F    ;标志数据初始化条件判断3 D5 a$ z( c* [' U1 A, R) h
  44. BEQ pause_cmp
    $ c3 d) ~! \6 Y) B# i
  45. LDA #$80  T# V$ d; K% x" j
  46. STA $A001    ;6000-7FFF写入启用
    . B8 r  I* u9 m
  47. LDA #$00+ }& }9 D7 f+ v. a, @/ Y2 S0 V
  48. STA $6000    ;数据初始化
    + B3 U. P7 h- C
  49. STA $6001    ;数据初始化
    ; h# Z; I6 ~7 [) A- S6 N! [
  50. LDA #$7F8 @; |9 ?1 G3 j- Z
  51. STA $600F
    6 e+ U; F% F+ I$ i8 g: `8 m
  52. pause_cmp:
    ) }- p) f9 |7 H$ ~( m$ t
  53. LDA pause
    ( k" j- i& f. T
  54. CMP #$01
    1 Q* s. q  [! ^' y- z  Z' Y6 x
  55. BEQ button_press
    ) C8 w6 t) v* P
  56. PLA: ^7 ?: N4 i& |" ]9 o. [
  57. TAY
    ; I9 {- y0 p/ R$ i4 ^4 i
  58. PLA. P) G  b" A. r% j/ O: G! H
  59. TAX1 y5 f. U6 D, ~
  60. PLA) }/ p8 \! M1 r4 E- w
  61. RTS
    , \3 j$ g* ^  G. R7 P" c" h* W8 i
  62. & i! ]# `& V( Y9 V
  63. button_press:
    5 \" d* ~3 ?  l, P9 V
  64. ini_Y:% y3 N$ B9 k! b" c0 |. x  f
  65. LDY #$000 n$ M- u- F5 J' K
  66. button_cmp:
    + s/ G2 R! Q! t. |' u+ d' C& w
  67. LDA button,X
    4 Q2 N. Y! d+ F$ `' P1 O
  68. CMP ora_data,Y
    - i2 }" r/ g0 W& m/ _
  69. BNE count_Y_cmp6 `1 X! ~5 A0 L3 U# A4 Z) ^
  70. flag_cmp:
    1 C; O. w4 b+ u6 ~
  71. LDA flag,X7 r; J. S1 ~6 P. i- P8 F4 |
  72. AND ora_data,Y$ l5 T1 F% O7 F+ e: R1 }
  73. BNE flag_and" {6 c& ]1 d& M1 Z# s
  74. flag_ora:
    8 N  c2 t8 N& [7 j  u& F
  75. LDA flag,X
    : y! i% e! a0 p; G( ~
  76. ORA ora_data,Y
    3 A! l0 f3 P9 J' f
  77. STA flag,X5 E, h5 b4 x# f4 U' [+ V& Y( \6 W
  78. BNE count_Y_cmp4 K, L0 i" d- Q1 h$ U( y7 N% A, ~
  79. flag_and:
    7 d$ N" d1 c4 C0 ]
  80. LDA flag,X( I* E1 b+ I" G7 ~& e
  81. AND and_data,Y7 u$ l+ B6 k/ J) ]6 A* P
  82. STA flag,X5 R& a" X* p8 H% i
  83. count_Y_cmp:- U: f! u7 N2 a- q4 ]
  84. INY
    " A: O6 }, ^5 t2 o
  85. CPY #$08( D! P9 m5 C; ^% N, y
  86. BCC button_cmp6 Y1 d" R/ P2 @. Y; V. Y4 b! @

  87. , }4 `+ @1 A1 C7 \
  88. data_extract:
    . @1 _& M, L. t( D
  89. PLA
    " ?- _: G. U$ M* \, f* A
  90. TAY
    % I1 @1 I# m; [
  91. PLA
      D% [3 H+ L4 p. R' {% w4 k
  92. TAX- ?1 g4 R6 a% w: U" y; T% v
  93. PLA- A+ E; y9 }, y8 ^6 r

  94. # w' l: v0 v' \* A0 R- e3 O
  95. return:
    ' p9 X) ]7 l' o; m  N
  96. RTS2 o% v8 J$ q4 o3 E. k" q
  97. * s6 E7 R& H& O
  98. - \3 L3 U/ H+ x" F9 F/ j" f
  99. INV:    ;无敌* y+ U( e: C7 \, ~1 G! p
  100. LDA $6000,X' Z# @, R  j, \; U2 @% B
  101. AND #$089 c* m6 |1 `5 J3 q0 \+ z
  102. BEQ INV_RTS0 [! t9 f' |4 @9 f
  103. LDA #$05
    / x& n( a8 f7 `) r  q3 e2 N2 H
  104. STA $04FF,X! T7 e8 K. m: d
  105. INV_RTS:
    ) J& L% a: R1 H3 a4 ^1 d  m
  106. RTS
    ( p3 v& @! l7 B: t, w
  107. & B1 E) I: _4 u$ h% S# u
  108. 0 e8 I6 L1 x! U6 B  _% B+ j
  109. LIFE:    ;生命
    9 n2 j* s$ Q0 @8 V
  110. LDA $6000,X0 z! g8 Q, N5 u5 b% q% m% b& P4 {
  111. AND #$049 g* q& k' G# a
  112. BEQ LIFE_RTS
    ! W( w& ]- j& d" w
  113. LDA #$097 q6 d3 y4 r" K3 h9 i
  114. STA $6A,X
    2 I0 i- q# m% h* o& ~/ p0 u; d
  115. LIFE_RTS:
    8 t8 J" p; `0 N) j( m0 d+ z
  116. RTS
    , V+ c% Q0 V. [3 E+ F( B
  117. # q) e2 @" I% ?/ z5 x) j$ a* o% q

  118. & o, O. ~# `$ n8 v
  119. BLOOD:    ;血量
    ) v  b6 m) o# t7 w$ }; L) f: Z0 Z
  120. LDA $6000,X6 I+ ]$ E/ z4 ^
  121. AND #$017 w$ n+ c9 a( Y4 T9 A1 W
  122. BEQ BLOOD_RTS
    , h* M( n. {0 d% u3 }
  123. LDA #$7F+ Z5 U; J! g" E- ~
  124. STA $04F1,X6 D6 s! K, d/ E: W" l) F$ g. `
  125. BLOOD_RTS:1 u1 Z* B' p0 s" N/ K* E
  126. RTS! L0 i* Z' z) ^/ b- J8 K

  127. 4 \  R, N, H8 D$ }1 x9 S3 O
  128. " j* D& [/ \! ^9 n- j; ]: `. l

  129. " ^. W2 u3 f  F$ Y( B& N% D

  130. $ r$ e1 R5 y+ U* X9 m+ @3 X
  131. .ORG $D29F
    ) v* a$ q" c0 H! ?. {0 t
  132. JSR $FF80
    ( F& a$ w, s, t4 C
  133. 9 O$ L  }! a6 j4 S
  134. .ORG $FF80
    $ M4 y, {, O" {) C  u" o; X
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀' X; H5 K# v- g. J$ V
  136. STA $0628
    / b) W: S( M* D$ }- i
  137. PHA
    * F/ H  C' m" _
  138. LDA $6000
    % B$ {! t) ^' l" V+ @. R4 d
  139. AND #$40& i9 f# R  a8 f, o( d/ h" j. U
  140. BEQ ADDRFF8E
    * |: @: R! S/ X, A  s- `- [2 a6 M
  141. PLA3 {! e. H; s+ k7 M- a  O2 G$ t7 O
  142. CLC   ;敌方死亡状态判定( G& K& J$ O; \7 Q. M% z
  143. RTS
    - P' b( S+ ?: o' o
  144. ADDRFF8E:
    , G% u* u# O( d  {  M0 R
  145. PLA7 d! B6 m! v% `* r
  146. RTS2 q9 ?" L3 U- @8 q6 Y. m4 W$ q0 c0 P

  147. # v/ }- X* X) [: b, K

  148. 1 U8 |/ ]/ J  ~, |; p
  149. .ORG $D1515 J. V  J& G( J6 X5 E5 Y# a" U
  150. JMP $FFA0
    * E3 X: f/ ?2 e2 ~
  151. 0 t7 c& J' z# B  J. a9 M2 f
  152. .ORG $FFA0
    5 _7 K: W7 |( M8 q
  153. KILL_BY_ONE:    ;杂兵一击必杀. x) h+ b4 c3 m( k+ K
  154. STA $0621,X
    5 i9 X& @& [* v' q' G0 \; R0 X1 u
  155. LDA $6000
    / T1 k8 R4 L1 z1 T9 i
  156. AND #$406 |7 j$ O5 K" {) x, G
  157. BEQ ADDRFFAD8 A$ F+ {$ H4 D% X: \
  158. JMP $D19A   ;敌方死亡程序跳转
    5 K" M$ K, c; a3 x' D0 v2 m
  159. ADDRFFAD:
    2 z+ T/ D. Y/ _
  160. JMP $D154
    9 b0 c6 [6 b* J7 H/ J  ~& h, c
  161. " z5 ~$ h9 M  j. S# O$ ]$ y6 C
  162. 6 g! y7 l% p; H" I) q8 s5 x9 p4 N
  163. .ORG $A7F6
    3 q; Y1 H6 p( v0 E* G
  164. JSR $FFB0: t* x$ F+ i" t4 X' |4 ^8 P) l

  165. / g1 V2 y7 W9 R4 Z" n) }4 o, c8 |
  166. .ORG $FFB0    ;全屏攻击
    , u  M* Q; i( R' W
  167. PHA
    % J5 b0 i6 v3 u# v6 [/ h" P) ^
  168. LDA $6000# o  v) X$ T' [; C' u4 I  Q
  169. AND #$80
    % a0 G8 ]' i6 P7 D
  170. BNE ADDRFFBD
    0 P4 F9 P7 Q; C9 @2 F  N# m+ V
  171. PLA
    , y* m  X5 y9 |
  172. LDA $0015
    5 Q* j* W' Y& z# A; L
  173. SEC
    * \8 ]7 T; N7 z' Q
  174. RTS
    ' h1 s2 ^+ e+ M* i
  175. ADDRFFBD:1 n$ Q2 H) h4 F, O
  176. PLA8 n0 H( w& b3 p8 k; [; o
  177. JMP $A826
    $ W5 f( h1 o% D' ]

  178. - P1 l" _5 I( i

  179. % s$ F! x7 h/ D% O
  180. 5 Z1 [' R0 ]  H$ z4 e
  181. .ORG $AA6A: X4 x2 D7 ]) e6 I" r$ u
  182. JMP $FFD03 c. S. S' Z8 \* y" f1 Z

  183. 7 E, {- X- M" A# r1 Q
  184. .ORG $FFD0    ;敌兵动作忽略
    6 R9 w0 a; W2 U. m
  185. PHA
    " q+ O  e0 K( I$ S; E
  186. LDA $6000
    8 e0 d. O8 b$ F1 _
  187. AND #$803 P2 b+ [+ ?* l) G* X0 R- B- o
  188. BEQ ADDRFFDC$ e- @5 V/ N6 W8 a2 E& g9 a; K* t
  189. PLA" I6 ]& f3 I; h. D: X$ Y
  190. JMP $AA72
    - \- `1 Z& g) @9 ]' M( k8 ~
  191. ADDRFFDC:
    5 I+ \' |, n( w3 Y
  192. PLA1 M0 W$ f; |+ P8 E7 d- K: \
  193. LDA $0629,X
    ( L* K$ p$ k  m  [- ]0 {! [
  194. JMP $AA6D" T, h- m& f/ Q& P. n' k0 T
  195. 0 ^, T+ h+ {. \0 Z9 Q" _6 \
  196. ;[FC][忍者神龟3代标题选关程序]0 j# n* C0 f- e
  197. ;作者:FlameCyclone 2017.4.1
    : b1 o7 m, E7 d
  198. . z3 n7 r2 u, u' U4 `

  199. 0 [9 d8 C/ R4 U7 k
  200. ;配置数据1 L' a2 H+ q3 M. L; L9 T* ~
  201. KEY_ADDR = $F8    ;按键地址
    / L. y) l* e) |5 ?$ h3 @
  202. STAGE_TEMP = $6010    ;关卡临时地址- g' m/ S6 U( e6 O4 j
  203. STAGE_MAX = $0E    ;最大关卡数
    + k9 T; O4 w( X4 W3 B% ~
  204. TITLE_A = $20    ;标题条件A% _; c( q% s; n2 A. k, L
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定  o! m" `1 I4 @! |5 ~; d+ V
  206. TITLE_B = $21    ;标题条件B
    8 Y; T9 a0 y4 j3 a  l* Y: B3 y- s
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定
    3 k0 R0 J7 ?, V' g/ N, `' H, a
  208. PPU_END = $FF    ;PPU结束符
    6 h- p! [% h1 L2 @+ [) L4 _
  209. TIME_LAY = $4A    ;标题显示延时地址
    5 G; }. f# j- o
  210. BUTTON_DEC = $42    ;关卡减少按键
    2 k: j2 Z4 V: A
  211. BUTTON_INC = $81    ;关卡增加按键
    # u) O5 u$ N. S( S& j4 @) D
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量
    ! ~5 _0 L5 Z0 ?/ f$ x
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量3 K* K$ `3 a" \* z: o% }9 S( `
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位8 Z8 W/ u6 I* D/ b% s$ T. }) D
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位7 {5 X7 ]$ `9 {. l, o$ w
  216. CHAR_S = $A2    ;字符'S'
    * ~) X- A' U: d1 ~* ?6 {
  217. CHAR_T = $A3    ;字符'T'0 u  W3 p1 ?9 C: n( m
  218. CHAR_A = $90    ;字符'A'
    ' C- d% x/ g" M+ G6 E
  219. CHAR_G = $96    ;字符'G'
    4 q% }, A$ C! G+ d6 r# S# ]
  220. CHAR_E = $94    ;字符'E'
    3 m% e( L, V2 z' }
  221. CHAR_SPA = $00    ;字符空格
    ; O/ Z0 N; R+ m% g! }
  222. CHAR_LIN = $AE    ;字符'-'+ F) x4 D" u) F6 U$ q9 N
  223. CHAR_O = $9E    ;字符'o', {: P( ^2 q8 i( D0 y. Z6 r9 ^
  224. NUM_1 = $81    ;数字'1') J5 N& _& L4 n# N
  225. NUM_2 = $82    ;数字'2'( h" x& u: n: B: F, m" q
  226. NUM_3 = $83    ;数字'3'  G% C' ], M1 E, g/ t
  227. NUM_4 = $84    ;数字'4'
    $ S' x9 D7 ?+ U$ P7 Z0 a0 V
  228. NUM_5 = $85    ;数字'5', m8 B# P0 X. z$ F" I0 N2 l* f
  229. NUM_6 = $86    ;数字'6'
    ; z2 X1 Y7 n) ~/ @" w* \
  230. NUM_7 = $87    ;数字'7'/ i+ ~7 z& n) }3 B- T' c
  231. NUM_8 = $88    ;数字'8'6 J8 G) a/ U" z: u
  232. NUM_9 = $89    ;数字'9'. S% W' n  |- d" o0 B
  233. NUM_0 = $80    ;数字'0'
    + h0 m/ R* x! \: W7 P$ e" G
  234. ( G8 h6 K" K& d4 |  e
  235. .ORG $F82A! F# p2 j9 g. }0 q9 Q' [
  236. JSR $E700/ d( m0 c6 D, |0 ?5 M

  237. 1 c! r, Y- Y. i; [0 }
  238. 0 Z( c/ @. R. M2 ^5 V! d  j
  239. .ORG $E700
    9 V2 i6 N( T' S/ w0 G
  240.   
    # k; v& i. O7 S0 {( x% ]( r
  241. STY $4014    ;补上覆盖的精灵写入指令
    - x) ?+ T0 p6 x* {) {8 Y
  242. PROTECT_DATA:    ;数据保护
    % ?" a4 A0 N2 A9 N, R0 ^/ M
  243. PHA    ;数据保护开始
    % K$ F1 R' @" O% L
  244. TXA
    1 E  b$ I/ m! t( w; E' k2 P
  245. PHA* F1 B& f& O' s# c
  246. TYA) U/ v9 U' T8 w- N
  247. PHA    ;数据保护结束1 P0 h# T& c! G8 R
  248. LDA TITLE_A
    - e/ z1 H3 l! E: ~
  249. CMP #TITLE_A_ON    ;比较是否为标题画面
    2 X* t, ?. Q/ o& d. G
  250. BNE RET
    # X& F: y- h" Q; w7 `9 {, s/ R% p2 |
  251. LDA TITLE_B# `6 w7 M' u: T3 Z( M$ L
  252. CMP #TITLE_B_ON    ;比较是否为标题画面' P6 d, ^$ E; ]* t6 ~" q3 u0 ^1 p
  253. BEQ PPU_STAGE
    . a- h: _/ |9 l/ b
  254. RET:    ;恢复数据7 b' ^5 f# _  v' m
  255. PLA    ;恢复数据开始4 T, G3 B% l4 W" T
  256. TAY& V* F0 A- I1 D# Z& c
  257. PLA) E5 j: G, E% _
  258. TAX5 F$ K4 ?2 ?1 |8 \" W; U
  259. PLA    ;恢复数据结束
    9 t. m6 `2 R# v. F/ {8 A
  260. RTS    ;返回
    . |/ D+ T: ]2 b" T( ~6 Q
  261. PPU_STAGE:    ;字符STAGE写入程序: \! M4 U: N4 @7 t' U' c
  262. LDA #PPU_ADDR_H
    8 S& ~. ^8 V+ c8 |. ]/ q+ R
  263. STA $2006    ;设置PPU字符写入高位地址: u/ R; `8 m( V* P: }
  264. LDA #PPU_ADDR_L+ ?6 U' U+ l; Q, ^7 b5 U
  265. STA $2006    ;设置PPU字符写入低位地址& x/ ^( W* O* X6 H
  266. LDX #$00
    & O% J8 K6 E7 R# F4 }  C6 l
  267. PPU_STAGE_WROTE:    ;写入STAGE字模
    ; I6 b2 R% @1 X' n, R7 v
  268. LDA STAGE_DATA,X; J# H/ H. Q0 M; P7 W
  269. CMP #PPU_END    ;判断是否写入结束- V. Z  c" x" K6 d+ Y4 E6 S
  270. BEQ STAGE_CMP
    + s" ]5 @  A( Z' e" V
  271. STA $2007! e4 ^8 k! t; x0 T9 {- ^. A; J
  272. INX7 v3 g" `" v/ h7 Y$ G, L
  273. BCC PPU_STAGE_WROTE  ]$ I; V- w# r9 \7 f, P
  274. STAGE_CMP:    ;选关操作) {; M/ i. F9 a
  275. LDA STAGE_TEMP
    / p6 B6 ^1 @, y4 N/ j$ H
  276. CMP #$FF    ;关卡数据初始化条件判断$ H# J6 n, m- k4 P: g6 A. N
  277. BNE KEY_B
    : |% C1 n  x9 S* P) O1 u- {2 R7 a
  278. LDA #$004 w- F- N2 X( U( T3 v+ [
  279. STA STAGE_TEMP    ;关卡数据初始化! C4 L# B$ e  q, X( v" n
  280. KEY_B:    ;关卡减少
    3 X( r( q+ k7 L" |! _
  281. LDA KEY_ADDR# @, I3 t: v% a. U% j
  282. AND #BUTTON_DEC    ;按键B或左减关
    & t; |$ D. y2 z( @
  283. BEQ KEY_A
    / i! r% S* [8 B5 I
  284. LDA #$FF
    # _( o# f1 W' b5 U6 w, G
  285. STA TIME_LAY    ;重设标题延时
    " j4 l4 w2 c0 Y2 W% H$ \
  286. LDA STAGE_TEMP
    ; o& a+ ~7 U8 r  M/ z" [
  287. CMP #$00    ;关卡比较
    $ Q" j9 a" @/ {( f
  288. BEQ KEY_A& N. t% g+ X, u+ S. _3 g) R6 K  l
  289. DEC STAGE_TEMP   ;减关- g* G! @) L1 j$ C+ V5 u% c
  290. JSR MUSIC    ;按键音效
    . i# K6 H! N) J2 D- Y: f
  291. KEY_A:    ;关卡增加8 e9 X9 o& ~3 L
  292. LDA KEY_ADDR
    " l' f4 O1 n# J% A  _  h4 Q. ]
  293. AND #BUTTON_INC    ;按键A或右加关: ?  \- h, n- R) O3 r
  294. BEQ PPU_NUM_WRITE
    1 p4 I; l# N5 J4 R" t0 b4 n
  295. LDA #$FF8 g$ W# c: ^; R& e& F
  296. STA TIME_LAY    ;重设标题延时1 F+ n0 w2 z. l, ~9 Z) i% i& E
  297. LDA STAGE_TEMP0 T' N, N; i: {+ ~7 n7 d7 f6 L$ {
  298. CMP #STAGE_MAX    ;关卡比较! K6 f; Q0 O" A, ^. q" n
  299. BEQ PPU_NUM_WRITE! |, x3 ^/ e! a( H
  300. INC STAGE_TEMP    ;加关+ F& F7 @; V/ u) T! m( C$ r0 P
  301. JSR MUSIC    ;按键音效
    & V& d" ]; n, ^5 ?
  302. PPU_NUM_WRITE:    ;关卡数字写入地址/ g$ _5 ^5 ]9 H! z7 d
  303. LDA #PPU_ADDR_H
    - z! ^; u( o& c- f3 L
  304. STA $2006    ;设置PPU数字写入高位地址2 s- T) @/ Y1 ]# L( {+ \
  305. LDA #PPU_ADDR_L
    ! S; \/ L, Q' b! L# f$ u
  306. CLC
    9 t8 I2 G! S8 G' _* M9 [
  307. ADC #NUMBER_A& G$ H# J' _3 L; \9 g/ p# H
  308. STA $2006    ;设置PPU字符写入低位地址
    , @% I: f, h! t, W2 U! a, T
  309. LDA STAGE_TEMP, {9 |8 {1 H* H  }+ x
  310. TAX
    3 v3 _% ~" B0 _
  311. LDA STAGE_D1,X    ;写入数字6 `+ `1 H. N5 ~, ^- T- Y8 l8 x
  312. STA $2007$ k* |6 M1 V1 J0 H0 u: r
  313. LDA #PPU_ADDR_H
    & v9 e! G; |0 H: C$ O* |
  314. STA $2006    ;设置PPU数字写入高位地址
    , h5 d$ |2 P; b! `
  315. LDA #PPU_ADDR_L+ D. \9 Z3 q: [* `( {" C/ }$ u5 _
  316. CLC2 p5 V# h" G6 t1 l5 G" U4 d7 u
  317. ADC #NUMBER_B
    : O7 h, e/ F/ ]" o
  318. STA $2006    ;设置PPU字符写入低位地址
    : b- B+ ^9 |; j3 B
  319. LDA STAGE_TEMP$ P# ?4 u0 T. h  w
  320. TAX5 d! g7 J/ n* Z2 X$ Z4 K5 w
  321. LDA STAGE_D2,X    ;写入数字
    6 j8 F# a3 R: r* I8 W+ l! _
  322. STA $2007
    * ]" M/ J4 n2 i/ I! t
  323. STAHE_WRITE:* S% o$ C1 H; K! n; R
  324. LDA STAGE_TEMP0 ]. }7 \/ G& E6 n# [! K
  325. STA $2D   ;初始关卡写入
    : Y5 {0 X( s) }6 r/ I" G; H
  326. PPU_RTS:    ;恢复数据3 c- I3 ^& |3 F. T
  327. PLA
    0 Z$ X! K* |8 i5 x% P) E* x+ k! k
  328. TAY) L% S/ S2 Q( Y9 F/ H
  329. PLA
    " v' W5 Y6 z+ C" e2 D* H
  330. TAX
    3 N: d' v* ^9 R) h+ A
  331. PLA. O3 t4 g* b; N
  332. RTS
    " G6 ^6 i6 _4 m! ~6 }
  333. / C1 c# }5 }1 t- |
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据; Q! g# P' m+ f' j
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END
    % Q/ o& k) [3 q# j

  336. # ?6 E% O7 G  ?" V
  337. STAGE_D1:   ;关卡数字
    ( Q8 h2 T7 S: S! g
  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! i, ~  J# m. S( |9 D% d6 F3 ~8 v

  339. 8 w, F4 g! E0 y2 {& G
  340. STAGE_D2:   ;场景数字
    & }' e* {: T! Z% y+ Z
  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- V3 _& d; ?4 H# t( d# n/ T
  342. # y6 L( H8 L: H* m4 j

  343. ( _$ _3 v0 c- K5 N  E' p, e6 {
  344. MUSIC:    ;按键音效* ?/ Q) C) \& Q. X
  345. LDA #$3B    ;音乐号
    - ?* j: n- W1 P& m
  346. JSR $919E    ;系统音乐调用
    6 f1 i4 A0 h3 r- C: x) S4 J1 J
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;1 S  f! R7 u( h/ \1 u" `. S$ y
    5.生命加满:   暂停后,按下键切换;
2 s3 W/ ^$ T1 p0 o2 Y    6.血量锁满:   暂停后,按右键切换;
" A( C/ N0 X2 _3 T2 [8 i
; {; p. F; B7 ]* {% A8 L! S, T
, n0 T% p6 E, x! ^/ U$ q" X! q6 S* X+ U9 w- d
0 K7 C1 ?7 n! a, ?2 x7 `" n3 k

& ?3 N9 }/ C  w. r3 d% KFlameCyclone.ys168.com9 s) o  c: ^  K: c' K/ l  r4 g: m/ |
www.nesbbs.com
+ l/ y: k$ `/ B( c% a0 F) ?
游客,如果您要查看本帖隐藏内容请回复

0 A) t$ b: `5 R& W4 l

本帖子中包含更多资源

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

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

签到天数: 2511 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1417 天

[LV.10]以坛为家III

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

该用户从未签到

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

签到天数: 1776 天

[LV.Master]伴坛终老

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

签到天数: 3085 天

[LV.Master]伴坛终老

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

签到天数: 2201 天

[LV.Master]伴坛终老

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

签到天数: 1966 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!
+ L  c/ }+ s" g4 D$ T( s

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1638 天

[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-6-5 16:13 , Processed in 1.091797 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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