EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑
1 g7 y, l3 c; E% w6 ?; Z3 S: O" {; c: R; Z! }7 c
[FC][忍者神龟3][END选关]
7 x- {3 Y$ j4 p! u
  x+ J, f8 d3 U" H" w时间:2017.3.30  O8 w* U3 ~$ e" J  @; L8 v
作者:FlameCyclone. T" |, _6 e; q3 z. y( \7 z
内容:; w# |1 d- j" D5 P. [. U. n3 ~# J4 D
    1.关卡选择:   标题时,左或B减,右或A加;) ~8 \5 r; V8 ^3 R/ l# ?
    2.全屏击杀:   暂停后,按A键切换;
' ?4 W0 p- q, j4 G6 C    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0% N4 A0 ^8 w9 l( I  I1 n
  2. ora_data:
    , u. t' H! \% N  `* g
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10; ~* z. A6 ]: e$ x6 ^* _% K; g
  4. and_data:- q; T7 H! P, |2 @( t( D5 T. B
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF4 ]* j# d+ M6 [' Y
  6. . K( [2 L+ X, Y' v  S. L- [
  7. button = $F8- r6 J0 O2 a. s9 S% F3 U" o
  8. flag = $6000, X* Y; P8 D4 ^  B% x5 A
  9. pause = $00455 ]" c& w% U1 e
  10. 7 c3 ]6 m, q5 \3 P: [
  11. ) c7 @4 y' y' g2 h: n' H9 s* h5 @
  12. .ORG $F90D
    / L6 ~9 T! X5 T7 Z1 V- e
  13. JSR $FEC0  E5 [7 {. d2 _4 _7 N

  14. % z# O! G# v. k( M2 m
  15. .ORG $FEC0
    7 A. r1 \6 v: i9 r: n( t( K. c
  16. STA $54,X% y5 _0 n# x: z- v
  17. STY $FA,X
    2 A. x* x4 ]$ W* H1 C
  18. PHA3 b: \; t  K& z6 _* {
  19. TXA
    , L# M( M1 ?8 C1 @. x7 G
  20. PHA
    . v9 E, Z8 F! s2 E8 c9 y& c
  21. TYA
    9 z5 Q. e) S  K, p  e# V- ~
  22. PHA
    9 m- g% P+ T8 F2 Y  y
  23. JSR KEY_OPERATE# v' M4 ]5 h' v( I7 l
  24. JSR INV
    , V4 I2 q& s% d/ N, B, V3 t
  25. JSR LIFE
    ( H9 Q$ T7 o- O( @7 ]1 V( o' r
  26. JSR BLOOD, J$ \. X# T2 ^0 w
  27. PLA
    4 K) G- j) p# U6 r; J) J
  28. TAY
    & d3 H7 s3 b+ a; U3 N
  29. PLA
    - Y+ p0 w: g! n; w4 x4 q
  30. TAX+ X1 B/ U( s! _) M1 ~+ c( t
  31. PLA- k- q6 d6 |* V3 F+ o( u( v+ B5 J
  32. RTS* T5 W: `! E, z2 _' j5 j
  33. KEY_OPERATE:! X% }# p5 q2 u0 `- c4 g/ I% A
  34. data_protect:
    ! }' P4 u! G. ]3 \$ E% v
  35. PHA
    $ b$ I" J7 s! q) h
  36. TXA
      o1 R7 @8 S4 p6 G$ V
  37. PHA
    $ }" C9 C: W! Z6 o
  38. TYA
    ' Q: F1 N( x6 M5 l) S3 D7 I- A
  39. PHA
      d" D! P4 H" j& d! Z9 E+ |

  40. 0 C0 G; Z: a9 {! c6 p
  41. FLAG_CMP:
    ; D" l3 ^0 c0 p8 ]2 W% ~+ c
  42. LDA $600F, y  T* P, P3 G8 a) K
  43. CMP #$7F    ;标志数据初始化条件判断2 R4 y, |8 s/ q* C0 p
  44. BEQ pause_cmp8 n% Q6 L' ^  P. L* j* Q
  45. LDA #$80
    ) Z% }$ @9 M5 ^
  46. STA $A001    ;6000-7FFF写入启用$ F. [& u0 H( N# S! B" d
  47. LDA #$00
    6 b/ \  w  W) O5 P5 n2 M. n! ]% Y! v" q
  48. STA $6000    ;数据初始化0 H- s5 E; m5 }7 N0 |5 \
  49. STA $6001    ;数据初始化
    + T6 f" H* n8 e* W/ h- n0 Y
  50. LDA #$7F
    1 o2 X  r( {4 \- \- \
  51. STA $600F
    5 ?7 d2 w2 A) ?1 x0 d$ j& `
  52. pause_cmp:
    ' h8 m, U: A$ O7 s' m- X! B3 ?
  53. LDA pause9 j- n4 l1 c, g$ D- d
  54. CMP #$01
    ) o5 f5 ~& d/ O* @4 v8 |
  55. BEQ button_press- v9 g# H% o1 F: x% G) m) L
  56. PLA+ R7 z# m  y0 S& a  {
  57. TAY/ G  \1 A5 m  M; q  s; F* M3 m
  58. PLA% M8 V5 S. A0 U( f6 O. |& p
  59. TAX* M; v, k& k* \
  60. PLA
    / l6 p5 f9 t% v
  61. RTS
    9 I7 w5 A) |  c, W7 v- }
  62. . t/ |* c! h4 t/ l: a# A
  63. button_press:
    / u; P7 [$ i# _' t
  64. ini_Y:
    9 {$ j. t; I7 F/ `' v
  65. LDY #$00% T  Y5 s/ h% G5 t4 ~1 u
  66. button_cmp:
    1 R7 n  W4 D( Q4 P) h: k
  67. LDA button,X9 ~- e% p8 i; C- a6 ?* H  o% f
  68. CMP ora_data,Y
    0 {( z. H* x$ f7 M1 Z( \7 ]% i
  69. BNE count_Y_cmp1 G# B- ~& ]' i
  70. flag_cmp:
    & d1 r; y* r9 x0 `, z# }
  71. LDA flag,X. Q$ E5 r- K% }0 A
  72. AND ora_data,Y
    1 i: _  _) s/ n1 ~9 k8 @
  73. BNE flag_and% Q8 h/ `$ C+ q: R. [
  74. flag_ora:
    % X8 M, |9 G2 @- |
  75. LDA flag,X" V  P& E( T2 S! K! w8 X, J
  76. ORA ora_data,Y6 x0 L; J$ a) U( e% [: b% w
  77. STA flag,X
    ( z  c6 x! T, H+ k6 K! \& z" c
  78. BNE count_Y_cmp
    ' r8 O$ y- D3 M; d* d
  79. flag_and:
    ! W: w' I# z  p+ w/ o: G' ?5 }
  80. LDA flag,X, |  q* V$ r* L& ~( E; w
  81. AND and_data,Y6 }! x$ B1 F" k% E, T: h0 _
  82. STA flag,X
    % L( Y1 O2 M8 ^% ]- ?
  83. count_Y_cmp:
    & r* [2 t9 N+ {& D' [
  84. INY
    ; M2 }- f: r- D1 `+ w" b
  85. CPY #$087 l" Z3 G0 Y+ I: j1 e; }* _3 U0 J
  86. BCC button_cmp
    + v: F' D/ Y6 _6 c) H5 }) V4 r

  87. & h  R3 l+ U) C% d  x+ t% E
  88. data_extract:
    ( @, x' d5 f  ?) l- G# m
  89. PLA/ w. E. d/ T0 j& h' {  O. M
  90. TAY8 v% k- D: s  [+ @
  91. PLA
    . r: o3 H  R: x6 F  q9 \
  92. TAX
    8 Z) {# @5 I6 h0 p
  93. PLA
    4 X/ p, F6 M6 x# n6 D3 t

  94. ) y2 @5 l0 |, e4 e  {
  95. return:
    , K2 ]/ J# S" o6 _& d0 w3 X& m
  96. RTS, `) P+ ]% Z$ T* W2 a  G+ V( `# C

  97. ; K* S0 `, K( p6 L1 Y6 v/ z
  98. + @4 U8 G2 j$ v$ V4 S
  99. INV:    ;无敌
    , S$ ]# h; O" e9 H: A' S9 q! v
  100. LDA $6000,X2 b& F: h( T3 `+ j- L
  101. AND #$08
    ! a9 b6 t1 S" E5 Z
  102. BEQ INV_RTS8 O; t. K7 s- Y# m
  103. LDA #$05/ |: W( A, L* o' _& M
  104. STA $04FF,X4 y# C5 ?" S5 [+ o
  105. INV_RTS:
    / ~8 B9 S% o9 V% L9 b2 z/ m
  106. RTS
    % s. V1 R, C' P% g/ p6 B" @

  107.   F. D0 d; u$ F/ P, y1 Y6 p$ v; e9 Z
  108. * }* [9 h  U, T8 A) \/ P/ H  u
  109. LIFE:    ;生命. y) }9 @" W1 X4 C! z* ~, j& q; D
  110. LDA $6000,X" _! [- E8 I+ D2 w: \) Q
  111. AND #$04# B8 ^  F" P$ `: M/ w+ p5 I
  112. BEQ LIFE_RTS5 ]' y- h8 p8 r* T$ [
  113. LDA #$09
    7 ?- K# G; N' f9 p! p
  114. STA $6A,X  u/ n9 Q3 q+ A0 B
  115. LIFE_RTS:7 x$ M. i8 v1 c  e/ v  D
  116. RTS: X/ L3 L) |9 [

  117. 4 [: j6 m6 T( }9 ?4 y

  118. & g) |4 y6 W. N+ @/ {( U
  119. BLOOD:    ;血量
    ( L" z" F. T- d+ x# s+ x; j2 l% ]
  120. LDA $6000,X' J7 |. F( F2 p* B
  121. AND #$01
    ! R1 d4 @& L/ j; i
  122. BEQ BLOOD_RTS
    & T+ q* }) t1 i7 S. @( u
  123. LDA #$7F7 J& I0 W# @. e, R
  124. STA $04F1,X
    2 O% w* E, ^8 ^. D8 A, ?' N% l: w
  125. BLOOD_RTS:4 g- F8 @& L; U* L
  126. RTS5 ^0 c# o; d( Z! \2 t- _
  127. , q5 G; ^1 b  V7 c( N- T

  128. 2 C) S2 t9 g; g. N! p/ A
  129. 2 d! }: s; B5 w. p, V' k, i4 s5 L. \

  130. 1 @% u+ {# V: x0 Z' h. ?
  131. .ORG $D29F& @& V1 \0 L: x1 @9 ~  u& q0 W
  132. JSR $FF80
    % t3 s! m9 B, `: }& q

  133. 7 F1 A/ O1 t: [2 \2 `7 y* b, B  R
  134. .ORG $FF809 }; m9 o& ^& `
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀
    ! Y3 @1 T' F/ G
  136. STA $06287 |# ?0 p- X4 |2 r5 |  a
  137. PHA
    9 o& O! v) o; q
  138. LDA $6000
    % g, \4 {2 r( d; x/ B9 j
  139. AND #$40
    $ k# A1 v6 {: [. n# T4 \
  140. BEQ ADDRFF8E
    6 n6 A2 i3 V/ w6 A6 }
  141. PLA
    0 |7 E7 S; z) S8 _$ }$ J
  142. CLC   ;敌方死亡状态判定/ G/ s! e2 J4 {& L, e
  143. RTS
    % z& i7 e3 e2 u8 K5 V
  144. ADDRFF8E:
    + H6 Q  E& \* N
  145. PLA$ T1 h0 T# p9 k- l5 a8 M
  146. RTS. X+ H1 L1 n0 j! e" z. H: ^6 U
  147. " z$ ]5 |# j+ ?; F9 ]0 t: L% r

  148. 1 f2 e  {" B& z0 R& ?0 K9 b9 K
  149. .ORG $D151
    ' J$ |& _+ H' W8 D0 B( k
  150. JMP $FFA0# K6 A: U. s( f8 p
  151. 3 ^8 T3 h0 b1 I* ^7 m% o, T
  152. .ORG $FFA0
    2 M: |7 L1 I* l  M# h) z
  153. KILL_BY_ONE:    ;杂兵一击必杀2 D" e3 q, [& ?, j# [, J
  154. STA $0621,X
    * `/ D' G4 b1 k9 J$ B
  155. LDA $6000
    9 w1 [$ D' W  q. s) t. e) Y
  156. AND #$40
    ( n% \  ~$ L$ T# t" A8 C
  157. BEQ ADDRFFAD) V: U6 j1 g5 v) c( P8 j
  158. JMP $D19A   ;敌方死亡程序跳转
      J$ R2 d" r7 n1 r# \$ F8 h! o
  159. ADDRFFAD:7 V& q2 {& G& f7 `' ?! f! F
  160. JMP $D1543 t- ~5 |2 Y0 ~( O1 d9 E( m! R% P
  161. ( D7 P# _  U1 Z  _& U
  162. : L/ y9 w9 w$ I' n7 Z. w2 b  o
  163. .ORG $A7F6
    $ Z# @3 a" o' L  q0 M; B7 J
  164. JSR $FFB0
    9 r7 x3 K" m! }  Y2 x- \

  165. & ~; L- M* N. N" f4 N, p2 u# C+ J( V
  166. .ORG $FFB0    ;全屏攻击
    / S9 T+ G, b* P* k2 [) b
  167. PHA
    ; ^* y9 b3 d9 A; Y& ]" v3 C( V' X
  168. LDA $6000! G6 R/ K5 {6 i3 S2 L2 y
  169. AND #$80
    & Q# D  v9 Q6 u+ x, g2 ?+ Z- F
  170. BNE ADDRFFBD
    & {9 \6 F0 W5 Y( U
  171. PLA& t1 o, k% [: D# B- }0 c
  172. LDA $0015; u- v' U0 q; n, u& I! B
  173. SEC
    / e  @' W9 l, q) Y
  174. RTS0 J% c; g/ n) S/ C
  175. ADDRFFBD:" K# i. e9 P0 J" B
  176. PLA- F9 V1 \7 k# x1 S
  177. JMP $A826
    + j, l! Q/ Z+ s; \

  178. 5 N: }3 \" k. ?+ E: c7 K

  179. 9 j# U5 `  z  T7 H1 F" k/ v

  180. , C8 T5 h" K* A" ]/ @0 f7 u9 i
  181. .ORG $AA6A
    5 J! ]5 p$ R; D" X5 [: X
  182. JMP $FFD0
      b3 ~: m  t" Y% W3 B* V+ S
  183. , h. ]1 J0 b/ v6 L6 R
  184. .ORG $FFD0    ;敌兵动作忽略$ b0 P& }" Z5 m6 B
  185. PHA
    ) n# u) y3 e5 b4 ]5 v, D
  186. LDA $60001 H; U. _- K9 ^! R  y1 Q  f5 X1 {
  187. AND #$80* t3 R+ O1 ]4 y( w' N3 q# ?7 y
  188. BEQ ADDRFFDC
    4 G0 C; \) K" X$ r8 I
  189. PLA5 ^7 v; X9 k, q: w# W% s9 S
  190. JMP $AA72% C* S- f. L( G  h
  191. ADDRFFDC:
    # c) i+ V- Y) K0 \/ K
  192. PLA# l0 U4 P3 O, E$ r5 Q: R4 g- R
  193. LDA $0629,X
    ! \+ o' r* T% A
  194. JMP $AA6D; [+ T$ R# K  n1 D! H9 e9 `+ {  Z3 ?

  195. 9 u- a# {% o' F% G: K
  196. ;[FC][忍者神龟3代标题选关程序]$ O; s; p7 T! [$ {- o
  197. ;作者:FlameCyclone 2017.4.17 u7 Z1 q& |6 \8 U' [# f$ J4 ?0 Q
  198. ) \8 J2 w8 H& v; l: ~
  199. 3 E' n" V0 ]/ F
  200. ;配置数据% g4 `2 [+ _, J% A, u1 a3 L0 {
  201. KEY_ADDR = $F8    ;按键地址" j/ [+ z% f) ~% s
  202. STAGE_TEMP = $6010    ;关卡临时地址& _- _$ A. ~. C" ]& m
  203. STAGE_MAX = $0E    ;最大关卡数
    : j. N4 B- R5 A
  204. TITLE_A = $20    ;标题条件A2 f2 a2 s. v" z2 n
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    & X3 S8 g( {& R. `) |9 z0 t8 s$ w
  206. TITLE_B = $21    ;标题条件B7 [5 n# q8 T5 E. G& f9 j
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定! o+ w, A2 P7 P0 _4 b
  208. PPU_END = $FF    ;PPU结束符
    5 w- L; G& U$ t8 L' W1 W4 b/ o
  209. TIME_LAY = $4A    ;标题显示延时地址* [8 R% k) p" K' H$ I
  210. BUTTON_DEC = $42    ;关卡减少按键3 P4 ?4 K$ W& X% X0 Q
  211. BUTTON_INC = $81    ;关卡增加按键
    0 G* z; [5 \' i8 J# g( l
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量
    ' [2 c0 D/ b! w
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    - R) |& c% ~- p( e# v3 v
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位+ J" Y8 n" `" N' O
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位
    9 H0 t4 Z' ~# T; c/ I
  216. CHAR_S = $A2    ;字符'S'
    ' ?" T. G1 Z: m0 a: ?* t0 @
  217. CHAR_T = $A3    ;字符'T'
    - c' K: Q8 L$ c) D  Q
  218. CHAR_A = $90    ;字符'A'# |. a. ~* v' [- \2 L! K1 u
  219. CHAR_G = $96    ;字符'G'6 x- X7 U4 H( K" U; m. V
  220. CHAR_E = $94    ;字符'E'3 F5 q2 _; u# K+ E: J5 |2 W
  221. CHAR_SPA = $00    ;字符空格4 ]5 v* ]' C! p) X4 G5 s2 C
  222. CHAR_LIN = $AE    ;字符'-'
    / {( J+ k6 t4 N/ O$ A# z5 j1 Y. e
  223. CHAR_O = $9E    ;字符'o'# Z; @% o. |3 Y, o8 b+ L  X
  224. NUM_1 = $81    ;数字'1'
    6 w- e7 y4 N- j; b0 {) i
  225. NUM_2 = $82    ;数字'2'
      V' ~3 }6 M3 Z( I! c
  226. NUM_3 = $83    ;数字'3'' y* G6 S& y6 ?# Q0 }
  227. NUM_4 = $84    ;数字'4'
    9 I$ ^* b* M- w
  228. NUM_5 = $85    ;数字'5'8 ?' \) j8 l8 J
  229. NUM_6 = $86    ;数字'6': s8 f4 ]: u: `+ s
  230. NUM_7 = $87    ;数字'7'
    # C; [/ L9 h% V$ r) e
  231. NUM_8 = $88    ;数字'8'1 z' L, B4 G& i" g# ?
  232. NUM_9 = $89    ;数字'9'! W- L5 V4 o( B/ ?  K) T. |
  233. NUM_0 = $80    ;数字'0'
    1 F' ^4 r0 }& L+ K
  234. # P6 C  [: Q0 w$ P3 n' M
  235. .ORG $F82A
    8 o/ @% V2 G+ D- }
  236. JSR $E7004 k) R6 f$ b: v3 j- D! |

  237. ) J+ h) n- ^# I
  238. ( y. I! f- D8 ?" u
  239. .ORG $E700
    4 ^% U+ T5 x/ o8 J( C7 E
  240.   
    . U4 P% Z8 U1 S/ v* T3 x
  241. STY $4014    ;补上覆盖的精灵写入指令9 E+ A& f9 M" ]2 {, E% ~/ ]/ h
  242. PROTECT_DATA:    ;数据保护
    ; b# H% O) B; w. F3 b
  243. PHA    ;数据保护开始
      H# d6 K) j! r  G1 \; {; V
  244. TXA, X1 Q( v; C0 g4 f
  245. PHA
    7 U1 ]; h9 z: X3 I7 S
  246. TYA1 g+ U# J: q+ e. R# [
  247. PHA    ;数据保护结束. I1 D( `; w9 _( A# m
  248. LDA TITLE_A
    7 t5 o8 \- L1 D
  249. CMP #TITLE_A_ON    ;比较是否为标题画面
    ( q: t5 l# t5 N; x- P1 o( D
  250. BNE RET
    / ?; p0 c7 ]* n$ F, \) Y- s* |
  251. LDA TITLE_B
    ! a4 R) Z: ~3 ^$ r4 V1 }0 r
  252. CMP #TITLE_B_ON    ;比较是否为标题画面6 @& A8 z* g6 r5 g7 `  |, P
  253. BEQ PPU_STAGE" \' s" j' l+ S( Z. Y4 ]# W
  254. RET:    ;恢复数据+ n& `- j. e" M" B9 c3 r! O
  255. PLA    ;恢复数据开始
    1 J2 |: e) i1 E& B8 o
  256. TAY
    3 d$ V$ f# J# _/ g7 a, l9 i) @2 c) F
  257. PLA
    ; d1 i/ I( r: }- I
  258. TAX0 k0 n( S: I. j" C  h, B# u
  259. PLA    ;恢复数据结束8 ?/ J# v2 R4 {; w% w3 |
  260. RTS    ;返回
      x( I, B; H* R0 f7 B
  261. PPU_STAGE:    ;字符STAGE写入程序
    " |$ x5 n, Q# G9 C# `1 g/ M& k
  262. LDA #PPU_ADDR_H
    : V8 s" B5 \' F$ }
  263. STA $2006    ;设置PPU字符写入高位地址
    $ [; C8 m) x  |5 {6 u, B
  264. LDA #PPU_ADDR_L- {5 F" I- k3 y! o/ k1 Y' O
  265. STA $2006    ;设置PPU字符写入低位地址% Z" d7 Z6 l, b
  266. LDX #$00
    6 @4 K7 `4 _( P9 @1 N5 I
  267. PPU_STAGE_WROTE:    ;写入STAGE字模/ J4 o2 a6 G5 I# f6 k) C' L
  268. LDA STAGE_DATA,X' O9 D. W: e- y+ m8 M- J
  269. CMP #PPU_END    ;判断是否写入结束1 x) F) J# C+ Z5 V. G" `$ t# e
  270. BEQ STAGE_CMP
    0 ~$ [, }" a+ a) j, W. T
  271. STA $2007, N! |* ~4 a7 w6 {& l/ L
  272. INX
    * C& H9 I/ ?6 J! k
  273. BCC PPU_STAGE_WROTE
    3 Z8 k& t- w( D2 L
  274. STAGE_CMP:    ;选关操作
    : J  l. E: N: x3 H
  275. LDA STAGE_TEMP
    9 @" t4 i; Y( a
  276. CMP #$FF    ;关卡数据初始化条件判断
    : H+ `* \! |8 c3 R' e& {
  277. BNE KEY_B/ H) o' D+ R2 c( i
  278. LDA #$005 q4 \7 f# ?/ K5 }9 j
  279. STA STAGE_TEMP    ;关卡数据初始化+ v4 Q8 G! k2 n
  280. KEY_B:    ;关卡减少
    2 ]2 ~+ o  `, A! D/ {/ y' ?1 j
  281. LDA KEY_ADDR6 r% i. [, P* d6 V+ h5 D- d% q/ X
  282. AND #BUTTON_DEC    ;按键B或左减关
    3 c0 z" X# a3 Q9 U/ t
  283. BEQ KEY_A; ~/ v4 ]0 U$ u! B
  284. LDA #$FF
    1 e7 ?1 T* J6 P; g
  285. STA TIME_LAY    ;重设标题延时8 {; z- H% t6 r) K- h3 a1 Z& D3 K
  286. LDA STAGE_TEMP
    ( u* B7 V* ^: }, M2 J, x4 k( v3 [
  287. CMP #$00    ;关卡比较
    / F' ?' [+ D5 L6 J( R7 i' F( i
  288. BEQ KEY_A
    % y0 n( I- A* _8 z
  289. DEC STAGE_TEMP   ;减关
    8 e7 ?$ Y: k; j* O. ^0 s8 I* Y
  290. JSR MUSIC    ;按键音效
    $ e) x/ \. b# ^$ V, s; S
  291. KEY_A:    ;关卡增加
    / ]8 r0 j. r* R+ E7 L- b
  292. LDA KEY_ADDR9 [# u1 _" a6 F. J9 {) F1 c# ]
  293. AND #BUTTON_INC    ;按键A或右加关
    + J1 W1 L3 |- K3 G
  294. BEQ PPU_NUM_WRITE& {8 a! m; J3 v$ ~7 {9 p
  295. LDA #$FF+ b2 |( p( {( f9 G
  296. STA TIME_LAY    ;重设标题延时
    2 u' }) A( q- t9 x0 w
  297. LDA STAGE_TEMP4 U( X8 t( v" F, A* S  e, E6 o, ^( _
  298. CMP #STAGE_MAX    ;关卡比较
    ; E% ]% c- f" {( X
  299. BEQ PPU_NUM_WRITE0 P' T- q/ `" P; ~9 X4 G# M
  300. INC STAGE_TEMP    ;加关
    * |( ?8 J5 ]# f# h4 C
  301. JSR MUSIC    ;按键音效
    # X& ~; k' g' f8 N
  302. PPU_NUM_WRITE:    ;关卡数字写入地址. Q' x3 T4 S7 Z" K5 r
  303. LDA #PPU_ADDR_H5 K9 j' v* `4 k& {! D9 [
  304. STA $2006    ;设置PPU数字写入高位地址/ s5 B! ^! H" n0 s6 D
  305. LDA #PPU_ADDR_L
    ' q6 e. `; _0 E7 c. `
  306. CLC* H& q( i' a+ _1 ?/ l4 t
  307. ADC #NUMBER_A
    % I5 m% _+ r& w3 P
  308. STA $2006    ;设置PPU字符写入低位地址
    & Z. C, ~3 P7 w  R
  309. LDA STAGE_TEMP( E  c* D. x- H% \! ~
  310. TAX+ @* \( f4 ^/ J1 \( |
  311. LDA STAGE_D1,X    ;写入数字
    : Y7 K0 `3 A2 v7 o0 A5 Z( s7 D
  312. STA $20075 _  P) J' m; g0 i: ?
  313. LDA #PPU_ADDR_H
    ; E* Y/ j% |! S. u3 F; P8 l
  314. STA $2006    ;设置PPU数字写入高位地址9 J2 a5 b3 F# Q4 W1 y8 X
  315. LDA #PPU_ADDR_L
    - q* c& e0 x* S! P# Q: F4 |
  316. CLC8 o% I! X6 }, A$ f: E' ]
  317. ADC #NUMBER_B
    : T# @( {% d) `9 Y* b
  318. STA $2006    ;设置PPU字符写入低位地址
    # g  {4 h3 ?3 ~8 K& F/ c; Y
  319. LDA STAGE_TEMP
    " C4 V  |. _2 z+ C  J" ]! u: U
  320. TAX
    " W5 R8 n9 o$ \( E& r
  321. LDA STAGE_D2,X    ;写入数字
    & d6 u3 e, c# _* Z
  322. STA $2007* h2 z% q8 v3 J2 ?  V; {+ ]! I, S
  323. STAHE_WRITE:
    $ R7 g% G! Q; M
  324. LDA STAGE_TEMP. Y  y0 C3 [! W! F# T" }
  325. STA $2D   ;初始关卡写入& p# J1 V: D$ N* G
  326. PPU_RTS:    ;恢复数据
    , D9 h% f+ {7 v  H  ^, S: D( a+ E
  327. PLA
    , ~5 P0 f, M& Q# u
  328. TAY& f6 a4 G. n/ _' T3 [
  329. PLA1 P+ M+ [! ~. i$ n- o1 Q8 m2 y" h
  330. TAX
    ) O$ a: Q( w. r' u( Q5 g6 V5 q: o
  331. PLA
    ( v" c, V3 t1 z. m; o. T) r
  332. RTS$ P( ^+ v5 D. N0 W6 v
  333. , s$ `2 ~( l' a; r. o  C4 F3 |
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据
    4 `& q4 ^" q' k' G" U' b0 V/ D
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END
    ! Y. i: i2 d! P& a0 \

  336. & K: V- v% x% o; P+ x2 ^. ?( a! C
  337. STAGE_D1:   ;关卡数字
    + c0 V: U  h; Y: v+ S. z5 M
  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
      u7 n. p( I* l
  339. - r2 J# b( w) U
  340. STAGE_D2:   ;场景数字6 A2 X, w8 ~- h) z) ^+ ^: `. O+ M! 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_3
    + y, }" W- w$ y

  342. 1 c, u5 S: E' q8 c! A
  343. , f* |4 H1 F; Q: H
  344. MUSIC:    ;按键音效9 s' z6 x- K3 R! u, x: l
  345. LDA #$3B    ;音乐号7 N3 O  C/ n; @
  346. JSR $919E    ;系统音乐调用: {7 @2 J" [) p0 U
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;0 T9 o) C4 Z/ y2 j4 p1 T
    5.生命加满:   暂停后,按下键切换;. j) i/ X% e2 z5 i8 W9 H, O4 I, N" |# t
    6.血量锁满:   暂停后,按右键切换;: S7 a& k' ^8 d6 c# i1 y5 l0 h  A5 o
8 E7 U' o+ `/ q& @

2 |+ z: e+ x0 }* D
! }) E+ }, ^! S# w: t+ r( [# ~: o- r9 b0 a" w. g

7 ~( y$ {) @1 p9 aFlameCyclone.ys168.com
& a# a  j' X  u, f/ hwww.nesbbs.com. Z2 H0 X( }. f9 _
游客,如果您要查看本帖隐藏内容请回复
0 X0 j& {* p* |4 M3 z9 l9 Q

本帖子中包含更多资源

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

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

签到天数: 2716 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1611 天

[LV.Master]伴坛终老

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

该用户从未签到

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

签到天数: 1811 天

[LV.Master]伴坛终老

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

签到天数: 3301 天

[LV.Master]伴坛终老

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

签到天数: 2420 天

[LV.Master]伴坛终老

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

签到天数: 2186 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!
7 U1 g. S" V" u8 X% v

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1810 天

[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, 2026-1-15 04:05 , Processed in 1.087891 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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