EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 & f" @$ _4 a/ e/ a$ X2 c# A
# j3 {: m& ]& t' n
[FC][忍者神龟3][END选关]
. }( \% X7 x* F! G4 B7 `( V
# A( Y2 C' J- g: V+ M* b时间:2017.3.30
) z& \7 L  t2 G: I& h. L作者:FlameCyclone) H6 n5 A' X8 {: P# B
内容:
- v/ B$ ?3 K0 k/ i7 y3 [5 D7 W    1.关卡选择:   标题时,左或B减,右或A加;  [+ e( _/ c% j  B% ^* o
    2.全屏击杀:   暂停后,按A键切换;
" y  F8 r1 r- U+ c" |7 X/ T& |    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA09 P" E  c  O* u1 u
  2. ora_data:
    ! f; ~6 u" P6 ^* H/ ^
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
    * v2 W  Y' C/ s! ?  n0 C
  4. and_data:
    0 v5 |# T* d3 Y* [% @% V: Y
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    $ r0 ]2 H- D3 n$ a- O8 q  A

  6.   Q, ]& m8 k9 a% |
  7. button = $F8
    - E7 m; g  I- y' u5 \
  8. flag = $6000
    5 L, H/ W! c4 c9 L2 ~1 W
  9. pause = $00456 O8 H7 m( C1 v. d6 y3 J  E

  10. . r4 @, j+ }/ S3 t! l$ F

  11. % X- c. p. p/ W2 B' x) Q) k  c
  12. .ORG $F90D
      C5 |9 B$ \$ I2 B5 ^+ J
  13. JSR $FEC0
    ! c) c; F" V! q, ^

  14. ' d( x% E# g8 W2 ]" F4 v! P
  15. .ORG $FEC0
    4 }$ @" @& }: t  {  o6 X
  16. STA $54,X, i5 t5 R, A8 }" e1 h* q
  17. STY $FA,X# X0 {% x* m* D9 u# B
  18. PHA; E( v% r9 m& ?5 z
  19. TXA
    0 d& h+ G2 o1 |" K$ l0 K
  20. PHA& `# }+ g4 c# W' G) g
  21. TYA- V8 _  F- X) r. R: G4 k8 @  g
  22. PHA  I' }& m# V# q3 s% |4 m% y
  23. JSR KEY_OPERATE' M0 \4 m6 D& P3 c
  24. JSR INV
    ) B, I3 c0 U2 L# _9 ?8 I- I
  25. JSR LIFE
    * e3 Q1 d4 U) j! M2 D% `
  26. JSR BLOOD
    ; J1 N1 C2 z8 \& O1 ]5 `! _( t* Y1 J
  27. PLA
      d4 l( P* B1 M3 z: X/ F
  28. TAY! \+ \3 L" I; o: M, z, u7 [
  29. PLA+ I, U: G( i0 u' A# U
  30. TAX( O! ]3 r) L- w" e( y$ O$ S/ h- P
  31. PLA
    , ~- e5 N7 r* m8 K1 \. }6 a0 B9 \- i
  32. RTS
    1 I- y6 Y( }  B/ S" h3 V/ u/ l
  33. KEY_OPERATE:
    " E2 H( [! L5 }: p% z0 a0 Q# T/ Z; T
  34. data_protect:& b- _) a" v+ V) A+ ?6 y
  35. PHA
    8 p* |" W6 w2 u# }
  36. TXA
    5 i! W4 L& h1 B; F+ e: Q
  37. PHA4 X& u1 N- L9 G. r0 W6 [/ ]7 g: G
  38. TYA
    9 w$ ^/ `, i5 D" x
  39. PHA
    * h( ~( E, g6 R

  40. : N6 a+ @3 \5 S( K
  41. FLAG_CMP:/ \& L. W- B  c6 R3 }: x  ?
  42. LDA $600F
    * j- q& w  Y  ?
  43. CMP #$7F    ;标志数据初始化条件判断
    1 D" C. x& l7 c5 g
  44. BEQ pause_cmp" f- K/ z2 g7 N: s0 E: Q
  45. LDA #$80
    . ~- \1 v% l5 L" M/ |
  46. STA $A001    ;6000-7FFF写入启用9 O6 F8 `2 w1 o$ r& V' S
  47. LDA #$004 N0 r) K: r9 y! ~
  48. STA $6000    ;数据初始化( e- P9 A# k5 M' X
  49. STA $6001    ;数据初始化
    ! Q6 V/ l- G' j- m0 P- U
  50. LDA #$7F: T( I% k1 v7 |- }6 a( W/ `- o
  51. STA $600F
      E2 j1 G' V2 [# i
  52. pause_cmp:
    : N( J7 O4 o, v
  53. LDA pause
    7 j) i3 e" [  @/ U) I- Q. \
  54. CMP #$015 h1 J; ^8 V  d( W" b4 `
  55. BEQ button_press
    % j0 h3 n# ^* Y1 k* C1 Z  {. |3 ~
  56. PLA1 T4 a9 p, G: S8 V6 x4 }
  57. TAY, e4 A5 \2 B. @2 [' I
  58. PLA3 S$ G. W5 D2 V) B% R3 G+ O! X9 k. C% }
  59. TAX
    7 y  T5 ~5 v1 O$ P1 s6 g
  60. PLA: s  t1 T# J$ F. r; K8 i+ \
  61. RTS$ T& b% N0 N! {
  62. ( z, t7 Z2 Y, k9 v% x* o! I
  63. button_press:3 S3 T" d* P/ q7 R' m
  64. ini_Y:- o( n; M6 g! d0 }% S- l
  65. LDY #$00
    # O+ s8 _7 r7 I4 r( ?/ d( m
  66. button_cmp:2 H4 @6 K$ h9 {6 _! W8 h# }
  67. LDA button,X7 E, v' k  E4 [( k
  68. CMP ora_data,Y. }" Y  r4 C/ X! Q& h6 \
  69. BNE count_Y_cmp# Z9 {( n3 r: J1 b' S7 L
  70. flag_cmp:
    + {1 U5 [, i$ a. H* R
  71. LDA flag,X
    7 @9 e4 ~6 A6 o) \3 O) j
  72. AND ora_data,Y8 H# O- t& [* v& r# Q; e$ ~/ V
  73. BNE flag_and6 l1 {0 f/ t2 L# C# ]
  74. flag_ora:% ^# K: H2 `; t+ C$ i
  75. LDA flag,X! H, [- y- u6 c$ o/ r
  76. ORA ora_data,Y7 J2 \" ?" c7 \( a  n- \
  77. STA flag,X
    9 V* ]1 l0 b* d% l# I
  78. BNE count_Y_cmp
    * y1 @- i3 ~; `( V  }7 v
  79. flag_and:
    9 W! l' `; H3 m$ I: L
  80. LDA flag,X
    * `8 `  f3 ]: w
  81. AND and_data,Y
    0 x/ c9 [' k% a# P1 F' S
  82. STA flag,X2 r( d; N+ ^4 }, ?$ E
  83. count_Y_cmp:
    - }- K) Y  {- S1 k7 i; O+ ^& M# M
  84. INY$ [' l2 l; Z; n& w1 @' E4 x
  85. CPY #$08
    ' a: G+ p7 ]1 T* w
  86. BCC button_cmp  g% ~9 l+ C6 s0 a# r
  87. ' T) \- m( V# `7 E0 l% z
  88. data_extract:# w( I# M+ O  v8 K( w
  89. PLA
    ; x* B$ J- B  z. ~
  90. TAY+ }3 Z$ J. L/ }2 R% f
  91. PLA1 k# k% Z/ D) G: C: z$ Q. N
  92. TAX  k8 L: `' q- B* E6 a( Q
  93. PLA; N' p  o; t: C' l; V  Y
  94. 2 r$ E/ y. y( p' e" W
  95. return:
    9 H' y- G; t8 s) r% F
  96. RTS
    0 Q- q9 o. }7 a* J" O- a8 [, s9 G* d
  97.   c: k7 a+ D1 A- d

  98. ( w6 v; s& K# Q9 ]2 _
  99. INV:    ;无敌0 G$ y* \# g+ y3 U, y' w- b
  100. LDA $6000,X4 M7 b, u# [' h; @+ A  ?' l
  101. AND #$08
      W$ b0 W6 A" @+ L! ]$ a! _
  102. BEQ INV_RTS
    4 P( n$ _( x1 y
  103. LDA #$05
    . i: p2 X7 J! O4 F' _
  104. STA $04FF,X3 T1 v/ g$ j7 \. n) g1 m
  105. INV_RTS:
    " @3 z8 e! g- b
  106. RTS! x. d4 c2 F/ D% r& V3 B
  107. , c- d* g& d7 T& |+ R  m- H
  108. 3 v' K8 Y; C3 h+ L4 F* k
  109. LIFE:    ;生命9 V$ y/ X, p9 Y) G8 H& k( m
  110. LDA $6000,X6 D/ M' \: a; n6 i8 y: B' o* Z* @
  111. AND #$04
    " V; B* r, V3 H% C' m9 ^1 D  o* @
  112. BEQ LIFE_RTS
    7 @2 ^" v' ^3 A0 a& m0 N8 q) e* P
  113. LDA #$09
    7 G6 p- Z9 j: \- s( r8 k8 S* r% r
  114. STA $6A,X* p/ p7 k) b9 |2 j2 C% u
  115. LIFE_RTS:
    ! y" v, \9 L) ?  b) b& N
  116. RTS
    % p& I  C/ T! V* ?1 D: h/ j

  117. 8 e( D5 ]( Q" m" Y4 {
  118. $ l, F- j3 d  @8 M( B( m
  119. BLOOD:    ;血量0 A- b. m; n; w6 D! {6 o8 L
  120. LDA $6000,X
    7 ?5 W& \* W! B, n6 L
  121. AND #$01
    & ~* j& k6 M- e5 A- j- V
  122. BEQ BLOOD_RTS  Y& K: i, f4 T, ?5 I
  123. LDA #$7F
    2 p' q) g5 W# F4 {
  124. STA $04F1,X
    + a2 j& x) Y& w: E) a: q
  125. BLOOD_RTS:) M4 z3 {! @: U0 b* i/ ]
  126. RTS8 \4 b, O1 m: Z1 ^/ u0 @

  127. " L# |8 ]9 F/ y7 ?: j& f& d  f9 t

  128. " t3 p! i/ u3 @

  129. * U# h' i, [. p) _% O. C5 {/ {

  130. . M, v  J3 B7 Q7 J/ f' r
  131. .ORG $D29F
    7 x" C- s" [' o, L" l; m- a' W  z
  132. JSR $FF80
    3 P/ x( R# B- \  y/ Z

  133. ) o$ @$ B8 I3 p6 K1 ~
  134. .ORG $FF80
    7 m$ K! I! H" K: a1 j" ]) I
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀* ]) i2 D' h* `8 p
  136. STA $06285 |1 _7 g9 `( s! x
  137. PHA
    8 [  q: @* ~6 Y; S' G: l! B  @
  138. LDA $6000: t6 x4 w: b' ~+ ~
  139. AND #$401 J3 e, _; `! k: y% a. z9 W
  140. BEQ ADDRFF8E4 ~9 y3 E# U/ ~$ a* T4 d
  141. PLA0 t8 [1 W  @. U- F% S  t! y
  142. CLC   ;敌方死亡状态判定3 J$ C$ X9 @4 O& z1 s$ R: X8 o
  143. RTS# g5 j4 I+ A: t0 V( K" ?: ]& L
  144. ADDRFF8E:- S# l" O8 V" v0 Z- j3 W: X
  145. PLA
    # Z# r7 P$ q! `& ]$ B% |0 {$ I
  146. RTS" ^9 M. q* ^4 X0 ~  Y& h  K/ p
  147. & o" a* k- F& n4 g5 d
  148. 4 k5 s7 B/ [) A" h4 g% h
  149. .ORG $D151
    1 \+ U. H# z3 D7 y1 ?
  150. JMP $FFA0
    7 Q0 l# X8 U2 h; ?

  151. 0 X' ]3 [3 _3 M' V
  152. .ORG $FFA0
    - A: G* }* w1 T8 g. Y
  153. KILL_BY_ONE:    ;杂兵一击必杀
    # k/ p; g3 A' k& O% H
  154. STA $0621,X9 c/ ?, t0 X0 `3 K% Y2 Z9 n
  155. LDA $6000
    % E& m' _. k+ E3 g( X5 _8 [2 O
  156. AND #$40
    ; L: A. {3 Q! d( o
  157. BEQ ADDRFFAD
    $ i" z. I3 E$ D. j
  158. JMP $D19A   ;敌方死亡程序跳转" c3 m! z: K) f% N0 `
  159. ADDRFFAD:% e/ `8 v0 [+ ?: [8 J1 ]- a% q& p
  160. JMP $D154
    , J( [3 t7 O" K( ^* [
  161. . j5 o) l# g: n% M1 b

  162. ! Y6 |% |9 K& [; P; A0 ?# V
  163. .ORG $A7F66 @  c9 c4 U( l3 V6 ~: {+ E% O0 L
  164. JSR $FFB0& {/ k) {! Q9 G
  165. ) {6 M, ^( G0 M) h' k
  166. .ORG $FFB0    ;全屏攻击
    * a7 G( |' B; y8 }$ y8 n6 b
  167. PHA
    ; b8 N; Q& [6 X7 ~* h" q0 W
  168. LDA $6000
    8 c! M2 r- ]. U( X, ]( i
  169. AND #$80
    3 h! }" O# R5 r4 w& m9 k" i
  170. BNE ADDRFFBD: ~, a1 W' @6 l& Z! [, ^! }* |
  171. PLA1 i* p  f' r1 N/ U
  172. LDA $0015  Y' u. H  e  K% q. H
  173. SEC, f& Z$ W; P9 t: h$ I, U5 s& Z' J
  174. RTS8 H' ]5 ]  `7 g; N. _! q
  175. ADDRFFBD:
    0 O1 ?: }( ^: M
  176. PLA0 ?* f6 |! D; Y5 b
  177. JMP $A826
    " r! X8 r  w7 p' J1 D
  178. " K* ]6 l; Q5 a
  179. 1 P4 s% X1 j) x, P6 X" l1 \
  180. - Y( X1 V% v9 J
  181. .ORG $AA6A1 F& T+ U% @  w$ A  H: Y
  182. JMP $FFD0
    2 }3 S# s& S; B- b- Q
  183. 8 s1 S6 U; V7 l. Y
  184. .ORG $FFD0    ;敌兵动作忽略
    2 V1 Y/ r1 s( S. X
  185. PHA
    5 v' s1 J) h% L8 q: e9 T1 Q
  186. LDA $6000% S1 i+ B1 P- m8 J# S
  187. AND #$80# B/ |- c" J' z& e/ q$ I1 ~
  188. BEQ ADDRFFDC
    # a1 M  W, i0 x2 \2 F
  189. PLA
    5 K$ q2 C/ `0 E
  190. JMP $AA72
    % }( L/ a9 v# d5 N' b
  191. ADDRFFDC:7 g, V8 E7 }8 h$ a3 e6 U* x
  192. PLA
      a4 c4 d5 A: Q1 X2 }! }
  193. LDA $0629,X* P. z  p$ O! I3 q. ?# Y
  194. JMP $AA6D% E7 t9 Q5 D* }
  195. 6 G1 x& A" s/ A: j. P
  196. ;[FC][忍者神龟3代标题选关程序]% ~& n( O! r* p/ {+ {) D0 }
  197. ;作者:FlameCyclone 2017.4.11 s4 D2 k& H5 z/ s# v- ~1 U" p

  198. 1 S  [) G: C2 a. \6 l1 Q0 e
  199. * l* L' X$ F* n% m5 B( G
  200. ;配置数据+ F. J+ M' b0 v0 w3 j+ Y4 l% C$ X
  201. KEY_ADDR = $F8    ;按键地址+ o* e4 b3 a4 C  b* ^- h6 L  R1 F0 J
  202. STAGE_TEMP = $6010    ;关卡临时地址# l6 r7 k' H$ x$ F* H. p
  203. STAGE_MAX = $0E    ;最大关卡数
    . F$ D$ {. L+ f% S) ^9 j5 T- A+ v
  204. TITLE_A = $20    ;标题条件A5 o3 c8 z+ [7 C& a' P  N
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定/ d9 h$ n0 C8 U6 J
  206. TITLE_B = $21    ;标题条件B
    & {+ `* k- g% p5 `9 F8 O/ w7 Y
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定+ J" ?: D2 [9 ~: Y2 Y" g# P4 T0 p% @
  208. PPU_END = $FF    ;PPU结束符
    ' ^) X4 L) x+ e
  209. TIME_LAY = $4A    ;标题显示延时地址" q' J) N1 Z" l' A* _
  210. BUTTON_DEC = $42    ;关卡减少按键
    * b; s( K, i0 e+ R/ f+ S8 A: d
  211. BUTTON_INC = $81    ;关卡增加按键
    ) u- A2 F4 V: K( [3 v, b  l! G& k! B
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量
    - z6 A% [8 s5 w' Q4 X
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量( J3 K  Z# U# i! z7 m
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
    4 M2 j5 V/ m7 E9 M7 n
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位  u$ ], J0 q* m: M7 |, l0 a" E' Z
  216. CHAR_S = $A2    ;字符'S', h. ]. O1 J: T+ x" k# V
  217. CHAR_T = $A3    ;字符'T'
    ' B' j# a9 j9 z7 j; a( c
  218. CHAR_A = $90    ;字符'A'
    3 h  P5 j* q1 U2 E/ h2 D
  219. CHAR_G = $96    ;字符'G'
    3 ^8 @- H$ G( h- {& v
  220. CHAR_E = $94    ;字符'E'8 u" o% Q9 T  [! h, p" x9 \
  221. CHAR_SPA = $00    ;字符空格
    $ J4 }2 [9 {/ q% J5 Q! K
  222. CHAR_LIN = $AE    ;字符'-'# G# p. _% d, w: y# D
  223. CHAR_O = $9E    ;字符'o', R* u; [" }. f# w' ]
  224. NUM_1 = $81    ;数字'1'. h% t3 J6 _) S( ^  B, Q
  225. NUM_2 = $82    ;数字'2'" x/ n8 B7 b) O& ^( g) g
  226. NUM_3 = $83    ;数字'3'
    & f+ R- a& P) s8 R
  227. NUM_4 = $84    ;数字'4'
    ' h; d6 l5 X$ a
  228. NUM_5 = $85    ;数字'5'
    9 p8 d! W. f2 k2 S4 k
  229. NUM_6 = $86    ;数字'6'
    * u& d3 e2 _6 K, \7 f
  230. NUM_7 = $87    ;数字'7'
    5 N' f5 n6 z7 d( R& r
  231. NUM_8 = $88    ;数字'8'
    " c0 X3 n6 {0 ?, i. g
  232. NUM_9 = $89    ;数字'9'
    ; m8 k' Y$ d7 ^. @0 ^
  233. NUM_0 = $80    ;数字'0'
    7 o1 N+ w5 Q" D- K; I9 c2 }
  234. 5 {( Q) K- h9 x6 P) t! L- {1 `
  235. .ORG $F82A1 d) n) u% F8 u% X! X7 X: R
  236. JSR $E700
    ' i3 V6 n4 U8 m1 [3 [& J

  237. ' s2 Z( \2 P: B
  238. % m  |; }# B; u8 }
  239. .ORG $E700
    ( P+ w! b+ U1 f6 Q* m  y
  240.   % _- K1 |9 l" E7 E# }% {  z% H) H
  241. STY $4014    ;补上覆盖的精灵写入指令4 J( N" E0 ]0 b
  242. PROTECT_DATA:    ;数据保护
    ' c% g0 o% X' U# P: [" m, ^
  243. PHA    ;数据保护开始' b. Z( l* @( W: N5 s7 h
  244. TXA% f+ g7 M" D, b7 i. p
  245. PHA( o' L* ^' `# ]2 l: v, ?
  246. TYA
    ! X7 l1 M6 k1 G$ P( D9 N; h
  247. PHA    ;数据保护结束9 L8 |% f7 m& z; m* P
  248. LDA TITLE_A
    . D1 p6 ~" \& ^; o
  249. CMP #TITLE_A_ON    ;比较是否为标题画面
    : O, U4 I( x( z' }
  250. BNE RET% l( ]) }0 Z/ I* s- \1 _/ f/ V* w) @
  251. LDA TITLE_B, [; Q- A4 \1 U' i+ |
  252. CMP #TITLE_B_ON    ;比较是否为标题画面+ F7 C+ [% i2 C# o
  253. BEQ PPU_STAGE
    . ~9 x) T! n- i' i" U9 c) M
  254. RET:    ;恢复数据- b, j8 f- Y3 ]7 \- q- l
  255. PLA    ;恢复数据开始
    9 Z/ `" W; G+ ^
  256. TAY
    ! o" ~$ R0 g7 I) u1 ^
  257. PLA
    $ I  g2 l4 P8 d
  258. TAX
    9 c3 q/ p8 n; U5 }+ f  z
  259. PLA    ;恢复数据结束
    $ |( t$ ~" @% `2 a2 O' s
  260. RTS    ;返回6 o6 ~' e5 O# F  H
  261. PPU_STAGE:    ;字符STAGE写入程序, {: ?5 z& Z3 m# Z: L' g' m
  262. LDA #PPU_ADDR_H
    + f: L( c# U8 k# O% e* x& W
  263. STA $2006    ;设置PPU字符写入高位地址6 v( I7 v2 E" |! F0 h0 e
  264. LDA #PPU_ADDR_L
    ( t+ L  M  F! }
  265. STA $2006    ;设置PPU字符写入低位地址
    ! l7 u0 `" M: t6 Q, p
  266. LDX #$00$ q8 |6 s1 r- D
  267. PPU_STAGE_WROTE:    ;写入STAGE字模
    * D! X/ O8 @$ L
  268. LDA STAGE_DATA,X% j3 x1 f$ D# \9 j/ j
  269. CMP #PPU_END    ;判断是否写入结束6 {2 h) }1 ?4 n2 D3 R
  270. BEQ STAGE_CMP
    7 P) {( b1 j/ v& S- d
  271. STA $2007% G* X( @1 N7 A5 Z
  272. INX# U2 A1 ~# s$ _" T/ U
  273. BCC PPU_STAGE_WROTE. p$ |" L; i& j
  274. STAGE_CMP:    ;选关操作
    1 P" y9 K  L  {
  275. LDA STAGE_TEMP
    + c. A8 `. @- n. i* K; w
  276. CMP #$FF    ;关卡数据初始化条件判断
    & a( a2 M2 h" a' ^) [6 w
  277. BNE KEY_B9 \; u6 h* X: a# W' [+ b1 |+ J
  278. LDA #$00) h2 `5 v$ l; Y# X: ^- n# h- @
  279. STA STAGE_TEMP    ;关卡数据初始化
    ; J- h7 w' }/ T# O5 J9 {$ ?. N, |
  280. KEY_B:    ;关卡减少
    - Z' `1 `2 [# Y1 a5 d
  281. LDA KEY_ADDR
    2 J5 Z( u4 t& `6 G, e
  282. AND #BUTTON_DEC    ;按键B或左减关
      c" O5 J, R; L4 u$ l
  283. BEQ KEY_A
    . T7 b. c0 \- r% ?8 M! J' C" X
  284. LDA #$FF0 C. E. U7 G8 o2 h3 i4 v2 f! _, Z
  285. STA TIME_LAY    ;重设标题延时7 y$ C1 F3 A, U, a
  286. LDA STAGE_TEMP2 `; M( r# M# q, K$ N
  287. CMP #$00    ;关卡比较
    * B! ^' z% ?& \/ j
  288. BEQ KEY_A1 t4 k  v$ \8 w. o; `1 ^
  289. DEC STAGE_TEMP   ;减关! C  c) k/ C% i% j5 x
  290. JSR MUSIC    ;按键音效
      f) {1 U3 D8 o/ o; x
  291. KEY_A:    ;关卡增加
      z% e9 f7 x; D. |
  292. LDA KEY_ADDR6 I. O- ~2 @) \% u% ?$ A( L
  293. AND #BUTTON_INC    ;按键A或右加关5 y7 i* `2 q- j0 T
  294. BEQ PPU_NUM_WRITE5 D" A8 K& F0 b9 k. s
  295. LDA #$FF% i0 i: e7 Q* c( B* z
  296. STA TIME_LAY    ;重设标题延时+ z2 ^, M# d$ k3 D0 M  q+ C" {
  297. LDA STAGE_TEMP
    - I5 _9 u6 o6 ^, i. O, j
  298. CMP #STAGE_MAX    ;关卡比较
    / X" G. v9 s8 u/ @4 Z( Z/ K3 C6 I: f
  299. BEQ PPU_NUM_WRITE) a5 n8 `& f1 c2 V; \, _( i- e
  300. INC STAGE_TEMP    ;加关
    1 N9 |  {9 ~! @. y2 k* o6 t2 b0 ?
  301. JSR MUSIC    ;按键音效
    ' ^* D7 ]) W! D' @: P3 H) y
  302. PPU_NUM_WRITE:    ;关卡数字写入地址- t5 J% k2 {4 T. W
  303. LDA #PPU_ADDR_H4 t, F' C1 J$ E4 s4 U5 A
  304. STA $2006    ;设置PPU数字写入高位地址
    - N0 a1 |' R2 [) J8 x; p8 ?* s1 @" V
  305. LDA #PPU_ADDR_L+ g/ m6 y  [, T" u
  306. CLC
    , `9 h, v! H7 u
  307. ADC #NUMBER_A
    $ K7 @7 Y& n) e; F
  308. STA $2006    ;设置PPU字符写入低位地址
    4 X& f% X% ]& ?' H
  309. LDA STAGE_TEMP
    / [, n8 g" E. u4 a% L4 E
  310. TAX
    $ ^0 z# O9 y# L: g: m8 P5 B
  311. LDA STAGE_D1,X    ;写入数字
    6 a: W$ k& P4 m& U1 A. p! B
  312. STA $2007
    3 n& R7 {. O1 V  c( p
  313. LDA #PPU_ADDR_H+ B- ]5 T" [3 q; J3 s6 J
  314. STA $2006    ;设置PPU数字写入高位地址1 E, P8 Z. a  B+ O0 g; a% O- ^
  315. LDA #PPU_ADDR_L
      r7 W4 S/ ~& @+ U7 T3 ~; E6 n
  316. CLC6 W% b  q9 s4 Q" K' T# B
  317. ADC #NUMBER_B
    * K1 c$ E' u+ t" e
  318. STA $2006    ;设置PPU字符写入低位地址
    9 k6 ~( G0 V6 X
  319. LDA STAGE_TEMP
    ! M; P1 d: \9 V
  320. TAX
    ) a2 w5 A6 {7 L+ Y' n1 S4 W
  321. LDA STAGE_D2,X    ;写入数字, Q: j$ _  n- O9 H" i& V, [
  322. STA $2007# O# Z- h: n1 S0 t# S; \7 k
  323. STAHE_WRITE:
    0 L, O) \: N: u" A
  324. LDA STAGE_TEMP3 B% H& q9 l9 Z* ~& i
  325. STA $2D   ;初始关卡写入
    1 M2 K" H$ R& Z  f0 L: ~4 d
  326. PPU_RTS:    ;恢复数据; T4 Y$ j0 |1 E6 W  q$ P
  327. PLA
    ; ~" D  i( g, e& a- g6 x& _0 P
  328. TAY/ E/ R# B7 u6 P
  329. PLA8 o/ k3 y' C; E. q
  330. TAX6 E) Z3 i: T6 z) G( H) V6 n
  331. PLA
    - o0 T4 i' H/ t
  332. RTS
    # G3 Q! I- r7 u! Q
  333. ( q6 e' [# o+ m
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据
    : o' H  U/ C5 z
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END: \' z+ x+ S  j
  336. % C) m! \6 V. |/ j2 A
  337. STAGE_D1:   ;关卡数字
    # q% a! r* K# |. b$ a5 B7 u
  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
    9 U$ o4 _9 T. \0 ]8 r* A' {0 o& `

  339. - `: W( _4 j% F3 i* g
  340. STAGE_D2:   ;场景数字/ h1 G1 f. ?- v! ?* ^0 C5 N
  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% `# h5 |2 `; ?( J, ?) j2 j
  342. 2 U3 h' h9 M1 M4 X& h
  343. $ U. {+ ~! Y  R+ P
  344. MUSIC:    ;按键音效8 a( V' m: {0 ?* K' T
  345. LDA #$3B    ;音乐号: D9 \3 w' o) O1 U% }9 n9 d
  346. JSR $919E    ;系统音乐调用
    3 I8 U5 u2 ]1 t& Z5 `" e
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;
& G# \# @7 t# l! `    5.生命加满:   暂停后,按下键切换;& j. Q  s6 z/ d! B  ^$ r
    6.血量锁满:   暂停后,按右键切换;
) j, O, k/ S$ W- d$ l) U5 G. G- w" ~' W1 F8 ]( K
0 A' R9 Y  C) i& f0 U  j- G1 z
! d8 C2 a/ ^& _* z0 |
; _- R8 ^2 V% O4 O+ N7 d5 d
& ?6 |1 ^$ T5 N6 a3 w; v
FlameCyclone.ys168.com
6 B& S. H% e# @3 m$ d: N% `www.nesbbs.com
  _6 g5 I; \) u
游客,如果您要查看本帖隐藏内容请回复

) x6 S" a' D( O& c5 C( H- {

本帖子中包含更多资源

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

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

签到天数: 2485 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1394 天

[LV.10]以坛为家III

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

该用户从未签到

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

签到天数: 1771 天

[LV.Master]伴坛终老

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

签到天数: 3059 天

[LV.Master]伴坛终老

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

签到天数: 2183 天

[LV.Master]伴坛终老

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

签到天数: 1939 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!! T" N6 K9 c! P6 \

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1623 天

[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-5-10 03:48 , Processed in 1.101562 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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