EMU618社区

 找回密码
 立即注册
搜索
查看: 3757|回复: 64

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 2 M1 [- G9 l4 g- j4 [

- \: }' ~; O7 I  s* l; r! m! C[FC][忍者神龟3][END选关]
; m  w! Z) ?6 _( i0 w$ e
. J2 e3 ^+ t2 y. `" W) D4 _- L, t. U时间:2017.3.309 e% L/ }5 S  Y! L! i
作者:FlameCyclone" F5 }* o8 K+ s* j+ S
内容:
$ k' m1 c+ h' B; G, U) Y    1.关卡选择:   标题时,左或B减,右或A加;: r0 T- M* I, H; ~4 H
    2.全屏击杀:   暂停后,按A键切换;
8 \( N" T: N; J% e; M- E    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0
    ; ~/ P$ V6 @- e; M. R  l  e  i
  2. ora_data:3 P3 ?+ t& V: y! b; H3 }6 v
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10* _5 w8 M8 M' |5 l- \; Q
  4. and_data:
    & A2 @0 X, |; ^% F9 t* z  m
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    " [5 v# i, p' z9 I7 G
  6. 8 s& i7 D' T/ _+ H9 \
  7. button = $F8& x  N2 @/ o/ l- E0 Z
  8. flag = $6000
    , K+ |& Z7 t' W2 `, }
  9. pause = $0045' C# O. @: \6 J$ g, B  u
  10. ; p! K- D& l: Q1 V, d8 W
  11. / R, I1 M3 T& G3 f. z- D
  12. .ORG $F90D, E" N. n8 @4 T' M! _% I
  13. JSR $FEC0
    " S- \/ k+ b3 `% r2 }- R$ p) ]

  14. ) j% L7 d( l, k  O. ^
  15. .ORG $FEC0
    - o- n) ~3 S- @) R) ^7 n( Z
  16. STA $54,X
    / A/ D/ p. L7 q4 d: F2 x/ j) d
  17. STY $FA,X2 {" I& O) T7 I; o7 f
  18. PHA5 L5 y8 c2 [8 h* P, C( l
  19. TXA( G7 o+ Y" b0 @( B
  20. PHA- P% B6 \0 b) e
  21. TYA
    # q8 W# D# y: L% P9 K% k4 B  R
  22. PHA
    5 l' C" y/ ?8 _8 v: @2 b+ Y5 D
  23. JSR KEY_OPERATE
    % Q$ J0 O+ d3 I% P( w, P9 ]+ K
  24. JSR INV
    7 e8 Q( R7 z. ^/ v4 \6 H8 N9 x  }
  25. JSR LIFE
    0 ]7 ]  A& |( ]9 g4 U8 f
  26. JSR BLOOD0 p) y! w' l/ N8 |: m! n4 e: q( }
  27. PLA3 A/ @& ~- n) z
  28. TAY% w% @' s8 p. v4 d7 w7 O, D' Z
  29. PLA  I( ?  [6 ]4 F+ n" `$ H
  30. TAX
    9 b2 g# i5 R6 q" S9 q
  31. PLA
    : d8 E& x- a6 s! }* f
  32. RTS
    ; s/ l+ u8 t. \2 W9 [
  33. KEY_OPERATE:2 c( \% y  k- l# M2 x/ F8 Z
  34. data_protect:2 _; P& t. t7 T: }7 J; K
  35. PHA6 _- R+ {0 V/ Y
  36. TXA
    * C# F+ c1 g8 X* ?* x+ O% ~
  37. PHA
    9 x4 |: M8 L6 ]# W' _( @) G4 {
  38. TYA
    # ]; H; y: U" _/ f* V8 w
  39. PHA. V9 h8 c* {7 Z" Z

  40. . v" b* s! d8 l( w% a
  41. FLAG_CMP:: a4 z" H1 R, z; o% Y4 G
  42. LDA $600F
    0 A) S. T/ D8 Z) ?4 B7 t
  43. CMP #$7F    ;标志数据初始化条件判断+ y! q9 V9 g) L# H9 {
  44. BEQ pause_cmp
    % i! y3 u% M% k% q
  45. LDA #$80
    . [4 S: p6 C0 V3 S' E% p
  46. STA $A001    ;6000-7FFF写入启用
    3 |+ p. v  [2 m- }1 Z) U7 j
  47. LDA #$00/ ^. L' z: P# v) c
  48. STA $6000    ;数据初始化; h( R* Z/ [& x! O
  49. STA $6001    ;数据初始化
    9 Z5 w0 l5 U4 N3 b0 R" p, I
  50. LDA #$7F0 f- C* K. @; u2 B5 ?
  51. STA $600F
    & o! [" v5 d% Q1 ]/ C1 I5 _) ]
  52. pause_cmp:  N2 }, L4 H% g' \! B
  53. LDA pause' P3 b; J& k1 |1 |9 P: a1 ]8 q
  54. CMP #$01
    . z) Y; J* B, @2 B; t: _+ q8 V
  55. BEQ button_press- t$ D5 l# N2 w* [& o
  56. PLA
    1 c* y6 _3 j# y: {+ _# v
  57. TAY
    ) m! G" R7 ?  k: T4 ^
  58. PLA
    + C: S# C, ]" t' ]  `& k$ l. v
  59. TAX: m- J$ N! K. P, Y/ W! p& M' U
  60. PLA
    ' z  z% Z4 z8 }8 d' V5 a9 [
  61. RTS7 R2 `0 T, N- G" b
  62. ' r* p: H4 ~1 q% g$ m7 ^
  63. button_press:
    6 A3 h; a4 [3 }
  64. ini_Y:5 a& e. ]% K$ o! V! _3 c! l
  65. LDY #$00
    : I9 Y4 Y) ~, F+ t
  66. button_cmp:
    ! U5 H: T7 f* N! {' e0 o
  67. LDA button,X
    2 `7 @* C" \' V8 ?
  68. CMP ora_data,Y& A' A5 s  k& x8 H% t4 x
  69. BNE count_Y_cmp
    % |3 K3 K; t; l$ Y6 f: t% y
  70. flag_cmp:
    * O1 f2 U# m4 d1 U4 e
  71. LDA flag,X) ?$ c% J/ K/ p4 }3 O3 c' c& R: y
  72. AND ora_data,Y. A8 r. C$ l$ E
  73. BNE flag_and
    " J' e% l( o2 V9 x. Z6 r* ^. @
  74. flag_ora:1 F6 B" [1 t' e6 \- n+ Z  q& @! W. ~
  75. LDA flag,X* b! |4 l) k, d
  76. ORA ora_data,Y; s1 ]: ~) l$ r% h
  77. STA flag,X
    * U1 M# k; \3 v! s1 ~# ^; _% j
  78. BNE count_Y_cmp
    / V4 T+ G( [2 ^
  79. flag_and:
    8 M5 b& {; e1 O# L  b
  80. LDA flag,X! d$ v$ ~2 n: W6 {  r' H+ K* L
  81. AND and_data,Y/ `1 k7 m' ?: [9 X* n
  82. STA flag,X
    2 {; U' d% ^; R: U& w* q
  83. count_Y_cmp:/ H. b- B: I: b' W& j
  84. INY
    9 x! U) W/ m" g) z+ ^2 |
  85. CPY #$08
    * t$ y1 x3 n' ?1 j
  86. BCC button_cmp
    ; c) N4 Y1 I; H; ]
  87. & T* b, g5 v+ Q2 f. I- P
  88. data_extract:6 ~, X: U& m  g* e4 ~6 W8 W
  89. PLA/ w' z0 h0 m) R
  90. TAY
    $ z2 ?* U7 A6 }3 g6 T% \
  91. PLA9 {, c/ ^! C/ t0 k2 S- l3 s
  92. TAX- k+ \7 F$ o! \1 ?0 M6 v: Z
  93. PLA
      C2 \+ X; W4 N% w8 S5 n

  94. & w9 N, e' f: O* t
  95. return:
    % ~0 _' k- D) u1 L% Q( V' K" T
  96. RTS
    8 Q9 A6 r: f. A$ ]+ {
  97. + B  @1 E+ e" v4 u5 h2 S8 b
  98. 8 E. G3 E: k) }# v( `
  99. INV:    ;无敌
    / U* \6 l! c/ P3 T
  100. LDA $6000,X
    / e8 v: Q# U9 z; K# `. M
  101. AND #$08
    9 r% I1 P; q' |$ N" t2 M7 s
  102. BEQ INV_RTS9 e- R: N  k! F1 n2 F
  103. LDA #$057 ]6 |3 W8 @" o5 v
  104. STA $04FF,X
    ' @+ ]2 N/ F! l% R0 I' U. I
  105. INV_RTS:' \2 \, J$ ~& ]" Z
  106. RTS* W$ F+ d& ~' F8 [- ~: c* r
  107. 5 S/ Q* p9 Y$ Q' D  l% V

  108. : L/ x2 ^0 c& C: C% Y
  109. LIFE:    ;生命
    8 L1 \9 d' U8 _9 T" H/ {
  110. LDA $6000,X
    + k! ]. }( s* A6 f# g
  111. AND #$04' B) G6 [/ M& H3 `
  112. BEQ LIFE_RTS9 T6 l* Q1 ~7 Z1 Y6 N6 R/ v
  113. LDA #$09
    , Z! j4 ~8 U7 c0 s6 l8 i- E
  114. STA $6A,X* _1 L/ P8 G6 G! K4 z
  115. LIFE_RTS:; s( T/ @: M% N* ~8 T( l# ^
  116. RTS- I- S) P5 o; C

  117. ; `+ w0 F: V2 @6 ^# j

  118. # z7 U! K3 R- I3 l- s
  119. BLOOD:    ;血量
    " L( Q: O# h% u9 ]* O- P
  120. LDA $6000,X- j$ C9 o4 O1 X2 o
  121. AND #$01
    5 ]6 {4 w3 ]2 s& ^& w+ ], f& Z
  122. BEQ BLOOD_RTS) f, P6 H4 Y8 Z) ~* Z5 j: A
  123. LDA #$7F: L( Q, q  e+ d& n4 a
  124. STA $04F1,X
    - C  ]7 b& U) ]
  125. BLOOD_RTS:
    0 D2 s$ R) ^' B6 G0 y9 ~
  126. RTS
    # U2 y" W$ P; y  h. n, d. [1 Q
  127. ; o) r8 ~% y* W1 W
  128. ! d8 @: k, S& {) t
  129. ' x- \" H' O) K" O
  130. # f$ u1 ^: G6 B
  131. .ORG $D29F; f9 ~! \6 q* w8 y1 C. `& @# c, Q
  132. JSR $FF80
    $ w1 w, N/ b6 J: b# P0 ?

  133. % R1 @+ Z) J  h( W' Z6 R( o8 A
  134. .ORG $FF80& q, b$ ?, Q  J2 T
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀
    % E" X8 l6 P7 u6 r
  136. STA $0628
    ' B+ k; @2 _# _0 v" I( W+ \- ^* P
  137. PHA- k- n  U/ P; e7 x* H
  138. LDA $60005 v" b9 a# H7 b' O
  139. AND #$40
    1 U8 E" T$ x3 o5 j+ T& a
  140. BEQ ADDRFF8E$ P% y  `( h" L# h2 x# t7 q) R! I' y
  141. PLA
    3 T1 S0 V% N0 Y6 C* [! F5 ~* u% e
  142. CLC   ;敌方死亡状态判定0 a$ X6 k' h; @' H0 _& W
  143. RTS, R, Q' Y6 O' G
  144. ADDRFF8E:
    9 Q! K3 K* ?0 d& {( ^, S6 C$ e
  145. PLA
    " X  S8 r0 y" n  C
  146. RTS$ ], E- j. m- ?8 F# \

  147. , e8 N8 z6 z: J2 I' o

  148. 1 S6 L0 [: F) H* U2 h8 A& }+ u- x4 n
  149. .ORG $D1517 ?+ Z9 z" w/ U& f: d" V1 W- `
  150. JMP $FFA06 B6 b* I/ n+ r

  151. - Z+ ~6 _5 H$ M5 \) \
  152. .ORG $FFA0/ `8 K' b: M2 v# V
  153. KILL_BY_ONE:    ;杂兵一击必杀2 ]6 M, j7 z1 l- M7 L9 D. U
  154. STA $0621,X! L  _, }$ `  O' C
  155. LDA $6000* ?2 {& ?. j2 ^/ C" Q
  156. AND #$401 t) y9 D* ~* r; T
  157. BEQ ADDRFFAD
    9 q3 R9 y( N6 J* _1 [/ I" H/ ^. U* Q- ~
  158. JMP $D19A   ;敌方死亡程序跳转& N- c( e& R, u) ?# ^% t  k$ X
  159. ADDRFFAD:
    6 C1 R  c+ v; t! d& Q+ @
  160. JMP $D154; c- {0 K0 E$ R  |, g4 t: U

  161. 1 x, v/ k1 e! ~
  162. / h- T9 r0 \) X$ G1 E" o
  163. .ORG $A7F6+ R/ I8 q6 n& f+ X7 z# h
  164. JSR $FFB0
      ]  k2 [' Z* D7 M) e

  165. ' Z% |* W2 u) n, R- Y5 j3 H1 _% b
  166. .ORG $FFB0    ;全屏攻击
    ! ?; R8 v) J; i5 X
  167. PHA
    3 @4 A8 j% O0 X) y* k  e
  168. LDA $6000
    0 r4 J: ?. W: b7 U2 P  l
  169. AND #$80; J7 c9 E0 c, m, H
  170. BNE ADDRFFBD: w0 E4 M  l- ?& j  Q# @- @4 ?
  171. PLA
    4 d( o& }, Q, v
  172. LDA $0015
    8 n0 s! ^* b6 q$ D
  173. SEC  Q. i% e  O2 F( F$ [# z
  174. RTS
    2 l' ]- ?# Z0 s( I4 F( z! U
  175. ADDRFFBD:5 a! Q3 r. s! U: X4 G
  176. PLA
    & ]2 B$ E# j+ z% ~8 r
  177. JMP $A8263 R! ?0 S% q% f8 k1 a: T

  178. ' E' M4 J  n2 p* x/ z
  179. ' e0 Q: j% }  `7 q
  180. # b2 Q; H& O# A0 d0 M, |
  181. .ORG $AA6A; t- i2 W. O' P% M
  182. JMP $FFD0
    ' {7 h* ~+ L' z5 o/ h' j0 l
  183. ; N2 z; _5 S" @: n7 d% D7 ~
  184. .ORG $FFD0    ;敌兵动作忽略& @" O5 q) O7 _; b
  185. PHA
    * ^/ Q( i+ L3 g! o2 E( O" ]2 Q" Y( W
  186. LDA $6000
    + G, M$ @% H; N* d
  187. AND #$803 B. M6 ?9 c1 ]8 b
  188. BEQ ADDRFFDC
    8 |3 A% O/ r: F0 @- \0 `
  189. PLA
    # K; d" Z% |4 h/ d; t9 R6 P
  190. JMP $AA72! A$ }) v5 s# d# h8 R) C' T9 M7 }$ l' X
  191. ADDRFFDC:
    7 i# t! [- D" \+ o' T, {6 y; d
  192. PLA$ `$ ~: ^& x2 G9 L# I' A
  193. LDA $0629,X: L; ?/ f. M' }9 v8 W
  194. JMP $AA6D
    4 q- V' z5 G/ ^$ ?$ l. k2 {+ k! p$ l
  195. 5 c1 q* d$ ?4 s5 x& p
  196. ;[FC][忍者神龟3代标题选关程序]  K5 M% }2 b2 ?' \# h5 i2 p. X
  197. ;作者:FlameCyclone 2017.4.1
    ! A$ }' |7 R! O& }6 {

  198. - p0 s9 f1 R" F4 A% ~5 e
  199. 2 m& f; O+ p# D  x
  200. ;配置数据
    0 e1 z6 |0 I* P' V! R% F+ C* P! u4 c
  201. KEY_ADDR = $F8    ;按键地址& `" n4 }& o2 _+ S. N
  202. STAGE_TEMP = $6010    ;关卡临时地址( N! b, m/ J' a6 b$ I# v( Y7 t% C* p
  203. STAGE_MAX = $0E    ;最大关卡数
    0 w) B: }) I# h
  204. TITLE_A = $20    ;标题条件A
    2 u2 l5 |5 Z- ~% P) G
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    2 ]% p1 w2 O) @, b$ a1 P, B
  206. TITLE_B = $21    ;标题条件B
      b- P, k& U9 x8 d! _
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定
    : K; p; V/ Z# y) k# H& q8 y
  208. PPU_END = $FF    ;PPU结束符+ Z2 i4 R. i7 I' a$ o7 F
  209. TIME_LAY = $4A    ;标题显示延时地址
    4 A1 B4 R, k  f, o
  210. BUTTON_DEC = $42    ;关卡减少按键
    * [& a8 v5 G' T
  211. BUTTON_INC = $81    ;关卡增加按键  A2 n& S5 o  E# w9 D! x
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量
    ' n  a; u$ S3 w$ Q
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    : ^7 g+ b6 Z5 Z$ p3 j* L4 f
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位4 E- ^7 V' [) \; f: B; K) A
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位7 E1 k' O9 T+ j& }; ~; X8 _
  216. CHAR_S = $A2    ;字符'S'+ A3 ?# J4 q5 x* V2 \: B4 M+ t
  217. CHAR_T = $A3    ;字符'T'4 D' H6 E/ h$ S9 W3 j
  218. CHAR_A = $90    ;字符'A'( ?2 h. I& w$ T) q: V2 s
  219. CHAR_G = $96    ;字符'G'
    ) J/ t6 d: U. V! ^+ E3 n
  220. CHAR_E = $94    ;字符'E'
    0 i( E- X" t0 Y( b8 D( f  t: ^
  221. CHAR_SPA = $00    ;字符空格
    3 b4 d8 f$ T8 N# q$ Q
  222. CHAR_LIN = $AE    ;字符'-'! E7 M1 i! u* S0 L0 P. m
  223. CHAR_O = $9E    ;字符'o'& s! E7 Z' b& R5 W1 A" y
  224. NUM_1 = $81    ;数字'1'& g, p- G* s- f9 H/ D0 `8 `/ y
  225. NUM_2 = $82    ;数字'2'
    # n. b& Z$ ^0 A$ R; N' V
  226. NUM_3 = $83    ;数字'3'
    * ]6 S5 K% }; ]7 D
  227. NUM_4 = $84    ;数字'4'
    8 ]; }! ]# Y( L! k* g! O0 a
  228. NUM_5 = $85    ;数字'5'# R8 u  i( w* z
  229. NUM_6 = $86    ;数字'6'
    8 y: }3 v! T  q! N
  230. NUM_7 = $87    ;数字'7'! p: v) d$ p, u& `' f5 H, @3 h7 o
  231. NUM_8 = $88    ;数字'8', l/ a# o! G8 V
  232. NUM_9 = $89    ;数字'9'4 [; [! U5 ]6 R2 T, P
  233. NUM_0 = $80    ;数字'0': L6 z8 \- z, C: B! T3 p
  234. ' G" T0 Y* e+ ~
  235. .ORG $F82A
    6 F  X) L' Q" W# ~! A; T0 J: w& d
  236. JSR $E7001 T$ S6 q) i! b" ^1 d
  237. ( ?, q, j. s6 q4 O/ m0 Y
  238. 1 u% v2 F# t  m# d
  239. .ORG $E700
    % C, K4 N3 Z4 J0 z
  240.   # n$ b& H+ |8 S  D- }2 @
  241. STY $4014    ;补上覆盖的精灵写入指令2 _- P6 W' x1 R: _; ]5 T
  242. PROTECT_DATA:    ;数据保护
    % C1 Y) u& V( z# n2 d
  243. PHA    ;数据保护开始
    + p  j9 O' F, ?0 G  @8 x1 \
  244. TXA
    9 E0 L6 r2 @+ m0 d9 C8 V
  245. PHA7 f" L% b0 }1 R9 f& F
  246. TYA
    # Y; f* W/ K, Z8 w; Y
  247. PHA    ;数据保护结束
    6 V: \- f5 L4 `* e- i% O# n
  248. LDA TITLE_A3 U# [; d* L: d+ K. P% n2 L
  249. CMP #TITLE_A_ON    ;比较是否为标题画面
    5 g. R/ L; u: g- P$ C/ Z/ E+ g
  250. BNE RET
    & K* {! V) A- t/ M: ?; I
  251. LDA TITLE_B
    ) e( F- E# c# Z1 T" C$ }8 T
  252. CMP #TITLE_B_ON    ;比较是否为标题画面, B8 _& a# Z! n+ Y9 \
  253. BEQ PPU_STAGE
    % `( v' F, a5 _$ k
  254. RET:    ;恢复数据* Y" x/ k* B/ G  `# F& |
  255. PLA    ;恢复数据开始5 I9 V, s  I/ X* {
  256. TAY
    $ @) A2 j/ a5 m# W
  257. PLA, j% b4 T! T: Q& H3 N  W: b2 B
  258. TAX. X6 D7 D- ~% j' k' s- u0 ]
  259. PLA    ;恢复数据结束
    " C" o, _: w. f" V2 z$ D; l
  260. RTS    ;返回: Y1 p, l# x- u1 S
  261. PPU_STAGE:    ;字符STAGE写入程序& C: ]6 ~: y6 J- S
  262. LDA #PPU_ADDR_H
    : o6 b$ s& j. X8 o$ Q
  263. STA $2006    ;设置PPU字符写入高位地址
    $ |9 F$ a( T% o
  264. LDA #PPU_ADDR_L- Z9 s: d8 I+ S  I8 z- T: \
  265. STA $2006    ;设置PPU字符写入低位地址
    6 ?+ F; ~: [2 _- ]; Q
  266. LDX #$003 O% m( I/ J* g. O( ?+ W- ^/ U
  267. PPU_STAGE_WROTE:    ;写入STAGE字模( r6 I* v- `+ o* O0 Q) z3 R
  268. LDA STAGE_DATA,X  f" F$ @6 [/ b
  269. CMP #PPU_END    ;判断是否写入结束7 ~1 G/ Y4 C8 u5 o  h
  270. BEQ STAGE_CMP
    8 T9 t4 p. E8 ~" c. H
  271. STA $20070 l1 I! o0 `/ v3 s( r& e
  272. INX
    , G( _$ ^2 m3 k+ v
  273. BCC PPU_STAGE_WROTE
    7 ?* }  n$ R- i5 K/ C. K6 A
  274. STAGE_CMP:    ;选关操作
    2 W9 L; c6 D2 F# I8 D1 |& J: h$ E
  275. LDA STAGE_TEMP
    8 [! {/ P; d% T) I5 J# F9 {, o9 b, y3 J
  276. CMP #$FF    ;关卡数据初始化条件判断( M. }$ u5 J+ D3 w. Y1 e
  277. BNE KEY_B
    ( b- [4 G& F1 r# ]+ s
  278. LDA #$00
    ! ~5 x4 o8 N7 j5 T3 y0 O* U
  279. STA STAGE_TEMP    ;关卡数据初始化
    : I# O: b; `7 i
  280. KEY_B:    ;关卡减少: b$ M0 x! i  n
  281. LDA KEY_ADDR
    ; f. v1 m7 N" R# ~, r
  282. AND #BUTTON_DEC    ;按键B或左减关( ^4 Z2 S1 j- U! o
  283. BEQ KEY_A
    / Q$ n" G2 V# [0 j  A7 g
  284. LDA #$FF
    ' r! K( u, {$ A6 f+ i1 p6 G. {
  285. STA TIME_LAY    ;重设标题延时4 N1 X  C8 b+ i5 ~( N
  286. LDA STAGE_TEMP1 y+ F0 R+ {5 n9 |
  287. CMP #$00    ;关卡比较( F  u1 E1 ]8 T# O: B; Z
  288. BEQ KEY_A/ b9 ^) o7 i6 d
  289. DEC STAGE_TEMP   ;减关, B! ~; Y5 ]/ N; O' `7 B
  290. JSR MUSIC    ;按键音效1 W1 K4 E4 V% ]/ J4 d" a5 e
  291. KEY_A:    ;关卡增加! W4 t# U( d: K. D5 T
  292. LDA KEY_ADDR
    6 p" X$ p/ k. S
  293. AND #BUTTON_INC    ;按键A或右加关4 [' l! u. a0 r0 D. S; I' ?: d9 Z# u
  294. BEQ PPU_NUM_WRITE; J2 {7 q! F9 Q  [+ c6 b
  295. LDA #$FF
    " a) x' H- C8 f: P
  296. STA TIME_LAY    ;重设标题延时2 s6 g3 z) z" Z- G0 O
  297. LDA STAGE_TEMP; a8 Z( Z, x, d1 I0 ~1 Q$ j
  298. CMP #STAGE_MAX    ;关卡比较1 \. x+ I$ W" z1 a: ~7 ^9 s
  299. BEQ PPU_NUM_WRITE
    8 O' ~# p, d) V3 w5 g
  300. INC STAGE_TEMP    ;加关
    ( X) P& G3 V1 I% T
  301. JSR MUSIC    ;按键音效
    - {! ?: d5 h3 }
  302. PPU_NUM_WRITE:    ;关卡数字写入地址
    5 i8 f% n1 m" A
  303. LDA #PPU_ADDR_H# o3 m" U* \7 @) J! R4 z
  304. STA $2006    ;设置PPU数字写入高位地址
    . V# A. }* n$ z; o$ o
  305. LDA #PPU_ADDR_L
      ~" p# e& |: d, f* q, U5 h( Z
  306. CLC& J" g9 u6 \9 O/ q  V& M- M" }& B- [
  307. ADC #NUMBER_A# G; y# r; L& O4 X
  308. STA $2006    ;设置PPU字符写入低位地址
    2 @; x: t: M8 z+ _0 n* I
  309. LDA STAGE_TEMP
    8 P" Z1 ]5 |: w6 H
  310. TAX
    ) v0 G, h& n% w* G2 [
  311. LDA STAGE_D1,X    ;写入数字
    3 j0 O$ q& p+ |* l  c. B5 M* a
  312. STA $2007) l3 s' }. L+ Z9 c! p9 j
  313. LDA #PPU_ADDR_H9 u) ]2 j5 G0 A4 E+ R2 s3 z& D8 N+ b
  314. STA $2006    ;设置PPU数字写入高位地址# M' w8 T9 i0 p+ M7 z4 y0 H3 I0 Q
  315. LDA #PPU_ADDR_L
    * u+ k! t" f) p" a2 n4 J# `
  316. CLC* F& ]- _9 P( L# w. H6 d- L! G/ {
  317. ADC #NUMBER_B2 D' d% }& H4 z* B  g
  318. STA $2006    ;设置PPU字符写入低位地址
    # {7 U8 f/ \2 {5 p% A  |
  319. LDA STAGE_TEMP
    % [3 q8 P1 F4 i
  320. TAX$ ]: S, K( @& |0 x' k% \
  321. LDA STAGE_D2,X    ;写入数字5 J  e; L0 ]' K1 p. g# u/ E
  322. STA $2007) q0 V4 J& w2 W; i
  323. STAHE_WRITE:/ s0 s3 [7 _$ Z  _
  324. LDA STAGE_TEMP
    4 z  `2 l- C. V  k
  325. STA $2D   ;初始关卡写入
    * ]% x8 O3 I" Z( A
  326. PPU_RTS:    ;恢复数据2 I2 |4 A' I  l' @, [5 N- M& {
  327. PLA2 y$ P- {1 C  }& e5 J1 ?
  328. TAY
    8 P+ @% g% X% z+ F; Z
  329. PLA
    & p+ S4 U; ]9 W" H6 `
  330. TAX, I. v7 p' w2 u& p5 Y
  331. PLA
    % w" i! x" N( d% c' t
  332. RTS9 ~/ Q0 v' s0 u! T6 j' W

  333. , x; y1 p4 |! v, U5 ?7 I% W( B* M
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据! P, K# D* @" X/ W1 v; {; Z5 ]) P
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END& }3 Q) f5 ]4 N. r

  336. 9 ~9 |& Z, E) z4 B- \8 Q
  337. STAGE_D1:   ;关卡数字
    5 J, A0 C: S  m- {5 s; b# V/ l
  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_87 }0 H1 T$ p* ~) V! B( I; A
  339. , O: ^# T4 f! r8 |/ x8 ~+ e5 \
  340. STAGE_D2:   ;场景数字/ K) D) F7 o6 z
  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
    . u  j6 N( O2 M8 P9 \
  342. 7 @0 p- z5 k! M- P2 L
  343. ) d& z. U3 L+ P9 \3 e( e9 \
  344. MUSIC:    ;按键音效) m* u4 g# H' P0 s
  345. LDA #$3B    ;音乐号% S2 F' n# l. P3 R  b
  346. JSR $919E    ;系统音乐调用
    ; G' s$ n- M, @# l: K, b) ^
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;
3 J9 X/ {& y/ k( s7 }* w    5.生命加满:   暂停后,按下键切换;$ p* G# X8 {, \" }- F
    6.血量锁满:   暂停后,按右键切换;9 O3 Q. ?+ ?* x4 Z# _' b

  N, o/ M* x* z7 ~8 h* z9 X- h8 I4 \0 ]% }4 T, d7 N

2 z, ~; R# }7 N& w8 d- [2 B* X. Z7 g$ L- S* X3 Y/ H! ]

, H, \% C/ h& F  `! kFlameCyclone.ys168.com) |+ F- b& V# {
www.nesbbs.com
2 o) Q/ a8 A+ l& A  z0 K9 h/ p; [8 e
游客,如果您要查看本帖隐藏内容请回复
1 f1 Z- s+ c# I- c# s! |4 ]- \

本帖子中包含更多资源

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

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

签到天数: 2631 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1532 天

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

签到天数: 3217 天

[LV.Master]伴坛终老

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

签到天数: 2334 天

[LV.Master]伴坛终老

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

签到天数: 2099 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!9 @6 X, B+ l& t4 p  L- c0 x7 X' G

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1739 天

[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-10-18 19:46 , Processed in 1.078125 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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