EMU618社区

 找回密码
 立即注册
搜索
查看: 1857|回复: 53

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 4 T8 h: v- s* Y* K! n
+ {* G. G. d2 r) {5 u
[FC][忍者神龟3][END选关]' s3 E# t; N7 }& z8 w6 O( C
  e$ f3 P8 _9 Y, W% _/ Y, N
时间:2017.3.30
2 s1 O( g5 W) ~0 |) ?! l. t9 p/ L作者:FlameCyclone& a) c" {7 u% n9 P3 A5 K
内容:5 }$ Q! z5 `" Y- P
    1.关卡选择:   标题时,左或B减,右或A加;$ v4 v2 |3 u! Y8 r% k
    2.全屏击杀:   暂停后,按A键切换;
+ T, _7 t! g5 j  ?" e; g9 e- D    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0
    9 p: D* L8 B8 b' `0 c2 g
  2. ora_data:
    - b6 W- v& S0 I* |/ A
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
    7 ?2 K; o# k/ W! D
  4. and_data:
    8 V0 D0 M9 A/ z! h4 x
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF/ f# _: ~  l- `. @* K; |- r+ U+ X

  6. - z  x) M6 \/ z& c6 L
  7. button = $F8
    : i7 w! P9 {7 ^/ D  R' a/ I% j9 ]2 r
  8. flag = $6000; U2 F3 W+ |" P/ w6 \
  9. pause = $0045
    ) E" ?$ m- P; b/ @4 i- x, x5 T

  10. 1 y1 e# W8 B! B, G  W( l0 u: L
  11. 4 V. G) j9 e2 n1 ?( K6 N
  12. .ORG $F90D: v. j3 M  g& Z' J0 ~* v
  13. JSR $FEC0
    1 E' ]6 e) Q( B
  14. + o( N% l8 z$ U( _! R% @9 c$ w
  15. .ORG $FEC0  z4 J: @' q' o9 ?/ i4 `
  16. STA $54,X
    3 [3 O  g' X3 J& o% `5 q8 D
  17. STY $FA,X
    ) ~- I) o! Z' a5 U3 N- l
  18. PHA4 [; j. {: t% ^$ ~* d
  19. TXA3 @; K. B& B; W4 v
  20. PHA  F0 c- _9 |3 |" {
  21. TYA
    % |* Q' V6 g' N. ]
  22. PHA
    0 }9 j! n6 }% X0 A2 m! w/ ]
  23. JSR KEY_OPERATE- u. J5 ]6 r5 }& @  l. }1 k3 K
  24. JSR INV
    1 |# F7 V/ s1 G$ j
  25. JSR LIFE
    : I9 n' i# U; {. j" n2 e/ G8 i
  26. JSR BLOOD
    " P/ ]3 P, ^4 _) g4 B% n) z
  27. PLA
    # a/ C# a' a# p
  28. TAY
    / z; e; g5 T- @5 P% \  b/ O/ E1 Y
  29. PLA
    & r/ y% o4 w5 _2 z) m
  30. TAX' ]5 v# o# S3 o& ?8 E. ~5 I
  31. PLA* @4 F/ s- {4 _5 e
  32. RTS
    1 _% g" e: p- r. I2 W8 f/ B
  33. KEY_OPERATE:
    , V8 |4 p; f4 ^5 H, N" l- i( i
  34. data_protect:! N8 ]  T: Z$ s. b1 r
  35. PHA
    / A1 T5 H1 Z) X7 w8 E2 J
  36. TXA
    / t2 m5 D" Y7 R! c
  37. PHA
    3 M- q( L( d) r" A; e; j9 X. X
  38. TYA" T% U/ A6 A) u# y
  39. PHA
    % N) P  F  P/ m! i! Z3 L& r. z6 E
  40. . l; M) K. H4 K
  41. FLAG_CMP:
    0 G1 f4 d+ O/ \+ g5 i0 [
  42. LDA $600F
    2 e5 |  g4 d& P8 `* H
  43. CMP #$7F    ;标志数据初始化条件判断5 M/ @5 K/ b' j; q0 g
  44. BEQ pause_cmp" Q$ A' O& f& b3 B% J
  45. LDA #$80+ H7 y, @. c/ W" m- g8 Z& o3 n
  46. STA $A001    ;6000-7FFF写入启用
    - E' H- O# D8 n% E6 c# r
  47. LDA #$00
    1 u0 Z; r* J; L' u
  48. STA $6000    ;数据初始化
    # v# W! f9 L) M+ K; J
  49. STA $6001    ;数据初始化/ p) z/ Z8 ]& S6 H
  50. LDA #$7F9 j( a$ D/ z6 N. z& i/ [7 r6 L
  51. STA $600F3 C# s% M, R1 ]% s0 V! ]
  52. pause_cmp:
    ) e4 [( k$ q, e6 W7 l
  53. LDA pause
    & T! H; H: n* m- X, x
  54. CMP #$01& u$ N' w+ q. Y& P* D
  55. BEQ button_press( ^; S  C& E- V+ v
  56. PLA. c. k3 ?# F) ?5 b% {3 l
  57. TAY+ j: ^8 `  O. K6 L8 i1 u0 R
  58. PLA, S$ Z, g' o( u( x5 I7 C) N! s4 m
  59. TAX8 p5 p9 `" A& v$ i+ w2 e- i' H: U6 H
  60. PLA
    / _8 U3 z) N. ^  U% }1 j
  61. RTS/ o: \7 \  P7 U' z) v
  62. : I8 G5 I: q; k  w$ s& s) f/ B4 t1 D
  63. button_press:1 U( H( f8 s1 Q
  64. ini_Y:# N9 x6 h: H# {4 G: w9 R
  65. LDY #$00
    4 e& Y! a$ I+ x6 H. W% L6 R
  66. button_cmp:* h0 Y2 s9 ^* f: Y7 \# `; c! {4 L
  67. LDA button,X/ Y" w% N. ?4 Y0 v# C
  68. CMP ora_data,Y
    8 d1 q1 v- A5 b
  69. BNE count_Y_cmp2 `3 T6 N5 m# z; N' z
  70. flag_cmp:- q$ U) E3 D8 a
  71. LDA flag,X+ V$ ^3 m) t( w6 Y% d. a$ e( n7 ?
  72. AND ora_data,Y
    7 @& g: L/ e! s
  73. BNE flag_and$ r: {' ]6 S6 g% U9 J& o6 S
  74. flag_ora:
    3 R3 {7 O) V9 G
  75. LDA flag,X
    ) ?; k6 l4 j6 W! x% D9 D! ?7 k
  76. ORA ora_data,Y( T" x3 L# y" J+ O- C- [
  77. STA flag,X
    & M/ J9 Q) x& O9 G$ `
  78. BNE count_Y_cmp
    4 n7 c& h. h: M& t5 T( X: o2 C( L% i
  79. flag_and:7 B& q0 e2 e- Z5 R
  80. LDA flag,X
    9 c4 C/ V$ n/ |! S/ {4 C
  81. AND and_data,Y* s- y& f* n* @7 h9 S7 |
  82. STA flag,X
    ; a7 x* A) t, v( a
  83. count_Y_cmp:
    % a/ W% b  e6 p$ N- p; d! j
  84. INY
    ) i& y8 t5 z% H
  85. CPY #$08) a+ t9 r' l2 O2 L7 J
  86. BCC button_cmp! \' l& L7 ^  r5 h# y
  87. ' W% m3 d" P" P2 C
  88. data_extract:
    3 `7 W4 ~4 v! K
  89. PLA
    1 F, W; j" T' P8 q" [/ v
  90. TAY! J2 v% p! m; v2 O- D
  91. PLA
    * \$ \/ O6 R- G0 D
  92. TAX9 O/ z: Y9 F$ }7 a5 S( o
  93. PLA" p4 M/ H% A' `, O4 P, O

  94. * L  S; x) ^: ?+ t$ ?
  95. return:
    , M$ I% ]- h; H' u
  96. RTS5 I! p4 k9 [1 O: j
  97. 5 ?. P+ Z% y* V& O. m0 W/ d

  98. 6 ]9 {& r! e; N$ Y( E
  99. INV:    ;无敌$ G$ ~; U" t# M/ W
  100. LDA $6000,X
    ) C1 |. e2 ]2 N* R3 m' }" h  V
  101. AND #$08
    " {" i/ p# `' a$ W  ]- g- h- U2 q3 ^
  102. BEQ INV_RTS) o1 Y# s  L$ q3 @8 w
  103. LDA #$05
    # j- z0 h; X4 O, B* M$ e
  104. STA $04FF,X& q1 a2 d4 ]( v9 f+ T
  105. INV_RTS:
    2 r% @% |* a( z( g" _; c
  106. RTS1 U5 B: v& `% ?9 c+ R; c3 P
  107. ; z$ A+ q9 [% K' @/ F

  108. ( F; p8 b( p5 S  ?3 ?  d8 Y
  109. LIFE:    ;生命5 ?7 A/ ^) M1 ~+ l" w3 o
  110. LDA $6000,X
    1 Y% y2 p. B8 u+ @+ b
  111. AND #$04/ e: U: E- M5 I) ^
  112. BEQ LIFE_RTS: G( Q4 ^; h) P) e1 C" b  U
  113. LDA #$09* c8 [7 `# |% f  X. n
  114. STA $6A,X% ~8 Z; c" e, d# P* o+ z9 p5 o
  115. LIFE_RTS:
    5 [+ x% s* C- q! ?  w' h
  116. RTS
    $ G3 |0 y" t3 ]

  117. 6 q3 c% o, j7 M, X! S

  118. 9 \$ E$ a7 u8 e0 Q& `& a( b3 z
  119. BLOOD:    ;血量
    # C0 _" i7 i3 r7 E1 |/ m
  120. LDA $6000,X% b! T% _, \# u
  121. AND #$01+ Z6 Z5 [$ d# L2 b' S+ \# W
  122. BEQ BLOOD_RTS
    ' x. i; a. y3 N" x9 C
  123. LDA #$7F/ e  {4 z8 R5 a% f4 R5 H
  124. STA $04F1,X; N1 o/ V1 ^) C5 K. X+ R6 I& b
  125. BLOOD_RTS:( [4 m: d" h0 g8 D7 S, W
  126. RTS
    2 X1 j' f+ E& }/ D- W8 F2 v

  127. / v* [' _' M2 e% g8 Z$ k  b
  128. , O4 h; G+ G3 H( p: l
  129. 0 j$ V  q7 G- d. P/ h: q" k, E
  130. / i3 W' w6 }! x& p% d
  131. .ORG $D29F
    0 t) c: i; [4 L& V1 j  e
  132. JSR $FF80
    1 L, e7 f1 A! t5 `* [; r
  133. 8 E. d9 \0 N; `' S
  134. .ORG $FF80
    ) g2 e' V$ E( h
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀2 o( n$ j7 b9 U  k8 _% f
  136. STA $0628
    1 y) ]6 i0 c" A, v1 C4 S
  137. PHA2 w9 T, C3 @9 U. J9 J7 \/ R
  138. LDA $6000; C( N! E( D" d  j9 k1 c3 ~
  139. AND #$40: i1 ]( }, L$ D5 ]) y- {7 L- G
  140. BEQ ADDRFF8E
    ; E; F/ ~5 G4 ~' l; \3 [+ w
  141. PLA
    ) t4 Q# s  L, e4 R" t% |! U
  142. CLC   ;敌方死亡状态判定2 o4 H6 k: X0 {8 x
  143. RTS
    + X9 P) L* B8 I5 J( u
  144. ADDRFF8E:
    $ O- U& N2 X: X& i- @0 @" `
  145. PLA
    6 w2 u* E, H; x6 ^$ H3 {. y0 N) V
  146. RTS
    : J+ h) T% [$ f. }) F, M# c
  147. / s3 k! J' X' p( s" a3 x
  148. , l( |0 R6 q2 @% x/ `
  149. .ORG $D1513 J# ^3 T* v4 s  |: Y4 |# ]
  150. JMP $FFA08 b9 Z/ G' w7 ?
  151. : e$ N, G* O+ i8 o# ^
  152. .ORG $FFA0' z- i/ e( n1 }
  153. KILL_BY_ONE:    ;杂兵一击必杀
    4 }* Z( C6 [# r. t, {
  154. STA $0621,X
    ; a" J, b5 o. {3 o% t; Q: X
  155. LDA $6000* \: t+ W2 D) }0 r5 v7 S
  156. AND #$40( p  r  J, @2 O! q$ S1 E% a# H# a$ U0 y
  157. BEQ ADDRFFAD
    5 v; f- m, L2 f, _
  158. JMP $D19A   ;敌方死亡程序跳转
    . _0 K$ M+ {& b
  159. ADDRFFAD:
    # i3 ~+ r/ ~0 Z& `# E6 U7 S7 t# ~
  160. JMP $D1548 W7 R9 |4 m  }8 v
  161. ( S5 R% p( j" ^5 d) I
  162. 6 W" [6 Q% _7 `6 e
  163. .ORG $A7F6
    ' H( U- @/ C: r0 L4 n  d) ~2 r, A
  164. JSR $FFB04 U' Z1 c* t7 _" g. b! A" E  u
  165. " K2 F' x* t+ \2 {7 i* W
  166. .ORG $FFB0    ;全屏攻击1 g/ i6 I! Y9 y' j6 `, G
  167. PHA
    + z9 @- d! k7 `+ f7 Y, I
  168. LDA $6000
    6 i/ r1 x6 ~5 I6 ^
  169. AND #$80
    2 {5 j5 Q0 P$ ^: F; P
  170. BNE ADDRFFBD
    4 Q/ {; D2 g1 R2 x; ^1 u
  171. PLA
    2 l) g; U  ~/ S4 Z# Z. q8 Q$ S  k
  172. LDA $00159 `% Z5 q% W' i9 x7 m3 W8 `9 i
  173. SEC# L+ G1 L# j3 i, Y7 v
  174. RTS
    # M0 i6 T# B% S8 G5 g1 M
  175. ADDRFFBD:3 I$ G+ C0 u6 H$ I5 ?
  176. PLA
    6 N9 b2 C! p6 F8 a" j' f
  177. JMP $A826, `& P3 h* ~; X0 [8 i8 e$ w
  178. ( h7 z) ^: ?% L1 R* A0 s! j: ]
  179. - W+ V3 d& \) A5 l5 Y! j5 }

  180. 9 H4 U8 n; I! i4 q- Y( A
  181. .ORG $AA6A6 ?: L0 R% n) N' r; ?
  182. JMP $FFD0. q  \; C0 \" {7 }

  183. ; B0 l3 y: U5 g8 {
  184. .ORG $FFD0    ;敌兵动作忽略& x: M9 l  b- ^. K- Q/ n
  185. PHA& h% D; R! i+ m& O, M" d! G
  186. LDA $6000
    2 E; _' K) X/ [3 e& H' ]' M
  187. AND #$80
    9 o( O( E' ^" f+ f5 Z/ I# K
  188. BEQ ADDRFFDC1 X$ K* I4 W: l# C2 z" i# ~7 k
  189. PLA
    9 W. n1 \9 S8 ?' T+ i9 H0 ^
  190. JMP $AA726 U1 ~. i' ~0 Z" k; v' I
  191. ADDRFFDC:
    ! n: _6 `8 Z% b$ x8 J4 Z" N
  192. PLA
    - j7 t6 u0 A( h
  193. LDA $0629,X
    # b+ u% }# b( K5 H, z  d
  194. JMP $AA6D1 Z- U4 O) V4 g, k1 e
  195. 5 U4 ~! C5 ?6 w3 w6 u! z
  196. ;[FC][忍者神龟3代标题选关程序]
    3 k$ F  z+ ]; t. T2 A
  197. ;作者:FlameCyclone 2017.4.1; r2 l9 H2 L- T6 w& Q! E2 U
  198. 9 r/ A& G8 s$ A8 U/ d9 V
  199. 7 G, {: Y: `7 B; @: y
  200. ;配置数据
    - D, R* \, B* t- \, u; |$ {
  201. KEY_ADDR = $F8    ;按键地址/ `7 x, {* H- Q7 I9 w$ o2 ~( b! K
  202. STAGE_TEMP = $6010    ;关卡临时地址
    % e& h2 f6 W, u7 h! S. v, }1 b7 C
  203. STAGE_MAX = $0E    ;最大关卡数
    3 ~) `, D( s7 J( u( l, o6 d
  204. TITLE_A = $20    ;标题条件A/ R6 _& s* x& q* V; L  ]! j( m
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定# k% U, [8 k' R/ u, Q. R: K
  206. TITLE_B = $21    ;标题条件B
    : @8 |7 L' G# M- z& J9 y! G
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定
    1 |$ |1 t, K: \; i& [9 h0 c+ q0 T
  208. PPU_END = $FF    ;PPU结束符2 E' y+ E5 H; }3 z  d3 r; W; [0 C
  209. TIME_LAY = $4A    ;标题显示延时地址
    ' t) D' F$ \  @
  210. BUTTON_DEC = $42    ;关卡减少按键
    ( t/ V: E, D* [: i& ~
  211. BUTTON_INC = $81    ;关卡增加按键
    " [& Q2 i, x0 f( m  B7 R% e9 q
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量$ h& u0 |: H1 Y
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    3 b8 W8 B3 Q, \: G3 w' w
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
    * B3 r+ c8 p- L1 J$ j' L
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位
    . ^6 F8 \$ G7 z6 R$ Q2 d
  216. CHAR_S = $A2    ;字符'S'! M) d: M9 ]% N& [8 Z- q. D& V+ h
  217. CHAR_T = $A3    ;字符'T'
    2 s7 ^5 r0 R1 d2 M6 T
  218. CHAR_A = $90    ;字符'A'
    4 i& Z( P* [* G
  219. CHAR_G = $96    ;字符'G'
    7 o( F5 s$ S# I/ D* J, s5 E7 F
  220. CHAR_E = $94    ;字符'E'4 {. {4 V; I1 B% G5 {. L
  221. CHAR_SPA = $00    ;字符空格: ^  B* x" C' {+ J( t" i
  222. CHAR_LIN = $AE    ;字符'-'
    $ ?8 ^6 x- V% Q% O4 g, F4 D5 i8 y
  223. CHAR_O = $9E    ;字符'o'
    # S4 c/ a# p5 ]8 K
  224. NUM_1 = $81    ;数字'1'& Q. e7 _9 j; J0 S
  225. NUM_2 = $82    ;数字'2'+ c4 O  k: j6 g0 L+ {8 J: r
  226. NUM_3 = $83    ;数字'3'
    ) \' J! j4 U8 @! z, s1 y6 e
  227. NUM_4 = $84    ;数字'4'. L7 L4 A/ ]1 ~& U
  228. NUM_5 = $85    ;数字'5'
    & f6 i% M! I; `; E( j& B! A" t! y
  229. NUM_6 = $86    ;数字'6'( L- _% K& Z8 ~3 x* `; @
  230. NUM_7 = $87    ;数字'7'
    / C$ Y- Q4 k/ v- A4 E
  231. NUM_8 = $88    ;数字'8'6 O6 Z/ S7 H& t: @2 s
  232. NUM_9 = $89    ;数字'9'2 Z$ c' t( M8 K; q& ~+ P
  233. NUM_0 = $80    ;数字'0'# G  z7 Q' M' N. J! s- l1 g$ g3 y! m1 r

  234. / Z5 A2 M+ U; h' ~9 N
  235. .ORG $F82A
    ' p4 {1 w! q' e# {9 H0 T+ u- l. D) K
  236. JSR $E700" N4 W& }# C6 ]1 U6 x) c- _/ M+ ^

  237. 8 O4 n: C& _% {$ A+ S, U/ L; D% k* o

  238. 0 }  a/ G4 T- x6 ^3 z
  239. .ORG $E700- g1 j$ Q5 d2 i, E; }8 \9 m
  240.   4 Y" V2 b3 e: V) o2 k" A# I
  241. STY $4014    ;补上覆盖的精灵写入指令7 j4 K0 l2 ]6 G. J
  242. PROTECT_DATA:    ;数据保护
    ! @: \, P/ i6 f: F, g
  243. PHA    ;数据保护开始
    / `& W1 z1 n/ B# I/ o6 K
  244. TXA7 m$ }' t. f' L1 j9 \# j' m
  245. PHA7 i: y8 b3 C7 P- i0 g  V; C
  246. TYA2 J8 I! {0 ^, f) E5 r
  247. PHA    ;数据保护结束
    ' G$ l, S3 ]2 |9 d- v$ y5 m
  248. LDA TITLE_A# ^) Z+ h6 w' E; W0 a3 i! S
  249. CMP #TITLE_A_ON    ;比较是否为标题画面3 [) f8 X) a: C/ e
  250. BNE RET
    3 S: q$ q' E' G2 c! ]
  251. LDA TITLE_B3 z/ c$ f) `; J# V, A5 B$ f
  252. CMP #TITLE_B_ON    ;比较是否为标题画面& ~4 y1 j+ }3 P5 |+ K, A- C5 R
  253. BEQ PPU_STAGE
    7 j: k+ W4 |( j7 w; }
  254. RET:    ;恢复数据
    ; R/ U) M9 C- h2 S1 f* i( |7 a) J
  255. PLA    ;恢复数据开始' B4 _5 M1 Z/ Z' J' S* p/ i' C
  256. TAY( J4 |9 J9 T8 u: Z- E# l$ }3 A
  257. PLA
    ; L  o% w6 [. J: J9 L- p
  258. TAX) ^0 z- l$ G7 H4 z
  259. PLA    ;恢复数据结束
    ' M* S6 B0 r1 t, H
  260. RTS    ;返回2 N0 @4 Q( s! g% G- D, N
  261. PPU_STAGE:    ;字符STAGE写入程序
    0 A* N4 u  R8 [1 r
  262. LDA #PPU_ADDR_H 9 E# y" g# E* M# y5 {- M/ \
  263. STA $2006    ;设置PPU字符写入高位地址2 D' f9 ]4 P* V' V
  264. LDA #PPU_ADDR_L
    " w2 S. c9 i. ~- ^- k
  265. STA $2006    ;设置PPU字符写入低位地址* S' o1 C. E5 {3 k: F  A# n! N# P6 T
  266. LDX #$00
    + Z9 u. q$ ]- t& u5 X; x& k6 h' r
  267. PPU_STAGE_WROTE:    ;写入STAGE字模' _5 w0 m) ?6 }
  268. LDA STAGE_DATA,X
    # y- J! l  o9 O4 i' X
  269. CMP #PPU_END    ;判断是否写入结束
    0 m4 a9 P% W- |  q8 t
  270. BEQ STAGE_CMP
    1 A- {# m! ?7 |2 [
  271. STA $2007
    % V% a/ ^, R5 H) }1 W: `8 m
  272. INX% j/ i5 P* s. B# `7 n) |! q
  273. BCC PPU_STAGE_WROTE' _$ D8 Y, J5 c) l. S
  274. STAGE_CMP:    ;选关操作
    ! S% G  f( H+ _. i
  275. LDA STAGE_TEMP
    4 d2 G% E3 `9 z0 R% g# Q
  276. CMP #$FF    ;关卡数据初始化条件判断
    $ ~/ I1 a( m1 z; V) |
  277. BNE KEY_B
    6 B" @, E4 m% W0 c, u; U* r" o% _
  278. LDA #$00
    / b9 m" C2 Y' U  Q% k% Y# H, x8 [
  279. STA STAGE_TEMP    ;关卡数据初始化9 ?3 r% v$ S: u4 \" K: {
  280. KEY_B:    ;关卡减少
      D: Z% x! R) i+ Q9 ]" g! G
  281. LDA KEY_ADDR
      y4 a# n5 b0 u/ J
  282. AND #BUTTON_DEC    ;按键B或左减关
    / f' I/ e. `& B% P! ?+ S$ L
  283. BEQ KEY_A1 }) O  Q+ _% S1 }/ A; J( Y
  284. LDA #$FF5 o+ y- a3 b. c! @
  285. STA TIME_LAY    ;重设标题延时
    8 m* k9 z: |# V" P  P
  286. LDA STAGE_TEMP+ g0 w3 J! ]& C
  287. CMP #$00    ;关卡比较+ J- ]7 n7 d3 s8 R# ]
  288. BEQ KEY_A
    + n7 I* f7 I% t
  289. DEC STAGE_TEMP   ;减关. F6 F/ t  l& `8 Q# {+ K3 x. o
  290. JSR MUSIC    ;按键音效% ]9 p/ F* u( T4 {2 U9 J4 H( e/ j) t
  291. KEY_A:    ;关卡增加( n# Q$ x! l( L3 z( E, {4 b
  292. LDA KEY_ADDR  e# Z4 o) n' }9 A4 f. W# ?2 ~
  293. AND #BUTTON_INC    ;按键A或右加关  o* h9 \4 P' Z; Z' y) g
  294. BEQ PPU_NUM_WRITE' i2 k0 h* W$ Q+ T3 o  V
  295. LDA #$FF
    2 C; H# E- ^; }  P4 @
  296. STA TIME_LAY    ;重设标题延时9 p) p0 r; K" g; f
  297. LDA STAGE_TEMP5 n! ^9 n: M* i1 u0 B# }
  298. CMP #STAGE_MAX    ;关卡比较2 X* a; ?/ T. g' `1 f) a8 p
  299. BEQ PPU_NUM_WRITE0 k7 u$ J! V6 I- y2 J! u
  300. INC STAGE_TEMP    ;加关
    * P9 I) I0 w5 p& b! s5 w5 p7 `2 k6 V
  301. JSR MUSIC    ;按键音效
    ) A7 c9 h- N! x: b" D' O
  302. PPU_NUM_WRITE:    ;关卡数字写入地址$ k; Z: @+ \0 L& M, U
  303. LDA #PPU_ADDR_H
    2 I* {9 ?) V+ C/ B" Z4 |2 t0 I& E
  304. STA $2006    ;设置PPU数字写入高位地址: \4 e% r! P) w" x% h+ L
  305. LDA #PPU_ADDR_L: c0 q* T* k! y, r* ]
  306. CLC! y$ ~8 _' ^+ n7 Z7 E
  307. ADC #NUMBER_A+ ?3 d: p0 }) }8 W
  308. STA $2006    ;设置PPU字符写入低位地址
    & [( h: `5 E; R+ ^* v
  309. LDA STAGE_TEMP( ^4 k0 t! R4 j4 V1 Z: J0 j
  310. TAX5 T6 r( k7 I1 i
  311. LDA STAGE_D1,X    ;写入数字
    ; w  e! {' f1 G$ G) B1 y
  312. STA $20077 [) ~& _$ t1 }! s2 d. u: a0 x7 k
  313. LDA #PPU_ADDR_H4 Y: }* d- K4 D9 v5 r- e% v* r
  314. STA $2006    ;设置PPU数字写入高位地址7 @6 ?; J2 y" y4 m% W" L
  315. LDA #PPU_ADDR_L
    " X& _1 [2 f9 n* W; a
  316. CLC
    5 |/ {3 r/ M/ t- N. U
  317. ADC #NUMBER_B
    ' M/ K0 f: p( V  P" V  {
  318. STA $2006    ;设置PPU字符写入低位地址
    ! _0 q' u0 Y8 D4 L
  319. LDA STAGE_TEMP
    2 o- _* @* [6 f1 Z
  320. TAX/ y" w- g7 D8 |$ C: S  K. n; j
  321. LDA STAGE_D2,X    ;写入数字
    ' S% B, f, \* ^' a' B& o
  322. STA $2007$ ?1 A, {  L* a, o3 K- E* K  S
  323. STAHE_WRITE:
    $ F# n, }$ |) t! e8 t. a
  324. LDA STAGE_TEMP3 f' R) h2 R, R' F9 h+ Y
  325. STA $2D   ;初始关卡写入
    % N( @% O9 \' s! B3 Y/ y
  326. PPU_RTS:    ;恢复数据
    % X0 H9 J$ Z5 T& _
  327. PLA. ]! N9 `8 ]5 R$ j2 X1 u* e; h8 W) \4 |
  328. TAY- a) A5 v, J( |9 _8 C1 O
  329. PLA% p1 Y7 b* W$ [6 o& [
  330. TAX
    * I* T* m1 u) N" S# `
  331. PLA
    ) M1 @% ?2 a8 r$ L, F9 [
  332. RTS
    8 {- x1 B0 z3 I3 u  H6 }8 v* \* d

  333. ! E# `- D6 N+ h  g
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据
    # K$ e7 t& Z& l) O& `% f! y, i
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END, M) v% Q2 u$ W; ~" W# c0 \" q
  336. $ D! c, L0 x! L% @9 P# n% }
  337. STAGE_D1:   ;关卡数字9 R) u; y* S) U( P* ~' ~# U$ e
  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( H2 t# V* @$ o9 P4 Z* K3 q7 s! p4 E

  339. " r; @' T9 k  Q7 `
  340. STAGE_D2:   ;场景数字% D( l6 `; ?0 Q  L: p2 o5 q
  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
    , s; x3 d  i8 B% C( w
  342. & K4 W! V* h' i* a( E  Y# K
  343. 0 e7 n" c, J* X2 g  z) G8 O, X3 F  g
  344. MUSIC:    ;按键音效
    2 ^8 L3 v  J8 e/ l, W3 P! a8 r; h* j
  345. LDA #$3B    ;音乐号
    5 f/ K. Z( a6 _/ X* y7 y
  346. JSR $919E    ;系统音乐调用; L9 e. i/ C$ @* O! }$ n
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;2 ?- j% ]# w9 d' m  I
    5.生命加满:   暂停后,按下键切换;( J. m6 X/ j6 ~2 k
    6.血量锁满:   暂停后,按右键切换;
& Z' z* I' v" y) D# a- k( V( N: ?+ t# }; O' n; T
) e( _8 X+ @$ m9 @+ l( e
4 o. ~) P: R- S) L+ Z0 g4 y

4 M0 }0 y7 M! F, F9 F% D: {" }1 u' s
FlameCyclone.ys168.com8 H# q# ]! h+ }0 r
www.nesbbs.com
/ p+ {7 s1 C8 l8 c4 R) T
游客,如果您要查看本帖隐藏内容请回复
( Q2 l7 ]# o( s7 j

本帖子中包含更多资源

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

x

评分

1

查看全部评分

签到天数: 184 天

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

签到天数: 2196 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1076 天

[LV.10]以坛为家III

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

该用户从未签到

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

签到天数: 1725 天

[LV.Master]伴坛终老

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

签到天数: 2705 天

[LV.Master]伴坛终老

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

签到天数: 1824 天

[LV.Master]伴坛终老

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

签到天数: 1571 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!0 h# @/ q; D3 z0 x6 i. l2 W

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1384 天

[LV.10]以坛为家III

发表于 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, 2024-5-7 05:58 , Processed in 1.109375 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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