EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑
! g, h- w+ E+ x3 c% N5 ]% c3 t' B! }, a7 [! P2 I! X& Z
[FC][忍者神龟3][END选关]+ U/ B! A9 h1 X: I1 D0 _

* Q0 _7 I& }$ V时间:2017.3.30; h& s' M6 r1 w4 `, O
作者:FlameCyclone
- {0 ~; y: D; E  C内容:
# c2 s: U( y  ]( g    1.关卡选择:   标题时,左或B减,右或A加;% F$ x8 ~" C  }) {
    2.全屏击杀:   暂停后,按A键切换;, R4 L0 _& ]' M. }' Y
    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0- [7 w+ _* m& Q6 c' h0 t* w" s
  2. ora_data:
    / U/ O1 {, L/ m. c4 P5 {
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$102 B) H" Z1 r4 Q6 \' K7 h# k! d
  4. and_data:
    8 d2 X( n0 b' |8 e% }* j
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF( d% L6 I6 I! W2 f  ]0 q

  6. 1 `4 j/ S: a% {+ m% T- C) z
  7. button = $F8
    5 G6 _: z1 L8 H7 C4 s$ R" b
  8. flag = $60001 L1 o% l- J- @  K5 X! P
  9. pause = $0045* v; [: V5 z0 ?" k- H3 W

  10. $ v4 R5 l% m- Y2 X; b+ N' h8 s

  11. ) Z& n$ r( ^: b! T4 C
  12. .ORG $F90D  W. i# ~  w. p; |, ~' Q# x# x3 x
  13. JSR $FEC0
    ! m. [2 j/ N6 T. _1 t. R

  14. 9 h, Q; V4 M+ v
  15. .ORG $FEC0
    9 O; k& I% @/ ?! x/ z2 C
  16. STA $54,X
    8 \, y* {& |$ i$ F: b% W1 ?: x$ w
  17. STY $FA,X
    " s' s& J  N0 s( m* i& K- U
  18. PHA# F. s7 P* X( Q  l; L8 f
  19. TXA1 ]* b  k& a! N4 l' [
  20. PHA
    2 S  V3 D) v1 V, Y
  21. TYA
    6 Y( n) o; D) w6 b
  22. PHA1 t5 A# N5 U$ j
  23. JSR KEY_OPERATE
    5 M" p6 _; }9 n8 z
  24. JSR INV. a+ F3 o1 e8 o: B
  25. JSR LIFE) T+ y6 l0 k. ^
  26. JSR BLOOD+ `$ ?# ^4 P, D
  27. PLA
    - i/ M) V2 A* P8 x- D
  28. TAY
    # r$ I# D, o5 q8 Y
  29. PLA; s* N: n2 j; }* S3 s* e
  30. TAX* A! \. d' Q, T/ k
  31. PLA
    0 P% e* P5 q6 f" S- o5 F
  32. RTS+ g2 V1 ?# o1 n( L8 ?
  33. KEY_OPERATE:
    6 R- W8 |/ e" a  n1 N" a
  34. data_protect:( a# u" p, I( C' u9 z, }7 R4 e1 m
  35. PHA$ n& `6 h& h, j4 s* b
  36. TXA
    4 L# X  ~9 r+ g6 i3 E: Z" R
  37. PHA$ r  E2 j# W% a7 ]0 f
  38. TYA
    & F: B6 o, v' x2 x
  39. PHA
    % L7 H$ k6 [2 h4 `

  40. 1 g4 U& z# L4 A3 b; ~, R
  41. FLAG_CMP:3 Z" ^. c- S* K9 {& A3 n
  42. LDA $600F0 _' i2 i8 A' |5 a( }
  43. CMP #$7F    ;标志数据初始化条件判断  a/ p+ ]8 {5 J. X, F4 l
  44. BEQ pause_cmp
    / a0 y! ]+ H% S. \' X8 `7 O
  45. LDA #$80. W) Q" R/ Q  L6 s% P+ O
  46. STA $A001    ;6000-7FFF写入启用
    + m; M" R# v9 X. T6 \
  47. LDA #$009 J0 R  @* v. D5 V5 Y. R+ `
  48. STA $6000    ;数据初始化
    1 s8 |# l( k$ F1 ]4 y6 ^
  49. STA $6001    ;数据初始化, R; B- Z3 B% V9 J# R
  50. LDA #$7F
    ; i, e* G0 a2 b, s4 s9 \# @' H
  51. STA $600F3 _/ [3 w. h7 i+ ^  O1 {. h
  52. pause_cmp:9 _& v' a/ ?/ i4 J) [! f' v
  53. LDA pause* \8 C1 @2 f  v: @* m5 F' v
  54. CMP #$01
    $ x* Y1 u. b1 B3 k" c8 G
  55. BEQ button_press
    : z, [0 k# V% m2 a$ ?; w
  56. PLA
    6 ^5 g. q; s( X8 J0 ]9 ~
  57. TAY
    ) |7 h$ m5 x" N& c
  58. PLA, }6 G( k: h9 e# v8 e; _4 K  F
  59. TAX, b$ D9 D1 X" l! h) I) K, w' ^
  60. PLA
    1 v; ]* \% y! [+ H5 Q8 \5 K, {. ]
  61. RTS" m- D8 Y4 g1 K6 O0 f& d9 A( k

  62. 1 T6 l% F* P+ }# W, ]
  63. button_press:
      q' ~0 D/ K! y8 p) u
  64. ini_Y:
    8 d7 Y+ q+ N  B3 G2 |
  65. LDY #$00$ J( c3 e* F/ e- D, Z6 k
  66. button_cmp:: O0 H7 e2 Y; U  G" P4 D
  67. LDA button,X
    ' j: |. x" B1 K& v, ?  n/ T: R
  68. CMP ora_data,Y
    % I+ ?8 w% m: X) f6 J: ^) \, g
  69. BNE count_Y_cmp
    1 s: i" D) `3 F1 V+ M5 A
  70. flag_cmp:( Q, t0 P" ^, h) U6 X
  71. LDA flag,X
    # x% C& v( Y- B) v1 V( x
  72. AND ora_data,Y) a1 P) w- _0 z; O! \
  73. BNE flag_and
    * A5 L" M7 e! D( J2 A+ {0 n$ Z
  74. flag_ora:
    ; b( C- F- e4 T! j# O# B
  75. LDA flag,X
    % @; |4 c. l3 [; h6 M; J
  76. ORA ora_data,Y& v1 m& P1 Z2 B/ Q: R, k
  77. STA flag,X5 i/ b+ z( w2 ]- v
  78. BNE count_Y_cmp
    . |; ^% A' h1 I7 `1 f5 D1 |
  79. flag_and:, O6 b+ k$ H7 S+ I  o0 T) s3 ^% L
  80. LDA flag,X
    . z3 ^6 a" ]% q, Z% L
  81. AND and_data,Y
    6 J+ h+ _& q% t
  82. STA flag,X! W/ z* `' V2 h' B$ g
  83. count_Y_cmp:! l0 r: @, ?( k4 f+ Y& C
  84. INY
    9 ]% N( Q( {5 N  s" K- _8 r
  85. CPY #$08
    ; b' K" E- P9 P
  86. BCC button_cmp, A* K0 D4 X0 d
  87. # G7 i* S. j2 }' A9 A  T
  88. data_extract:
    2 m+ x. {7 f% a
  89. PLA2 Q! s# B6 J! `- g
  90. TAY; o% E  [- z$ D& M! ^$ Q$ ]  R
  91. PLA2 d8 l7 O7 \: n. ?* w
  92. TAX
    & v, N, r5 V  q8 M7 n3 A
  93. PLA
    / A0 j: e2 a$ h! I9 N4 J. Q7 L% d

  94. 3 i: T( u9 T% j% \' b
  95. return:
    4 O, y# I1 G% A; D
  96. RTS3 ]& H8 G* G  c& H8 }
  97. * u) L8 ?& d) I" E/ c. o; F# ?1 s

  98. * W' W, y! G" i8 g4 n1 {
  99. INV:    ;无敌* W5 Q6 ^( {6 u/ \) N* _
  100. LDA $6000,X
    ! U1 `3 d- ]  m7 W2 ~
  101. AND #$08
    ' d" Q* }% ~5 q; p! M
  102. BEQ INV_RTS
    5 D& t7 O. Q# r$ u3 K! m9 b7 m, \
  103. LDA #$05
    , Y0 S- h, P  M' f  {7 ^+ W
  104. STA $04FF,X5 q# V- B3 B6 l7 F3 G" z* l* g
  105. INV_RTS:; _" I9 V2 g, O! [" H' `
  106. RTS
      x3 C4 {* w; x" v( |, H" m

  107. & Y. x2 h5 n, ?- _1 f1 J/ I
  108. 1 j9 }+ T8 T9 G+ [0 q& ]
  109. LIFE:    ;生命. }2 ?+ B3 j# ~& u8 e
  110. LDA $6000,X
    ; X6 s2 C& E4 k$ A  V% |2 ~* M/ Z
  111. AND #$045 Q+ j+ A2 `4 K* ^
  112. BEQ LIFE_RTS" ~9 x- G, F  D3 ~9 u; W# F8 P
  113. LDA #$096 V" i& |  B7 |
  114. STA $6A,X5 L  u! N2 K+ }; H6 W' q. v
  115. LIFE_RTS:. g6 l% P( ~  {: [) i
  116. RTS/ C" I2 V& c' ?; Z4 P9 _, h% o+ h
  117. 5 a2 l( x  [2 v+ t
  118. 4 r; [, v6 \' o
  119. BLOOD:    ;血量: G2 Q! P3 S' n% Z/ Y, v
  120. LDA $6000,X
    8 J2 {4 ^: c) s/ K" _" o0 S( w) m
  121. AND #$01* _; j1 {6 z4 Q# Z. r
  122. BEQ BLOOD_RTS  r+ Z2 h% A8 m0 U. q
  123. LDA #$7F
    * D* _5 N+ z) h, I
  124. STA $04F1,X2 H: o% x7 H# j. K8 D5 B
  125. BLOOD_RTS:" ^4 E( S" o  M2 g) X
  126. RTS7 ~& ?4 u4 U1 E
  127. - s9 }; L. {4 b1 s% X
  128. 2 q6 f" H3 h- Y+ e

  129. 5 D( v1 ^' N! k

  130.   a$ b& [. M; x1 ]/ R) t
  131. .ORG $D29F
    8 w. @4 w, c, U- {
  132. JSR $FF807 B; z2 b8 _9 n8 h/ K6 R5 x! ~$ [

  133. . O- K+ k1 T8 }/ d
  134. .ORG $FF80( S, X/ ?$ r# s7 {7 X9 G
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀
    / x' a! t1 w* c
  136. STA $0628
    6 `/ I+ d: v, \1 i
  137. PHA
    0 F. s8 O- ]; T% T
  138. LDA $6000
    % p5 ?" P: \, @# t# f% ~; l
  139. AND #$404 x1 U" C7 Y: T) X9 D' O
  140. BEQ ADDRFF8E! w, t3 J6 p3 }2 D1 A/ e: ~
  141. PLA5 J4 O$ t2 y  h, L! r% W
  142. CLC   ;敌方死亡状态判定" A7 \- Q$ \" [
  143. RTS
    % a" u: \# Q( \7 p5 a. d, C5 G: f1 {
  144. ADDRFF8E:
    , j$ S1 t2 q9 N1 x& D+ J) Z
  145. PLA
    6 X! N9 u  I7 q: f
  146. RTS5 I; i/ t; W1 L& i# i
  147. 6 B3 O5 k8 c. X5 e' h

  148. . s; h; ?9 M2 S( m! B7 k
  149. .ORG $D151$ }. Y, Z$ K% n& a  A9 i, U) K9 Y
  150. JMP $FFA0  N& {) Q$ x; x9 ?
  151. : Q$ }' F0 v2 z
  152. .ORG $FFA0+ X! ?9 x* b6 t# b% v
  153. KILL_BY_ONE:    ;杂兵一击必杀, `3 q+ B1 j( t; q  D
  154. STA $0621,X- h9 b  d& G, k7 ?& F( l* a
  155. LDA $6000
    / D& S+ S4 j$ N& r* b/ G! j! q
  156. AND #$40% t+ _: z& U% B$ i+ t: j
  157. BEQ ADDRFFAD5 C, j) T% ~; W0 m* ?; D) e4 q0 x
  158. JMP $D19A   ;敌方死亡程序跳转
    : o  X, P- c* W
  159. ADDRFFAD:
      I( w6 P' [+ s
  160. JMP $D154
    # N( K9 a3 e4 `* [
  161. ' S0 m! f$ l; r6 t+ B  b

  162. 6 |* s- r4 D) l2 c/ a3 e
  163. .ORG $A7F6
    7 }2 Y- |$ l1 l" A& m; M- H
  164. JSR $FFB01 D  }0 W6 O+ @# [* K

  165. " F3 Y4 z/ X- b' w" y( q7 ^( _
  166. .ORG $FFB0    ;全屏攻击
    / r) }7 F" m, ^& N' _  k
  167. PHA7 S) b: x4 d# p/ F4 A9 P2 g
  168. LDA $6000  l) g/ M+ e+ Y4 v7 L" v
  169. AND #$80% _8 D/ @4 a# G
  170. BNE ADDRFFBD) L. x4 R9 z2 b' K
  171. PLA
    ) V! W5 j4 }6 ]( ~3 m
  172. LDA $0015/ w0 b$ P; m5 |# c' C
  173. SEC
    - ^, e0 [$ u0 A  [0 z
  174. RTS' |! ~2 X( P, b. R' l
  175. ADDRFFBD:
    8 C( Y. [6 K* O1 s
  176. PLA% D) v6 c$ y6 q% S3 I2 G5 \
  177. JMP $A826
    " s3 ^* r2 B9 d% R! `' k" g2 h# R

  178.   M- \! ?, R0 _7 N# m' B
  179. ! j6 W7 S# S; z

  180. * b7 F/ P2 A% j5 @) P6 w% N- `
  181. .ORG $AA6A
    7 D7 ^5 e4 F7 E! l+ h- b
  182. JMP $FFD0
    - o! z. w3 n" J1 B/ V4 c
  183. 4 G. q' Y% d3 M4 R
  184. .ORG $FFD0    ;敌兵动作忽略: a. I0 N  U# o# ~! K; s. z
  185. PHA/ Y+ q5 ?3 j+ \4 A2 [
  186. LDA $6000
    7 q) R" M' A, [; {+ f! H, }0 X
  187. AND #$80: ^4 g! E* ~4 l$ Y. X+ a
  188. BEQ ADDRFFDC
    + k& x8 Y6 N  V
  189. PLA  o6 R  P% R2 I3 g; C/ _( ]
  190. JMP $AA72" j) L' x. y2 S- q+ x3 g( E* Q& t
  191. ADDRFFDC:" h( @' }0 O/ ]$ q
  192. PLA
    & U/ Z9 n3 |' p
  193. LDA $0629,X& h9 _  _. N* M! k2 x
  194. JMP $AA6D
    # f; B3 @4 Z' V4 r1 O( J
  195. 0 b; ^8 d% o0 V( s
  196. ;[FC][忍者神龟3代标题选关程序]
    , n, K+ h7 d/ ]* O/ K6 K
  197. ;作者:FlameCyclone 2017.4.19 k$ ]0 X1 N) k+ m' O, |* r/ z

  198. $ f6 ^" T) n$ t, _- m) J' {0 a

  199. & ?+ J( \- Q& l
  200. ;配置数据
    : e) H7 m. V; h; G9 U4 ?" R( f
  201. KEY_ADDR = $F8    ;按键地址
    & M1 p$ H% F2 M* B. ^) R
  202. STAGE_TEMP = $6010    ;关卡临时地址
    + m9 x. a$ \3 W5 ~' Y9 r8 T/ p
  203. STAGE_MAX = $0E    ;最大关卡数8 E, ]: N) l7 |  S4 N: l
  204. TITLE_A = $20    ;标题条件A
    " c$ O$ o2 e/ D4 A) q
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定% K+ B3 H3 S) _& T2 c( v( |/ p/ l( Y8 k
  206. TITLE_B = $21    ;标题条件B
      |$ G( r- l- c
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定
    ; Q: h( e% P0 k! N
  208. PPU_END = $FF    ;PPU结束符
    ( {8 x% V! m  c; |
  209. TIME_LAY = $4A    ;标题显示延时地址0 L) }+ |% Q! u) p2 T# n
  210. BUTTON_DEC = $42    ;关卡减少按键
    / I7 ^& F; \% {* R. d, k, {" r
  211. BUTTON_INC = $81    ;关卡增加按键3 Y2 ]2 i5 f' r. p& @
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量1 a- P+ F/ y) |- G+ F9 b
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    9 R: g# i, Y4 N6 H! q
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
    / j8 i3 R; H% n1 ?, \
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位
    6 G. E# ~+ l, ]( c; `
  216. CHAR_S = $A2    ;字符'S', G1 O! S5 C- E% ^
  217. CHAR_T = $A3    ;字符'T'+ l  ?! T% }  o4 T; [7 h5 E
  218. CHAR_A = $90    ;字符'A'
    2 B. @& j: h+ s* M$ `
  219. CHAR_G = $96    ;字符'G'4 n2 |  n5 i+ H& S9 @
  220. CHAR_E = $94    ;字符'E'
    & q2 `; B6 k% |# p+ Z7 a
  221. CHAR_SPA = $00    ;字符空格0 {& Q+ v& S9 O/ W! U6 I1 ?: }0 z
  222. CHAR_LIN = $AE    ;字符'-'
    3 V5 ?, `0 R, u5 S
  223. CHAR_O = $9E    ;字符'o'9 F* V8 B& G: E& u* T7 V
  224. NUM_1 = $81    ;数字'1'* e6 ^5 v) V8 W6 O& C
  225. NUM_2 = $82    ;数字'2'$ s+ B, g# j- ]: z) z4 g1 M6 f
  226. NUM_3 = $83    ;数字'3'
    ' b) S) Q% c' H# T) s4 Y
  227. NUM_4 = $84    ;数字'4'3 w5 U6 D# Z9 w! s' ?
  228. NUM_5 = $85    ;数字'5'* Q% d/ h# w* W
  229. NUM_6 = $86    ;数字'6'
    2 t5 x; g0 i0 {% R. {+ d8 q9 b3 ^) Q5 p
  230. NUM_7 = $87    ;数字'7'
    # c$ H7 u0 g+ L: t/ Q7 z
  231. NUM_8 = $88    ;数字'8': N7 o* @/ X; O8 S1 m3 u
  232. NUM_9 = $89    ;数字'9'
    7 [7 |3 |- r* a2 F
  233. NUM_0 = $80    ;数字'0'; H4 A( h3 ^3 L$ C; \+ a! u
  234. & K+ M+ a0 y: ]: F) }* y
  235. .ORG $F82A
    ) U2 Q/ |8 N* |$ _" D
  236. JSR $E700
    6 L# Q6 x& {  f

  237. / R) ^% X* X* E8 ]: y& [. ~0 c; {

  238. % k! c# _/ J% `' m: K  T
  239. .ORG $E700
    8 k( B0 O- |' Y5 r+ B! |
  240.   
    : E! H: j4 q0 F& U/ Y
  241. STY $4014    ;补上覆盖的精灵写入指令
    ! p' v% J3 R: r" s2 |2 g/ L
  242. PROTECT_DATA:    ;数据保护; c. z# h: M8 \' _7 g; a) w+ z
  243. PHA    ;数据保护开始
    $ f$ T; a( E- k, c2 y0 o4 {+ {
  244. TXA
    , G" B) n3 v  ]- I# w
  245. PHA
    $ {( j1 B- V1 D, t
  246. TYA
    * N2 a- R" y- I) l$ {( U: O
  247. PHA    ;数据保护结束
    ( F3 T$ L5 c: ]' s
  248. LDA TITLE_A8 W# h& u8 n! f9 h% I" D
  249. CMP #TITLE_A_ON    ;比较是否为标题画面' a. W% v0 g2 n$ T9 q
  250. BNE RET
    , Q5 O6 V0 B5 S  w& k- ?
  251. LDA TITLE_B
    3 B) `7 [! g7 f9 O+ |
  252. CMP #TITLE_B_ON    ;比较是否为标题画面
    # v: E; c/ @& \4 E. {& a0 L
  253. BEQ PPU_STAGE
    1 b, Y# E. v  D, V" j! B' V5 O8 a
  254. RET:    ;恢复数据
    - A  i* U/ h& n
  255. PLA    ;恢复数据开始
    " @; e( S. |6 Q* Z6 g  e6 U
  256. TAY
    6 o, o8 L) \9 }+ r2 I2 O; O3 I: o
  257. PLA
    2 K+ B. V- Y; I2 c$ H2 D! _4 U
  258. TAX
    & @7 u$ E. X' w; \3 k% M
  259. PLA    ;恢复数据结束7 k; s  `9 ~5 y  v
  260. RTS    ;返回
    - ^, X/ [9 w( z4 n! C: N
  261. PPU_STAGE:    ;字符STAGE写入程序+ c$ j& N' z  d  S8 i- E6 m4 k
  262. LDA #PPU_ADDR_H ' z- {; h$ `* N7 k; R3 e
  263. STA $2006    ;设置PPU字符写入高位地址/ S% Y! q2 n0 q% m- G( Z4 r( t
  264. LDA #PPU_ADDR_L4 r" {6 F6 C4 d. w3 k; E/ X% J
  265. STA $2006    ;设置PPU字符写入低位地址
    ' U: U0 i1 c& c5 o( j
  266. LDX #$00$ g2 t3 D/ H1 L8 w
  267. PPU_STAGE_WROTE:    ;写入STAGE字模; `) d* N' e- v, A6 b
  268. LDA STAGE_DATA,X
    5 n6 t1 g' v) c$ [* U) s( I" `  X( R
  269. CMP #PPU_END    ;判断是否写入结束
    8 e5 T, d1 g( G9 x0 B! K- _6 z* q
  270. BEQ STAGE_CMP" p8 `6 P. p; X' n2 D2 G8 l/ H
  271. STA $2007: {0 A) i% i# a6 n! \7 ^
  272. INX% Z( p% o% N1 O3 M7 Y3 Z
  273. BCC PPU_STAGE_WROTE
    3 `0 A& {" p- X+ U8 J. z; h# c
  274. STAGE_CMP:    ;选关操作6 G& X7 u; _% s
  275. LDA STAGE_TEMP
    % S& d& j* j+ n
  276. CMP #$FF    ;关卡数据初始化条件判断
    3 i9 n. I: C+ M7 ^( ]
  277. BNE KEY_B
    ! Q' _+ {! y- H$ u. |
  278. LDA #$005 T/ y) B/ c# @2 S: S2 `6 @
  279. STA STAGE_TEMP    ;关卡数据初始化
    . B! W$ q' M4 v% A2 G" G* i! p
  280. KEY_B:    ;关卡减少
    ! b% W+ x5 u% ~& F7 e) o$ ^
  281. LDA KEY_ADDR
    $ U- b: o/ A7 r6 M2 D8 E
  282. AND #BUTTON_DEC    ;按键B或左减关
    / {! W! |  A2 |1 j
  283. BEQ KEY_A
    ! z# H( }3 I! }! D8 u
  284. LDA #$FF
    - P0 D. A: E8 N2 I. j" b* f
  285. STA TIME_LAY    ;重设标题延时$ D: c- j' u' x/ p
  286. LDA STAGE_TEMP
    2 X8 x* O0 d! g; B+ S/ G
  287. CMP #$00    ;关卡比较
    & y& U" R- x$ f1 q" A- P8 C2 K! y
  288. BEQ KEY_A6 U9 |) `5 a3 R+ ]6 H
  289. DEC STAGE_TEMP   ;减关
    # _" Y- H  H  W4 Q* S! ?: Y( i2 b
  290. JSR MUSIC    ;按键音效- L0 Y6 @5 P/ M& E
  291. KEY_A:    ;关卡增加# U+ H5 v5 l0 g; I8 W2 s2 p* x
  292. LDA KEY_ADDR
    * W9 P2 u, M9 D; w* O
  293. AND #BUTTON_INC    ;按键A或右加关
    6 ?6 M8 F$ q8 \: R: U; a
  294. BEQ PPU_NUM_WRITE
    ! d& L( Z( E8 z0 n
  295. LDA #$FF
    1 w/ e; U8 _0 x2 A% z7 U' V) W
  296. STA TIME_LAY    ;重设标题延时
    ! Z- N4 r" ?/ @  E/ C
  297. LDA STAGE_TEMP/ Z6 e) P8 p4 [+ Z  e
  298. CMP #STAGE_MAX    ;关卡比较
    6 N" S# P* y" B% R5 y
  299. BEQ PPU_NUM_WRITE
    - e- U2 O# ]) @' G2 b8 \! n5 r8 a
  300. INC STAGE_TEMP    ;加关
    5 u! M) k2 ?8 C# E; f
  301. JSR MUSIC    ;按键音效
    & c* Q# V$ K! b3 |
  302. PPU_NUM_WRITE:    ;关卡数字写入地址
    , u. A! J+ `" ?2 z
  303. LDA #PPU_ADDR_H
    2 N5 ]4 i/ |& s
  304. STA $2006    ;设置PPU数字写入高位地址
    & x8 K9 ~5 N- m" x# Y
  305. LDA #PPU_ADDR_L/ Z& ?  }8 f" o) @+ d5 X
  306. CLC% i& Z% Z& B7 P, j% B6 D- Y& U( V, l
  307. ADC #NUMBER_A
    / v5 u9 ?* H6 R" O& ?0 l" q
  308. STA $2006    ;设置PPU字符写入低位地址, {  T) L9 c  F( O
  309. LDA STAGE_TEMP* o5 c5 h; L% K6 G1 @& C
  310. TAX5 j, p: R3 ]' Q
  311. LDA STAGE_D1,X    ;写入数字
    % L. S2 e+ v8 r% K  v0 T3 S
  312. STA $2007
    " |% ?1 J& j( b. ~, T0 t( k
  313. LDA #PPU_ADDR_H
    + g4 G, B5 f3 O' J8 X( A. }
  314. STA $2006    ;设置PPU数字写入高位地址
    3 M2 a" d3 C* B
  315. LDA #PPU_ADDR_L
    / e) z+ |: B1 v, a
  316. CLC
    0 T3 V$ I- T* }& j+ D! V& u
  317. ADC #NUMBER_B
    4 Q4 |) U+ ^1 @9 E, U9 }( A8 I0 v
  318. STA $2006    ;设置PPU字符写入低位地址, ^# U1 s6 y$ t3 f' c, E6 f- i
  319. LDA STAGE_TEMP% u+ m% `: e1 {, v2 ]
  320. TAX  d8 c# B9 ^* q8 o" O5 U
  321. LDA STAGE_D2,X    ;写入数字
      @( l6 T5 ~8 [4 O
  322. STA $2007
    2 f/ Y, M% z  z% ]1 A
  323. STAHE_WRITE:
    . o9 f" x/ C+ L) ^  ?! N
  324. LDA STAGE_TEMP1 z6 ?* k, J; c8 R
  325. STA $2D   ;初始关卡写入' T( V( I" Z" i
  326. PPU_RTS:    ;恢复数据. u, X& u( a- q; a1 c
  327. PLA
    ' a$ V! G3 c5 k3 A1 N! P2 E% ?
  328. TAY7 K1 v. a! `1 a! {: c
  329. PLA0 w9 H  z7 m9 Y8 c( ^  p$ E6 W
  330. TAX
    ' ]% f7 d2 A, l! d/ h( M& o% O2 `
  331. PLA
    2 J; w$ Y5 I5 F) j' [. P
  332. RTS2 H6 U% z3 z2 t, n

  333. 8 N: |8 ]. ]! i, a
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据
    8 E# q" }) i! Q" a7 q! m
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END8 m% u* ]& N& R
  336. 0 @8 z! o- Y& b" C) \
  337. STAGE_D1:   ;关卡数字. r6 v# k6 U/ _7 |' 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
    ( x) Y( V, _, I# D5 G- d; O

  339. 4 u% I3 V: r; {4 m8 c. d6 U
  340. STAGE_D2:   ;场景数字0 v) X9 H/ g' K' {. d7 N
  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. D0 X3 C& y: |

  342. # V! M; S; b. c- t. M

  343. 6 _" @  ]2 y' s' I" K/ F" N
  344. MUSIC:    ;按键音效
    " `9 `. l7 i7 T3 c. B
  345. LDA #$3B    ;音乐号1 j5 _7 i( ^: S, e: z
  346. JSR $919E    ;系统音乐调用, |1 i5 z& c# g+ l; M9 u
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;9 G3 Y" D; ~) k2 _- {9 i
    5.生命加满:   暂停后,按下键切换;" \0 I7 ?2 U& {1 c; t
    6.血量锁满:   暂停后,按右键切换;  b. a' f: p/ }0 }
' l  n6 }( u; |9 Y& M6 n

8 O9 V+ l4 q- T5 v6 Y
6 p9 U7 J8 |* z- [3 e* h# i& k, I( a0 D8 x/ ^( U
4 R9 P% C3 o0 Y: [: L1 N. `: Y
FlameCyclone.ys168.com, U6 E2 X% b. |4 S! P
www.nesbbs.com
0 D3 z8 k$ E5 G  v  v0 f0 R' V
游客,如果您要查看本帖隐藏内容请回复
  z, a  Q: p- |

本帖子中包含更多资源

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

x

评分

1

查看全部评分

签到天数: 187 天

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

签到天数: 2434 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1340 天

[LV.10]以坛为家III

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

该用户从未签到

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

签到天数: 1766 天

[LV.Master]伴坛终老

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

签到天数: 3005 天

[LV.Master]伴坛终老

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

签到天数: 2133 天

[LV.Master]伴坛终老

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

签到天数: 1887 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!
9 R( S3 H8 ~; t+ j+ K% f! s

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1579 天

[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-2-24 11:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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