设为首页收藏本站

 找回密码
 立即注册
搜索
查看: 4150|回复: 63

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

 火.. [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 . S% S& ?8 g& o3 U% c

% F8 v+ R( z9 E( j7 b& T[FC][忍者神龟3][END选关]
8 i8 D" E5 s: m# X$ H1 [' @8 K) l; p* z2 h) ]. L$ Q1 q5 p
时间:2017.3.307 x) Q( T7 d5 h3 R+ k' K
作者:FlameCyclone1 Q5 w$ l9 X9 k0 b0 A6 y  i9 @6 m  N
内容:
- X* N. n+ t. R, T, ^8 Y+ Y    1.关卡选择:   标题时,左或B减,右或A加;
2 V4 a# c9 `7 a    2.全屏击杀:   暂停后,按A键切换;
2 |2 r6 N  e% y$ {    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0& U! n  Z& U: N$ R8 i
  2. ora_data:
    " @. m; `* ?: ~
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10" n2 u& `( a$ V  W' \0 ^: X
  4. and_data:6 S4 x! G5 ]1 u$ K  v
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF" m3 r$ j7 G" _9 k
  6. & n/ j3 i8 ^  x7 e6 i
  7. button = $F8
    # g/ H8 x7 m- p9 m& S
  8. flag = $6000  c1 o0 n- `1 [1 a) V$ ?
  9. pause = $0045
    ( e; ^$ X/ s0 H6 A' i1 I5 r
  10. : o0 Q& L& m9 w; o3 R# X

  11. # l& {) I. S% ?3 p1 G' q! F
  12. .ORG $F90D9 E. w. v0 B4 u+ X, E
  13. JSR $FEC07 q, J6 Y) i  |+ e3 m* L

  14. : Y& y. w# j2 _
  15. .ORG $FEC0
    4 M. J, G9 ?6 A  ^( h
  16. STA $54,X2 j& T6 N5 ?7 v; a9 G0 D# ]3 u
  17. STY $FA,X9 ]( x& g/ ~$ X2 z7 K
  18. PHA
    4 J+ V6 h2 m  C* I% }
  19. TXA/ n% y% d8 D/ o+ y3 K2 x
  20. PHA( x) w* A8 O" N6 v1 }! b0 v
  21. TYA
    , F: I! U+ w" K) x0 c7 i! i
  22. PHA  q3 T4 N! ?% _6 p: C' l
  23. JSR KEY_OPERATE
    , ~+ W' s/ e0 T* ^
  24. JSR INV& I8 S  ~; w; M4 `
  25. JSR LIFE
    4 a9 z* P2 a1 d1 J6 e( a
  26. JSR BLOOD/ c6 c$ M8 a+ k% ~  q3 f8 B" e! _
  27. PLA
    . {; N. T9 o( K, X
  28. TAY
    ! C$ L' M! m* t
  29. PLA
    ' l7 o, b2 p8 R' |8 E. `
  30. TAX
    9 q6 `& I" @- {$ @6 u1 i
  31. PLA" G8 m# l1 a+ f0 H6 J5 G5 J( G
  32. RTS
    & y/ u( X, O, {% Q7 {# Q
  33. KEY_OPERATE:- u9 C& g4 h* I" R
  34. data_protect:
    5 [+ V$ g3 ?5 f4 m
  35. PHA' H% f' u; X  L! Z; o: Z7 l9 E  z( [
  36. TXA" M$ H2 O8 n( p/ H0 G# q0 K& W3 B0 D5 r
  37. PHA
    * U/ A5 t- q" m* V6 h& ]* W
  38. TYA1 A: ^  Z. o- \% {" Q9 `
  39. PHA8 _7 M4 j* @& O8 B# N) y" n

  40. + K* g# G; W/ W# s
  41. FLAG_CMP:! A. |7 |* V7 F
  42. LDA $600F
    , C, ^; R& b3 ]' y! s$ y
  43. CMP #$7F    ;标志数据初始化条件判断$ \. T* D) j" U
  44. BEQ pause_cmp4 D8 y( a9 _8 B0 @" }: J
  45. LDA #$80
    3 k8 M: s, L  B* T/ b$ m% @
  46. STA $A001    ;6000-7FFF写入启用; d8 b- {1 d# \6 m- t
  47. LDA #$00
    2 O/ b8 g2 X, O( ?
  48. STA $6000    ;数据初始化
    ' P) l+ _; H5 Z, S  i7 W# L
  49. STA $6001    ;数据初始化
    ' G9 b) Z" I+ G1 d
  50. LDA #$7F
    ' @8 H) ^4 S, A$ {1 a1 U7 n
  51. STA $600F
    % g, o+ {% W9 u* _
  52. pause_cmp:
    2 b6 A9 k" @* l6 s
  53. LDA pause) `! a$ B4 z1 h# D4 [' m
  54. CMP #$01
    8 E2 E( Z& }# u  ^/ [! Y
  55. BEQ button_press
      e  g% k. \" {$ d, V
  56. PLA
    ; ]0 Q, S4 o, a, |0 z: ]9 O- L
  57. TAY
    % y* z+ G& Y1 t! v  c0 c
  58. PLA2 b# }* z3 D" T+ o6 L0 C' b( v
  59. TAX
    0 n2 o2 S$ m; U; t
  60. PLA
    8 O, @& J0 z3 L0 C7 X
  61. RTS' I7 R  M5 z8 e8 T$ o& v4 I* {: A
  62. 2 ?/ r7 R4 Z7 m0 m$ W8 b+ b
  63. button_press:
    - L0 o8 U" N7 ]
  64. ini_Y:
    2 Q# s4 `- k) r& b
  65. LDY #$00+ q7 J8 z8 o5 Q- x  k7 z
  66. button_cmp:. N0 ~, I# A$ B9 F8 c) z( r
  67. LDA button,X1 t3 L1 k$ o. S) W6 \* `. l3 g7 i
  68. CMP ora_data,Y. c* K. y3 D% L7 C  G5 I% W8 ]
  69. BNE count_Y_cmp2 u- L  S5 F2 Q  V" {$ q+ D" b
  70. flag_cmp:
    - F4 K; c( Y! O0 Y
  71. LDA flag,X
    & w* z, X, [% z. n' h9 F& d
  72. AND ora_data,Y- @/ e5 [7 B9 |4 \. X, X5 R
  73. BNE flag_and3 R, S2 n9 ]$ `' P) @; Z) V/ {2 Q
  74. flag_ora:( a! o5 @" F. R) n2 m) i' ]$ W5 ^
  75. LDA flag,X: }" W6 K  ~2 O3 R2 _" e/ \6 D' Z; A
  76. ORA ora_data,Y& k3 I3 V& e' L
  77. STA flag,X
      ^5 A) |3 q7 C/ L- x
  78. BNE count_Y_cmp5 S4 |3 g& [. S  Z( `
  79. flag_and:
    . U; V& C; c* W1 G# \
  80. LDA flag,X
    : D4 ~! t9 z6 k3 h1 W5 w6 G
  81. AND and_data,Y
    6 }8 `, R7 v: Q) q8 `
  82. STA flag,X
    + S' b4 l# |6 j. H. {) z
  83. count_Y_cmp:
    0 |( B, j+ e% s* a) Q# `9 l/ F5 T
  84. INY# l# V9 G0 }! y2 W1 U
  85. CPY #$08# |; s" X9 `/ T
  86. BCC button_cmp# ^1 ^- S7 Z: y! ?: m2 C% T
  87. , I% t5 D- h# e& L  \" j
  88. data_extract:
    6 q3 K/ G" l( c8 |0 Z8 I* R2 H
  89. PLA
    2 R2 s/ q7 ^; b4 G( m# b. u
  90. TAY
    ( m7 ^6 _) m" h$ P; f
  91. PLA
    * v9 B( w" C5 ?1 s* U! J5 o5 Y
  92. TAX1 W1 \' g) B3 n# k0 s" x" m
  93. PLA+ V8 S. f( B5 F2 v1 l& _8 a2 r
  94. ! Y( h/ t) r4 j* Q. z
  95. return:$ p8 J5 q0 Q+ I4 K+ v' x
  96. RTS% {4 q6 W2 `. v

  97. 2 e' r: {& m  a& K1 G/ [) F* _
  98. + z* t) @  R8 e
  99. INV:    ;无敌
    5 e( l' B  j+ E( N% P, U& \
  100. LDA $6000,X
    % E( d' ^4 P  v( y
  101. AND #$08
    . W  ?' N( z2 q7 A
  102. BEQ INV_RTS
    ) [% \5 w  a, o( G. u
  103. LDA #$05" p- Y% J& l$ m
  104. STA $04FF,X  z2 M, |2 w# S  M3 I
  105. INV_RTS:
    2 T; b/ @1 W$ V1 M8 W
  106. RTS
    1 L1 a" [5 m1 `. `0 T
  107. . w( m  o# U! i" Z; @' Q
  108. 3 D. A& Q5 f5 p: t
  109. LIFE:    ;生命
    - t! L( X6 `' ?# f
  110. LDA $6000,X
    2 ?; d. F5 ^, V) I
  111. AND #$048 L6 V% v) \0 |8 `( O+ K
  112. BEQ LIFE_RTS
    - ~7 G6 N* ]. c3 k' r1 C
  113. LDA #$09: }% ~' G' N4 c) Q4 q* ?
  114. STA $6A,X/ L7 B4 L) i# @* q$ L" z% y! _
  115. LIFE_RTS:
    % ]+ P7 P! S* |
  116. RTS5 n; b, i- {2 I
  117. - d+ r# T3 t8 _9 h
  118. 3 ~  r1 ]- B) U3 q8 e
  119. BLOOD:    ;血量
      X  _( y& ]1 F. a
  120. LDA $6000,X
    ( ]# @: D, A* N
  121. AND #$01
    4 t8 Z, z: @" c$ `0 K2 G* m7 T, u' H
  122. BEQ BLOOD_RTS4 `' h3 Q. a5 m; W
  123. LDA #$7F2 V3 B. B4 r& t( H4 ^
  124. STA $04F1,X
    9 w: {: E3 |) G  G1 B' p# x" c6 O( [
  125. BLOOD_RTS:
    ' g0 _3 p3 c: `' P; K2 L/ s& l4 z# j/ _
  126. RTS
    ' I: G$ y0 s4 M0 Y9 y# o
  127. 6 G  D8 {. E5 `

  128. - e6 [5 `: _- L5 v+ t7 S

  129. ; Q4 q1 Y, }& w* \

  130. % V+ }8 A; j6 l& y6 W  }
  131. .ORG $D29F
    - Y# M/ s% j" x0 k, O( b+ B7 h
  132. JSR $FF80
    2 G) X) A7 R: [6 U' f  X2 E0 {
  133. * k, z: R0 M5 U& Z
  134. .ORG $FF801 ^0 y' V0 n3 w7 {5 d; y' T$ j
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀
    1 |! ~, F9 a8 r' A5 \+ V1 k5 R
  136. STA $0628
    5 _7 }0 Y( Z) W3 u
  137. PHA
    , W+ e; E/ \9 g
  138. LDA $60003 J) u0 M3 r8 F* a9 ?( G+ V
  139. AND #$40! T; p( ]) p: ?, W9 C1 @/ p
  140. BEQ ADDRFF8E
    " V! ^: t* y, i4 {' g4 l
  141. PLA
    & y$ E- n. [* C; |- |1 _+ J. Y. Z
  142. CLC   ;敌方死亡状态判定
    ) Z) c6 x$ O9 n: w7 X5 M1 l7 @8 E+ t2 R
  143. RTS
    8 M( V' @7 V/ m7 s# X) l8 W
  144. ADDRFF8E:
    4 v6 s  N2 \) G' D% F1 Y4 _9 `
  145. PLA4 t8 u! Z# e- w1 O0 U' D
  146. RTS0 M1 D* g, ]5 L7 {; H! y" e
  147. 8 P+ ~% W' i6 l0 |% R* M8 Z

  148. . Y1 X/ u: F9 j4 d
  149. .ORG $D1517 d! C* q. ?6 }7 f6 W2 y; P
  150. JMP $FFA0; Q! i4 T/ ~3 J7 @$ i
  151. ! [2 ?, ~$ Z  e
  152. .ORG $FFA0
    " F. e; O- x6 \) y7 A
  153. KILL_BY_ONE:    ;杂兵一击必杀
    5 c. V- m, k' n5 m
  154. STA $0621,X9 b5 j5 O- ~' t9 k" S
  155. LDA $6000
    ; I1 x. c: q" @
  156. AND #$401 p7 w( R. E5 R, X2 u
  157. BEQ ADDRFFAD% t' v; m8 H/ n
  158. JMP $D19A   ;敌方死亡程序跳转
    1 r# {; m$ Z0 W, u- @  G
  159. ADDRFFAD:
    5 a2 ?# ^" \: U* F, y
  160. JMP $D154
    % j% e  I* s0 x4 k! b; m
  161. # s9 }. B0 Z+ q: i  r* l
  162. 8 Y, t" M) X- \7 K/ e2 [
  163. .ORG $A7F6- I8 k( {- j5 C4 W* e, @/ j
  164. JSR $FFB0
    ( m  C* N; m9 [

  165. 0 I; q& u8 v6 v8 \7 q. x. f
  166. .ORG $FFB0    ;全屏攻击
    - Z7 _4 b; K! m
  167. PHA- B. U0 g1 D9 ^3 |, H4 }( R
  168. LDA $6000* K$ n: d' v- A" \" j
  169. AND #$80' _4 }9 b, U2 A# s
  170. BNE ADDRFFBD
    * Y# G2 k# Z0 @2 |9 b
  171. PLA2 ~/ J: [. w8 Q; Z
  172. LDA $0015# b0 M& c+ y4 ~( J  N) a4 d
  173. SEC
    + J0 V- g8 e5 v6 _$ S& J
  174. RTS
    ' t8 W, ?$ s0 _5 S6 [
  175. ADDRFFBD:
    + w" }- R6 Y) f$ W
  176. PLA! f, D- R# H- k  X/ S' j1 f- K0 a
  177. JMP $A826& K8 i2 r' l  _# C# }
  178. : l/ g6 i2 F. j4 C+ C# x! f

  179. 4 T* E" }) W; y- w& t1 h
  180. ( a- [1 S+ O4 c% _4 a. v$ J
  181. .ORG $AA6A
    3 x% Z* x* e1 ?, [( C; H
  182. JMP $FFD0# g7 t8 p* k- D  ?
  183. 7 m- t* H! }$ J$ `
  184. .ORG $FFD0    ;敌兵动作忽略
    2 p7 i' c; o8 i2 D  A: H$ W/ F
  185. PHA
    4 y7 v8 u$ B& i2 M0 s6 l
  186. LDA $6000  X7 K0 n6 w# D2 f* a
  187. AND #$80
    " W# n$ p5 O4 |. }
  188. BEQ ADDRFFDC/ i/ Q5 o- x* b$ ^
  189. PLA
    - z6 Q) u; G1 L
  190. JMP $AA721 h4 j$ Q  N1 L% @0 }% ^) k
  191. ADDRFFDC:' S2 t& L" J/ y
  192. PLA7 c& I% _: U' r
  193. LDA $0629,X7 q& K; k& T( s0 g5 R/ {
  194. JMP $AA6D
    4 D9 l% ^, D& D2 N
  195. ; u& ~5 w1 s2 k6 _+ R2 N9 p9 ]
  196. ;[FC][忍者神龟3代标题选关程序]! w2 ~$ R" Q  M; E9 v* ?
  197. ;作者:FlameCyclone 2017.4.1
    , e9 G0 {7 N3 L: o9 o5 R6 ]

  198. % R: W( j" |# r9 @" [1 n

  199. ) S( K5 T4 O0 r: Z: S
  200. ;配置数据
    & A: k4 B8 O5 |- }5 e
  201. KEY_ADDR = $F8    ;按键地址8 J2 |: d2 H* k
  202. STAGE_TEMP = $6010    ;关卡临时地址: D0 n; X. {8 T! f  g
  203. STAGE_MAX = $0E    ;最大关卡数
    / s4 r0 }6 ?8 D5 w
  204. TITLE_A = $20    ;标题条件A) k( u" F) {6 U/ ?. r% `
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    " o' p1 U" I! z+ O. h( G- `
  206. TITLE_B = $21    ;标题条件B
    6 V7 x$ s/ a9 a$ o# l( i
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定
    - H; ^4 x- U1 _
  208. PPU_END = $FF    ;PPU结束符: h, \; o) R" K# v) I
  209. TIME_LAY = $4A    ;标题显示延时地址( u" |: U* Z5 R& I- M. f+ o
  210. BUTTON_DEC = $42    ;关卡减少按键" P" O! E1 P. F
  211. BUTTON_INC = $81    ;关卡增加按键
    % E! c* Q: C  y1 H) D
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量7 j0 M: {" ~2 Z, r6 @
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    7 T8 K, k& R$ b1 z% G% a
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
    3 F9 c" T9 `5 X9 I# a0 J) V; ?- t2 d- ?
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位
    - t1 B% u8 b; b  |' D" h) s0 L
  216. CHAR_S = $A2    ;字符'S'  _8 B$ \" ]. G% ^! A+ D8 L
  217. CHAR_T = $A3    ;字符'T'
    1 w* R8 u+ `8 f6 h; Y! l; f
  218. CHAR_A = $90    ;字符'A'3 L# w+ d1 `0 D: G4 Q
  219. CHAR_G = $96    ;字符'G'
    ) ?0 |' E; \+ M6 o' r$ f
  220. CHAR_E = $94    ;字符'E'
    & _/ G0 z6 d, R! z0 E+ d
  221. CHAR_SPA = $00    ;字符空格
    1 c+ ~. \5 M8 Q/ t
  222. CHAR_LIN = $AE    ;字符'-'
      s" d. S& R1 t
  223. CHAR_O = $9E    ;字符'o'% y# ~! H8 H+ m
  224. NUM_1 = $81    ;数字'1'( C7 n7 i. Q( O  Y
  225. NUM_2 = $82    ;数字'2'! j9 y0 n) h* U8 y) o/ U# c
  226. NUM_3 = $83    ;数字'3'
    ) {4 N- D2 D: W2 K+ c
  227. NUM_4 = $84    ;数字'4'6 v! X- H- v6 z+ ^7 |$ w! M0 G
  228. NUM_5 = $85    ;数字'5'* Y7 e5 e4 T  ^9 b9 d: h7 o0 U
  229. NUM_6 = $86    ;数字'6'
    ! K3 u- _6 d3 q+ B( w# t% ~
  230. NUM_7 = $87    ;数字'7'5 J& l# b2 K5 R! X0 ^
  231. NUM_8 = $88    ;数字'8'4 ~  [8 q: z( U# ~5 X
  232. NUM_9 = $89    ;数字'9'. f. s( l1 H* `& P9 D+ C
  233. NUM_0 = $80    ;数字'0'
    9 H0 c- U, T3 m, p
  234. 1 [  W- ?5 |- i+ P+ s* B
  235. .ORG $F82A
    9 b: X1 I& P# E
  236. JSR $E700
    / `- D6 ?; Y4 q  f
  237. ; v' x1 C6 O( t" @0 H1 l  _) I3 f
  238. 6 M* \# ]& R- n! Y8 I( a
  239. .ORG $E700( k; w- ^) [& A4 D+ C4 R
  240.   
    5 L1 j& o7 j: t7 k$ l+ L6 l
  241. STY $4014    ;补上覆盖的精灵写入指令
    ; G: Y- ]+ K0 o- X
  242. PROTECT_DATA:    ;数据保护
    8 _) g! r, `# [' `1 R
  243. PHA    ;数据保护开始6 y! Z- a5 A0 g: Q
  244. TXA/ J1 O2 F/ c8 X8 T- V
  245. PHA
    ( R$ M* X3 X9 W! i8 K1 W
  246. TYA- v( ?+ [# \9 m$ q
  247. PHA    ;数据保护结束- L5 x9 G8 h/ s, N' \1 N/ w
  248. LDA TITLE_A7 E) X$ {+ x: Y! g
  249. CMP #TITLE_A_ON    ;比较是否为标题画面
    7 d- z: @* T: m# Z( |: s6 y
  250. BNE RET
    . O1 M, ]% K4 R  w6 r) K) J
  251. LDA TITLE_B2 g# }: C" S! G
  252. CMP #TITLE_B_ON    ;比较是否为标题画面
    * k1 j! a5 y( e8 L, _
  253. BEQ PPU_STAGE
    0 @! o/ G3 p1 s: J! ~; G
  254. RET:    ;恢复数据
    % J- z; k% k7 e+ K* Q
  255. PLA    ;恢复数据开始
    9 |& C, Q+ x; n1 E0 f3 K3 S
  256. TAY
    / V4 \! n6 f% `; L; j5 m* z
  257. PLA
    0 o: B, E, p0 V4 v$ e- ~2 R
  258. TAX5 m  a2 D1 h/ ~" s& ?8 x
  259. PLA    ;恢复数据结束1 r  M% z' ?% O6 w! t
  260. RTS    ;返回. w6 l4 g5 K  b1 d# k4 Z
  261. PPU_STAGE:    ;字符STAGE写入程序2 Q1 E* @9 d! c; d' V- J
  262. LDA #PPU_ADDR_H ' W5 m  P8 I! Q' L: X
  263. STA $2006    ;设置PPU字符写入高位地址
      n! {4 d  J! e. n3 ^
  264. LDA #PPU_ADDR_L6 h8 ^2 Y% k. W/ d  h
  265. STA $2006    ;设置PPU字符写入低位地址
    # `, [1 W7 |, O# Z
  266. LDX #$006 W4 O- g& [" E# A4 T4 L
  267. PPU_STAGE_WROTE:    ;写入STAGE字模7 x, ^& \& O: r" J( e+ _6 R3 |- H
  268. LDA STAGE_DATA,X( f! q" R- }; E
  269. CMP #PPU_END    ;判断是否写入结束9 H& c; }8 x" ~
  270. BEQ STAGE_CMP! G: Y" i& Z  X6 ?/ O
  271. STA $20072 |# Z: e5 F3 K9 g
  272. INX0 c$ O! R0 k$ I! Y. ^- S. y
  273. BCC PPU_STAGE_WROTE
    ( V& p) a+ L2 ?& b2 l
  274. STAGE_CMP:    ;选关操作+ H3 ~0 p2 f; s5 Q4 m% [
  275. LDA STAGE_TEMP: i' f( K- c, o- s
  276. CMP #$FF    ;关卡数据初始化条件判断( d7 |$ P" B* n2 |" s
  277. BNE KEY_B
    ( o, {3 ?/ M4 P! a3 f' k
  278. LDA #$005 n" g: D6 {9 S! {) c/ v  K- ?
  279. STA STAGE_TEMP    ;关卡数据初始化) C7 ]: ~- ?  n6 I0 ]
  280. KEY_B:    ;关卡减少& k' [- i' F$ r( o( u7 b7 q' X
  281. LDA KEY_ADDR$ ?/ c1 L$ K3 I5 Q+ M" y
  282. AND #BUTTON_DEC    ;按键B或左减关% b& b: p4 B3 e
  283. BEQ KEY_A
    ; J  X$ C, Q" Q) A- w7 b
  284. LDA #$FF4 p& ]: H7 y) W9 p# U8 [% ?0 _5 F
  285. STA TIME_LAY    ;重设标题延时/ R. q$ }% c& X5 t6 V6 x9 j
  286. LDA STAGE_TEMP  y6 @; z* C) {+ H2 `
  287. CMP #$00    ;关卡比较' D/ M, ^  z, |# ~+ ?% d
  288. BEQ KEY_A1 a# e5 p9 k" Z
  289. DEC STAGE_TEMP   ;减关
    % @: O3 A5 ^1 d7 r( z; T! x8 g
  290. JSR MUSIC    ;按键音效9 S4 q1 Q, q. n& u5 \
  291. KEY_A:    ;关卡增加% G4 e) i; L5 l- z$ I
  292. LDA KEY_ADDR  C- Y" @! A( {
  293. AND #BUTTON_INC    ;按键A或右加关& R  N1 t9 u+ t/ j7 m1 ?
  294. BEQ PPU_NUM_WRITE
    " K& t0 l: ^5 ^
  295. LDA #$FF
    8 e2 W3 e! A2 p5 v, x
  296. STA TIME_LAY    ;重设标题延时
    8 \$ f, S: G) U8 k3 S* X
  297. LDA STAGE_TEMP
    + y  \4 l. c, G
  298. CMP #STAGE_MAX    ;关卡比较
    0 S# s# V9 d- L+ ]
  299. BEQ PPU_NUM_WRITE
    1 q1 s: d1 X- `! B
  300. INC STAGE_TEMP    ;加关/ Y" O, j3 J( W# ^. X" t
  301. JSR MUSIC    ;按键音效9 I. b1 M- y' _. f8 `3 Y& v
  302. PPU_NUM_WRITE:    ;关卡数字写入地址. G4 T6 L; T+ ]4 F' p
  303. LDA #PPU_ADDR_H/ g1 s( }/ U: m
  304. STA $2006    ;设置PPU数字写入高位地址* F# v$ `4 @& r, ?
  305. LDA #PPU_ADDR_L
    . R  {! v0 O# p' g/ t) M3 O
  306. CLC8 z+ k* r: b/ G6 R; B
  307. ADC #NUMBER_A
    " L  a  Q6 G7 ~
  308. STA $2006    ;设置PPU字符写入低位地址
      K4 M# x; m5 s0 a+ t) _
  309. LDA STAGE_TEMP
    2 A, G1 `1 G7 r5 w
  310. TAX
    ( [8 M7 j6 A6 X2 K7 ^
  311. LDA STAGE_D1,X    ;写入数字
    1 V  c, u& d  U' j# X/ [2 X
  312. STA $2007& L3 }1 B% I. ]0 _$ x
  313. LDA #PPU_ADDR_H
    2 z* f  H% {  O" J
  314. STA $2006    ;设置PPU数字写入高位地址3 o9 f% b( s/ }- p, }3 Z; \
  315. LDA #PPU_ADDR_L
    9 q9 f4 Z- F/ _! ~# O
  316. CLC0 O# }  Z; m5 g2 `- \* A. h2 X# h
  317. ADC #NUMBER_B
    3 g0 ?) _3 m) p1 i! d0 g5 ~
  318. STA $2006    ;设置PPU字符写入低位地址
    , p/ P. ]0 i/ G1 H/ I5 P
  319. LDA STAGE_TEMP: C0 g8 [% s# d1 \, p
  320. TAX
    , Z1 j/ U! r$ {$ u* ]2 h  v! ^
  321. LDA STAGE_D2,X    ;写入数字
    4 c$ y5 e) m# h( v9 g
  322. STA $2007* G  ~! ?( m& h/ j" Y- a5 C7 f, a
  323. STAHE_WRITE:" d8 G0 a3 _  R- G1 N; t% F
  324. LDA STAGE_TEMP9 N# T, m# z0 P0 ]8 w+ s3 V
  325. STA $2D   ;初始关卡写入
    9 k; {) g" _3 c1 Y! `) P2 C6 F
  326. PPU_RTS:    ;恢复数据
    2 ]' N8 ^( q+ f8 X/ o2 \
  327. PLA" U- M3 m5 \* R9 S2 w5 n+ ]; \# R
  328. TAY
    9 ?/ i" F- N2 C. h+ c
  329. PLA" Z: @* J7 P& m, q$ O, L
  330. TAX+ h2 t  [1 n  R" S( w) M
  331. PLA8 s: o! J& w+ r, S% c
  332. RTS
    6 R8 b; i/ Q" v& @# W: c, Y, f

  333. 2 d: a7 r: j$ @4 \: N9 o
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据
    9 |% m' ~) C$ I# L
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END' s; e( N1 M1 d; l$ {
  336. # ]& u; l) K6 t* b, a6 {
  337. STAGE_D1:   ;关卡数字: C1 h) P  v* z2 z2 F( A7 Q, q0 [& f
  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& Q$ S2 H: P# V( y# K* @. X

  339. ' q3 J% q/ ~( e9 E
  340. STAGE_D2:   ;场景数字* L- X' n6 Q7 c9 B% r9 x
  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
    ( K, }9 @; _8 C5 E4 `0 Y# z

  342. 3 p" e% X* @9 K' y6 X- n

  343. & v; w5 w, i- X& J6 w+ ^5 [4 E& w
  344. MUSIC:    ;按键音效
      _" ~2 z, x. d: \0 s2 g
  345. LDA #$3B    ;音乐号
    4 ^" n* u3 r/ n) [. \% w. Y# y1 a
  346. JSR $919E    ;系统音乐调用
    * N9 c7 ?7 y7 O) m/ N1 J
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;6 A  v; J# V! S+ U" @" R3 n2 Y
    5.生命加满:   暂停后,按下键切换;& U' P' r! r5 ~$ C7 X5 v) z3 }
    6.血量锁满:   暂停后,按右键切换;( r0 n& J: G' T8 |* {0 R" Q

3 l; R& _3 Z1 }4 q3 ?+ e# E0 g
8 ^0 l" t  a, t
- f) e8 G% A2 U) Y8 q- q  ]; P' c* ^" Z4 O' e
) J- H6 |8 `1 x  T0 @
FlameCyclone.ys168.com5 ?, a: w, Y2 r% x- U& I
www.nesbbs.com7 u0 `: h3 q4 e& x! f$ d; I
游客,如果您要查看本帖隐藏内容请回复
9 K( d) k" Q3 ~5 C

本帖子中包含更多资源

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

×

评分

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

使用道具 举报

签到天数: 2558 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 71 天

[LV.6]常住居民II

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

使用道具 举报

签到天数: 1484 天

[LV.10]以坛为家III

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

使用道具 举报

该用户从未签到

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

使用道具 举报

签到天数: 1783 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 3156 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 2290 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 2045 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!
  K. h+ K. _# z
回复

使用道具 举报

签到天数: 179 天

[LV.7]常住居民III

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

使用道具 举报

签到天数: 1622 天

[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-8-19 22:23

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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