EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 5 K' {* e1 p2 w5 v
8 k6 `$ t3 k! d& @
[FC][忍者神龟3][END选关]
2 q4 ~! V- @- S, r' k# E! ?  W3 o1 E9 p
时间:2017.3.30
3 S! y% h- l! K, j6 L- T作者:FlameCyclone' L, o9 t$ I+ p7 l8 }
内容:
4 n+ u: |4 s% _$ ?' a! ^    1.关卡选择:   标题时,左或B减,右或A加;/ A  Z8 T/ V( I. ?
    2.全屏击杀:   暂停后,按A键切换;
# W% ?  m2 p+ u    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0/ t" R4 ]2 z/ x, p; ^% ?' k
  2. ora_data:
    0 P5 q- b. Z5 o& A! f+ C
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
    0 k! K3 j, G4 s
  4. and_data:
    2 A8 u" J, A2 S& Z. w  h9 E+ z
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    % c' x. z8 t  l, q# Q; Y

  6. 6 W6 L6 U8 Y* E, S
  7. button = $F8
    3 v/ t: Y4 L# R" P; B
  8. flag = $6000
    : h7 D: J/ K3 s7 [
  9. pause = $0045  {3 N8 v' q+ j  f# t( _
  10. : V6 V# i9 _2 Q2 G

  11. " j7 d; x) B% L- w8 H5 p& g
  12. .ORG $F90D0 O+ a% ]1 R" P! ?, d
  13. JSR $FEC0
    3 T. ^% F9 t6 H6 V, a5 d

  14. ; n2 R# F* d( T0 B
  15. .ORG $FEC01 |$ P7 z. y6 C# z
  16. STA $54,X
    8 k0 `: K4 J; Z5 e1 Y
  17. STY $FA,X' J2 N. Y0 P2 {/ }  V3 E
  18. PHA
    + w# i! l6 Q8 e+ j3 L4 M/ L( m% W
  19. TXA
    2 d+ f3 ]1 n2 ?0 Y2 U
  20. PHA
    : s8 f* _* b# N( e- c; T! n: a
  21. TYA
    % i/ ~/ h( y( ~3 w, p& C
  22. PHA
    ) b9 `( o4 I* Z
  23. JSR KEY_OPERATE8 p3 J. D. z4 U% t7 o! I3 S
  24. JSR INV- Z6 N" m3 Q& x8 D; \# J
  25. JSR LIFE7 L/ b# m- e* \3 }2 C) k, Q
  26. JSR BLOOD
    ! K$ K( ~7 m( G+ H
  27. PLA
    2 g# r2 ?, h$ s9 I% u
  28. TAY  h& ]6 S- g# E2 ~- Q9 u3 |
  29. PLA
    & ]7 K& A, B0 V6 S3 k  A" M) e
  30. TAX; ?/ w# y: M, o, D& {
  31. PLA
    / G% [: \9 ?/ W$ K1 f& D0 }$ ^
  32. RTS2 Q8 T( z* {5 ~, c$ `
  33. KEY_OPERATE:8 K( r3 |: z) R
  34. data_protect:" I* I! Y( t$ i. q! e8 b
  35. PHA6 |  H" P8 x: J
  36. TXA6 b3 T) T0 m9 p6 M* K0 t
  37. PHA
    " E, P+ W; B; u: t
  38. TYA
    ' w: U  G0 I: A' O. c( G9 {
  39. PHA
    1 r" ]2 L8 ?( i' p

  40. % o7 i4 O$ K( Q: F) T% o
  41. FLAG_CMP:
    8 ^' X! m3 A( _7 J5 }
  42. LDA $600F) b* v5 E, Z& ~# ?  q
  43. CMP #$7F    ;标志数据初始化条件判断
    " ^) ]0 W* L% O+ M% b
  44. BEQ pause_cmp
    4 c" p* a' c. Q+ k$ H& ]8 }% @
  45. LDA #$80, ~2 x& E/ N7 e3 S
  46. STA $A001    ;6000-7FFF写入启用* S. F6 B3 K& i$ g* D6 S
  47. LDA #$00
    9 h* l+ T9 k$ w1 O2 d# y- S
  48. STA $6000    ;数据初始化# I' G: n4 Y8 X" T. L
  49. STA $6001    ;数据初始化
    7 ]- r! E3 f3 u7 z/ u0 f
  50. LDA #$7F9 }6 v$ V/ {' D
  51. STA $600F" D  B7 e2 {* _& y9 M' Z, l
  52. pause_cmp:' c) }& g; L& D1 {6 z; }0 P( b8 d! G
  53. LDA pause
    # h% N- G% V: B
  54. CMP #$01
    1 [; w/ f& n- n% j& p- \
  55. BEQ button_press
    + W4 T8 O" d' `: L, l5 A# o. V
  56. PLA1 N7 [& ?' Q! j$ P+ j3 d+ ^
  57. TAY
    5 _$ y3 ~0 K0 f. V* N9 N
  58. PLA
    / Z- |* A0 y. e5 f% m3 i' E
  59. TAX
    6 Q: J: R0 j$ `, f
  60. PLA
    5 H& d" S3 }% b* M) d" X. G8 V1 E0 Y
  61. RTS$ m  }1 s# e6 h8 j7 V; R$ X

  62. ' I. h8 `, v9 O" [9 a; k) W( p( _% K
  63. button_press:% C. X1 }5 \9 @& z- W. w
  64. ini_Y:
    % n, J3 V1 _9 h' N
  65. LDY #$002 r; z# W) w/ Z( g6 C
  66. button_cmp:
    9 U; s& a% U3 o7 j0 U9 c) F
  67. LDA button,X4 s' A# z. l6 ?1 N
  68. CMP ora_data,Y
    9 o7 S# \0 K4 L2 T4 X* Z4 B* L1 W
  69. BNE count_Y_cmp
    2 J5 d' P$ X  i2 o2 Y& U0 l7 Y, p
  70. flag_cmp:. u% K8 c6 |* L& w) P
  71. LDA flag,X! W- _: [5 T4 y* W
  72. AND ora_data,Y
      F$ I' K! j5 d1 S5 c) E* v  k
  73. BNE flag_and
    2 z; ^+ L8 g$ R+ U
  74. flag_ora:
    - A1 F! S- s2 k' @6 |& H6 j8 b/ \
  75. LDA flag,X
    5 E" p( p0 h& T/ @; ]2 _' g
  76. ORA ora_data,Y, N/ I+ S: a% E
  77. STA flag,X6 [) G6 P: E4 U3 b. F( G' h" I
  78. BNE count_Y_cmp
    / d) x  V4 B* P( g( b5 M: `+ @
  79. flag_and:
    ! \4 q7 U1 B. q
  80. LDA flag,X$ O' R9 i" R* o2 b
  81. AND and_data,Y
    & D% s; |& g& J: }
  82. STA flag,X
    : t" r. q  o/ N/ A$ `0 [3 h
  83. count_Y_cmp:& R% B2 {' U% j, L) T
  84. INY
    % c0 r: A: G" t0 Z
  85. CPY #$083 s  W: h& b5 p: S. Y7 s+ O
  86. BCC button_cmp
    1 F, B6 V, ^5 \& }/ p% o
  87. * k( q3 I2 c' F! G9 W
  88. data_extract:9 |" z/ J% Y6 T& X) c
  89. PLA" t+ e5 b! ~! s
  90. TAY
    & _" `# o) _0 y3 R9 l$ O9 T  H
  91. PLA
    2 y3 z$ g' T3 y9 Y# [
  92. TAX
    ) u9 \2 H+ Y/ p8 v9 n4 Y
  93. PLA8 V; M* w: H) k" V
  94. # g  H5 T; l- r
  95. return:
    , T3 r& T+ J3 `% ?  s
  96. RTS3 P+ t' F1 H: m1 i9 ^# Q

  97.   |. l- [6 ?% S% J
  98. 4 ?% x/ m& Q! I* p, x7 Z: U3 K9 V
  99. INV:    ;无敌! v" \; Q2 |5 {& P( H
  100. LDA $6000,X
    # c, q, Q! v2 `
  101. AND #$088 H- K* w" b5 W
  102. BEQ INV_RTS0 l1 X( O0 o& ~1 X* t0 b8 m! y$ y
  103. LDA #$05+ W5 S" z# B% n) X" e
  104. STA $04FF,X
    ( o6 |- G8 p$ f1 q- c; k
  105. INV_RTS:
    8 m. s' W& q" p7 T- w# \2 W. X1 G
  106. RTS
    * R) ~4 W) z* t# E
  107. ; a& a  A: A! ~- _! A( V" j
  108. 7 O% o9 h6 I. i6 G' }: `; i
  109. LIFE:    ;生命
    8 b/ T3 V! H% ?" x% @5 j
  110. LDA $6000,X
    / U* e) z5 `3 b. H
  111. AND #$04
    ( G# j% A9 [. v! G# `
  112. BEQ LIFE_RTS. z& R/ x" y( g. R4 I! e
  113. LDA #$09
    + Z) D. \8 s0 u: @' x  h; |
  114. STA $6A,X
    * S+ w, S+ z' X7 t$ ?5 J' W
  115. LIFE_RTS:4 k! {( ~  C: f5 D
  116. RTS
    ' h4 U' L8 ^+ g: p% `0 l- n% Q
  117. 2 O" i4 i: J. Y7 e' T3 M
  118. : D; [" c* n2 [: K2 N
  119. BLOOD:    ;血量
      O  _& c& M7 i
  120. LDA $6000,X6 V6 e' h2 }2 g  F: t
  121. AND #$01, I. s/ |4 q0 q
  122. BEQ BLOOD_RTS6 y/ T) I+ u5 z' G3 Z
  123. LDA #$7F# @% M* K6 [. ^5 V9 Z
  124. STA $04F1,X
    ( [  q3 k: ?  x  P' C% h
  125. BLOOD_RTS:! g/ g# P! p, u& T4 m6 N
  126. RTS3 P# U4 L7 x: n  p
  127. ( S9 A* Y. a- _

  128. % x" X6 I9 K& a" W& n: v7 e& j

  129. * g$ A, p9 m6 F; F1 a9 Y! _1 I
  130. 0 i0 g* Z- I: s# I4 w
  131. .ORG $D29F
    * ^# t: j: h4 ^6 \; B3 k
  132. JSR $FF808 h0 i! P# t! K" T
  133. $ u, {: C* I- G! J2 X- [6 \+ p. e- B& `
  134. .ORG $FF80& A- E1 w: b8 E/ K; v( D3 J
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀
    # B  L- H- j' T) [3 c: J! x
  136. STA $0628$ b+ w% N9 B3 N& Y
  137. PHA. K8 m3 {, K" I; L0 `4 k0 [5 T. y
  138. LDA $6000  ]9 U' ]- o+ h" H
  139. AND #$40
    7 B% j! {# Z8 L" x7 @) S
  140. BEQ ADDRFF8E+ b* z- [- W' Z0 m' E
  141. PLA( I+ ^# @& \, _. k' x- _& n
  142. CLC   ;敌方死亡状态判定
    ; B3 ^( N  S* I; i; H1 s; Y
  143. RTS, e1 d  r# t- Y) Y; v" }: I' Y
  144. ADDRFF8E:) }0 Q6 G! B; C8 p* R- J
  145. PLA
    . r* O! _, `! ?8 w  P9 t/ n
  146. RTS
    + ?+ i( x$ B; s9 a& Z

  147. 2 Y9 o  B" f8 H, b: D# N
  148. 1 ?7 W0 D6 Q, }6 j7 k
  149. .ORG $D151, F  ^9 Y4 n2 k8 `" f; o/ K
  150. JMP $FFA0
    * M) q' G7 i& v
  151. / v3 h5 ?9 g. v- H2 K2 A
  152. .ORG $FFA05 q7 E: m7 J  D
  153. KILL_BY_ONE:    ;杂兵一击必杀
    , z- v2 n* O! D
  154. STA $0621,X
    ; I# y4 G' A- u4 N( e
  155. LDA $6000. k( D/ U6 b- Z1 r+ _( b
  156. AND #$40
    ' r7 I* H5 S: n( b$ \, |# F
  157. BEQ ADDRFFAD. e$ t) Y" ?# V4 a; Z1 F% B
  158. JMP $D19A   ;敌方死亡程序跳转
    1 d" a2 x; }) Z4 R# k# L2 {
  159. ADDRFFAD:+ h6 H) K0 q1 o6 J% s6 [9 c
  160. JMP $D154  g6 W# p  l5 ?6 }  n! r
  161. 3 i! h1 D7 Z0 A5 v! L) P

  162. 1 N4 A+ }3 @  a# R; }# L
  163. .ORG $A7F6, M! m) l+ H. Q9 [- E5 u
  164. JSR $FFB0! f$ C9 }/ j  _9 e4 N
  165. 3 w0 }/ n0 b  E1 t1 q% x; z
  166. .ORG $FFB0    ;全屏攻击
    2 u+ Q: Q8 {: V1 x0 m
  167. PHA5 U4 g* Z5 \" \: Y$ I; @0 T5 I+ p
  168. LDA $6000. m, G3 m: }0 g$ n
  169. AND #$80. W1 i# P" I. V: C
  170. BNE ADDRFFBD
    ; k6 k; }0 {/ f8 X- o/ Z% N1 a$ w
  171. PLA
    ; e" H. r" {2 y- f, ]
  172. LDA $0015) B  A1 ?4 S* }8 @
  173. SEC
    , d! @% `0 [# ^6 E' c7 J4 ]% N
  174. RTS
    # O2 X" ?# t+ C! q  J3 q7 v6 v6 S
  175. ADDRFFBD:
    + r2 j( h1 i8 ?2 I7 x
  176. PLA& f# ]$ B2 E1 `: ~( L) C6 ~9 \
  177. JMP $A826" E/ r& `: j2 q/ w. B3 `& k
  178. 5 b- `( K5 _$ j
  179. * w( w- ?. }+ O$ q" L
  180. : I4 F( j! z' t
  181. .ORG $AA6A
    # \& W0 `% A5 s1 e& z
  182. JMP $FFD07 w5 i% ]2 {* F1 Q# ~6 Z6 T1 v
  183. / {, y' \2 b+ u: s6 H6 o4 \
  184. .ORG $FFD0    ;敌兵动作忽略
    + T* s  w' E+ m
  185. PHA" J$ Q, w& }  [/ b$ o! D
  186. LDA $60007 {/ Z. C+ _# H& I; o- E
  187. AND #$80
    + w6 W/ a4 f- V+ _; u+ x( R& p
  188. BEQ ADDRFFDC
    & d2 p2 T6 Y2 z4 v2 q# R+ i9 S
  189. PLA
    3 ]6 o5 P" }  h$ j6 w% I$ W
  190. JMP $AA72
    * o0 X! k9 K$ I* S7 ~, V7 {. k1 R
  191. ADDRFFDC:
    6 n1 D  w% I* m. O
  192. PLA
    1 z# ^( @1 D9 L3 D  F: t
  193. LDA $0629,X
    , y3 H* O* `( V+ Y0 Z3 G; b! u- l
  194. JMP $AA6D: g4 x- i  t4 |; m# J" g3 a
  195. # ?& A! z" H: B: w5 o/ m
  196. ;[FC][忍者神龟3代标题选关程序]. Q) ^2 k/ V8 [& \5 b7 x
  197. ;作者:FlameCyclone 2017.4.1, V: a" Y: H) O7 G+ d& J

  198.   v8 U& k" Z  z5 F3 |! V
  199. : n7 w# W; `; P
  200. ;配置数据# T7 d0 J4 c3 V$ s
  201. KEY_ADDR = $F8    ;按键地址
    & s9 I" n5 W+ Q* @5 d+ }
  202. STAGE_TEMP = $6010    ;关卡临时地址) q0 p8 \7 H% U6 F: R: Z1 R, ]. [( G- J
  203. STAGE_MAX = $0E    ;最大关卡数
    5 A, T* Q2 u/ p( z7 S9 n
  204. TITLE_A = $20    ;标题条件A
    # `7 A2 f3 O% v: k( Z' ]3 m0 U; r
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    $ m- R1 f2 d% a& ~' _. G- o
  206. TITLE_B = $21    ;标题条件B
    + i# n  _. E8 I9 J8 U7 _7 l9 S% O: |
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定! P/ V4 _$ ^& m1 i7 a8 R( P
  208. PPU_END = $FF    ;PPU结束符# c/ k. Q8 ]: v, M1 ~# y3 v
  209. TIME_LAY = $4A    ;标题显示延时地址* A' O9 D; a  O! p' m$ R
  210. BUTTON_DEC = $42    ;关卡减少按键& L/ ^4 D1 p5 z$ N0 M. p
  211. BUTTON_INC = $81    ;关卡增加按键; F  o" Q9 g3 \3 Y
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量
    " ?2 p$ n- b3 s1 n. u
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    $ G. s4 j" b: n* n0 U
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
    0 l+ h: {& w9 ^) s* c
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位3 i- t' \$ h/ x$ m! M; X7 m
  216. CHAR_S = $A2    ;字符'S'. m2 [' h0 b. H8 G' D  |
  217. CHAR_T = $A3    ;字符'T': D" f, {! Y/ n/ `! k$ k
  218. CHAR_A = $90    ;字符'A'
    $ }: G& u- Q" ^" Z2 T9 Q0 K6 q
  219. CHAR_G = $96    ;字符'G': ~9 k: A9 f( Q- d+ c
  220. CHAR_E = $94    ;字符'E'- I" m* ?; z' B6 |, J
  221. CHAR_SPA = $00    ;字符空格1 c. {. h2 d1 g! t, R
  222. CHAR_LIN = $AE    ;字符'-'; b% q" L1 r5 I0 v6 `0 e2 h4 E
  223. CHAR_O = $9E    ;字符'o'
    8 c) A$ f1 a: s. k3 N# T2 {/ A
  224. NUM_1 = $81    ;数字'1': B4 Z  }3 B) Q1 Z7 s3 u
  225. NUM_2 = $82    ;数字'2'( Y! {& g/ H; [7 M
  226. NUM_3 = $83    ;数字'3'. K) t; [' `3 L- h7 V2 |
  227. NUM_4 = $84    ;数字'4'
    8 B" I/ j$ F+ ~3 Q8 I- E
  228. NUM_5 = $85    ;数字'5'+ M: v' t9 ~( q) z* E
  229. NUM_6 = $86    ;数字'6'
    0 Y" v# J5 V& E3 K. [
  230. NUM_7 = $87    ;数字'7'
    * R3 A, d. o# ?$ j2 Z) c9 n# ]
  231. NUM_8 = $88    ;数字'8'
    3 \( Y1 x4 y% v& B+ \( ]$ D
  232. NUM_9 = $89    ;数字'9'% P" i! I7 z# J: d
  233. NUM_0 = $80    ;数字'0'$ q) F1 i+ p# i
  234. ' s9 i1 Y- A- f- |, F: c/ Y5 G$ H
  235. .ORG $F82A* T( `' B! [( p8 q4 [4 H/ K
  236. JSR $E700
    7 S0 f9 I2 K) Q9 h" X3 z

  237. 4 @( d$ I. d5 p! v. R- _# N
  238. " k; ?: I* D/ C- Q
  239. .ORG $E700  p( Q5 Z! y5 o3 |) x9 G+ ?. i
  240.   * @; T2 D7 B) W. q4 W6 ?# Q) h
  241. STY $4014    ;补上覆盖的精灵写入指令5 L0 ~% C8 p/ e9 s  ^
  242. PROTECT_DATA:    ;数据保护
    . }& _4 |" l+ H5 K/ C, v; \! y
  243. PHA    ;数据保护开始
    # G! U0 E6 Y. d' b7 g
  244. TXA
    4 `; X* [8 y" ^  K; t4 @
  245. PHA5 U* F8 L9 g0 W# j& G/ w
  246. TYA
    2 B. m! {; Q: x- q. @- z
  247. PHA    ;数据保护结束! A( g0 {+ e& }- y1 K
  248. LDA TITLE_A
    " Q4 Z% N1 ^$ D8 n* U* Y
  249. CMP #TITLE_A_ON    ;比较是否为标题画面
    3 g, ]. ^1 S% ?: {) X1 A
  250. BNE RET2 Y- W4 h$ m; z0 B! U8 X8 f. o
  251. LDA TITLE_B
    6 D6 t7 G) n  |- j
  252. CMP #TITLE_B_ON    ;比较是否为标题画面
    9 _: l( x. w3 N4 q" [# Q) ]  d
  253. BEQ PPU_STAGE
    + H3 r1 ~$ _2 H5 ?: w/ X; x- r2 c
  254. RET:    ;恢复数据
    % r! D0 \$ Q+ t- K! p  C  Y& }
  255. PLA    ;恢复数据开始$ _! v' x1 U( @+ l' s
  256. TAY/ w8 ]  T- G# a% j7 O
  257. PLA; p2 C& i7 X9 C& b  C$ k8 g$ K, P
  258. TAX
    . [5 b8 d! h* F7 J1 E; f( i" S
  259. PLA    ;恢复数据结束9 ^# c- L# E" Y* C, h/ i
  260. RTS    ;返回
    5 H$ Q  P+ S8 W0 L! M9 F3 t- X
  261. PPU_STAGE:    ;字符STAGE写入程序
      T2 B" v0 K; z" W& ~+ H8 z- I
  262. LDA #PPU_ADDR_H # n) h. o0 r' k
  263. STA $2006    ;设置PPU字符写入高位地址' A' }  i. c7 D/ U' N. J
  264. LDA #PPU_ADDR_L
    ( v( G+ i4 c0 J: k! R% q# x1 _
  265. STA $2006    ;设置PPU字符写入低位地址6 s- d2 j2 d( f, ^' a8 n
  266. LDX #$00
    * S8 n3 }. d9 W/ F# a! b) M8 r
  267. PPU_STAGE_WROTE:    ;写入STAGE字模
    ; u* V# f/ [) ~3 R" C5 L* H, H
  268. LDA STAGE_DATA,X
    : P" T% f' @& m" a+ r
  269. CMP #PPU_END    ;判断是否写入结束; u/ s7 T3 ^- P
  270. BEQ STAGE_CMP. e8 o  P1 R' C6 o
  271. STA $20075 V! L- T  ^, v! g' ]# a
  272. INX% o. W( Z' c$ {5 I" P
  273. BCC PPU_STAGE_WROTE
    7 f3 \/ x, d: j' x6 R
  274. STAGE_CMP:    ;选关操作8 C! Q4 [% a/ _/ Q% b5 c3 Z
  275. LDA STAGE_TEMP
    8 P7 g4 W9 [; o2 R% x
  276. CMP #$FF    ;关卡数据初始化条件判断
    % \# q) ^& x2 R) P7 {
  277. BNE KEY_B
    ( v& C! k- y6 a/ u
  278. LDA #$006 U0 g- ^. z9 Z& h
  279. STA STAGE_TEMP    ;关卡数据初始化
    3 b5 k0 K9 y9 P0 |1 {
  280. KEY_B:    ;关卡减少& q/ i0 B( M. h' M
  281. LDA KEY_ADDR
    . e1 p3 [: K: n: A5 @# d, W
  282. AND #BUTTON_DEC    ;按键B或左减关
    6 ^: ?! W1 o% L2 ?* S$ K" _
  283. BEQ KEY_A$ i! |5 N! I- B
  284. LDA #$FF
    4 r/ }4 L+ u! c; S" v( }
  285. STA TIME_LAY    ;重设标题延时/ k: W$ Y3 y) l# U  G: R
  286. LDA STAGE_TEMP* C( O# o& l, y. ?! R. @
  287. CMP #$00    ;关卡比较  _6 O* \4 X; g; N, G4 o  C. ]
  288. BEQ KEY_A/ `; X9 w( I: ^- u+ ]& h, [$ P. V
  289. DEC STAGE_TEMP   ;减关
    % X: X0 r, F. U' ^% G5 O
  290. JSR MUSIC    ;按键音效
    2 u) R, f/ ]# I* a5 @
  291. KEY_A:    ;关卡增加3 @0 J1 g$ L& K
  292. LDA KEY_ADDR7 p; L: I8 Z% n
  293. AND #BUTTON_INC    ;按键A或右加关/ D, l1 O! P( ~$ ?
  294. BEQ PPU_NUM_WRITE" P  g6 p) z$ ]8 ~- ?/ A" w
  295. LDA #$FF
    : U3 [* C$ w' z5 Z6 S# M
  296. STA TIME_LAY    ;重设标题延时
    . O& @, L0 g$ Y$ M
  297. LDA STAGE_TEMP8 c8 i/ |1 H4 S$ D: [  W
  298. CMP #STAGE_MAX    ;关卡比较
    ) U- I; {9 C9 i. O. G& j( h
  299. BEQ PPU_NUM_WRITE
    1 ]8 A" r- r0 }5 \1 {" y" w
  300. INC STAGE_TEMP    ;加关% t; ^- w# j3 ~5 ^) O1 T
  301. JSR MUSIC    ;按键音效
    " G- A7 Y1 |1 ^0 S- U$ {/ [
  302. PPU_NUM_WRITE:    ;关卡数字写入地址
    ! E9 W. y/ G. `3 t# ?
  303. LDA #PPU_ADDR_H" E$ m, o9 y* p. [/ ?" i: |; N9 l, D
  304. STA $2006    ;设置PPU数字写入高位地址6 a' Z: L  L/ A$ e7 L' s! ]5 C- x! b
  305. LDA #PPU_ADDR_L
    4 M) E! M( F3 N* d
  306. CLC
      F6 h: k: ~* ?1 C
  307. ADC #NUMBER_A+ J1 p& M9 B+ k8 A3 W8 W* _5 @1 m1 G
  308. STA $2006    ;设置PPU字符写入低位地址# \$ C& F8 {7 w" i% e' B
  309. LDA STAGE_TEMP$ C& [# S* u' d( [3 ^" [' z
  310. TAX
    8 f0 X8 t9 s/ g5 L6 m
  311. LDA STAGE_D1,X    ;写入数字
    , p8 j" B! o/ h1 a
  312. STA $2007
    ; `2 j) d  O1 _4 N
  313. LDA #PPU_ADDR_H' Z9 U7 k3 y- k% O: z4 J& Y
  314. STA $2006    ;设置PPU数字写入高位地址
    6 f- a- A9 E! G2 e4 I2 E+ K8 `* a
  315. LDA #PPU_ADDR_L
    ' N! K' ?) }6 ?/ A& j
  316. CLC
    ; P+ u* }# }. Q( v% ^+ \
  317. ADC #NUMBER_B
    1 n, Z$ A' b& U- g% n2 v& s
  318. STA $2006    ;设置PPU字符写入低位地址7 D0 F( k5 W5 ]5 s9 {
  319. LDA STAGE_TEMP6 F3 `& P- }% G3 V9 F# Q
  320. TAX
    / Z+ d+ j8 Y9 Z
  321. LDA STAGE_D2,X    ;写入数字
    # |, `1 v) E5 u0 F
  322. STA $20075 C( I" v/ T7 Y6 l
  323. STAHE_WRITE:
    9 G9 }$ ^% h9 y" p- ]& h8 o* y
  324. LDA STAGE_TEMP
    7 M- n3 h5 J* r* {
  325. STA $2D   ;初始关卡写入
    ! f! y1 L8 \' t( L) V5 }: y
  326. PPU_RTS:    ;恢复数据+ |+ C0 e) R; ^2 L
  327. PLA
    0 Z7 e! F: ]  b# r* i) b7 V
  328. TAY
    % P% M/ c( c) U7 F1 }5 _
  329. PLA
    ( ~4 z3 p8 h$ s0 R3 X0 {" l' [
  330. TAX' u- b2 ]! a- q' |  O
  331. PLA; G. z! E- G7 i: k8 k. N
  332. RTS" ^  ]7 \9 N3 ]
  333. " V  F! ~& R% I$ k/ L/ j# G
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据; Q( ~5 t# g- n5 ]6 {( F
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END/ E9 i5 L9 y, S# D3 h" p
  336. * e. D- o" n7 ^4 O; D  \
  337. STAGE_D1:   ;关卡数字
    ! s& ?  }. }8 c% L2 _
  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_85 n4 w9 @& Q& n: f9 b) T

  339. % }( h; P7 L* T0 K' ^
  340. STAGE_D2:   ;场景数字+ K; c* F: O) ?7 c( [& v
  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
    & o" X9 n2 a& q( V
  342. - k- h9 _4 _$ \$ G$ J, a9 Y, B

  343. ) b, I9 \- H' W' w( v2 q
  344. MUSIC:    ;按键音效8 ], ^( j8 V7 ^$ ^' l+ {8 G
  345. LDA #$3B    ;音乐号8 c! U2 t1 W, K' d- B$ t3 }7 S0 b
  346. JSR $919E    ;系统音乐调用
    9 ?7 U, Z( ~/ s( r* m; b
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;9 S1 N8 _7 {( f2 i5 U0 q
    5.生命加满:   暂停后,按下键切换;! M8 T: p. \* ?2 g3 \
    6.血量锁满:   暂停后,按右键切换;
4 X6 C/ ^  P+ n: P+ S+ _1 i' @4 j& j: ^' ~. g, E
( o/ u. ^, s7 l* L& q2 x' p! F
5 U- P) Q& L7 C3 l$ t& m
  {) ]5 p* G& V* t  @

: K# z' c/ Q# J0 xFlameCyclone.ys168.com$ _& B5 U) @9 H3 `
www.nesbbs.com
; E* A) o* a! l6 X$ F
游客,如果您要查看本帖隐藏内容请回复

; X) Q8 L, |' Z9 F! r/ D

本帖子中包含更多资源

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

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

签到天数: 2588 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1488 天

[LV.10]以坛为家III

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

该用户从未签到

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

签到天数: 1801 天

[LV.Master]伴坛终老

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

签到天数: 3166 天

[LV.Master]伴坛终老

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

签到天数: 2283 天

[LV.Master]伴坛终老

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

签到天数: 2050 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!
0 _" P: C- s6 i$ m

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1695 天

[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-8-28 12:26 , Processed in 1.106446 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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