EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 ' u. l9 _, g# m8 x; O, x

2 w* p, N" P3 j+ \; g: {) A6 \[FC][忍者神龟3][END选关]' q& }7 w5 [2 Y1 T% m+ M& ?# U7 [5 D+ t
' Y1 m" @0 F6 d- e7 g- D4 h
时间:2017.3.30
) i4 N. D  @6 Q( W/ r作者:FlameCyclone
8 i6 q4 u$ c4 J9 v, f3 I内容:+ d( `" N  r" L& s. g% N
    1.关卡选择:   标题时,左或B减,右或A加;3 D0 s7 F) M- {; h# G* {) s* ]
    2.全屏击杀:   暂停后,按A键切换;: ^# X% H! P  D3 G1 H9 z! x
    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0
    $ d/ t6 q0 b$ j& M# k  D/ l- w, T3 D- Y1 z
  2. ora_data:
    " a% n0 z0 {- z3 D" w& B
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
    & m+ I& C8 C, D
  4. and_data:
    ) G0 r* f. `# q9 n! t" l
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF& C) N# _: F. n! Z" V9 }5 _! Q
  6. + ^$ h7 C, Y4 A% t, Y
  7. button = $F8/ R+ g+ @" o/ W; X# |
  8. flag = $60009 d7 h  K3 i0 k1 r
  9. pause = $00453 s+ v  ~+ D! K  ]! N  r1 i

  10. ' y. L9 P  l+ P' Z; B! [

  11. 0 S9 I# f9 e8 a
  12. .ORG $F90D  F, W- X* R9 g
  13. JSR $FEC0
    ; ~* w1 y8 p  C- u" w/ g& R' l
  14.   F0 ^8 [! E* ~4 z/ ?
  15. .ORG $FEC0
    9 y( w1 G! u! p
  16. STA $54,X) Q+ A; q0 S4 q3 r+ @+ d# \# C
  17. STY $FA,X+ r/ o. |: K6 I; {" N
  18. PHA
    5 A' H1 o9 X( b; m& R: u
  19. TXA7 ^7 F# @* O6 z5 Y1 g
  20. PHA
    0 h, g) h% ?+ r5 D
  21. TYA1 O5 k8 C) c4 O* Q# I9 S5 E2 S
  22. PHA) V; e1 ]9 C+ P( k. \2 S7 L) V, m
  23. JSR KEY_OPERATE
    - j& O" N5 |, j2 o( b8 W8 C0 ?5 x
  24. JSR INV( s5 P5 M: ~" q- |
  25. JSR LIFE* I7 Q1 u4 M; g7 R# c8 |
  26. JSR BLOOD2 V5 h  [$ Q2 T9 u, ~$ C* d8 N
  27. PLA
    0 n  Q! {$ x$ p5 [) d
  28. TAY& l7 G* ?" [9 x( \3 U- O; ]2 O% r" H
  29. PLA
    / t" B0 c9 |0 L3 m) i( |  O) `9 N
  30. TAX
    $ W! p* ]5 g% h5 W  z
  31. PLA+ F! b* Y6 L$ H6 N$ v
  32. RTS0 y! \; ]6 I7 k4 u- ]4 m/ L
  33. KEY_OPERATE:
    0 n/ i4 }, X+ W9 z7 o9 ?: |
  34. data_protect:
    - E' v3 B9 Z$ m+ ?- v7 n/ e
  35. PHA
    ) ~1 Z; j, s% c$ I
  36. TXA
    ( w$ g9 e, y% L, i$ }
  37. PHA
    / `. W- f9 b$ D0 J+ U. a
  38. TYA
    0 C8 g- @7 }/ t. R6 O
  39. PHA
    ) d: ~! S/ T3 u: `- p( C5 A$ @) Q5 u4 f
  40. 3 Q. B1 {' y' ?' L3 i+ g
  41. FLAG_CMP:
    ( w8 F% b2 ~' K
  42. LDA $600F! V& A" i0 H7 Y
  43. CMP #$7F    ;标志数据初始化条件判断+ M7 c# l2 O' l
  44. BEQ pause_cmp4 k, C( C3 [5 ]* u' T* `
  45. LDA #$80
    . W: J8 V+ u) j6 E6 I. Z( z( c# e
  46. STA $A001    ;6000-7FFF写入启用+ Q* R3 R) F) j
  47. LDA #$00
    ) u8 B# L2 l) T& J7 R% S
  48. STA $6000    ;数据初始化
    8 ?9 Q) r- {0 v8 S8 Q$ v
  49. STA $6001    ;数据初始化4 d3 x5 s! Q1 t. L% ]
  50. LDA #$7F
    - L1 R' `2 V/ {  `# b7 {
  51. STA $600F
    , Q  N$ K1 w9 g9 O0 ?! [/ l+ \1 Q
  52. pause_cmp:
    ' s# ^/ X' I9 n% n& e
  53. LDA pause
    9 r1 z8 }5 Z+ D
  54. CMP #$01
    * u, t$ R& U, O/ n
  55. BEQ button_press* v* c1 y0 Z" b  I- U
  56. PLA/ T& p( G3 ?7 u! ]/ I& o6 l
  57. TAY
    , @2 Y7 U; B  B  X3 l+ x
  58. PLA- d4 f* Z! Y' j
  59. TAX
    * e* p5 W  F& _- b6 e" ^/ Z
  60. PLA3 X9 p7 r4 N- V) U
  61. RTS. {! K( z' T+ o, k7 C- d8 K
  62. - ]. Z4 q0 b% t* v2 ^6 _0 S1 ^
  63. button_press:% j1 x5 m4 E" S  U1 b" _
  64. ini_Y:0 ]8 _. \. C2 g5 A% ~1 v4 W
  65. LDY #$00
    & r1 l" d: k0 G
  66. button_cmp:
    . X2 u% i& N  T  K- b
  67. LDA button,X
    ; }" P- q7 o% O7 Y& P3 }9 ~
  68. CMP ora_data,Y# B5 w0 n* `; A! ^( j
  69. BNE count_Y_cmp
    $ m$ r, \" x" r' p- o% b; D" P
  70. flag_cmp:
      A9 ]* `5 Z& x. r
  71. LDA flag,X; G3 c+ P' k6 s* Q- B: u1 Z
  72. AND ora_data,Y
    & i  S6 v& `( j' e' y
  73. BNE flag_and
    & w  C/ ], M/ j  R2 N4 i1 D  y
  74. flag_ora:2 W- Z# s  C6 \6 m0 b$ g+ {, G
  75. LDA flag,X
    ( @1 H/ G3 v& g/ _1 T. J
  76. ORA ora_data,Y
    ' m5 O" W) F* Q  B+ G
  77. STA flag,X
    ; ?6 A( g6 R1 q1 X, f
  78. BNE count_Y_cmp: S- J7 S. P$ u/ M  N" l
  79. flag_and:: r( q2 J) q- U  L( H% Y" ^
  80. LDA flag,X
    6 N7 v# V7 P9 O2 ^* J+ d: S
  81. AND and_data,Y
    0 B# ^9 o4 M% v( F0 O
  82. STA flag,X
    # X$ |* v: o# t1 \/ I4 W, l
  83. count_Y_cmp:
    5 ^( a& J. B% k& B7 C0 g5 T2 Z
  84. INY( k: P7 r0 I4 w0 D" v0 ?+ r
  85. CPY #$08  s8 [& p7 I" R$ d8 Z  k
  86. BCC button_cmp
    & ]5 q/ \" ]+ b* L- Z
  87. 0 {" G, ]1 F% Y1 e0 r
  88. data_extract:  t/ y& G# W, t( v/ g  s( W2 D: Y$ a5 K4 a& M
  89. PLA4 b) L% z3 Y! N: T
  90. TAY/ V4 m! d" b' V. ?
  91. PLA
    # }+ b, d' {5 U9 t  X
  92. TAX
    ' c7 C  O# J, ]1 T# G
  93. PLA; c5 p6 {/ q4 D/ E$ l: [% H

  94. 6 ^: {$ l; x! Y3 ~# E1 y
  95. return:+ y  x2 c0 k* F$ P1 V- l8 Y5 ?
  96. RTS" f3 u, N# |. q% F! t

  97. - ^' O' L0 U! g" y% c5 v$ C8 m8 j
  98. 4 Q) A% Y5 `: }/ `
  99. INV:    ;无敌, I& S7 i" y* |' _
  100. LDA $6000,X9 _" d, i- {* C, _+ x5 k
  101. AND #$082 A" m- |. K0 n+ M* Z
  102. BEQ INV_RTS
    ( z' n3 R' Q8 h& g- Q  j3 I
  103. LDA #$05
    ! w( A2 X* }1 l
  104. STA $04FF,X9 [; j& s/ R( X
  105. INV_RTS:
      m) Y6 q# K! @4 U
  106. RTS! g1 }& K( w" n7 r3 X" J5 Q1 y

  107. . g0 Z: u+ ]# c5 a7 J, g
  108. : w2 P: G! q2 b7 r- \+ Q; ]; c/ h
  109. LIFE:    ;生命
    7 v' E7 p! t2 U+ G' e
  110. LDA $6000,X
    7 G+ n+ e( {* e* Q' I" Z1 S
  111. AND #$04
    & g; b' y0 V0 C  {- W5 R
  112. BEQ LIFE_RTS6 O8 q) C' T, {
  113. LDA #$09
    8 ?+ D5 W: n9 W$ f
  114. STA $6A,X
    8 A2 k: k7 I/ M- |0 ^, d; ?
  115. LIFE_RTS:
    / G, Y4 H8 i- L* Y
  116. RTS1 l9 X. v6 l& o  P& ~

  117. 4 _) [% i6 N: D8 S

  118. ' o& g# S: M8 }0 t0 B5 V4 k
  119. BLOOD:    ;血量+ g5 `) c2 e  C5 X0 i
  120. LDA $6000,X  ?$ K/ ?2 z# E2 i+ H. H
  121. AND #$01, ]% t1 w. _/ k7 d' s! d
  122. BEQ BLOOD_RTS
    4 A6 A5 n% s3 }7 h1 J9 G8 i3 u" K( g  F
  123. LDA #$7F0 q$ e: [' h; r3 z& Z
  124. STA $04F1,X
    ( K& h2 ~- g4 |7 m" |
  125. BLOOD_RTS:
    5 Q, E5 }& l: X9 j* z
  126. RTS7 C6 u) T. N. x

  127. * C! r( P+ X% G2 O& f: F0 l

  128. * m$ _- |% C. ~- X
  129. ' ~' K, j# p: j- w

  130. ! W! }# g+ N5 }: _7 c1 w
  131. .ORG $D29F% V$ j! q1 V4 `. K) i  @+ y
  132. JSR $FF80
    # w. D: R1 s. e( e/ g" w

  133. # L' i3 f4 X, w, P3 F
  134. .ORG $FF80
    ( y7 C3 B8 X' U9 S* _" \
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀9 U. }5 \' s. Y# V- l
  136. STA $0628
    - q2 S* i# U- s' |: o
  137. PHA
    ; Y" A: s8 G/ h3 D; Y; I8 n
  138. LDA $6000
    , K& U, l& m: k: T' ~; \; z9 ?
  139. AND #$40
    : |4 O1 U( O: y/ ]1 B
  140. BEQ ADDRFF8E
    - G; `, C, }, u$ E1 l1 A% _
  141. PLA! y. @. h$ s5 ]  d2 k% P, ~
  142. CLC   ;敌方死亡状态判定
    0 p; u, X' O& f1 z7 x" e/ ?8 R) t
  143. RTS
    7 A; f" m" p0 w, }. X; Y
  144. ADDRFF8E:
    / K; I& m, x" O, J5 w- p! }
  145. PLA
    2 z1 y( Y% V2 E2 W4 I4 }  R; Y6 c  ]
  146. RTS' a+ P2 I" P, _" Y, }
  147. 7 F: b. k5 \( [8 \- V

  148. ) {: h: z9 P1 V# D* `& H
  149. .ORG $D151
    . U. T$ ^- I! |
  150. JMP $FFA0
    % h4 I, h- R7 L2 I# w8 ~
  151. / `% X) M( c- b! R8 G1 L
  152. .ORG $FFA03 L6 N4 @! ^  M; K& L2 X
  153. KILL_BY_ONE:    ;杂兵一击必杀
    8 O! w; q  ^3 \7 V3 q
  154. STA $0621,X
      u$ D- _* C  u# S! C! U
  155. LDA $6000
    $ R  L8 }  a2 v* @
  156. AND #$40
    3 ]1 D$ p) Q9 H0 n, _% W; n, w
  157. BEQ ADDRFFAD
    9 Z$ v& N# @2 z- i/ ~
  158. JMP $D19A   ;敌方死亡程序跳转- o1 D: b* X2 t# b7 L
  159. ADDRFFAD:
    ) Z/ x5 ?: H" l# v
  160. JMP $D154
    5 E- E7 i9 j  a: R5 {

  161. + r9 k9 U3 L  V/ C6 ]
  162. * v+ ^% O# P. C; A/ Y% b: C+ u3 T
  163. .ORG $A7F6
    & {& E2 h; [/ m# u
  164. JSR $FFB08 m* I- s8 a+ Q: d

  165. 1 Z0 ?% w" s, c7 U' j
  166. .ORG $FFB0    ;全屏攻击
    " H6 M' _5 V$ J9 T: l6 B/ M9 r- J
  167. PHA
    ) a0 l$ E+ f0 x: m
  168. LDA $6000
    & N6 P) @3 H. p2 y2 E
  169. AND #$80
    ; V& _' H% @( |3 ~$ ?
  170. BNE ADDRFFBD, D% t% @  Z! m) E
  171. PLA. p& ~! n* R- M6 t1 k$ I  w
  172. LDA $0015
    ' j- g! ~" V" N2 w
  173. SEC
    ) O. J9 [, J4 q
  174. RTS
    5 k& D! W0 P* S# h% H- m2 |
  175. ADDRFFBD:" A: h3 C  K; g" V1 H
  176. PLA5 C: O  h7 F( l& A+ Y
  177. JMP $A826
    , e5 P7 c5 |: n& `' G& e; d

  178. ' j5 e  f9 Y6 O* ?  k- i7 Y
  179. , j, b/ v: |; [2 \' j
  180. . n  {7 H- ?7 A& Y3 s# k: u2 c
  181. .ORG $AA6A! M! E4 b, J+ g$ V5 b+ u
  182. JMP $FFD0! B7 B( U) u3 e- R4 a/ ]
  183. # c; Y6 }$ ]. N' W" \2 E
  184. .ORG $FFD0    ;敌兵动作忽略8 P: S4 M  o' E. ?: `
  185. PHA
    ! I4 Y- Z; f$ k' i5 y  c, H0 v
  186. LDA $60004 y4 g3 H- C4 W- m" z1 z9 Z
  187. AND #$80
    0 y" d: A6 B# q. v% O
  188. BEQ ADDRFFDC7 R: S# f2 r# R# w8 Y3 C, i
  189. PLA$ P: w6 a  P- I- H! u- r  a
  190. JMP $AA72
    0 f& j# s3 @. `' u3 g: ^/ s
  191. ADDRFFDC:
    1 W( s# N* H  C  r# O; \
  192. PLA% [+ A& z8 p: [4 F1 }
  193. LDA $0629,X
    ! ], G3 ~# ^7 @' M
  194. JMP $AA6D
    % L* @! r* y' v8 p" [5 A0 G$ R

  195. " Y# m" S  q; u. a: E
  196. ;[FC][忍者神龟3代标题选关程序]. t( s) R) }# Q$ Y9 ^# V6 a
  197. ;作者:FlameCyclone 2017.4.1
    3 @% [2 `5 ?& [  Z% p* q& R" u

  198. 9 p7 x/ s: ?& X) s* H: }5 Q

  199. ; o$ N- O5 G3 O( n3 c
  200. ;配置数据
    # c$ L4 w( ]. {9 D+ \
  201. KEY_ADDR = $F8    ;按键地址* F. b; O2 B  N6 C" H
  202. STAGE_TEMP = $6010    ;关卡临时地址* Z, w* X2 l" E) `
  203. STAGE_MAX = $0E    ;最大关卡数
    : `3 }! {: H* Z3 g3 G
  204. TITLE_A = $20    ;标题条件A
    . V9 T5 d) D! e2 `
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    1 C  L, l1 w( w# }! s6 ?
  206. TITLE_B = $21    ;标题条件B
    ; C. g0 r# P4 c( Z; \8 {/ ~' \( H
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定
    ' @% i* n2 c/ W$ A2 C: e
  208. PPU_END = $FF    ;PPU结束符
    $ \/ R2 M  W8 c! M2 K7 d9 C5 P
  209. TIME_LAY = $4A    ;标题显示延时地址8 y0 K4 z+ K# G) J: c$ L! l
  210. BUTTON_DEC = $42    ;关卡减少按键( W; l; T4 u9 P; s+ ?
  211. BUTTON_INC = $81    ;关卡增加按键& l6 T2 Q/ U3 D& ^. \
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量
    1 S8 ]1 y% Y/ n5 \. l
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量. G8 I8 W% }) V% _& v4 E/ i% ~: r
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位: B  r/ V7 G5 P" N1 I
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位( i8 n/ v/ k0 }# ^) ]' z/ _
  216. CHAR_S = $A2    ;字符'S'0 f' h) f; G9 S; N8 t4 c
  217. CHAR_T = $A3    ;字符'T'1 d! r% F$ c, \) o! k8 f
  218. CHAR_A = $90    ;字符'A'
    ( ?- M' S7 i/ S' ^2 \4 n
  219. CHAR_G = $96    ;字符'G'
    # i% s, g  H3 H8 O0 ]% N
  220. CHAR_E = $94    ;字符'E'
    + d, j4 K' ]! e7 W9 b( q  O
  221. CHAR_SPA = $00    ;字符空格" i: G- N& v( a  N8 c( ?
  222. CHAR_LIN = $AE    ;字符'-'
    2 o: w( j; |. V
  223. CHAR_O = $9E    ;字符'o'
    9 G/ T  o  |% `, d  Y7 u
  224. NUM_1 = $81    ;数字'1'
    0 @, F  P" W) K: S! _1 P
  225. NUM_2 = $82    ;数字'2'
    1 a' Z! p" Q/ y* h2 r
  226. NUM_3 = $83    ;数字'3'6 I  ^' s- k' S7 X
  227. NUM_4 = $84    ;数字'4'
    3 f" d1 D7 l5 u: C7 L) h
  228. NUM_5 = $85    ;数字'5'! l- H( b8 _+ e
  229. NUM_6 = $86    ;数字'6'
    , X0 n' C6 p' o
  230. NUM_7 = $87    ;数字'7'
    7 B% |! u1 C6 `/ \2 t" V: e+ ?
  231. NUM_8 = $88    ;数字'8'/ b0 z* w6 n2 i+ H
  232. NUM_9 = $89    ;数字'9'
    ! E4 z) \' S" b8 I. ?0 P2 F7 L. S
  233. NUM_0 = $80    ;数字'0'1 q7 `4 a( R# H( \2 C2 \

  234. ) u7 @. O( B4 b
  235. .ORG $F82A
    ( p: J9 q/ }; r) f( k4 s
  236. JSR $E700
    - ~) v  x% }5 r* e( ?0 k- ]: ~
  237. 0 z+ O& D& t* W6 H
  238. 8 l+ q4 f. R1 c: s& w  Q0 n
  239. .ORG $E7005 N; E0 e6 o$ H- U3 h
  240.   
    7 \$ R% g/ Z- q' l7 w
  241. STY $4014    ;补上覆盖的精灵写入指令
    3 b( a* m* K. F0 S* [) V2 ^( z4 V
  242. PROTECT_DATA:    ;数据保护7 F  X' e# r5 N9 a
  243. PHA    ;数据保护开始$ p& J: N4 ^) E/ L* @
  244. TXA* G  ?; j1 Y7 T# @8 C3 B  t
  245. PHA1 [3 J9 w! S- \+ V: h# d9 @
  246. TYA
    , m" N( q1 \$ v" [: Z
  247. PHA    ;数据保护结束+ `/ q9 q$ q7 m& {7 j9 C+ t/ n
  248. LDA TITLE_A  z% Q* T. N& O1 X0 r9 S
  249. CMP #TITLE_A_ON    ;比较是否为标题画面
    ! {6 ]5 F1 [1 _) P3 v0 C, ?
  250. BNE RET% ?7 i# v4 W) O+ F# L# R. `0 q
  251. LDA TITLE_B2 O' P. c+ f- h9 Z3 |3 _
  252. CMP #TITLE_B_ON    ;比较是否为标题画面
    3 Z( s# c. ~' o0 _
  253. BEQ PPU_STAGE0 K) N$ P! B& X
  254. RET:    ;恢复数据
    - T* D) r- M3 x2 H8 }' F8 i# H$ H! z
  255. PLA    ;恢复数据开始* F  @  y; A- }/ @0 {) _/ X
  256. TAY" f( U  o# k( r' o
  257. PLA
    , @8 }4 S2 e5 n* Z, h* c" B# Y
  258. TAX
    & d4 m! W( W4 o8 i
  259. PLA    ;恢复数据结束
    ) B+ P0 t& x% G5 r7 d1 U8 d) J/ F
  260. RTS    ;返回+ R# t  m( [. {" `! ^, w; G
  261. PPU_STAGE:    ;字符STAGE写入程序( x. S5 Z$ k% M! r3 B7 D* o
  262. LDA #PPU_ADDR_H
    % }- x# X! n' a4 r/ X3 [3 `* v) ^! ^
  263. STA $2006    ;设置PPU字符写入高位地址
    ! H* i3 s: ?) ~8 l
  264. LDA #PPU_ADDR_L; a/ j' r( f& k6 L8 _: k! V" K
  265. STA $2006    ;设置PPU字符写入低位地址* v( v' C, p* F+ V
  266. LDX #$00
    " C4 ^  O, f2 B  e6 H% v5 S" v
  267. PPU_STAGE_WROTE:    ;写入STAGE字模
    ) t/ z5 p2 G. x& f+ \, o2 d& n, W
  268. LDA STAGE_DATA,X2 ?0 k: a, y5 I9 J( l, X9 F
  269. CMP #PPU_END    ;判断是否写入结束
    ' E% Y4 k$ ~1 X8 z1 B1 d  A
  270. BEQ STAGE_CMP
    / z% v& T# \! y% y' H& `
  271. STA $2007, ~) ^8 }% q- J0 k7 Y9 C
  272. INX
    0 [* I3 ?. D% M5 ~* a
  273. BCC PPU_STAGE_WROTE
    * w. m, r" X# H1 x5 H9 m9 [/ [
  274. STAGE_CMP:    ;选关操作; R9 E0 f3 F# [( e4 F/ P
  275. LDA STAGE_TEMP* a+ A; Q- |% ?2 F1 V
  276. CMP #$FF    ;关卡数据初始化条件判断0 \' c! H7 w% u. Q9 z
  277. BNE KEY_B. c8 [# N0 Q0 G# N/ Q2 v0 ~
  278. LDA #$008 C8 I7 w/ R. l/ |8 Z
  279. STA STAGE_TEMP    ;关卡数据初始化
    : u5 A; T! L+ f% N% i$ \' g2 D
  280. KEY_B:    ;关卡减少
    ) J- a5 _8 i0 V, X$ H! i- b5 J
  281. LDA KEY_ADDR$ P- c. V9 c$ h3 @/ S
  282. AND #BUTTON_DEC    ;按键B或左减关' F+ q8 _; f& G6 [7 ^# @% P4 K! D
  283. BEQ KEY_A
    ' r9 T( ~  ?3 r& {
  284. LDA #$FF
    " _( B0 Y: A( z& ]5 _
  285. STA TIME_LAY    ;重设标题延时# O; C* W" u& e( h6 q$ r
  286. LDA STAGE_TEMP0 K1 X: v4 M5 h$ c& X. F: {' o
  287. CMP #$00    ;关卡比较
    - u  j' ^  {+ U  {5 J! Z
  288. BEQ KEY_A7 i( b6 \! H$ d) e" r% m
  289. DEC STAGE_TEMP   ;减关+ i9 w' p) d1 p2 a2 A# S
  290. JSR MUSIC    ;按键音效+ A( E) k8 Z  U  I# h
  291. KEY_A:    ;关卡增加
    ; p7 q1 {7 d- K) M% V$ X; L
  292. LDA KEY_ADDR
    ; P- ^  [9 @# {! T
  293. AND #BUTTON_INC    ;按键A或右加关8 W5 W+ ~0 ^9 \4 \8 M! X
  294. BEQ PPU_NUM_WRITE
    / U  E: b: Y0 d/ M1 o
  295. LDA #$FF
    0 T8 u* d' f/ ?
  296. STA TIME_LAY    ;重设标题延时5 s' i# |4 n- M" c: l4 K
  297. LDA STAGE_TEMP
    7 E# J; O+ ~  z' S
  298. CMP #STAGE_MAX    ;关卡比较
    ' K6 d  [* y4 p" s
  299. BEQ PPU_NUM_WRITE
    0 `( W. ?9 X9 O4 X( ^% c" {6 s
  300. INC STAGE_TEMP    ;加关- F! b% i* C" @7 H. p( `1 l" C
  301. JSR MUSIC    ;按键音效/ j8 t5 o: r8 u2 m; n7 [& m
  302. PPU_NUM_WRITE:    ;关卡数字写入地址3 |. f4 t" a" v4 ^+ y# a2 O
  303. LDA #PPU_ADDR_H7 C9 \* v, I/ _. J; F* N
  304. STA $2006    ;设置PPU数字写入高位地址3 P4 L' x; U% F. D
  305. LDA #PPU_ADDR_L
    2 F: o7 Z6 m2 V3 X1 R- |
  306. CLC
    3 r+ P; }* Q$ q7 l- ~
  307. ADC #NUMBER_A3 I0 P: y- ]0 ~8 [5 f2 F, {! ~
  308. STA $2006    ;设置PPU字符写入低位地址. T9 p3 f9 S; ?2 L! v( J
  309. LDA STAGE_TEMP
    : s, p& L4 k* I
  310. TAX0 ~+ G# A6 n) b9 K5 I& n
  311. LDA STAGE_D1,X    ;写入数字
    1 _& m5 j# d% e
  312. STA $2007
    ( U& h8 \+ S# ?3 Y" S
  313. LDA #PPU_ADDR_H
    ! ?6 E5 i% W5 z
  314. STA $2006    ;设置PPU数字写入高位地址
    5 j" I3 O: ^/ O) O
  315. LDA #PPU_ADDR_L  O" {) G) e- m' ?& a* l/ {- e
  316. CLC
    9 U3 U8 Y# T6 a' C" j: ~( [0 @
  317. ADC #NUMBER_B* Y  m8 {  u$ X9 @4 [
  318. STA $2006    ;设置PPU字符写入低位地址7 ]- J/ p  T1 l7 ?7 v  B4 O
  319. LDA STAGE_TEMP: [# V( A. k! H) q' Y' ~
  320. TAX
    - e' @. B8 \% ?" r7 H+ N7 e
  321. LDA STAGE_D2,X    ;写入数字' ^: J1 U' F8 \, @6 q
  322. STA $2007
    * g% d0 l) J: A4 W) i
  323. STAHE_WRITE:
    8 t: H4 [/ F. Y+ J( V& C! o4 ?+ k
  324. LDA STAGE_TEMP
    " J9 t) U9 ]: `- q" B6 X
  325. STA $2D   ;初始关卡写入# k8 g: S& j* `
  326. PPU_RTS:    ;恢复数据
    " T: i. t, _2 Z$ m
  327. PLA- T. ?# |, b: m( L/ c7 l- U# W) H
  328. TAY
    2 \" T* ?* s- O3 E8 X. \
  329. PLA4 c" ~% c* s! @& z7 e) C+ S
  330. TAX" m3 L  ~' y, }
  331. PLA  ?! t0 k% c5 z! p
  332. RTS' [9 n0 K1 s# b, G3 P) L9 h
  333. * Y5 _; {3 e5 O1 j* C
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据
    2 m( ?5 w: f7 \6 m. S
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END
    0 `" D: t# C# e2 ]
  336. ' U" B+ U1 [6 d2 w( o
  337. STAGE_D1:   ;关卡数字
    # p8 Z& H* v4 {( U  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
    : |8 F" @9 e5 A9 @
  339. : r- ]- T+ R$ n  b8 ]: J
  340. STAGE_D2:   ;场景数字
    " w! U. f5 V0 M
  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_34 r4 r+ h# Q- e% _, I% E
  342. ( |4 w6 w3 m4 z8 U
  343. . M; Y9 z; i$ `- U- m9 h3 V8 `
  344. MUSIC:    ;按键音效7 g; v8 N5 j" F
  345. LDA #$3B    ;音乐号
    . Q: v6 c& L5 i. {- b
  346. JSR $919E    ;系统音乐调用
    ; e' Y0 Y) M# V
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;
/ a8 ]  I6 g+ `! g    5.生命加满:   暂停后,按下键切换;: n% p- b! @9 Y
    6.血量锁满:   暂停后,按右键切换;  M- o8 |9 t2 J+ F" L6 A* l2 E! _7 b( L
4 }: G  w6 P# w5 k. I

- ^7 Y- l3 m: `  N4 D8 x/ m: B3 j4 [
* _6 w! w! j+ }& {) D* a# e
) G6 D( n. H7 A5 Y0 N6 n2 i9 R
FlameCyclone.ys168.com
  s3 M' P* r$ d. p- a! P; hwww.nesbbs.com8 I% `% J" F3 n! E; T
游客,如果您要查看本帖隐藏内容请回复

9 N- D- M* ^4 |8 P+ D/ V7 f' ]

本帖子中包含更多资源

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

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 | 显示全部楼层
老规矩,先回后下!!!!!!!
, {0 J0 ?8 s& B0 q/ Z: ^2 D

签到天数: 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 07:05 , Processed in 1.166016 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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