EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 ! r4 Y1 G+ q. f: ?7 M  I7 A6 S2 d
8 ?# m" B- w) q% o$ ~6 {
[FC][忍者神龟3][END选关], c2 O4 g; ~" m9 F
( U# @/ O# V) o; l
时间:2017.3.30
- e6 z- x$ I( t1 _9 P% t作者:FlameCyclone
2 C4 H; ?% L! ]* W5 H内容:+ `, E+ K/ i: S6 U' i, L' E) ^
    1.关卡选择:   标题时,左或B减,右或A加;
6 X# ?) Z9 f& P# ^" C0 [    2.全屏击杀:   暂停后,按A键切换;
3 K) ]5 n5 P2 `' B- J  H: B    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA00 Z; C4 s0 \+ \) x5 Z4 u
  2. ora_data:
    ; @  H+ Q+ Y; k2 O) I6 ^8 r8 U
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
    . @: U9 l+ T+ y" q$ ~$ @3 d
  4. and_data:6 O; |7 q1 A; j5 [: n
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF- c. M4 }. v8 l. u7 S* a4 E% ]

  6. 2 ]' B+ a2 i; s
  7. button = $F8$ d( e1 w' W5 S* L8 k- e
  8. flag = $6000+ d1 \3 ?) p  i0 j( _2 |. C
  9. pause = $0045& D% [- ~+ Z9 A! v( X
  10. 5 D) q5 }. T% s$ P
  11. ! `, I0 U+ ], e/ v# M0 W4 e- e
  12. .ORG $F90D- I  Z% R) o/ P7 b6 Q) G& w- `) V2 v
  13. JSR $FEC0
    4 M# `; m3 E* B3 a1 H: p9 o& t

  14. & V) \0 U8 n/ e+ d7 i
  15. .ORG $FEC0
    ) H# A5 V- M( [: a1 q) h
  16. STA $54,X
    - o' j$ w$ n8 h' a- y
  17. STY $FA,X
    # |2 F7 v1 @5 ]; C9 i. \/ f
  18. PHA
    ! m7 k7 ]7 ~0 r, a% H+ O
  19. TXA
    & j' B- i' d1 w9 }
  20. PHA9 _3 A/ x: A1 I: m9 A6 X9 ^
  21. TYA
    0 Q. ?6 `" O8 j; w
  22. PHA+ N! o5 A. h: l8 l
  23. JSR KEY_OPERATE* ]: h0 W# L. K, E0 t
  24. JSR INV7 Z6 x1 z7 w8 I0 S- @
  25. JSR LIFE5 {: ^0 t& Z2 }! U8 x  b, g% |
  26. JSR BLOOD
    5 x' d7 ?1 n% t. M4 v
  27. PLA- F3 W+ Y8 O% G. a' H9 M
  28. TAY
    7 p8 y) [% N" j- H9 E1 m
  29. PLA0 m  v1 t5 j/ z( O$ p- {
  30. TAX) p. ^' W0 {" ^: w" o- U
  31. PLA2 f8 I( P+ @' S' Z4 d: v$ [
  32. RTS- v" u: \! s% ?! D( W& |0 \
  33. KEY_OPERATE:
    5 Q- K( p# r  y# W! ]
  34. data_protect:$ T9 |8 Z4 o9 R0 z9 a, Y1 v8 W
  35. PHA3 v2 o) ~. }1 X/ E. f6 c& L4 }
  36. TXA
    . V* z6 J2 b) z9 p# B# R4 ~
  37. PHA5 l9 U: ^/ P3 ?8 ~& [
  38. TYA
    ( `* u5 V1 X6 v$ O  `
  39. PHA
    0 Y/ B' N  g2 q3 Z( W

  40. $ y/ @6 a) g9 P0 q2 b) F
  41. FLAG_CMP:
    7 q+ Z% t) F  z
  42. LDA $600F) R+ S$ r* i' f: B* A7 \
  43. CMP #$7F    ;标志数据初始化条件判断, x" [# m9 E. U. m
  44. BEQ pause_cmp
    " }1 x% G( U0 C3 \
  45. LDA #$80/ Y* V5 X4 Z9 A% a" m% a# P
  46. STA $A001    ;6000-7FFF写入启用6 Y# D8 }  W; B/ h
  47. LDA #$00& S' Q0 O7 {+ a* R
  48. STA $6000    ;数据初始化9 y) g7 z& |9 z: T. ]3 W
  49. STA $6001    ;数据初始化: S6 m( f7 z8 Z, K0 \& `& m  P, [
  50. LDA #$7F
    ) Z$ f0 ~" M, g  G
  51. STA $600F* U; r  j6 D1 L8 i
  52. pause_cmp:
    5 g: f$ R+ `, r' W6 p0 Z( E
  53. LDA pause
    ! I# ?* Y3 c! x: m! T& ]
  54. CMP #$01
      E" B+ W2 x, _6 O- j# t3 |
  55. BEQ button_press/ |6 C. R' I/ _( W( l
  56. PLA
    ; ?! x& P, v/ X& l' G) c( O5 r' ]$ S
  57. TAY
    . ?9 q( f6 V3 e2 J* g. _" V* B+ {9 B1 d
  58. PLA
    3 E0 ~( }/ o8 h5 X' ]/ L
  59. TAX
    6 X# ~  z: p6 s5 S8 g
  60. PLA
    ; U$ r6 d% F: y
  61. RTS
    ! A1 ]+ K6 H2 v% j  K$ W! B3 A' o
  62. , {* l4 l8 \" v( k0 h; V. C
  63. button_press:
    2 E: U9 z7 Y! i9 ?4 P
  64. ini_Y:' W+ _( t/ v6 {# w
  65. LDY #$00. h  u9 U/ y1 d
  66. button_cmp:
    1 z9 w& }# X" N3 \* l7 L2 J
  67. LDA button,X
    / y/ h4 a) @' x! _
  68. CMP ora_data,Y
    5 N- L9 c- I, J) w7 l
  69. BNE count_Y_cmp
    3 r' t4 v9 f  `$ D% M* {
  70. flag_cmp:  T* O1 W+ m2 d& f0 L6 z  c0 v4 j
  71. LDA flag,X8 \' T* \& Q+ m3 z+ T/ B) ?. e$ [
  72. AND ora_data,Y# W2 Y/ @7 a1 T/ H
  73. BNE flag_and
    ! L# M6 g9 j1 F# H
  74. flag_ora:9 l) u  I# [* n% S* ~
  75. LDA flag,X
    ( b5 z2 l% Y" `
  76. ORA ora_data,Y
    ) F7 ^0 r8 g) F2 ~/ R1 l, v
  77. STA flag,X
    / L& ?9 l9 G( u+ k7 J( A
  78. BNE count_Y_cmp' ~, [$ l5 i! I; f% }
  79. flag_and:
    1 z. ]) \2 y2 `# O# z( L& z6 [
  80. LDA flag,X/ A- ]4 A! k1 S1 P) i9 z/ z
  81. AND and_data,Y
      R" f) S4 G- j5 B& f7 r
  82. STA flag,X5 n4 S+ E* J# h% G
  83. count_Y_cmp:+ D% Z5 o/ s7 T' T
  84. INY3 Y' S5 S* g% N2 M9 F9 C
  85. CPY #$08
    . U* M, a* c  K" W6 ^1 L: K$ z! n
  86. BCC button_cmp
    : U& O. y; }* R3 G

  87. + B+ n; k! c( r
  88. data_extract:6 i9 R" v0 P% l8 \
  89. PLA( z8 ?! l/ |# b  V
  90. TAY4 {1 A" n9 O' W
  91. PLA
    4 C" q3 w" [2 x
  92. TAX
    * R$ k# U3 E1 h) [" ]; a( }
  93. PLA
    / P  E+ `! w# {0 F) q6 g
  94. ) V# k' Q# L* U
  95. return:4 f% f/ c+ y. R
  96. RTS
    ! _+ C4 |8 B$ n$ r- c& ]' q* k

  97. 2 y2 V. e1 J; p/ _  I- N- y: k, }. B; d
  98. ) k+ [- J5 P) V! ?) h5 r5 x
  99. INV:    ;无敌8 F( h5 X) E/ B. d
  100. LDA $6000,X
    ; N; H* S. p7 e9 e3 ]0 m6 K% a
  101. AND #$08
    1 g) [; ^4 r4 A. n/ |: E3 x
  102. BEQ INV_RTS' P9 ?. D: \  A& ~8 K' [
  103. LDA #$05
    * p' A% B; G! y, h' I% K
  104. STA $04FF,X' ]" `0 S" Q. b" O* {# ^
  105. INV_RTS:3 w$ u& C! Q  T* t# ?
  106. RTS0 K& j6 M1 N8 K, {+ h2 A: H/ B
  107. 5 i6 q$ R# Q) s! J! s
  108. ) Z8 Y3 D' Z; [3 n7 b6 r
  109. LIFE:    ;生命
    4 n: G7 O6 g( u2 m/ r( o4 G6 k. S
  110. LDA $6000,X
    / x+ v/ Y$ M: V; ?
  111. AND #$04
    " |  l" Q9 i9 I6 p
  112. BEQ LIFE_RTS
    * w6 u+ h8 [! ^
  113. LDA #$09( x4 k% J* N) H! V" ^6 {
  114. STA $6A,X6 p# b  {/ e0 L" [( K$ a( y" N, L
  115. LIFE_RTS:
    & G( q! A! ~5 f6 Y& H8 J, J# q
  116. RTS
    5 T' n( s0 B9 l/ s8 E5 R. a+ N

  117. . {1 m) W) U+ b' b0 z2 T) Z

  118. . Q) i' I1 S" W* y
  119. BLOOD:    ;血量
    6 _0 R5 _# l3 J* M. f
  120. LDA $6000,X' h& K/ u! o" b! o
  121. AND #$01& S+ H/ E. b3 Y6 y3 S6 L% o- e
  122. BEQ BLOOD_RTS
    ! |! W) |( ~/ e/ f
  123. LDA #$7F
    3 t5 P5 b0 S' _6 D0 n7 g0 Q, E
  124. STA $04F1,X# z! v8 g& i6 F
  125. BLOOD_RTS:# g) n- ^9 r. H9 F
  126. RTS
      ]5 K, }. T$ H: A3 }( J5 m* D

  127. / G$ o' i9 Y2 |  [* L

  128. & g& L! A( u8 G/ ~( O" z

  129. + Z+ s: I# g: A! l+ x& l" h
  130. # K# Y+ x$ G5 a$ N& O6 l
  131. .ORG $D29F
    # @8 y4 E! v1 J! @; K
  132. JSR $FF80' l# P) h% Z2 E% }: k7 W

  133. $ O- O6 n! E1 v- I
  134. .ORG $FF80
      m0 h% B+ [& `+ E' b8 h
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀
    8 J! Q, U2 @% s) Y* k
  136. STA $0628
    : h) c" S; O7 j  ^
  137. PHA
      i, R, o5 O0 S& B
  138. LDA $6000
    ; U6 g4 f: U4 s, p' ^. ?$ p
  139. AND #$40$ G' I% \, M: \0 K
  140. BEQ ADDRFF8E8 ~% V% c" F" w  k
  141. PLA
    ' D( f5 J* `  B7 j* T$ B" ?' W
  142. CLC   ;敌方死亡状态判定
    , H$ g8 h; P. u& Z1 ^5 R
  143. RTS
    ; a* t- h: u3 U# n8 @+ [+ p7 _
  144. ADDRFF8E:+ h: O, a/ ~& J4 e* o+ f
  145. PLA  L% I  L- m, @# k) |& ~" X
  146. RTS
    9 [% j9 V; L, d0 R# E+ O
  147. ' ?, m$ b! g0 o  r8 `7 ^. |" X

  148. 9 I/ `) u$ h, o3 O2 a6 P6 D
  149. .ORG $D1519 v  \) k; D% ~" P( Y0 i  z
  150. JMP $FFA02 g& J# d- Z) A: D1 |2 _0 o+ C
  151. $ c! R# f" W" ]9 T" M
  152. .ORG $FFA0
    - A- D5 v7 S3 o2 i& T
  153. KILL_BY_ONE:    ;杂兵一击必杀. T& T; A( _0 [0 J1 G7 h
  154. STA $0621,X
    # G) [" g( U0 C, Q) t6 L  \
  155. LDA $6000
    / k+ y% p8 E) ]! p, M& y# q
  156. AND #$400 ]) w1 c' e* z" |, s* l6 y
  157. BEQ ADDRFFAD. F3 Y" |: @: T7 z
  158. JMP $D19A   ;敌方死亡程序跳转9 \+ S7 W- _) \6 A
  159. ADDRFFAD:  J, P; E' i  i7 k+ e
  160. JMP $D154
    ) D( O0 L& K6 i2 c! F
  161. 6 P: \) Y! |7 l8 Y. l% r
  162. 5 w0 M, }# K$ x. @
  163. .ORG $A7F6# V# j+ Z8 I5 Y& [. R
  164. JSR $FFB0
    6 Z- q; ]. @2 s; B9 g- w4 q

  165. $ t, m  ?8 k1 y% F/ b7 M( t5 I7 D
  166. .ORG $FFB0    ;全屏攻击
    2 M$ g7 G. I9 q: a: z
  167. PHA4 Y2 {( F1 g- I9 B# ^# j' p+ i
  168. LDA $6000
    & c% ]6 @0 _" B. X- V& m; i
  169. AND #$80
    4 U/ ~, Z' Q% j) V8 ]
  170. BNE ADDRFFBD
    ' G3 S3 B; i; I, s1 k2 i- o
  171. PLA
    8 j9 v& q/ z7 I& m8 K4 q. a3 D' q2 w$ i& A
  172. LDA $0015
    ' S+ Y" c% t9 u/ a: W8 D& E
  173. SEC
    . Z( t: S7 a& V% C: x( l: S
  174. RTS
    3 X* d* W  E% t! `
  175. ADDRFFBD:) n) L. m9 c" r& X1 o
  176. PLA
    6 J( R; f) D6 o9 b- W
  177. JMP $A826& l% X$ v6 e# e+ @$ `, n
  178. % M. V1 m: G4 S

  179. : C, i. u8 x3 ?3 h8 }

  180. 8 d; C! l0 u; `% v3 m0 n
  181. .ORG $AA6A
    ( N/ k7 A! s+ N9 j6 t; L
  182. JMP $FFD0' x  }0 `9 v: e- A% R

  183. * e7 F0 A4 u" b6 n: l6 m
  184. .ORG $FFD0    ;敌兵动作忽略
    7 M, |+ \. w& }  U: P* \
  185. PHA
    & r" M- u$ Z/ b0 U) K
  186. LDA $6000
    " D3 ~8 S$ O. A# @1 A
  187. AND #$80/ D, V" @5 o1 l" G0 o
  188. BEQ ADDRFFDC
    1 A; k+ [/ O2 ^. B9 h6 `
  189. PLA
    % _2 e- O1 C* R, a. y. P" D
  190. JMP $AA72
    6 R3 h$ S2 I; r( {5 V% C
  191. ADDRFFDC:  }- ^# Y2 d# l9 S( `
  192. PLA  v3 k3 d, n. C% L
  193. LDA $0629,X
    3 ?' J2 u2 w+ f5 b3 U+ j
  194. JMP $AA6D8 Z" X( F0 y7 `+ d6 a( L  W2 C
  195. ( f" k7 P3 t) i/ Q8 a
  196. ;[FC][忍者神龟3代标题选关程序]
    2 Q2 }/ ]5 m& M: F  n7 [
  197. ;作者:FlameCyclone 2017.4.19 E5 u: @5 `5 ?! x
  198. ( a& b" A  t! r! u* W' \% Q' z

  199. * C: u$ A5 u/ r/ z; P$ s( q
  200. ;配置数据
    0 C+ h4 |& S. l- X, o
  201. KEY_ADDR = $F8    ;按键地址8 f8 {+ U; q6 x! a" a; V$ g9 c
  202. STAGE_TEMP = $6010    ;关卡临时地址
    2 N! i) ~9 ]1 \: M/ H0 O0 v8 e
  203. STAGE_MAX = $0E    ;最大关卡数: u4 d) J% V" I; L1 s) P1 p! a
  204. TITLE_A = $20    ;标题条件A
      z. N. E' ~0 a, U1 e
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定4 M* N) S5 X6 n6 J% }
  206. TITLE_B = $21    ;标题条件B
    ' M- X! P! s5 Y! S0 `( R: D1 B. R
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定
    " g, }, J1 ~+ E% K
  208. PPU_END = $FF    ;PPU结束符" g, u. @1 F- x- W$ S
  209. TIME_LAY = $4A    ;标题显示延时地址* e9 Q  }7 U9 t  J/ j- h, q& k
  210. BUTTON_DEC = $42    ;关卡减少按键
    & z7 V- c7 E+ B  d' o8 j
  211. BUTTON_INC = $81    ;关卡增加按键
    5 ]. ^+ l- A; {/ t
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量
    5 e% R4 K. x' Z; ~! \) f9 A
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    3 {9 O# a0 k  l
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
    ( \/ t* o: x) W2 b6 P; S/ H/ H. v
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位
    + s/ Y" Q) x( R) A4 |1 R, P
  216. CHAR_S = $A2    ;字符'S': z5 I% N& Z2 \) e; E1 k: `
  217. CHAR_T = $A3    ;字符'T'
    4 C3 \: D7 |0 e( k, c
  218. CHAR_A = $90    ;字符'A'
    % T: G( G2 n9 z! |  G8 A
  219. CHAR_G = $96    ;字符'G'8 s" i& N5 r: o5 |1 x( r" o2 _/ n
  220. CHAR_E = $94    ;字符'E'
    ; E# F+ n/ z8 M1 R
  221. CHAR_SPA = $00    ;字符空格
    ) V8 b3 L. E) v
  222. CHAR_LIN = $AE    ;字符'-'
    & g/ {, C- P: g; N& b
  223. CHAR_O = $9E    ;字符'o'
    8 p$ |+ J; N  U
  224. NUM_1 = $81    ;数字'1'
    9 U6 U: T/ d' _" ~3 l3 a6 [. I
  225. NUM_2 = $82    ;数字'2'
    4 M' w% ?4 m" r* ~( `: _! @
  226. NUM_3 = $83    ;数字'3'+ h1 F4 L  H* G3 \  ~% n. N, F
  227. NUM_4 = $84    ;数字'4'5 t7 R; H/ H6 B6 [" R% D( Y
  228. NUM_5 = $85    ;数字'5'8 \! S+ n2 q/ O* j, O  k
  229. NUM_6 = $86    ;数字'6'
    ; ^: U2 i. G% b, E1 y
  230. NUM_7 = $87    ;数字'7'
    2 d; L0 U$ Z6 X  X7 f! w, q2 r, t
  231. NUM_8 = $88    ;数字'8'
    6 ]6 h5 d( o* T$ V  ?
  232. NUM_9 = $89    ;数字'9'
    & f( v1 o, q/ ?7 v7 g1 l; N$ @$ E
  233. NUM_0 = $80    ;数字'0'
    ( Y: C! q: Q4 |$ s! T# ~" w/ n6 V( h
  234. - r( V" o6 t8 b; q
  235. .ORG $F82A$ x2 e8 L+ U  _2 n1 K: v$ q
  236. JSR $E700
    1 v5 g2 Y( I4 A8 W

  237. 6 Y7 I6 S2 |7 X: j" r  J4 R, z) `* _

  238. 5 u. k6 }7 T- j7 k- c* E1 _3 P5 ^
  239. .ORG $E700
    . t0 B- M0 s; r
  240.   8 g1 H/ T. o& x/ k; a+ ~' s' f
  241. STY $4014    ;补上覆盖的精灵写入指令
    $ U+ Y# e$ t2 x  Q% I; p( g2 v
  242. PROTECT_DATA:    ;数据保护5 O" p* m; l/ r6 T! [1 v
  243. PHA    ;数据保护开始
    5 p* f5 j7 d. Z2 h
  244. TXA1 M5 |) ?$ Q2 h% ^+ B
  245. PHA0 f* W1 s8 r( \
  246. TYA( t* Z& Y' p8 ?) ]
  247. PHA    ;数据保护结束
    6 E# }+ q8 s- F8 C" F6 q
  248. LDA TITLE_A9 O; t( T3 N( D
  249. CMP #TITLE_A_ON    ;比较是否为标题画面7 B) a0 q: [& p/ u
  250. BNE RET
      L/ K! _, D6 h, P1 F
  251. LDA TITLE_B" l2 ^+ T' [! ^& z1 g4 p
  252. CMP #TITLE_B_ON    ;比较是否为标题画面
    & q# }. |8 m/ g5 ]2 i- S" h6 D( K( X
  253. BEQ PPU_STAGE; r8 U( k1 t" J- U1 o
  254. RET:    ;恢复数据! U( d( H# J( S- y. T" y: }7 s( h6 p
  255. PLA    ;恢复数据开始3 z. O( O: c: H, ~0 j
  256. TAY! @2 ?: N6 x# o) V' P3 d
  257. PLA
    : `( c8 j' z1 y* E
  258. TAX& b  m5 h  Q0 C/ G
  259. PLA    ;恢复数据结束# Y- R: C. G% W" n6 I* {) e  d% Y
  260. RTS    ;返回0 U; V. J+ a' d( F% |
  261. PPU_STAGE:    ;字符STAGE写入程序
    ) D: n: u* S5 F$ D# B. m! B
  262. LDA #PPU_ADDR_H 2 i, E7 J. }* M2 l' E1 N2 x
  263. STA $2006    ;设置PPU字符写入高位地址
    7 t7 v% `, F: H4 K  B
  264. LDA #PPU_ADDR_L
    : U) L" ?& |; x+ j2 a' m5 x6 h
  265. STA $2006    ;设置PPU字符写入低位地址
    $ T. [# P+ M' J5 X' r% _( |' S
  266. LDX #$00/ k* v; r0 V& z$ ]2 _
  267. PPU_STAGE_WROTE:    ;写入STAGE字模
    # J+ B( m: x5 S( b' h4 o7 S) l* Q
  268. LDA STAGE_DATA,X' r# ]2 l: }5 b: F! U5 A
  269. CMP #PPU_END    ;判断是否写入结束
    # ^8 u' q1 u/ t% C
  270. BEQ STAGE_CMP3 E- _6 [) X$ |9 Z- f5 u8 d
  271. STA $2007* A5 |# X5 k  s1 D& b. Z
  272. INX7 p; }$ \( @; }9 D# _4 Z1 S0 s
  273. BCC PPU_STAGE_WROTE+ p# R+ w/ \5 {0 P3 e  _
  274. STAGE_CMP:    ;选关操作
    # [' n" o/ n/ F5 G0 {0 \* N8 _
  275. LDA STAGE_TEMP
    + ?% b+ z) Q, Z8 u  L9 x3 L
  276. CMP #$FF    ;关卡数据初始化条件判断  n: W' G; n. ~* F/ i5 |- \7 Z( K0 c! X
  277. BNE KEY_B2 X* H5 h: `! f9 e, y
  278. LDA #$004 X3 \: w; ^+ {6 Z8 G
  279. STA STAGE_TEMP    ;关卡数据初始化
    ( D  O0 P* J! h  S  Q2 m' q* T5 a
  280. KEY_B:    ;关卡减少1 Q' W# Q# l- g- m7 H0 J8 [; ]
  281. LDA KEY_ADDR; a, o2 G0 R6 U' [. v, b
  282. AND #BUTTON_DEC    ;按键B或左减关
    5 K9 u! ^( Y$ B; X; }
  283. BEQ KEY_A
    $ ?% F4 e; W) C. y6 f3 o. r4 u
  284. LDA #$FF
    3 ]$ S" Z5 l6 i! W8 e6 f) o
  285. STA TIME_LAY    ;重设标题延时; j# T; ?  _% Z  F, H
  286. LDA STAGE_TEMP
    ; i" Z9 A+ K1 b# W3 _
  287. CMP #$00    ;关卡比较
    ) O; i! M; {5 q! U
  288. BEQ KEY_A$ W1 u0 g# g# r8 u6 M
  289. DEC STAGE_TEMP   ;减关1 z4 b% F# g7 R
  290. JSR MUSIC    ;按键音效
    3 Y, r; H8 X" D+ E
  291. KEY_A:    ;关卡增加
    1 J, p$ Z( ?* {7 D
  292. LDA KEY_ADDR
    - {" @  K* l. Z' a! c
  293. AND #BUTTON_INC    ;按键A或右加关
      U# b% ^- p( j
  294. BEQ PPU_NUM_WRITE4 B! ?* G2 g3 L3 K- y1 a
  295. LDA #$FF
    0 ^. }% n+ t9 ^/ C
  296. STA TIME_LAY    ;重设标题延时
    ) \* ?5 ]1 F$ C* c7 ?8 H% r% Z1 e
  297. LDA STAGE_TEMP% X, J) ]' r$ v+ t0 O
  298. CMP #STAGE_MAX    ;关卡比较
      e+ H+ a# u$ f+ _
  299. BEQ PPU_NUM_WRITE
    . O  R$ m3 C8 e7 P) g6 ]
  300. INC STAGE_TEMP    ;加关
    + L" _" R' E' z! W, ~
  301. JSR MUSIC    ;按键音效
    * |" S/ S8 J& H5 O; L+ x1 C
  302. PPU_NUM_WRITE:    ;关卡数字写入地址/ M2 I3 \$ Y7 C, I5 {$ s# \1 Z
  303. LDA #PPU_ADDR_H2 c/ B& \# [$ s* ?' i( u
  304. STA $2006    ;设置PPU数字写入高位地址' M2 Z. t& {6 ?3 s* o  t& x
  305. LDA #PPU_ADDR_L. V& @4 y3 ^' `6 E
  306. CLC2 ]7 Y5 _" p: C( X9 x3 w
  307. ADC #NUMBER_A# n" X6 ^& Q/ E4 h
  308. STA $2006    ;设置PPU字符写入低位地址' J2 O' \! {/ `# y( ~6 Y7 G
  309. LDA STAGE_TEMP1 F- I7 C: c2 m' x" f2 I# f) E" g
  310. TAX
    ( u9 {- w- p- P/ V% r& y3 t( R
  311. LDA STAGE_D1,X    ;写入数字# \* k& X+ U9 y0 c
  312. STA $20073 E, s8 s( `9 B: s
  313. LDA #PPU_ADDR_H
    3 z; Y/ I+ w" J% u
  314. STA $2006    ;设置PPU数字写入高位地址
    ( Y3 Z% B: {* T
  315. LDA #PPU_ADDR_L
    ) u; U6 |+ }6 a- e) Y2 S" j/ p
  316. CLC8 r# N/ l+ ^* n% I5 W
  317. ADC #NUMBER_B
    * I/ F: V% O: c$ j8 U. n9 l
  318. STA $2006    ;设置PPU字符写入低位地址7 H. d1 t0 @5 w- V' _: g7 _
  319. LDA STAGE_TEMP
    * W! [" T) |8 R) A
  320. TAX
    + }& n; J3 Z; B! @; y2 l
  321. LDA STAGE_D2,X    ;写入数字
    % q7 B) v1 v/ T- o- [. ~
  322. STA $2007  K$ g* a6 X& k; [7 J6 W, b4 D( d
  323. STAHE_WRITE:+ Z0 e3 u1 k% a5 [
  324. LDA STAGE_TEMP3 F7 }; ?2 }2 g, H6 V3 F# N
  325. STA $2D   ;初始关卡写入
    3 v( i: ~, G2 c
  326. PPU_RTS:    ;恢复数据
    - x+ B9 ]. }: V% P
  327. PLA
    : h4 ?1 t# ^; ^0 N7 c0 b1 }7 X& |
  328. TAY
    , I$ w6 C# y: W. Y
  329. PLA
    ' Y8 z4 d4 I" J
  330. TAX
    - f6 E9 B# `+ l7 ?5 S% C6 x  j" g* s
  331. PLA
    ( ]3 _7 o- s- F5 S0 i) l3 U& W
  332. RTS
    ; S: O/ J- D. M8 @7 L
  333. 8 Q5 t3 t6 @3 Y% b. {5 ?
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据" K' E; U6 x5 O
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END2 x! E$ g. q* g+ E; D7 m- u
  336. : A/ X; l2 t' t, A3 T
  337. STAGE_D1:   ;关卡数字
    9 }$ W1 g1 ~; E  x; c9 O  t0 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! {) T+ ^. f" Y; r/ q
  339.   H# C! H2 u/ m; H( M
  340. STAGE_D2:   ;场景数字: b8 |2 F) Y1 M7 N% [$ M! b7 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
    + V6 ]3 t! g' P. N- e  H# Q: G

  342. $ J0 k5 O) b! M- K& I; ]" P. K8 j

  343.   k1 w" l6 {" B8 r- o
  344. MUSIC:    ;按键音效  \5 W' Q4 \1 J9 l) q/ w: z- s7 h
  345. LDA #$3B    ;音乐号
    9 r$ n9 U3 t) U/ Z9 }
  346. JSR $919E    ;系统音乐调用
    . E% e  @! V) w7 k6 |' D
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;
$ D4 U  Z6 Z3 P: |) v* f" R# H    5.生命加满:   暂停后,按下键切换;
% N4 k; p- O1 C* z. d' {7 _0 C! p; y& ?    6.血量锁满:   暂停后,按右键切换;0 B8 x/ W- N$ Y6 P5 \* r( C% q1 q

. S& V2 B9 ^# [! w1 z6 b8 [6 c7 G5 o8 Z8 G$ f+ R/ o0 S. m& x
2 ~! y* U, k$ [0 ^7 G& O3 b0 Y

# \* X" N7 d8 P. |* H) x& t2 ?5 v4 m5 M3 }$ r. q
FlameCyclone.ys168.com
& z; j5 P3 o/ U; S/ Q9 R  z) |www.nesbbs.com8 X0 t" H' L& q, o
游客,如果您要查看本帖隐藏内容请回复

8 w* H  X# ^3 B# {4 C7 ]

本帖子中包含更多资源

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

x

评分

1

查看全部评分

签到天数: 187 天

[LV.7]常住居民III

发表于 2017-3-31 15:19:48 | 显示全部楼层
感谢修改,辛苦了
[发帖际遇]: dabayu 发帖时在路边捡到 3 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜

签到天数: 48 天

[LV.5]常住居民I

发表于 2017-3-31 15:57:22 | 显示全部楼层
这也是个好游戏啊。谢谢修改。

签到天数: 2367 天

[LV.Master]伴坛终老

发表于 2017-3-31 17:15:48 | 显示全部楼层
感谢分享新游戏

签到天数: 1418 天

[LV.10]以坛为家III

发表于 2017-3-31 18:08:30 | 显示全部楼层
这个有意思,比30人版的还要简便

签到天数: 2605 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1505 天

[LV.Master]伴坛终老

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

该用户从未签到

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

签到天数: 1803 天

[LV.Master]伴坛终老

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

签到天数: 3186 天

[LV.Master]伴坛终老

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

签到天数: 2303 天

[LV.Master]伴坛终老

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

签到天数: 2070 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!" H0 i9 M. f+ T9 ]

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1715 天

[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-9-17 18:02 , Processed in 1.084961 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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