EMU618社区

 找回密码
 立即注册
搜索
查看: 4068|回复: 67

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑
5 j" ^* O( J/ B7 y: N7 X% P
& m$ e% P. Y0 E/ z[FC][忍者神龟3][END选关]
* `8 R! X% s) m+ |5 s5 z, [# C2 p  F! f6 L4 O
时间:2017.3.30/ n2 y0 I7 y9 a& B
作者:FlameCyclone4 O5 ]$ B8 h6 x4 `/ g
内容:$ i4 a4 l7 X1 k) y7 P& R6 `; P
    1.关卡选择:   标题时,左或B减,右或A加;6 r% W2 p% G  i. K7 X1 R
    2.全屏击杀:   暂停后,按A键切换;
; ~$ [! T# g; r) ?    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0. K& {$ V6 P0 D  r2 m
  2. ora_data:& T  t: g& t8 h$ a5 q9 A2 x1 e9 p: W
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10, X9 \' a% n) u, h3 b
  4. and_data:. ~4 L2 r6 h. J+ ]9 }# x
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF2 g  J' R# w) ?; f5 m- `+ c( a. \' y

  6. : H2 q) ]7 s" J( @
  7. button = $F8
      q3 z, e& A. B# I6 @& q6 k6 S1 i
  8. flag = $60008 d" z9 r; v/ \5 I& p- U
  9. pause = $0045
    * ?$ V, v( m. n5 y
  10. ( N! S( n- f$ @! ^; R( Z4 w: D9 J

  11. - l# g/ J3 ?* S
  12. .ORG $F90D2 M# x* b/ G; t( X! }3 V
  13. JSR $FEC0
    - s$ k7 M# H! A5 d( ^1 B" k

  14. 4 ~" s0 {& {  V/ \
  15. .ORG $FEC0
    / k" h8 E5 X8 c& g8 G' u) ]
  16. STA $54,X+ O' ~- b9 Z7 x7 {# l
  17. STY $FA,X5 K3 l3 }/ k# r. Q
  18. PHA
    ( }2 I5 V5 R$ ^/ M$ H
  19. TXA5 c1 Y1 h6 D4 |3 ^
  20. PHA2 h  c' {+ l  f# I" ]+ N/ D, {0 l
  21. TYA
    + i6 ]% N" Y/ c. N
  22. PHA' @  ^6 T" S8 d7 X
  23. JSR KEY_OPERATE
    / }/ J( _# z* m% c) P+ d
  24. JSR INV8 z, l  J7 i4 h: g2 r+ S
  25. JSR LIFE
    6 k  i1 K: `( F. W1 s9 ]+ k
  26. JSR BLOOD
    0 T# @. v5 x8 D# L  p
  27. PLA
    0 C# Z% k0 G: V# [8 R
  28. TAY
    . {( z" o* i: h' h' i3 P; E
  29. PLA/ p6 u& ?+ l; `2 T6 u
  30. TAX- R( a: y- ~+ i* J
  31. PLA* S. \1 P2 ?0 \& E
  32. RTS' @4 A: B" t4 J+ `1 {8 t: C
  33. KEY_OPERATE:! y6 }1 w. x0 a# L; C
  34. data_protect:# I/ M9 {3 v, r; C
  35. PHA
    ; g/ v7 s; W7 Z; v6 b% p
  36. TXA
    * n$ F% c+ U+ C7 A
  37. PHA
    3 s$ w+ b4 b) C/ K8 [, K
  38. TYA
    5 s/ V, @/ [; \* `* N3 H
  39. PHA5 I9 x8 V/ e5 y

  40. 1 o+ `9 U- u1 E: R' e% w$ R
  41. FLAG_CMP:
    8 a8 x) G) B4 P
  42. LDA $600F
    6 s8 O2 }+ T7 J0 N" y2 Y* S7 \
  43. CMP #$7F    ;标志数据初始化条件判断- i& h% P) c) i! _1 M
  44. BEQ pause_cmp. [+ L- X! e$ x9 R. x, {, o
  45. LDA #$80
    , W! m9 o( e0 r' J  F# b9 |
  46. STA $A001    ;6000-7FFF写入启用
    + S$ `) ^$ V1 K: H9 F% V- B
  47. LDA #$00  A% x8 X, z- n
  48. STA $6000    ;数据初始化
    2 Q( c( E* D* E8 s
  49. STA $6001    ;数据初始化
    ; T" |8 `/ L/ N1 a8 V
  50. LDA #$7F4 S! m* g. ^7 ]2 S+ x: P* H
  51. STA $600F) s. c, D, w8 L& A  ?8 g
  52. pause_cmp:, H6 ?' l8 C8 S' \  ?" O! @( x% @
  53. LDA pause  h. d* B5 l' J) D, n- D# S' n
  54. CMP #$01$ p' p2 J  q4 d. @" d
  55. BEQ button_press: S0 l6 U! F  F# Q3 ~8 O5 D
  56. PLA
    ; ^% E; Z. {3 \0 L9 g0 `* p6 M, o6 M! {
  57. TAY
    , r4 w( R8 C) w0 N8 N2 Y. E* @  z
  58. PLA
    * [, t* P+ O3 d
  59. TAX
    ! u8 c) W! C$ c/ X
  60. PLA
    / R5 N4 P6 F$ J: G5 M0 L
  61. RTS+ _; B9 Z' a2 X$ }8 t& h2 c
  62. & n( t3 F' D) c2 @; b
  63. button_press:3 O9 r' R: ~/ ^; _$ `6 D! ], L
  64. ini_Y:4 t- P  z7 O# ~+ c5 f. @, w" k0 X
  65. LDY #$00
    ' v8 A5 P0 x$ c% _" O
  66. button_cmp:
    ; A4 m0 X+ [: V) a
  67. LDA button,X
    5 ]/ G# V# X$ l& @+ w  }- |/ I
  68. CMP ora_data,Y3 T! {# U- \" c2 @7 E
  69. BNE count_Y_cmp- W* S8 V( [8 C! a) N; C$ C
  70. flag_cmp:9 i' _9 h1 p% G8 y. [. W
  71. LDA flag,X
    ' E5 n" G7 N9 \: G3 O
  72. AND ora_data,Y
    % ~; J& x0 C" P3 I9 v2 b6 M1 n' f
  73. BNE flag_and1 Z( C, n$ c2 N: G4 x/ [
  74. flag_ora:8 O7 }3 _" R2 e
  75. LDA flag,X. r/ [5 C& u; x, C5 z3 _
  76. ORA ora_data,Y4 Y! h! {1 R4 V9 v& [1 S2 m: h! U1 s1 K
  77. STA flag,X
      o# b. g/ A0 r) u
  78. BNE count_Y_cmp
    5 c0 O. ^& F+ g2 o7 V# q; ^+ C
  79. flag_and:& N! c9 z1 P9 q( `6 |
  80. LDA flag,X! |) |# }7 c$ M. R4 ?4 n6 }
  81. AND and_data,Y
    4 e3 ~3 K+ |) ]' L. U% K  C
  82. STA flag,X3 w, u, v5 }/ V2 E0 }9 a
  83. count_Y_cmp:
    ; G) y  e- S, k/ R
  84. INY
    2 d( B5 b& S9 g# |
  85. CPY #$08: M; r; S7 o6 |) X+ N  A
  86. BCC button_cmp
    , b& G5 e0 J/ c& z" `

  87. 9 ?  {" H! D3 q, m
  88. data_extract:: h: S; s- v- c' h' k
  89. PLA
    % e9 x/ L5 ~' L
  90. TAY
    : s/ `% y! ~: p9 k
  91. PLA
    8 _4 Q7 j) S! k# }
  92. TAX" l" T/ ?( N5 h* c
  93. PLA
    1 {3 m6 }) y/ b5 _& O8 Z, Z

  94. . q' J% D7 O1 V& a1 n: S: y3 M
  95. return:
    % S$ g' @" Y. |# a. C# a4 ^0 X1 K
  96. RTS' L/ ?9 D) R, M6 M9 f

  97. 3 d* u0 U9 e2 r( _

  98. 4 E5 r4 T/ L9 x0 y# Y5 k
  99. INV:    ;无敌
    # L9 i& k0 `4 \8 ]7 k2 i2 ]) ^, v5 u$ J
  100. LDA $6000,X# f* ?) E) L8 k" n1 H1 X
  101. AND #$08
    & Y; ?1 u) v" @1 s' S
  102. BEQ INV_RTS* m% B! e. S2 A5 ]/ d
  103. LDA #$05; M* R+ [( v4 y# i/ k1 k  t
  104. STA $04FF,X
    - O4 P# b6 n' {! t6 x
  105. INV_RTS:$ G+ `: n7 @$ n
  106. RTS3 P0 o5 R6 h/ F  Q! Q9 D

  107. % _% y( |4 T' j, W% c
  108. ( F: a# q. D) e; I. N
  109. LIFE:    ;生命1 J* _/ ?1 v; `/ D% L! v1 q. P
  110. LDA $6000,X
    3 j. |; w+ C% l5 w% b1 m
  111. AND #$04* J* o& z7 ?# E7 R' H
  112. BEQ LIFE_RTS7 ?9 h, U. N8 V. T" n
  113. LDA #$09
    ; o3 d: q! Y0 c! N4 I, y4 s
  114. STA $6A,X9 `( Y+ E$ ?) j: i
  115. LIFE_RTS:% [, b, `( H' y0 N
  116. RTS6 D  M$ [2 n5 l. B6 l' e

  117. $ L, a) t2 W* l" R, p; N6 E: [

  118. / L8 Y- t% B6 E5 O  E. X
  119. BLOOD:    ;血量2 M$ j5 T/ g9 n6 \- `- `
  120. LDA $6000,X7 |: k: i1 v/ W' ]1 S
  121. AND #$01
    6 M8 x7 E, [- Y3 e; t1 x+ o9 ~
  122. BEQ BLOOD_RTS! C/ ?$ \8 u! i7 e' G  H
  123. LDA #$7F
    + b! W5 J; z2 J  s
  124. STA $04F1,X
    ; \$ ~3 E) r+ l( K4 X# V* e) P! t
  125. BLOOD_RTS:5 ~5 r/ d, U# |  h, \7 N* Q& |: i
  126. RTS
    4 K" B6 f' T8 I
  127. / b' f, E: V; ~$ R5 T

  128. / ?/ ]' z% j4 k+ A" m1 |5 R
  129. 2 r7 ]! A7 S5 w, j9 W% W. b5 p
  130. ' g! g# S( z7 R  J
  131. .ORG $D29F2 x/ h, M6 N, `3 o7 M# R: {
  132. JSR $FF80' v( H( @9 V3 c  }7 s
  133. 7 m5 {  s3 u7 X/ _/ a6 Y
  134. .ORG $FF806 l3 `" {- S3 V, f* X
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀4 z% O. s1 l0 E/ e! q8 R& r( d' t
  136. STA $0628
    / K) G; a( @- k1 O' r
  137. PHA" J  D5 q% Z+ I4 l8 H7 |
  138. LDA $60005 ?2 S/ [- p3 J. M: Z: q! \
  139. AND #$40
    . n* W+ O" H- _
  140. BEQ ADDRFF8E! l" M" y' Y1 F7 w: X( |
  141. PLA8 b+ }; h1 k" g- k7 _2 e
  142. CLC   ;敌方死亡状态判定
    ! D5 j( _2 x5 j4 h
  143. RTS2 d  Y. Z* ]4 V/ d. @# K
  144. ADDRFF8E:7 G  B3 J: }, s8 |' @4 f
  145. PLA; x) M. O1 m6 F+ X/ L1 ^$ h
  146. RTS4 P3 M3 P2 {4 ?5 ]( u  k

  147. 6 I% ]" \" x. F2 }, o4 o! Z9 C
  148.   D! _' ?2 }8 ~2 J6 t* ?
  149. .ORG $D151# a% H* h4 \6 s- ?
  150. JMP $FFA0
    $ [; H. {+ H) {: a# M- A

  151. ) e. ^5 l  a/ y6 E7 Z4 L1 u
  152. .ORG $FFA0
    ' c6 ~3 N/ D# J4 b; m( {$ H1 ]
  153. KILL_BY_ONE:    ;杂兵一击必杀) t% V, {' {  E- z- B, h
  154. STA $0621,X
    0 b# u" h! h$ S. d
  155. LDA $6000
    - b3 h) A) Y; I; @
  156. AND #$40' f' {* h" ~$ e5 \8 G0 B' [: E6 q
  157. BEQ ADDRFFAD# }7 J  w# m- w
  158. JMP $D19A   ;敌方死亡程序跳转
    $ r. ^2 M. {  d1 O
  159. ADDRFFAD:
    6 U( ^/ v6 l" D$ n. v$ M
  160. JMP $D154
    % v6 w( M$ C4 x5 Q$ g( l$ \

  161. : A% E# l+ o- A7 \' X( q. F) _
  162. / `( V0 S" m- p3 e/ e
  163. .ORG $A7F6
    $ X7 J- e! U9 ~% V$ f- I
  164. JSR $FFB05 \; `1 l6 z5 i; o$ D

  165. 1 S9 J  G& t7 c( a& {6 E5 V
  166. .ORG $FFB0    ;全屏攻击' j) Q( q3 ?% L) A8 c: B
  167. PHA
    ; N' j# B  R8 S
  168. LDA $6000; B6 \- Y+ |$ s$ U* v
  169. AND #$80, T! a0 e! o/ |- {9 G4 w
  170. BNE ADDRFFBD
    : `* I+ ~" d5 g: [' @, ~+ \
  171. PLA# [. ?  R; J, j9 E2 ^/ A
  172. LDA $0015: S' G$ w5 |; H  a6 E7 i& e! j# h
  173. SEC
    % v& e: V! p, W6 r
  174. RTS
    1 T' }/ ]$ C- @8 a! j' Q
  175. ADDRFFBD:
    7 ?; |9 f) K3 q/ y
  176. PLA
    ( c/ |  e! m+ _* N. g$ N
  177. JMP $A826; @2 G; a0 G. d+ P3 `9 x: A
  178. + f! z# t# ~" }- D
  179. ' h% x) G3 R. m" P, U
  180. * _0 ]. j4 S# k/ J" ~+ p$ ]
  181. .ORG $AA6A
    9 D. L/ f) C- l9 z+ m
  182. JMP $FFD06 B5 p4 B% H9 o+ V7 N

  183. + t4 \9 H6 K/ d" T% U  o2 B1 k
  184. .ORG $FFD0    ;敌兵动作忽略
    ; ~  O8 d& L+ l/ Z7 q4 V
  185. PHA
    2 o* D* I; g, h  k" M
  186. LDA $6000
    1 V  }$ i# i. a9 m0 y4 p5 b
  187. AND #$80+ _3 D1 `% f6 w  {( U; p, i1 E
  188. BEQ ADDRFFDC
    0 L4 M+ W% ?" u
  189. PLA; I. _, }9 P& Z9 T
  190. JMP $AA72! Q+ p: \% n# x/ i
  191. ADDRFFDC:3 X# ^8 Y0 h+ ]; n( j: l' v2 q7 L/ q) [
  192. PLA
    " ?$ V: d' d( ^0 C; l5 f
  193. LDA $0629,X
      m$ E' i- R6 C( P5 {) g9 x
  194. JMP $AA6D
    ! m( s, Q: l& T. I
  195. " l' O2 l, Q8 l
  196. ;[FC][忍者神龟3代标题选关程序]
    / x! |/ M; z: e' q6 m' }% s/ E
  197. ;作者:FlameCyclone 2017.4.1
    ) g7 U( E6 U& A  q- b' m

  198. 6 z7 N! L* k2 u6 {( f

  199. " ]+ E4 F2 B: O0 R1 y" d7 B1 x  B9 {" b# V
  200. ;配置数据
    3 a) S% w( d7 W8 y2 e
  201. KEY_ADDR = $F8    ;按键地址
    " ]7 n  H' M. ?* h; I2 M
  202. STAGE_TEMP = $6010    ;关卡临时地址8 I/ K; j7 e; w8 K( Z
  203. STAGE_MAX = $0E    ;最大关卡数4 q9 Q) P" L9 L2 q2 |
  204. TITLE_A = $20    ;标题条件A
    / p5 z! `1 P& X% V+ S
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    1 S% t/ O1 ^/ M! ^
  206. TITLE_B = $21    ;标题条件B
    $ B! k3 M% ~% Q$ L) n
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定
    , ~' G" K% S1 h
  208. PPU_END = $FF    ;PPU结束符; z8 z6 w, n3 l0 H% L
  209. TIME_LAY = $4A    ;标题显示延时地址
    & [0 k3 K* A1 n. T- ]6 ]
  210. BUTTON_DEC = $42    ;关卡减少按键+ {+ E( `$ P' a9 M8 M, ~
  211. BUTTON_INC = $81    ;关卡增加按键" C9 w9 ]% d, X. W; Y" B
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量! G$ M3 A0 W, l: W  M! y8 W$ c  S
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    $ k1 K' c: p! W( k- S* k2 o
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
    ) m* b. u& X& j$ `' f
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位
    ) I* k6 `; C$ {
  216. CHAR_S = $A2    ;字符'S'3 \7 s/ m0 v& \! I5 v  \5 l9 m( X
  217. CHAR_T = $A3    ;字符'T'
    . L. x, ?) e* z, g' a
  218. CHAR_A = $90    ;字符'A'# h9 A' U7 m0 n6 R  p* v6 y+ g2 k  @
  219. CHAR_G = $96    ;字符'G'
    1 \) g6 p5 W0 h6 O( V
  220. CHAR_E = $94    ;字符'E'8 k7 K: u8 J0 P0 ~0 y- u% P
  221. CHAR_SPA = $00    ;字符空格% H/ k7 c  {; F6 J
  222. CHAR_LIN = $AE    ;字符'-'7 r6 _, k8 G$ C, a: q2 E: w
  223. CHAR_O = $9E    ;字符'o'7 u( Z( E6 B1 N, J$ p: e; N2 w& f3 `+ b
  224. NUM_1 = $81    ;数字'1'- g+ \$ O# ?5 n& K8 Z4 ^
  225. NUM_2 = $82    ;数字'2'4 L* K% [& ?. c$ b. N
  226. NUM_3 = $83    ;数字'3'
    6 F; Y1 e% _9 m
  227. NUM_4 = $84    ;数字'4'% J; x9 z& Z  L$ V7 W- r1 A7 k0 m
  228. NUM_5 = $85    ;数字'5'! [6 B2 I* D$ c; i
  229. NUM_6 = $86    ;数字'6'
    $ j) s( a# W0 R4 P. z0 p
  230. NUM_7 = $87    ;数字'7'+ R8 C  Q3 O  Z( E
  231. NUM_8 = $88    ;数字'8'( Q  I* b, W5 i" k
  232. NUM_9 = $89    ;数字'9'
    % Y) T+ [- P8 Q, L) c: e
  233. NUM_0 = $80    ;数字'0'
    ( v) u( R: x! J2 R! h6 y  s
  234. 1 t: C0 q/ R9 u
  235. .ORG $F82A
    , O- q* y7 d3 U/ a+ b  d
  236. JSR $E700
    ; H9 X/ o6 `( d9 c$ G
  237. . I9 |/ }6 A* W& N/ A: X

  238. - G$ B& p: r, j- u' L
  239. .ORG $E700
    + X% x" V0 I8 ]# S7 }/ @
  240.   
    ) `9 ^5 F% c$ `
  241. STY $4014    ;补上覆盖的精灵写入指令
    ! _1 t4 j! Y8 q% v; G, r
  242. PROTECT_DATA:    ;数据保护
    ! E( ?( I* C  E" V! X) s5 g& B2 k. }
  243. PHA    ;数据保护开始- r/ P+ Z- \$ E
  244. TXA$ B# I& O# F; a. M0 J4 j- x, W7 V
  245. PHA
    ! Z5 X6 R- X% f/ [
  246. TYA6 p7 {% S$ G- H: T; N9 p( u; c
  247. PHA    ;数据保护结束- r2 N" a7 }: P. U# V
  248. LDA TITLE_A: h7 P+ f& e+ F7 L! t
  249. CMP #TITLE_A_ON    ;比较是否为标题画面
    * T# v+ t, ~, C% B4 D
  250. BNE RET
    9 n/ m; n% B2 U3 z" V
  251. LDA TITLE_B
    4 p. m$ u. X  l/ H! L, _
  252. CMP #TITLE_B_ON    ;比较是否为标题画面
    * M5 P( a- m/ t3 E) A2 n, @
  253. BEQ PPU_STAGE8 o( |& p% r, k% Q; P9 o' S3 A
  254. RET:    ;恢复数据" {* a; [" f/ |, T) a
  255. PLA    ;恢复数据开始
    ( _1 l# r/ W4 L5 H
  256. TAY
    , b! {1 }. ~; z! h
  257. PLA/ ]- D, U" t6 Z# ^$ a; x  ^
  258. TAX
      _; n# n  `* S- Z4 x
  259. PLA    ;恢复数据结束
    ( K! \! ~" s) F
  260. RTS    ;返回/ K3 p. g) h1 M' S5 y/ w& A
  261. PPU_STAGE:    ;字符STAGE写入程序
    , }/ v& d  A  U; y
  262. LDA #PPU_ADDR_H ! G( g7 E) G" |4 w: k  t
  263. STA $2006    ;设置PPU字符写入高位地址
    4 C7 U2 Y& `6 @) p, |7 i0 S. b
  264. LDA #PPU_ADDR_L" {! s: e3 ~" u( O% ?" K$ `
  265. STA $2006    ;设置PPU字符写入低位地址
    3 l3 E7 i* P; I7 ]) u+ K1 ^
  266. LDX #$000 V' c, E, R; I( p( a) E- G, M
  267. PPU_STAGE_WROTE:    ;写入STAGE字模
    " x8 s7 V, [3 N
  268. LDA STAGE_DATA,X* \: U8 H% p2 ^- a* g) g# G
  269. CMP #PPU_END    ;判断是否写入结束& c  h  W4 K( r0 U" X
  270. BEQ STAGE_CMP$ |7 S* d; n3 b% n1 C1 B, W+ p
  271. STA $2007( X: g% B6 c. _" e1 ~) J
  272. INX3 Z) R# Q+ M" I7 N/ B& F# U
  273. BCC PPU_STAGE_WROTE" v, f/ Y& N% ~' S7 }
  274. STAGE_CMP:    ;选关操作
    9 }" e! |  x$ h+ _! s, [
  275. LDA STAGE_TEMP
    1 h' y& k  u& t+ Z7 W& g8 P, ?- f
  276. CMP #$FF    ;关卡数据初始化条件判断2 O0 q/ F6 X8 R) Y
  277. BNE KEY_B
    9 o' M: A' U0 Y* V% y& O
  278. LDA #$00
    . Z. Y7 |5 B: f+ R, c' B' J
  279. STA STAGE_TEMP    ;关卡数据初始化$ I( {& L- Y$ b. a) R5 O  I9 B
  280. KEY_B:    ;关卡减少
    2 q6 r3 u# Y8 q7 ^
  281. LDA KEY_ADDR( Q; M$ c+ u, D7 m
  282. AND #BUTTON_DEC    ;按键B或左减关
    ) s  N: d9 a% ^% V& ?
  283. BEQ KEY_A6 d' h4 `$ @6 L! ^. A4 t
  284. LDA #$FF% u* S9 I& w, R( C1 Q/ R" H* ?
  285. STA TIME_LAY    ;重设标题延时0 l. k" x4 q( {+ |4 H# f
  286. LDA STAGE_TEMP  r$ D, c$ i) f: ?" V- Q- i  M" w! g; H
  287. CMP #$00    ;关卡比较
    6 s& r' _* u1 A. d% X
  288. BEQ KEY_A
    & S3 ]1 w- L) j( k
  289. DEC STAGE_TEMP   ;减关3 G4 f/ W" C- `" {
  290. JSR MUSIC    ;按键音效5 o5 ]) A/ u+ n$ w
  291. KEY_A:    ;关卡增加; F' l/ [, P7 n$ ]& l
  292. LDA KEY_ADDR
    ( X9 t. T, D* r& J& F
  293. AND #BUTTON_INC    ;按键A或右加关  L# u5 p3 X& e* E/ m! o; [
  294. BEQ PPU_NUM_WRITE
    7 t3 n+ ~- D4 G. F0 q2 C
  295. LDA #$FF: W. K+ ]& _. ]) A! d) W: f. q7 w
  296. STA TIME_LAY    ;重设标题延时
    % J6 k, O% Z# ]) V3 o
  297. LDA STAGE_TEMP2 y8 t. w. c, F+ `' H
  298. CMP #STAGE_MAX    ;关卡比较
    5 ]# Y  P5 w3 W8 o
  299. BEQ PPU_NUM_WRITE
    # U- c2 ]  |: n  A9 u9 W) Z
  300. INC STAGE_TEMP    ;加关
    " n2 k, d) r1 N2 h" L. _9 b( {
  301. JSR MUSIC    ;按键音效5 e- s# Z* Z5 q! f( }: t
  302. PPU_NUM_WRITE:    ;关卡数字写入地址
    2 f# R* n  Y& d: H% g
  303. LDA #PPU_ADDR_H
    ! ^; u* d% h1 ~, {8 T7 G) q" M  Q
  304. STA $2006    ;设置PPU数字写入高位地址: W- l$ e6 Z/ `! V
  305. LDA #PPU_ADDR_L
    $ b4 }  X) X; V. ~) n; ~
  306. CLC& p( ]2 I. H. A2 y6 W6 `- G
  307. ADC #NUMBER_A
    + w0 T/ O0 L8 C. V2 i
  308. STA $2006    ;设置PPU字符写入低位地址
    ) }/ t7 m# y% D* b% q( P
  309. LDA STAGE_TEMP
    , D) p! o. Q& b$ C8 r7 E& M1 S# M% p
  310. TAX
    ' m# z+ P! a( A7 a( c; S: R
  311. LDA STAGE_D1,X    ;写入数字
    ( N/ t6 R) b( M6 s' W# ^; E# r! j
  312. STA $2007* j4 K9 b5 d( q. M# ^+ Z* Q
  313. LDA #PPU_ADDR_H* I* N+ Z3 c0 U4 `# j4 i& K+ e! ~
  314. STA $2006    ;设置PPU数字写入高位地址
    ; Y: H. h3 U# }6 [' J
  315. LDA #PPU_ADDR_L
    - B: h- L0 t: \( s4 ^+ P
  316. CLC
    3 V/ Q* M# e! {3 q
  317. ADC #NUMBER_B
      S5 |/ S0 a4 p2 J: ?
  318. STA $2006    ;设置PPU字符写入低位地址' {0 Z, I$ k! F; C+ P$ h
  319. LDA STAGE_TEMP, c- d3 ~! u. h/ e$ y+ s" K0 Y
  320. TAX
    ! ~4 i4 P+ }8 f9 r: ?  X# l8 G- J
  321. LDA STAGE_D2,X    ;写入数字
    + W- |- V4 Y! M5 f! f
  322. STA $2007* s% W  H1 v( ^# [% |1 ~  m/ W
  323. STAHE_WRITE:
    4 B/ x9 q( P3 p% k& D+ Z
  324. LDA STAGE_TEMP
    ! ]* C" }8 ]) J; V+ m: g" \/ q
  325. STA $2D   ;初始关卡写入
    & l; v* R7 a+ M' _- n% w: p; w" K
  326. PPU_RTS:    ;恢复数据0 I" L" h# W( N
  327. PLA; f; f* g2 [0 [6 V
  328. TAY7 D* x, F& j* C# H/ b: ?/ f
  329. PLA! ^; x# y9 [3 H; X8 k! ?+ @
  330. TAX. g. r1 i$ Q9 \
  331. PLA$ s' Y' M0 j: k4 b. H/ l+ F2 W
  332. RTS9 B+ x4 T1 g3 [, c. O

  333. & {& D" R" ^( \+ m$ q
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据
    ) M6 [5 I. J: H) |+ @$ T+ n+ S7 @
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END: J3 d7 k' ~  }9 v: o3 X3 ~

  336. # O; @0 s* @9 ^( s3 ?' z( e  E& F  ]
  337. STAGE_D1:   ;关卡数字' {! W5 c1 b5 s; B+ a* X4 w' Z
  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* D, ?! t3 t$ D0 `* H

  339. - u$ ?9 o1 _) \5 @+ P
  340. STAGE_D2:   ;场景数字
    , f/ D" _3 e+ F" s
  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
    , h0 X% S2 E' L% k
  342. / Q7 e& K( J9 I; U/ O9 F
  343. 4 \) B7 p% y& F
  344. MUSIC:    ;按键音效! r; M: E; A9 T7 C. \1 F, \, g
  345. LDA #$3B    ;音乐号: z. Z0 U- b6 G0 T% f
  346. JSR $919E    ;系统音乐调用
      \1 E$ m2 b8 ~3 }
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;
1 ^$ A3 p3 w& j* R) Z  r6 Q# Y) G0 D/ l    5.生命加满:   暂停后,按下键切换;
. l9 W3 U& [! T    6.血量锁满:   暂停后,按右键切换;
, y' @; i) @4 I" @2 P) G0 _- M( m

* m: L- u3 Y* C7 p" a7 e
. Z* L5 ~0 x% r  d
: u  m) h3 a# u  v& q0 V
  F8 g7 r0 k# [5 `+ ~% o1 IFlameCyclone.ys168.com
5 J, ]& B; {# [: Ewww.nesbbs.com2 j/ q* @9 W: \. G
游客,如果您要查看本帖隐藏内容请回复
0 q& h- N9 J) b

本帖子中包含更多资源

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

x

评分

1

查看全部评分

签到天数: 187 天

[LV.7]常住居民III

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

签到天数: 49 天

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

签到天数: 2699 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1594 天

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

签到天数: 3282 天

[LV.Master]伴坛终老

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

签到天数: 2401 天

[LV.Master]伴坛终老

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

签到天数: 2167 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!1 F' k5 C, O# @. T- E9 n. a

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1792 天

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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