EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑
; M' _1 d% `# u  U2 H( }1 I6 |# R
[FC][忍者神龟3][END选关]. m5 R7 q: `/ H6 M5 n* M7 Y7 T
( f; D) C1 S+ f* G
时间:2017.3.301 b7 U* ]& r3 i  z& ]; U+ C
作者:FlameCyclone
; E1 g; U* k$ e" g, [( m8 p内容:1 A! U2 U) g: v# R
    1.关卡选择:   标题时,左或B减,右或A加;1 E) b4 h5 P, f+ W4 X. s3 u
    2.全屏击杀:   暂停后,按A键切换;
4 H. W9 `6 W# H0 R+ o# i  ^    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0
    + b7 X, @; I: p8 P
  2. ora_data:( ?, D' L) t+ z  d$ m: k
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10
    ( B" D7 l% y* J, I1 u
  4. and_data:
    " m$ p5 X1 t* m" c9 {2 ?/ w
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF1 U& ~( m$ [+ G* H+ k

  6. & f7 v3 Y: o, n3 d
  7. button = $F84 ^1 z1 J/ C7 C7 ~$ o
  8. flag = $6000
    ' I0 |6 S  F- h3 c3 O
  9. pause = $0045
    . R5 ^% s6 M; p) |
  10. 2 U* q) R4 D- N* w" u/ @

  11. 9 X9 k6 C5 z5 N) Y+ D0 }, f
  12. .ORG $F90D4 w; y6 N, Y! G! E
  13. JSR $FEC0
    7 ?1 l8 s' p) D/ `! H

  14. 1 c+ k1 c' G9 [- ?
  15. .ORG $FEC0
    2 X7 K- e) Q' I5 T! D
  16. STA $54,X
    3 Q5 W* G( ~# `
  17. STY $FA,X" l6 S* U4 m9 o; t  I9 q  e
  18. PHA* {& \: q6 E1 z4 l" h2 v& d+ E! Y
  19. TXA3 m  @5 T, F, T# }, J4 G; U
  20. PHA
    ; t2 N$ T1 j. J: ]7 j$ V! k
  21. TYA: E7 r( b% c7 M
  22. PHA
    8 T' k) h6 A4 Y/ K. {
  23. JSR KEY_OPERATE
    # @# h* h  f! K' `
  24. JSR INV/ m% G; w7 ^! a
  25. JSR LIFE* q  u+ P9 C  g+ G- m
  26. JSR BLOOD4 P: m* e3 [( s
  27. PLA
    9 L: y) u' J# N% M7 s1 O
  28. TAY% E+ v8 h" Y! ~  A, R( l
  29. PLA
    3 [" o+ M# ~! S% T7 f
  30. TAX5 n, e2 N4 K/ N; T, S
  31. PLA
    ; e- i5 a1 Q0 T* L( T
  32. RTS  u- X' F6 N7 V6 M$ j+ ~
  33. KEY_OPERATE:
    " C* ~! I2 T+ w) b7 h5 }4 ^
  34. data_protect:
    " V; \/ i4 F, Z* a" ?
  35. PHA
      u' `, a, B- c3 b
  36. TXA
    ( j% d- a& N. I& g- f' W* |
  37. PHA5 k+ T$ P' P- G) h1 x; a' E
  38. TYA! o$ @  r: a2 d1 v
  39. PHA
    ' m( a8 I( s/ ?. q4 U, ~
  40. " |) u  j% ]0 J8 `5 T0 w
  41. FLAG_CMP:
    : ]4 Z7 U; T' }+ X4 D
  42. LDA $600F2 V& }6 N- ]5 U# n' V/ a& @8 y
  43. CMP #$7F    ;标志数据初始化条件判断  _  r4 b' M9 d( c: ^; y
  44. BEQ pause_cmp
    ; p: M! L, c0 f# P$ S1 z
  45. LDA #$804 }% J; B6 k+ s; J* `# L$ z
  46. STA $A001    ;6000-7FFF写入启用" g- O- l! M9 R' T, v% Q
  47. LDA #$00
    8 ^# {+ V( p4 i3 ]
  48. STA $6000    ;数据初始化
    9 X7 p, g% F# f8 @
  49. STA $6001    ;数据初始化9 e8 e8 g( y; z
  50. LDA #$7F% E2 s/ J  H0 b: U$ ]. e# v! l4 ~
  51. STA $600F
    # z. W7 h7 U- t+ t+ G
  52. pause_cmp:) X* V, Q$ j. W: Y: M0 q% z+ X; Y
  53. LDA pause+ J$ ~" ~0 t3 @* ~# K2 y) Q
  54. CMP #$01
    6 l$ y8 f0 v. v4 _/ H- G5 M! z
  55. BEQ button_press4 \3 ]2 Z4 A' x* |1 n  r' g/ M
  56. PLA
    / J% @& T# D; F8 M
  57. TAY
    4 c# R6 U: Z* Z2 v# A& T+ U5 ?
  58. PLA- q$ c7 L  q$ G9 \$ D0 ]6 b7 ?
  59. TAX9 C6 e' Q& p/ v, m( l
  60. PLA: x  B! E3 J0 t9 j! m/ w7 D
  61. RTS: p4 L; ^1 Q1 [
  62. ' h! M. r) n" q- J$ l
  63. button_press:
    3 G3 P' R- y! e' S( H- x1 O
  64. ini_Y:
    ; {  W% l1 P# N6 r& Q
  65. LDY #$005 g% n. @$ R9 \
  66. button_cmp:8 l. x* U1 {- s" Y
  67. LDA button,X' U/ `- ]" h9 B& z
  68. CMP ora_data,Y
    4 Q8 T4 R% ?, W) o- p  A8 _5 b( `& Z
  69. BNE count_Y_cmp8 [2 j7 q' l+ m1 j, c* R) t
  70. flag_cmp:
    + |! |+ L, S$ d
  71. LDA flag,X
    6 H' R1 d; l  d- K$ v
  72. AND ora_data,Y
    % Y7 J3 |  C6 L1 S& Q: ^1 W) ~
  73. BNE flag_and
    ' s- A# W) C- d  q$ o
  74. flag_ora:' z0 [7 s7 s- x  M( v* G" p
  75. LDA flag,X
    ; Y! X5 v7 |' r) z' o+ V
  76. ORA ora_data,Y) K0 y3 V" E9 I  h: E! H8 I: X
  77. STA flag,X; n. ~8 C) V8 C$ k% X0 I
  78. BNE count_Y_cmp
    9 i/ L2 @/ K7 g# `$ Y6 o
  79. flag_and:
    , o9 |4 d% g9 Y% u2 B, j
  80. LDA flag,X6 t, r% B8 U! L( B  h' N$ _
  81. AND and_data,Y/ ^, N; v3 Z: U: {7 ~% }
  82. STA flag,X; P; w! s8 o7 q. V
  83. count_Y_cmp:& W2 e; p, s1 m0 G( q. u9 Q$ m
  84. INY
    ; T& O! K6 b  }" o/ L
  85. CPY #$08
    0 D& {* u1 ^- F7 n
  86. BCC button_cmp
    : T# B# j. j" \
  87. ) Q# ~  N( l! _& M+ D
  88. data_extract:. e% n. {0 |2 [# D" |1 j$ j. m
  89. PLA! G( c0 Y& |2 i9 V
  90. TAY
    2 {' H( g, y3 Q. U2 |7 w3 Y$ K
  91. PLA& S' m$ J" w/ F$ s, D3 T! @
  92. TAX* G/ G7 |" v1 S; E$ I2 G) ?
  93. PLA4 K" T0 j5 b) c7 h1 C# {
  94. 0 L6 N) u; t/ f- R$ u
  95. return:# z! P' x9 S, n2 j9 }' c
  96. RTS
    4 w( p% x: Z: t+ K  t$ H& z

  97. + D6 ?* p! x/ M% f  w- R

  98. " D# k4 \& S5 K% H) m6 g3 W2 E
  99. INV:    ;无敌/ f* H/ b, V: C& I" r+ A
  100. LDA $6000,X1 D" I  M8 X3 S$ D; S- D8 U6 ~
  101. AND #$082 T- J7 q9 U7 W' e- R8 ], c
  102. BEQ INV_RTS5 a) |8 ]3 P/ d& U$ c) u) }2 Z6 ^
  103. LDA #$05
    , I* v8 v( x' S- }" i
  104. STA $04FF,X
    1 L- J$ b' O  d# h! a$ ^, `' _3 w
  105. INV_RTS:( u" r7 M- \( R4 C4 O
  106. RTS* T9 q* D" J, k- K+ r8 Z% G/ p

  107. $ |$ _; r0 z& ]. ]. _3 {
  108. 4 m* s  W1 N( r) r
  109. LIFE:    ;生命% Z/ V, B: v8 L* t3 P! h3 Y/ [
  110. LDA $6000,X
    / W/ K% {4 M  c& E3 B" }
  111. AND #$049 R! d# G  v4 O- e' @) I4 A
  112. BEQ LIFE_RTS
    : O4 c7 E+ d/ p9 {1 b
  113. LDA #$09+ x: G+ P8 _8 i% q' s' Z
  114. STA $6A,X! m4 U$ U) @/ ?) b/ M9 `9 L! G
  115. LIFE_RTS:' B7 v+ K( s4 @/ j" h
  116. RTS
    8 u- N0 ^# Q# S0 k8 u7 n8 A
  117. . Z6 W& n( O& D9 J. W
  118. $ _- ~* K9 h' o8 j
  119. BLOOD:    ;血量9 N) N: [) j+ o, b9 D" A$ Y
  120. LDA $6000,X( H! l, e4 G" B. H( C8 }! O
  121. AND #$01
    ! ]4 E5 F8 ~6 X
  122. BEQ BLOOD_RTS
    2 x/ d8 g! O+ p
  123. LDA #$7F
    0 E: I* A2 e* Z4 i: K
  124. STA $04F1,X& V+ g" }1 d' f6 q; r, b+ }& I- m; C/ k
  125. BLOOD_RTS:' A, F+ x/ D# J. s5 q7 g- O+ P
  126. RTS
    3 B: H* O- }6 m) P
  127. + I" u0 F+ `1 }6 y% Y6 [
  128. . ^& M/ u+ \2 V; M

  129.   j8 g  H5 ~$ A7 u" n
  130.   T; u# d3 D8 _- g
  131. .ORG $D29F
    + v6 T- w5 L. W
  132. JSR $FF80
    3 C, L1 ~7 M" L$ k  T

  133. 4 j/ i& l: s! O; f3 p/ [
  134. .ORG $FF80
    3 h; X2 f0 L, B- P8 e8 H2 Y
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀
    ' C7 J! T. H3 i* J) M9 c1 ^
  136. STA $06285 F- i( Z; s* N- C
  137. PHA( U0 F" q9 u1 v0 c0 ~8 |
  138. LDA $6000
    * v  P! ?3 U6 O. w/ v* ?" q
  139. AND #$40$ E' h! M' Q: v" N/ m
  140. BEQ ADDRFF8E" W/ q. @) U, P
  141. PLA
    0 M" y5 Z  q2 m
  142. CLC   ;敌方死亡状态判定: M9 j; P* `9 @3 j& t
  143. RTS
    . j" R3 I4 L% H* v5 U& U
  144. ADDRFF8E:
    8 Y3 V6 J5 ~* K* c2 h, Z
  145. PLA
    0 {$ K! D# }8 m+ Z3 X0 e' j
  146. RTS/ i8 }! k1 ?) P
  147. $ C$ A* d2 C1 p) ~9 L0 M4 u% @  q
  148. $ T- ?( A. I& X' T
  149. .ORG $D1515 r! e0 _$ m. e- E
  150. JMP $FFA0
    * J" L0 h6 v3 n( U! ~' n2 r

  151. 9 p- G, `( c/ M' ~
  152. .ORG $FFA0
    , h$ ]# k: e6 e) E! G
  153. KILL_BY_ONE:    ;杂兵一击必杀
    " S8 H6 E' D/ Q; N, x# o7 \
  154. STA $0621,X5 X6 G. k1 `1 V4 @( G
  155. LDA $6000
    : F: R: b6 J  r" V2 }' J
  156. AND #$40
    & S* E8 E* I6 T* k2 A) n
  157. BEQ ADDRFFAD  K2 R3 `* A$ U* @4 E
  158. JMP $D19A   ;敌方死亡程序跳转8 X- B# f9 _9 g: O+ c( k9 d% F
  159. ADDRFFAD:
    1 r7 X/ }& O6 c& e9 j& w
  160. JMP $D154( y4 Y! U# G' ^* R( @0 a+ u) t. ^" Q
  161. ) L/ k1 K& V8 L* l" s, A8 R' j# F
  162. $ I9 H2 y3 O) _  Y( z" Y
  163. .ORG $A7F6
    * l+ D& A9 o& G) m7 Q. ~
  164. JSR $FFB0
    ' ~: s6 y$ O2 w) W& H

  165. $ I2 b; W; k& T8 v& m
  166. .ORG $FFB0    ;全屏攻击, ?8 y/ X. w: R$ E; {$ V, h
  167. PHA9 W$ k; x$ J7 Q" a, @0 X) o) z* M
  168. LDA $6000: ?0 W  X0 ~' q- k' H
  169. AND #$805 l: |/ i+ U# p8 A, f7 B" l: L
  170. BNE ADDRFFBD/ E, O$ {. i+ ?2 C4 \. l1 ^
  171. PLA
      d* M8 s1 W& ]$ G: O
  172. LDA $0015' W& |% J+ c* \9 [1 u
  173. SEC
    ) T9 a0 |+ A% I$ ]' v
  174. RTS& J* K. y0 {6 z5 A, K" N2 _: M4 m
  175. ADDRFFBD:
    $ e$ J& d+ o& R% r" _+ n! |
  176. PLA
    : y) B) f3 R6 m: p
  177. JMP $A826" H" @) f" l/ o% U  P. l& d
  178. 2 X/ K( u* o; b% \

  179. 2 g+ Q3 U* q' D2 d

  180. + A# A4 ]0 w* }2 b  j; H
  181. .ORG $AA6A
    ' b5 W2 D1 h- F4 @3 W% E4 c
  182. JMP $FFD0
    - H# e; e) P# E! c& E2 K
  183. % h1 ~7 U( k( k
  184. .ORG $FFD0    ;敌兵动作忽略0 Z& f! D6 }6 L# j' b$ f0 s8 ?: g1 D
  185. PHA) P: A" q0 E; Y: D; l. m  {7 i
  186. LDA $6000
    3 W$ `- A, o) T7 \
  187. AND #$80
    % F* v2 z; D# s, t( ]/ @5 F
  188. BEQ ADDRFFDC
    ) \/ g) u- Q" o) h
  189. PLA% B5 G8 b& I1 M( ?2 Q; j+ Q( I% O: l
  190. JMP $AA727 L. p. ~/ v) L
  191. ADDRFFDC:8 F3 m" r6 _  R4 l
  192. PLA
    5 S! Z0 n  e. ]7 x
  193. LDA $0629,X
    5 U$ i5 p, j" F8 i3 D$ f
  194. JMP $AA6D+ c8 T; k( O. K2 \) c/ S' s, \

  195. 8 y7 X& a) C/ H1 T4 c
  196. ;[FC][忍者神龟3代标题选关程序]5 T$ w" y  |5 q. G: {1 Q. B& D9 X
  197. ;作者:FlameCyclone 2017.4.1
    ' I# _2 K; h& p

  198. 0 w3 x6 y: k+ B: \0 t2 k9 ]/ L, V
  199.   O4 |# i$ X; Z0 g6 Q
  200. ;配置数据
    ) ^& ]1 k; ~. R) ~0 p
  201. KEY_ADDR = $F8    ;按键地址
    ' J# H7 Z4 ]; ], e: T, w0 E9 I
  202. STAGE_TEMP = $6010    ;关卡临时地址- O3 l4 o1 m  i# J! O  \
  203. STAGE_MAX = $0E    ;最大关卡数
    7 z: U" O7 Q% l7 q+ W. ?
  204. TITLE_A = $20    ;标题条件A* a5 d1 b9 H, v1 f
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    ( E1 O: {1 z9 i# ?
  206. TITLE_B = $21    ;标题条件B
    7 I7 k. ~' _% D- ^; N& B, W
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定% ?5 P- g0 s# \6 V# f( H8 n
  208. PPU_END = $FF    ;PPU结束符. A1 M) E4 ~* H6 b# j
  209. TIME_LAY = $4A    ;标题显示延时地址& N2 O1 p) q0 [7 i  [! T7 V0 w7 \
  210. BUTTON_DEC = $42    ;关卡减少按键+ Q- A* F6 F5 k  L9 g% X
  211. BUTTON_INC = $81    ;关卡增加按键% _+ v; Q% p) c7 v1 g: \
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量; E! F0 V" F! {8 h& |- |- \7 M" B6 A
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
      H; {! Z% u% A
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位8 H( p/ R! P" v/ O7 j
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位
    ; u' A% S8 g1 H5 C$ I- J) r
  216. CHAR_S = $A2    ;字符'S'
    . ?: z. @; e1 R+ J
  217. CHAR_T = $A3    ;字符'T'0 s; \7 |0 t4 D8 p- b
  218. CHAR_A = $90    ;字符'A'
    5 q& _( l/ Y/ j
  219. CHAR_G = $96    ;字符'G'
    % ]+ u; w! S% C3 [9 c
  220. CHAR_E = $94    ;字符'E'0 `; Q$ ~' Q" P  z6 B
  221. CHAR_SPA = $00    ;字符空格
    2 \( ?9 q+ D: `+ O8 B
  222. CHAR_LIN = $AE    ;字符'-'
    : C  `! h" f# R9 @- i& T+ U
  223. CHAR_O = $9E    ;字符'o'
    4 j2 z3 o+ o' u) h) L1 i' S
  224. NUM_1 = $81    ;数字'1'
    - u7 w8 b1 X) o5 V- G
  225. NUM_2 = $82    ;数字'2'9 c- G9 J0 g" {7 u9 K
  226. NUM_3 = $83    ;数字'3'
    ( S/ I" }% s: P6 u4 S. I  P# I
  227. NUM_4 = $84    ;数字'4'9 D4 z- T# o, o$ m  [5 s, E8 I3 }& e
  228. NUM_5 = $85    ;数字'5'
    : z& l) l) f, |9 g
  229. NUM_6 = $86    ;数字'6': U/ n2 |) q8 @  Y, q
  230. NUM_7 = $87    ;数字'7'
    9 m4 S+ ~! I" w% b8 x# n* H' d: a4 l
  231. NUM_8 = $88    ;数字'8'  ?  N, z- @# j3 k4 `1 |5 ~
  232. NUM_9 = $89    ;数字'9'# T' S0 c) q3 i; e# e& V2 R$ ?( i/ Z0 h) d
  233. NUM_0 = $80    ;数字'0'
    & v4 z/ z5 A5 p4 ?! g: B! D

  234. % ^, @  H8 k: ^' h
  235. .ORG $F82A% [, x) L/ {! H
  236. JSR $E700
    9 E+ `# S: B9 x4 v, |0 B
  237. * G; I7 d1 h% c2 S) ^4 a8 A6 P7 d7 P
  238. ( u- ]$ X& I+ n' G0 A0 h
  239. .ORG $E700- y. @5 K, |* D4 n
  240.   # b. C) ^5 E, `" H& r6 D% b% o
  241. STY $4014    ;补上覆盖的精灵写入指令0 W0 U+ P% ], C1 W) |3 v
  242. PROTECT_DATA:    ;数据保护
    - g( q/ N: D) `1 i
  243. PHA    ;数据保护开始
    . ~: d# v' Y2 u( Q4 w
  244. TXA
    ! D% C0 y) y0 A1 `3 ]6 ]7 o! C+ h
  245. PHA
    $ K3 G- m6 J4 S3 v0 |  m; d9 A+ k" z
  246. TYA  R- g" x: y# M! p' ~. ^5 _9 c
  247. PHA    ;数据保护结束
    * p; }5 {0 d& l) `
  248. LDA TITLE_A
    8 ], ~/ }( c" N' ~% u9 h9 Q2 t
  249. CMP #TITLE_A_ON    ;比较是否为标题画面3 w1 w. `) R' [3 y" d$ ]" B6 @3 w
  250. BNE RET# U6 p2 X6 H% e- I( F& G& h
  251. LDA TITLE_B& g  q5 x, w3 p
  252. CMP #TITLE_B_ON    ;比较是否为标题画面% m9 F* L3 ^9 n  D
  253. BEQ PPU_STAGE/ u1 Y6 g) z. k$ E" \% @
  254. RET:    ;恢复数据
      Y& [1 q6 n2 f) u* n) p1 }
  255. PLA    ;恢复数据开始
    ' j; z+ O7 D6 s, b
  256. TAY8 C' p3 d: l0 h$ d+ v2 \  l
  257. PLA
    0 ~. a; T) C1 x; ~0 |
  258. TAX, N7 V5 S6 _9 L( A& o. [4 L
  259. PLA    ;恢复数据结束7 i3 y- R/ B7 `5 ^2 ~' t: E
  260. RTS    ;返回
    7 `# k3 F* e' b2 P+ O3 _/ m2 |3 J
  261. PPU_STAGE:    ;字符STAGE写入程序
    7 Q/ r. [$ a" Y7 {. Q& C$ f% q1 K6 J; k
  262. LDA #PPU_ADDR_H
    2 d# I5 v. v3 S% g8 j
  263. STA $2006    ;设置PPU字符写入高位地址; D* `1 ^% g% I
  264. LDA #PPU_ADDR_L
    6 m4 H' _# _+ n  ^% e9 B
  265. STA $2006    ;设置PPU字符写入低位地址% `4 Q) Q5 q; `4 ~
  266. LDX #$00. v% S6 ~# ^8 _: I5 D" s9 \' ]
  267. PPU_STAGE_WROTE:    ;写入STAGE字模* }1 ?. [! W$ ]  J
  268. LDA STAGE_DATA,X
    + S1 i8 v9 Z4 z6 m
  269. CMP #PPU_END    ;判断是否写入结束/ O8 _  f4 N7 ?' C
  270. BEQ STAGE_CMP: _+ l$ a& H# w! a0 [4 l5 B$ U
  271. STA $2007$ x" g, f5 U- e$ p' k8 k9 V
  272. INX
    + h; z* p; i8 y1 r
  273. BCC PPU_STAGE_WROTE
    3 R+ L& `" Q! m# t+ m# G
  274. STAGE_CMP:    ;选关操作1 W" J- x) W  i& C, P4 O
  275. LDA STAGE_TEMP
    ) Y4 w6 L9 w/ m2 ?  n! _
  276. CMP #$FF    ;关卡数据初始化条件判断
    : A1 z7 l, D% w) w! u
  277. BNE KEY_B
    . W/ n% Y1 ?5 C8 {- V
  278. LDA #$00+ V, I8 J1 T# }3 a
  279. STA STAGE_TEMP    ;关卡数据初始化" w2 ]  ^% R' w0 ~
  280. KEY_B:    ;关卡减少
    7 x8 i0 Y5 X( }; w
  281. LDA KEY_ADDR
    6 G. k" ~& w7 r5 E1 U* o
  282. AND #BUTTON_DEC    ;按键B或左减关* d8 S9 i9 z" E, Y; b  A( E1 B/ ]- S
  283. BEQ KEY_A% P# V1 N( O  Q. _5 J& ?+ B+ q
  284. LDA #$FF
    4 O- D% U7 G* ?$ X+ @5 K
  285. STA TIME_LAY    ;重设标题延时
    4 M# g3 o, n# s& @& |: e' k
  286. LDA STAGE_TEMP
    . o% ?; D6 j/ W% X' k
  287. CMP #$00    ;关卡比较. p4 H; w# E+ V+ x* V' L
  288. BEQ KEY_A4 c! o* X5 [  R/ q* d5 D7 |$ T
  289. DEC STAGE_TEMP   ;减关8 M. P* Z6 y$ H$ o1 N' _% z
  290. JSR MUSIC    ;按键音效- q" W; ~8 q8 Y" Z
  291. KEY_A:    ;关卡增加
    - f6 p0 A2 H+ s) B6 @) z, A
  292. LDA KEY_ADDR5 {1 v' a% \% k4 ?
  293. AND #BUTTON_INC    ;按键A或右加关
    . ?6 o' ^* k% O6 Q2 p! z, f9 Z8 w
  294. BEQ PPU_NUM_WRITE- ?: ^& z6 p* B( K0 \: p# d6 N
  295. LDA #$FF! N9 D- s  X9 r( C0 N2 |' i
  296. STA TIME_LAY    ;重设标题延时
    : w) r+ u% S' t4 s2 `4 [" Y" ~
  297. LDA STAGE_TEMP
    ! Q  V! w! y- ^8 v" |7 J( P
  298. CMP #STAGE_MAX    ;关卡比较
    2 m" ^/ z5 o6 C+ I- G
  299. BEQ PPU_NUM_WRITE
    ( M7 z; t# p7 i9 M$ p+ O( _, G5 C
  300. INC STAGE_TEMP    ;加关% u! U% T6 T3 F2 ?! @5 X1 |
  301. JSR MUSIC    ;按键音效
    2 `3 D' w2 X  ~: E" n, e
  302. PPU_NUM_WRITE:    ;关卡数字写入地址
    0 _4 W2 a) m9 A6 m" Y
  303. LDA #PPU_ADDR_H* c6 b: @& c! ?: W' k
  304. STA $2006    ;设置PPU数字写入高位地址) i* L0 x$ h  W# w- l7 t
  305. LDA #PPU_ADDR_L* O% I3 b/ A* z$ q* g* Z! \; l
  306. CLC$ T5 W( t) A3 m3 k
  307. ADC #NUMBER_A) E1 o0 X6 t5 N$ m& X3 g$ I
  308. STA $2006    ;设置PPU字符写入低位地址
    8 W" A8 T! ^+ V  s9 m9 \
  309. LDA STAGE_TEMP
    $ l* L9 a! g0 u
  310. TAX1 q" s* h3 n  ?  ~/ y  t' s
  311. LDA STAGE_D1,X    ;写入数字
    3 J9 `6 ~7 G+ r& g' M6 A
  312. STA $20078 j) V9 r7 e# x# a1 K& ]+ i, w) I, P
  313. LDA #PPU_ADDR_H' @7 V6 J# [% T% X
  314. STA $2006    ;设置PPU数字写入高位地址
    ) w0 |" K# s2 K5 E1 t2 U
  315. LDA #PPU_ADDR_L: z  ~* T: e2 V4 P
  316. CLC
    - d% \) M9 C4 g4 J
  317. ADC #NUMBER_B
    " k- `7 w/ S- f4 Q* I8 z
  318. STA $2006    ;设置PPU字符写入低位地址
    ! K1 l( s( y6 ]7 M# \& k
  319. LDA STAGE_TEMP, K  D6 F( W- ~: |, @- p2 A; g2 P
  320. TAX
    / H7 e0 {" i$ t" A! a
  321. LDA STAGE_D2,X    ;写入数字
    4 _1 I% Y! l7 Y  F6 N
  322. STA $2007
    1 Q- t+ g+ N1 t
  323. STAHE_WRITE:" S8 c' `3 f1 Q6 m) g+ h: q0 |: H
  324. LDA STAGE_TEMP8 k8 P- G6 ]( l
  325. STA $2D   ;初始关卡写入. t& U$ O4 }# n. ?% O8 @. R
  326. PPU_RTS:    ;恢复数据8 _# m) I) w! f1 u
  327. PLA  T( c( O. |$ W6 O/ y
  328. TAY
    9 q- F5 y3 v3 @$ Y$ R
  329. PLA
    % r, r7 n" Z0 G# E! D& f" y; B
  330. TAX, y: V* i  d* {# y+ N
  331. PLA1 A6 y* d$ }2 x& t- }) g. U
  332. RTS
      c/ _% o/ w+ O8 b

  333. / r4 k( d* w; q! y& e( z8 B$ G
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据
    ; a& g6 r) Q# C8 C
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END7 z# Z8 u3 m( X0 F9 W$ b: E1 p. @
  336. % y% m0 ?4 Y* k& ^6 r
  337. STAGE_D1:   ;关卡数字$ A4 E! D% B- t0 \, R- W
  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_81 p. v: A6 q" r8 f/ b! X
  339. 2 r; v% K2 G4 u3 f; X% x
  340. STAGE_D2:   ;场景数字
    ' u% E8 y. |6 t( ^
  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# v3 k$ V  u: q& f# x/ ?1 M

  342. 6 G3 P9 D9 ^9 G) ^% U. a3 S
  343. & e* d, f' q: V3 ]/ M! t
  344. MUSIC:    ;按键音效2 B0 D6 k% K+ ~. p4 C
  345. LDA #$3B    ;音乐号
    3 W  v  |/ R! ~4 l% x9 o4 v6 [
  346. JSR $919E    ;系统音乐调用
    % i% N  B& V/ D
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;
( G0 j: }* \: z. G2 Q9 m5 C    5.生命加满:   暂停后,按下键切换;
( m5 Q& L: M' r    6.血量锁满:   暂停后,按右键切换;
* ^1 |3 j+ B! g) @9 V% I2 ~
- \0 i. C" Z3 t! W) m/ r% k) W6 ~# ~2 f( D
# N/ ^0 B7 ^  X
" N" B4 M5 g  c. Q: h
1 D* p- N( N. E9 O' t! [% r
FlameCyclone.ys168.com9 Q& V8 D; x: R: Q
www.nesbbs.com
& U1 G) P6 b. @. D" Q
游客,如果您要查看本帖隐藏内容请回复
7 }7 v! j: ^6 }2 L

本帖子中包含更多资源

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

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

签到天数: 2528 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1431 天

[LV.10]以坛为家III

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

该用户从未签到

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

签到天数: 1786 天

[LV.Master]伴坛终老

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

签到天数: 3103 天

[LV.Master]伴坛终老

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

签到天数: 2221 天

[LV.Master]伴坛终老

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

签到天数: 1986 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!
+ T" i9 Z- u" X# [" j& E2 \0 }7 c

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1643 天

[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-6-25 21:58 , Processed in 1.111329 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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