EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑
! U2 t" \; G" k3 x6 h1 e
' r7 w3 e  W) G7 ?[FC][忍者神龟3][END选关]0 R' d+ e' y3 g! U

% n! }( d% e( \时间:2017.3.30% H0 x& V8 M% Z* L# d, R! o
作者:FlameCyclone
$ x% A7 s6 K" }( l4 g8 n内容:
" t' V; D1 r% n* s. V0 X6 C/ E    1.关卡选择:   标题时,左或B减,右或A加;/ Z" A+ I3 r0 x2 _% X. e
    2.全屏击杀:   暂停后,按A键切换;
4 \4 |3 e/ H: J/ m3 f* |+ m9 j' R    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0- `* v9 l% ~6 h, @$ U! h
  2. ora_data:
    " V3 H6 v3 L# {" p: H8 Y
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10' X& X3 |' t8 e/ i4 x2 l6 Z$ {
  4. and_data:. x8 @$ _( Y, L' i0 W2 E  M" _" l" v& `
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    + A  v0 L% z9 r
  6. % C1 I8 W" z7 h6 ]+ |6 q
  7. button = $F8
    + u: \7 o- I  A' [
  8. flag = $6000
    - `4 Y6 B1 P- N. m+ O
  9. pause = $0045  @6 k8 z8 v  S7 Z6 r/ {& t; k

  10. ) g" j- G; c0 Q* m: N# @0 D
  11. * W/ t' n& t6 h  M: }4 }5 Q
  12. .ORG $F90D2 V6 ]& Z6 {9 P, i7 w' r
  13. JSR $FEC0
    ! d& [- g6 q/ R6 b- K5 ?' z1 M
  14. ' [7 [; }4 w: Y4 t4 ]$ p
  15. .ORG $FEC0. Z% B$ Q( w  {* t: R
  16. STA $54,X
    , a3 M$ R9 X, {' B- W
  17. STY $FA,X
    4 N0 m2 w7 E4 [& E: [5 k  A
  18. PHA0 S( b- L  a8 |% T7 O4 o# F
  19. TXA0 u$ I! N5 u$ l
  20. PHA( z2 X- k9 v  a% d  b
  21. TYA2 b# Z6 z2 _# ~+ M
  22. PHA- v# G/ i; _( B3 v3 w5 s
  23. JSR KEY_OPERATE6 b3 p, M% }$ @5 e" y
  24. JSR INV; K$ T. {( ~0 C5 E
  25. JSR LIFE0 c, F" j) [- T; |( h% _
  26. JSR BLOOD
    / N( L* ~/ R5 b" }/ h. c' u* H
  27. PLA
    & W' K9 c) _. B, ~: B
  28. TAY  n  {1 z& I7 }  W; s. `
  29. PLA- T% k9 ^1 \: N" b* u
  30. TAX
    6 d- K6 ~9 F  i+ y, E# J- ~: c; m
  31. PLA; H$ g' N: B" f7 u9 w
  32. RTS
    % O) G: f8 _; q& t
  33. KEY_OPERATE:
    ' ^* ^: \$ y* u7 u
  34. data_protect:
    7 b1 E; z# r% B, w; B5 ^3 |- }! G5 o
  35. PHA& j5 F3 o" l& X  ~1 b; _; a
  36. TXA- z0 z4 y; G! t" r0 {
  37. PHA
    / i2 A. R: U$ v1 C% v
  38. TYA
    6 i7 f" Z* |7 C6 `8 {) h% U6 G
  39. PHA
    # L8 k+ a) m5 k6 x0 l" S  \4 k
  40. , ~9 @! u, H" x* M# @
  41. FLAG_CMP:0 K. `3 o. R% e+ \' x
  42. LDA $600F" E3 G( V. N$ G. h4 \! Q" C( u
  43. CMP #$7F    ;标志数据初始化条件判断
    # `# l  \/ i$ H, D
  44. BEQ pause_cmp+ @6 n- d. m7 V: h( L+ \2 E, J
  45. LDA #$80
    8 U+ ]; y7 @( q2 }
  46. STA $A001    ;6000-7FFF写入启用" E9 r) h6 C3 {6 {8 V
  47. LDA #$00( W6 y5 f! [( d8 [( R6 ^# M
  48. STA $6000    ;数据初始化8 m; W: B* o. m% S
  49. STA $6001    ;数据初始化
    - D  b& \2 t8 P) X
  50. LDA #$7F. z, S5 x/ L  k% Y$ q- b
  51. STA $600F7 u: B# L6 W/ t  N  O4 {# {1 [' f: h
  52. pause_cmp:( j! p% D5 ~! ?- _7 U( L  h
  53. LDA pause
    6 o- X2 ~) K- ~* T* ~
  54. CMP #$01
    , W' Q- ]' S6 t7 T, Q3 {
  55. BEQ button_press
    / c1 P; E* W1 M1 {) y, f
  56. PLA, H" \) Z5 O% a& x8 W5 A7 S) M9 t
  57. TAY5 Z3 E4 f- g3 i. c( u3 S
  58. PLA! ]7 a0 \& V' x4 b- ~  x$ ?  Q
  59. TAX
      x# a8 t) f" m* k- k
  60. PLA. @, h* @$ Q% j$ F
  61. RTS
    4 G) ]) H: x! n8 C4 I9 o

  62. ; ^% u' j$ q9 k6 L
  63. button_press:
    ' d) N% X. Q7 R6 U9 T+ j; `2 R% ?  i
  64. ini_Y:
    5 ?0 K* J$ X% q0 j. i  ^
  65. LDY #$00# d% i7 V4 t  R: F
  66. button_cmp:
    ' w: J7 Z1 e0 p# W$ i* w! H+ U
  67. LDA button,X, A8 n. `- g( s/ p- C! p
  68. CMP ora_data,Y
    4 Y" j. _4 o; i- I+ b/ n
  69. BNE count_Y_cmp9 Y* [+ m3 d! R8 y
  70. flag_cmp:7 t- g* r6 z, H8 T9 a2 P  p
  71. LDA flag,X
    ( m+ l2 R5 `. _5 _2 U( b1 C; H
  72. AND ora_data,Y
    # C: |0 W% T1 E6 x( u
  73. BNE flag_and$ R0 K+ o( r6 W4 t& i4 s
  74. flag_ora:
    " J+ Z6 |* T. V. J# I6 F( r
  75. LDA flag,X( O4 {* R1 E8 D$ Y& j$ T( R! `4 v
  76. ORA ora_data,Y$ W. K) \! v( @( s. n- g
  77. STA flag,X; u& V+ H8 B% R- [* Q' B
  78. BNE count_Y_cmp2 z# T- N) u# i
  79. flag_and:/ J4 u. Y4 L7 ]2 H: j& S; C9 w* q
  80. LDA flag,X
    0 [6 {% q$ ]* Q% A; g
  81. AND and_data,Y# z  p! }" r6 r6 C
  82. STA flag,X
    1 e, D) c$ e# W# r
  83. count_Y_cmp:! L& p; ?1 U8 n' z; q1 V/ v4 T
  84. INY
    % \& ~# T4 S0 t, E3 A, [6 j
  85. CPY #$08
    . P$ h3 g6 l1 J9 ?/ w- r  r
  86. BCC button_cmp
    8 l6 S0 K7 j9 y) }8 f, @# [8 _

  87. ( a4 Y; @  V8 T
  88. data_extract:5 i5 ?( P0 w; p7 g9 K6 e' O4 j
  89. PLA+ Q" U# n: Q6 M9 o  G1 H
  90. TAY
    * X  ]. L, Y: S  w4 Z6 N
  91. PLA1 H$ E# b( U! A2 L3 |' c
  92. TAX
    2 e7 Z. v- |6 {/ w. F$ Q3 x; G
  93. PLA
    7 u6 K& Q9 c, C% O2 E
  94. + j  c- F* k0 k
  95. return:
    ) j" s) z5 ^; E
  96. RTS
    ) I3 V' \7 v  Q, [  ^4 B
  97. 2 n4 l! X' P3 ~$ J

  98. ! H' G1 N0 e. D2 @
  99. INV:    ;无敌
    + ]6 M/ {2 [4 p7 e+ A, E! ?9 {
  100. LDA $6000,X/ ]' G" U: Q$ m* ~1 \5 e
  101. AND #$084 ?6 e/ {9 W$ Y7 ^+ p
  102. BEQ INV_RTS
    1 O+ v$ a/ [4 I' _2 Q5 x: ?5 m
  103. LDA #$05& @9 V5 p) a5 w
  104. STA $04FF,X
    0 O, b; I% ?, J5 }% u% u
  105. INV_RTS:
    0 n) X, V; M9 V% g( l: e& I
  106. RTS
    ( K" _- d0 K% S* a& X. r
  107. 2 A: n1 F( ~6 }( Z
  108. 6 Z, Y5 i- e  }5 U! y. V
  109. LIFE:    ;生命" O# L9 i! c1 p
  110. LDA $6000,X8 F6 N4 M8 Z( M" Y3 I% l( \
  111. AND #$04" h5 }# Q$ j" }
  112. BEQ LIFE_RTS, F! U! D7 k. W  {: [
  113. LDA #$09, X; D: H9 m8 f" g
  114. STA $6A,X
    1 B' v. X6 y7 I( ]
  115. LIFE_RTS:
    : ~' J& l3 C3 m8 k9 q
  116. RTS
    # r$ i1 o5 j3 h

  117. " m( R) R  W8 `; w/ \

  118. " Q% c" ~! @( {  U- ?5 ^  D6 Y) E9 e
  119. BLOOD:    ;血量2 A% O+ B7 L1 Y# z
  120. LDA $6000,X) y: x, H7 s! \. a% R
  121. AND #$01
      l2 l$ x* A* r$ I+ O+ o  {. h
  122. BEQ BLOOD_RTS
    7 B2 X) L4 i5 R7 j: I. B/ _! l9 m
  123. LDA #$7F$ p* c  O# g7 q. e8 J
  124. STA $04F1,X
    ! V+ r+ S" c; s/ }- L2 w1 J( }: q
  125. BLOOD_RTS:) V) u$ W% x* u+ u# ]1 f
  126. RTS
    6 [$ ?4 r* I, n/ Z! l9 D" @

  127. & W; B$ U/ t6 j# P7 a8 y

  128. " e" G7 x7 n7 `! p4 |/ Y* e
  129. $ @- F1 ~8 q9 T. b5 M% C  Y: a, m

  130. ; V! [1 m: T' j! }! T
  131. .ORG $D29F+ K+ n+ ^. u6 r7 W, ?- Q
  132. JSR $FF80
    # b0 E+ f  V: F* Q
  133. $ |) _$ i, o7 t
  134. .ORG $FF80
    , Z- g0 U, |* m7 L, j& h% _& z& h
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀) c  t7 ?- s7 _9 I
  136. STA $06283 Y' R& y# V2 T: `% O9 g
  137. PHA1 P- q4 r; L1 X) }* m0 ^. [
  138. LDA $6000
    ' j/ L( x$ v. V
  139. AND #$40
    : X3 N# `2 R- ?8 W4 q
  140. BEQ ADDRFF8E. X- m# n' p  r% @
  141. PLA! h: B8 c( B4 _6 H! e
  142. CLC   ;敌方死亡状态判定
    - M) Y0 {( }0 W9 X7 y/ |7 O7 i
  143. RTS, G2 Z. d9 r+ _7 D$ q9 W3 Z$ x% B
  144. ADDRFF8E:
    7 s- c# w! v6 Q/ b/ R
  145. PLA, m5 x+ m7 b/ b& {8 Y
  146. RTS
    ! \" C: F9 n/ d" j* W; F

  147. % Q% m! g7 N; c- \8 d0 u
  148. 1 G4 x. |# g" E- ~$ Z2 x
  149. .ORG $D151) [: _& k# p) N  O: h. B; L
  150. JMP $FFA0
    ) \# _$ r  c6 A- ]$ S: X$ t

  151. & l4 p$ c4 @, J/ Y7 F& f) `: Z
  152. .ORG $FFA0! W& O+ W8 S! }7 M
  153. KILL_BY_ONE:    ;杂兵一击必杀) m! D( B" f0 d7 X" H7 r4 t: n
  154. STA $0621,X/ `3 Y: p* d8 A2 r- `
  155. LDA $6000& F+ D- A+ l4 K+ ^5 f1 r: T
  156. AND #$40: m* c; \& @" H7 r# G
  157. BEQ ADDRFFAD5 ~, U7 w& x0 O7 ^: w
  158. JMP $D19A   ;敌方死亡程序跳转
    ' k: b# X# T9 @' o- N$ n, ?# \
  159. ADDRFFAD:2 e3 C7 @/ K+ j
  160. JMP $D154
    - m- u& I2 J# s6 q9 q' [7 H. g
  161. 8 b5 v9 l' J: N& k
  162. 8 u- N% G& T0 u7 z9 Z. g9 W- S+ f: }
  163. .ORG $A7F6
    # |. w# f( c1 Q4 F# @. E
  164. JSR $FFB0  J: ~1 `) u  W2 |! p! A$ o
  165. + O! V0 g: ~, j
  166. .ORG $FFB0    ;全屏攻击  p$ g3 t4 B* P% G* Y4 n5 R
  167. PHA
    ! E' p" e. t% O3 I& G5 k" [; d0 q
  168. LDA $6000& t3 o# [- l& x; x: s- l0 X
  169. AND #$80
    4 `: l! X- c$ P3 {/ K/ d/ F
  170. BNE ADDRFFBD0 k0 Z1 U5 ]$ N+ z3 {
  171. PLA
    ! x, @) X/ X1 |: F% z
  172. LDA $0015  a% `$ F2 }& u+ `8 D( r
  173. SEC. k- Q/ ?, e7 m5 t  e+ {) f
  174. RTS
    3 l0 g+ \( ~% P) z7 c
  175. ADDRFFBD:
    6 ~5 V$ N/ k" j4 A1 N3 T  V' u" C
  176. PLA
      j7 N% g3 N3 i1 Z
  177. JMP $A8262 N( \5 K% Y$ M9 k2 {9 p
  178.   G8 p6 {( W8 @( s+ O% C

  179. ; b6 k; y% m5 q0 G0 @/ l& {
  180. * Z% d, y- t' E; c5 N
  181. .ORG $AA6A0 D# i; E" m& q. g( e7 L, |4 \3 e) H
  182. JMP $FFD06 P7 Q' X3 u: U/ V
  183. ( D& a- `+ g9 W% Y: ~/ A
  184. .ORG $FFD0    ;敌兵动作忽略' f( ^( f2 i0 o2 F. T  `
  185. PHA
    9 M- q4 b6 ~8 X" I0 |2 h" e
  186. LDA $6000! H+ w0 @3 @9 S! `
  187. AND #$80" W5 L5 O+ {! ]$ M
  188. BEQ ADDRFFDC
    , u# K7 e. M0 Q" q
  189. PLA
    . R6 T. C+ W8 `6 W
  190. JMP $AA724 A) m! D  @% C; x/ ]8 z7 D! _. E
  191. ADDRFFDC:
    7 Q8 g( @2 n! _8 n# ^0 ^/ Q  b/ s
  192. PLA8 b+ q" l1 G- R; H& i$ ]
  193. LDA $0629,X5 B% N' z0 R' w' M( Z
  194. JMP $AA6D4 M: h6 U$ x' L

  195. 2 L" r9 B+ B1 h, y  Y6 u( n
  196. ;[FC][忍者神龟3代标题选关程序]' a0 _7 B$ F" {/ z+ }* y* [# o
  197. ;作者:FlameCyclone 2017.4.1
    # q+ l% b' j2 ~. z

  198. ; o0 @0 T6 O8 L. M3 t/ \3 y5 |

  199. , C# j4 _# O% L
  200. ;配置数据2 o: M. r2 k/ q5 Q4 h7 c
  201. KEY_ADDR = $F8    ;按键地址) v; f. ]& x* q5 e
  202. STAGE_TEMP = $6010    ;关卡临时地址+ e6 |7 n* Q3 x8 u8 y( {! X8 u
  203. STAGE_MAX = $0E    ;最大关卡数
    . ?: s$ i- G3 B4 r/ e
  204. TITLE_A = $20    ;标题条件A- {. t3 q) ?. p/ a
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    3 c) q& _  H! A: g
  206. TITLE_B = $21    ;标题条件B
    , v* o6 G/ A0 o4 u) X
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定
    6 a; \- ~: I/ k* v
  208. PPU_END = $FF    ;PPU结束符/ d/ y) r, z( _( w
  209. TIME_LAY = $4A    ;标题显示延时地址
    : ?  R! ~8 |/ i4 c! ~! Z, \
  210. BUTTON_DEC = $42    ;关卡减少按键
    ! k0 N: |; Q8 q; Z
  211. BUTTON_INC = $81    ;关卡增加按键& k. U" A0 G3 j( b
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量
    ' J1 X5 D4 G! a+ r# _% `+ V! ]
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量1 d6 U) D" F0 w7 n% m
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
      W- M( I' K4 e0 x
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位
    - p! o( H) W4 S, O+ X# c0 E/ c
  216. CHAR_S = $A2    ;字符'S'
    + G! |6 V/ D+ d# E# x4 \
  217. CHAR_T = $A3    ;字符'T'9 n* B1 n2 r' J2 N  |6 w0 O
  218. CHAR_A = $90    ;字符'A'
    0 s! Z  Z! n- E/ o4 j
  219. CHAR_G = $96    ;字符'G'
    , R) b& n; T/ b& J. B
  220. CHAR_E = $94    ;字符'E'/ }0 r7 P  ^( U. f0 P
  221. CHAR_SPA = $00    ;字符空格% _( @. A. b# A. w/ f; k' C
  222. CHAR_LIN = $AE    ;字符'-'# t& r6 ]+ h/ @
  223. CHAR_O = $9E    ;字符'o'
    " R# w0 O1 r/ M+ ?" a
  224. NUM_1 = $81    ;数字'1'5 R; ?) u9 y/ h* j  G6 m1 ^
  225. NUM_2 = $82    ;数字'2'
    7 L/ O+ E/ l% J' [* F6 E0 f- }% A
  226. NUM_3 = $83    ;数字'3'9 ], H& w, a) M" c' T4 w0 O
  227. NUM_4 = $84    ;数字'4'
      o; E4 @0 m$ I# U+ }0 M7 x
  228. NUM_5 = $85    ;数字'5'8 f; U$ t7 V3 ~" ^
  229. NUM_6 = $86    ;数字'6'& U4 u% c! i  {
  230. NUM_7 = $87    ;数字'7'1 F; e& j5 `( g6 I
  231. NUM_8 = $88    ;数字'8'5 _" y! g9 f4 B: {- O
  232. NUM_9 = $89    ;数字'9'$ N. t  w# r3 m  n% E* H. J5 O
  233. NUM_0 = $80    ;数字'0'( H" i. _+ }* {$ k
  234. 7 u. y! l4 I9 p/ ]& k
  235. .ORG $F82A
    0 g+ `$ w$ G" E9 w
  236. JSR $E7000 G" e# s0 j* q% r

  237. 8 l& _) c# x2 _% @
  238. " m! e  l9 a# n/ c/ _
  239. .ORG $E7009 K% Y4 f  f" e* V" Y* [8 x& H
  240.   4 T1 r& z/ O5 I2 j* @+ M6 D- y
  241. STY $4014    ;补上覆盖的精灵写入指令
    ! T" v% H7 z# Q) {5 T# S
  242. PROTECT_DATA:    ;数据保护
    7 X! {6 S8 A/ O5 l" b( v: R
  243. PHA    ;数据保护开始9 n  K6 T4 P% |4 u  \9 i$ W" q6 H
  244. TXA" N1 U% [2 _" C+ ^3 Z6 @, O) _* H# m
  245. PHA
    + R& J1 T" Z; e7 h% g' ]+ ?. w* M$ X
  246. TYA, j: w/ `- U! T* b" _# _
  247. PHA    ;数据保护结束9 [  v2 \& S( r9 S5 |, b
  248. LDA TITLE_A3 B2 v2 _+ }& l$ N6 M
  249. CMP #TITLE_A_ON    ;比较是否为标题画面$ e* m; T& F2 K
  250. BNE RET
    ) ]7 B: V% d* L
  251. LDA TITLE_B
    1 l5 _. Y4 t% r
  252. CMP #TITLE_B_ON    ;比较是否为标题画面4 p# S" h% ~- |0 B( }8 |
  253. BEQ PPU_STAGE
    3 W6 a$ D* q0 o  i
  254. RET:    ;恢复数据$ F6 w$ l- h4 Y- k1 U9 [9 A6 I3 E
  255. PLA    ;恢复数据开始
    8 n% r# B- |" z( a) D$ t  l+ W( g
  256. TAY% n9 ^+ O% c5 x3 a
  257. PLA
    2 h) _" V7 F1 ~* @4 T) b# s5 P
  258. TAX( q# ?, F" b1 R* s+ ^$ ^+ T* Z; ^
  259. PLA    ;恢复数据结束; \! c- b; e. @" ~7 R
  260. RTS    ;返回
    7 |* P1 f6 ?1 a* {; m' R8 m
  261. PPU_STAGE:    ;字符STAGE写入程序
    % M$ y2 H/ M9 B5 N
  262. LDA #PPU_ADDR_H
    & a( ~$ v+ N/ M4 c$ f+ e6 |
  263. STA $2006    ;设置PPU字符写入高位地址6 W7 t2 C* P4 b8 {
  264. LDA #PPU_ADDR_L
    % g; R$ a4 p6 N& K
  265. STA $2006    ;设置PPU字符写入低位地址& ^4 C9 d6 |" [  G9 h
  266. LDX #$00. g6 L5 R$ [5 z2 V
  267. PPU_STAGE_WROTE:    ;写入STAGE字模+ P+ ]* D5 x( j/ Q
  268. LDA STAGE_DATA,X  n/ R+ c1 u+ S1 Y7 U) h- z
  269. CMP #PPU_END    ;判断是否写入结束" F. C) N$ c5 X1 \
  270. BEQ STAGE_CMP5 ~* c0 v- w/ T( r2 S( f
  271. STA $20075 t7 A$ a; V# {9 z6 b5 ]
  272. INX
    * a8 J9 [- c! v! h
  273. BCC PPU_STAGE_WROTE
    $ S5 g  Q) P* f  D, s8 V7 ^" M
  274. STAGE_CMP:    ;选关操作, k: ~! j% V* z2 G7 j
  275. LDA STAGE_TEMP! g7 [$ t0 P7 i& R  f7 g5 @) L' D% a
  276. CMP #$FF    ;关卡数据初始化条件判断
    1 f! {  C- h4 B. x" O2 E
  277. BNE KEY_B
    * R" W9 n3 V* T
  278. LDA #$00
    2 Y- `& j. l5 C5 q% S2 L
  279. STA STAGE_TEMP    ;关卡数据初始化$ o: y2 _( y& d% Q
  280. KEY_B:    ;关卡减少% i/ N7 Y9 y# g$ V! j  k" p4 E# z4 R
  281. LDA KEY_ADDR
    - Q# E# {' Q8 P' z5 u2 S
  282. AND #BUTTON_DEC    ;按键B或左减关
    3 C2 l( K) r7 _- z
  283. BEQ KEY_A5 w( V, G% N# m; h" Y# }
  284. LDA #$FF8 y; h/ ~- E6 I- E; N
  285. STA TIME_LAY    ;重设标题延时+ l, L! ~2 A0 v6 ~: i+ [
  286. LDA STAGE_TEMP$ x5 M3 w; @$ u) O) O0 x; ?$ o5 f
  287. CMP #$00    ;关卡比较* B+ M/ V  r' S& k/ H
  288. BEQ KEY_A
    # l; z1 g: C: R$ y. G' l
  289. DEC STAGE_TEMP   ;减关
    $ ?) h$ p% Q; G8 z2 ~
  290. JSR MUSIC    ;按键音效
    : Y% b. k9 X' u  t, j- d3 h; q
  291. KEY_A:    ;关卡增加
    ' p9 ?+ P& t4 j: [$ X, z
  292. LDA KEY_ADDR4 [, z( g& ~# V, b/ ]( h4 x% H
  293. AND #BUTTON_INC    ;按键A或右加关
    5 S0 Z7 K3 M) T& m9 R  Z) M
  294. BEQ PPU_NUM_WRITE
    4 L8 Z, ?4 i, L" a; _# e" U
  295. LDA #$FF+ ?! a( r+ y. U' @) ^
  296. STA TIME_LAY    ;重设标题延时
    1 V2 ^/ v/ P+ a* Y  s
  297. LDA STAGE_TEMP: R0 y$ r- L. R) O5 {$ I
  298. CMP #STAGE_MAX    ;关卡比较  E8 W8 t( c* ]% K, F
  299. BEQ PPU_NUM_WRITE2 Q' P/ j' ?" J# p" r
  300. INC STAGE_TEMP    ;加关
    ' B# X/ B' B+ S8 l2 @) m8 Y4 m1 `
  301. JSR MUSIC    ;按键音效: [# g' }& p' ~0 }% J( |
  302. PPU_NUM_WRITE:    ;关卡数字写入地址
    4 n. V; p5 A3 \$ B2 f' O
  303. LDA #PPU_ADDR_H
    ; Y* j# t6 Y8 m: C3 o
  304. STA $2006    ;设置PPU数字写入高位地址$ P" ~  C% |& \" `! y( ]  C( n$ P
  305. LDA #PPU_ADDR_L; s; u# o! o4 [+ D2 j
  306. CLC" i' @# t0 I2 }
  307. ADC #NUMBER_A
    3 y8 N+ w' G1 ^$ T; s
  308. STA $2006    ;设置PPU字符写入低位地址
    0 }7 B- O2 R9 N, o: Q0 C
  309. LDA STAGE_TEMP. \3 W+ q1 b0 h% Z; v% e( h% J- ~* x" O
  310. TAX3 X  z; b5 c/ `# d9 q* p
  311. LDA STAGE_D1,X    ;写入数字' `( x: @" p, S! G$ `0 F7 `
  312. STA $2007$ V+ h  N  f/ Z- l8 G( p( ~
  313. LDA #PPU_ADDR_H4 U7 z. ~6 ?' t; o+ R, m7 ]  w7 A* Z
  314. STA $2006    ;设置PPU数字写入高位地址
    " P0 }" i  c1 v* O4 R- y2 p
  315. LDA #PPU_ADDR_L( q. u' a- s4 S8 x% y: i8 Q+ _! L. r
  316. CLC
    ' J0 W2 S3 U$ @& H* J0 Z" I% ?
  317. ADC #NUMBER_B
    & @& V- \+ u* A! U
  318. STA $2006    ;设置PPU字符写入低位地址1 @- [0 a$ `+ E+ @8 V
  319. LDA STAGE_TEMP
    4 w/ E8 Y! G6 o5 E
  320. TAX4 v0 H8 ~) ]( i- m! a6 y( J
  321. LDA STAGE_D2,X    ;写入数字
    ' v( x0 |( s2 S/ a1 W! U5 A. y
  322. STA $2007
    % `8 v6 E8 S- d) x
  323. STAHE_WRITE:  ^. W# Z. @9 r; ]2 s0 U
  324. LDA STAGE_TEMP
    + n( r* [6 f4 I* V
  325. STA $2D   ;初始关卡写入
    2 N  B0 d8 W: I1 {
  326. PPU_RTS:    ;恢复数据3 ?3 c" J9 a  k$ l3 z6 j
  327. PLA
    7 P/ e3 B4 O9 Y
  328. TAY4 U( Q; O# A, _; J
  329. PLA8 q3 W: ~7 R9 \! [, }% Z8 n
  330. TAX
    1 Y6 x6 j' _6 g
  331. PLA
    2 |' K# F6 m; ?, G# P# E
  332. RTS
    8 a  l) A3 b. ]  C
  333. 1 P: w2 A$ H) V. q
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据+ e3 V! Y. e' D8 T( P3 \
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END
    ! e) q9 a. B. w% V- l3 X9 g5 `- O; y+ C" `

  336. * X( N7 I  S* A' Q' r2 {. n
  337. STAGE_D1:   ;关卡数字
    6 g: ]7 p+ F  L1 l* C# A
  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& T# ]- Y7 w2 O9 Q& T- h3 w( q

  339. 5 Q# [/ [" k. n; x0 w+ I7 Q) ]
  340. STAGE_D2:   ;场景数字4 e8 i& m) u0 K% \: `) q3 i
  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: v4 p- J* ~5 V% B8 T

  342. # g# U" c4 B3 o/ m& v8 s; q
  343. : {) X: g" C# c, z8 o( h. U- P
  344. MUSIC:    ;按键音效
    9 }: g3 D. _  ]. \( V
  345. LDA #$3B    ;音乐号$ N  `7 |- M+ a  X0 ~; [) H
  346. JSR $919E    ;系统音乐调用
    $ b$ U- L' `" H' B% ?/ O- m" m" Q
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;
* S2 N1 c4 c/ \3 b  m    5.生命加满:   暂停后,按下键切换;
1 g& P, f& j. d    6.血量锁满:   暂停后,按右键切换;
2 R- u% m; H9 M$ [. L8 d6 B0 p  q

0 C+ }2 J! T9 y" E2 ~6 v& k8 ?- M( Z6 n# |8 r$ Z0 ?

- J4 m- ?3 M* X# m
2 [6 t" }3 f% f2 ~. P% O# K& TFlameCyclone.ys168.com3 w, |/ p6 v3 e4 `
www.nesbbs.com; }1 T% G) L( o- T8 c' w
游客,如果您要查看本帖隐藏内容请回复
0 I2 k/ Z( T6 x5 P2 T: Y( t' _! N; D. j

本帖子中包含更多资源

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

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

签到天数: 2514 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1420 天

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

签到天数: 2205 天

[LV.Master]伴坛终老

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

签到天数: 1969 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!
7 U5 p3 A- S  n5 n( @. k

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1639 天

[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-8 14:58 , Processed in 1.116211 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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