设为首页收藏本站

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

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

 火.. [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 6 d9 Z+ s- w( l* x" e
: m- P; N7 {$ ?, c
[FC][忍者神龟3][END选关]
( [5 \) O- D4 g5 K( s$ c; a- a# I" n
时间:2017.3.30
/ A- {0 D! n7 F( y& f. D8 Q; w作者:FlameCyclone# @0 J6 W& W. f+ t/ G3 Y4 K
内容:
. Y$ N( X& l( Z9 \2 v    1.关卡选择:   标题时,左或B减,右或A加;
0 J/ E9 X8 e- V. T. }# J    2.全屏击杀:   暂停后,按A键切换;
- j* e/ G, Z* K& T    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0
    ( O$ _% z, g( Q: q9 m8 ?
  2. ora_data:: B+ g. U3 D3 D4 e4 x: ?6 y& |/ p
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$100 s" j, F8 z# U4 d6 w+ O9 G, v
  4. and_data:
    / j- Q0 @4 Y* Q+ Q5 y2 x; v
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF% u1 R4 d" z* C( E1 v, j& y
  6. # x" I( v2 e3 c$ x
  7. button = $F8  S- e5 ~# P1 a
  8. flag = $60008 ^/ D. F/ ^4 z& t3 R$ V, J; G
  9. pause = $00452 w* z0 U& i9 Y. h- @

  10. . t' r2 K' L4 M- I: s5 E
  11. + _) j; |6 @/ B
  12. .ORG $F90D
    5 e  p6 T. T3 I9 I' E% _2 D; i, l
  13. JSR $FEC0
    8 _5 N" m3 p! D4 T& U+ v4 Z5 i

  14. 1 G2 U2 _' X, I  O8 {3 I( B
  15. .ORG $FEC0
    5 d" l8 a2 F; }6 U! }6 H: ?0 }$ `' e: O
  16. STA $54,X5 K& d- \# y4 k8 M: G+ x  [
  17. STY $FA,X& s# n0 G% J9 D8 K
  18. PHA1 \" E$ {0 \  X! r; `  D; c
  19. TXA) d. G) N9 i0 o. K, n3 N
  20. PHA
    0 V7 H& r" b. Z& h" {% |* e
  21. TYA
    $ a+ y7 _# E+ g8 h7 t6 Y- X* z
  22. PHA% `$ H5 B1 e7 f4 Z$ h2 N
  23. JSR KEY_OPERATE
    : @! ]1 E4 O/ G3 I, g
  24. JSR INV$ T3 M1 l3 U. b3 f) r1 T/ f& E
  25. JSR LIFE4 d4 D7 j, O% r+ X
  26. JSR BLOOD- q& y$ c# E. M2 K" a
  27. PLA1 F; n3 K7 U8 K/ ?% @
  28. TAY2 j6 Z( T' w9 S* L- P# ~
  29. PLA# S4 c5 A. h5 l/ T  q+ w
  30. TAX9 }: Q* t* C: a  H7 U
  31. PLA, n' P; v/ y4 \2 ]' Z/ W
  32. RTS% v, h: K( s" T+ q
  33. KEY_OPERATE:4 [! j$ b6 P( m4 Z5 T2 L; [
  34. data_protect:( b% Q; y' q/ d! z  M; ^% |- o3 T
  35. PHA
    * q, D6 j/ A+ g4 {
  36. TXA
    * l2 k' Y8 X" u, f; S6 q- `5 V
  37. PHA
    ! b- I* _: X8 j$ e  J# w
  38. TYA) |+ N! I, {$ F% Y, y- R% }
  39. PHA
    0 L" r$ @! h% M9 _9 u

  40. , }- n( a$ ~; `5 p
  41. FLAG_CMP:, f  l3 y, u, e. v$ [0 _
  42. LDA $600F
    2 ~. S: g+ `5 O: v/ a, D
  43. CMP #$7F    ;标志数据初始化条件判断. Q1 D2 t* @( _5 U9 N4 H7 c
  44. BEQ pause_cmp5 ?, e3 r& J  v, m7 k
  45. LDA #$809 Q) r: ]  x. \/ B. ^
  46. STA $A001    ;6000-7FFF写入启用
    9 o, g8 P! X* o6 L% A# e
  47. LDA #$00. U7 G* b; j! c2 l2 z& Y
  48. STA $6000    ;数据初始化
    3 z3 k# F& J+ K- i
  49. STA $6001    ;数据初始化
    $ @2 p; @6 x% J! Y( n, d. {
  50. LDA #$7F
    / E5 J. k* s5 f- `5 \
  51. STA $600F, x$ c  {4 W  Y0 [7 h. ^0 V; Z8 n# G
  52. pause_cmp:
    3 O4 d9 k- O. k3 z
  53. LDA pause6 e, }  q( W' d0 y  Z3 d
  54. CMP #$01
    2 T2 M+ q9 J( F. `( w3 |0 V' W' U
  55. BEQ button_press
    - H* u3 I9 u" s, o
  56. PLA
    3 K3 c2 {4 x  h+ o% u6 g8 m6 ^
  57. TAY
    4 n6 ~7 G3 C3 I3 S
  58. PLA
    ; [' g. s8 h1 d: M* `' M) h
  59. TAX
    ) f8 V7 W1 k  d6 v
  60. PLA8 u0 T2 g5 \) T/ n0 z4 U  W
  61. RTS. _* \$ i% V$ H9 S1 g

  62. ( Q. d3 g' h2 |( |9 w
  63. button_press:
    ( N. \- v6 ^% R
  64. ini_Y:
    " T& }  A0 |% Q; H# K
  65. LDY #$00
    5 \7 t% U$ \* v. Q. _1 k
  66. button_cmp:, p/ P6 j! d) @- @
  67. LDA button,X1 Q0 E+ T- G) g/ y6 l
  68. CMP ora_data,Y
    . F" D! W1 F. R! a: Z9 l
  69. BNE count_Y_cmp8 \( T) N. Z4 j$ q: v( U' ?, {$ I
  70. flag_cmp:" O* t2 G8 D+ }$ d$ O9 l
  71. LDA flag,X
    $ q0 G2 g6 \1 K5 D& t# k8 v$ d3 |
  72. AND ora_data,Y
    ( y" E3 Z+ E$ s6 P3 E. N' d( N
  73. BNE flag_and
    9 a) f3 K9 p& o
  74. flag_ora:
    ! l' L( n- M' h: H3 A
  75. LDA flag,X5 n: F. C( k' @6 Z% i  Z
  76. ORA ora_data,Y
    1 v- |5 I9 H! J* Z& Q- A6 o
  77. STA flag,X
    ( K# w: N" v$ {3 i1 ~6 L
  78. BNE count_Y_cmp* ]4 S0 ]7 f8 J1 b
  79. flag_and:
    : ^5 R9 l2 q' s/ \5 Q7 q1 l) U3 ?5 Q
  80. LDA flag,X
    + o* M4 A- q; e8 T3 [
  81. AND and_data,Y) c7 n6 H. H' d) E6 d
  82. STA flag,X( ?- r* O: T6 u0 Z4 I/ `
  83. count_Y_cmp:( s4 ?7 i1 s! h; c' W3 [
  84. INY
    * a+ b! c/ a; I% x3 N5 N, I6 f
  85. CPY #$08/ w$ N2 C! E( G3 S3 f2 ?  h) f
  86. BCC button_cmp  m9 i  T( ~7 [- F: _
  87. 9 R. E4 y5 Z$ E9 \7 o5 n3 g/ b
  88. data_extract:
    ; s& a! g; C, H' m% ~4 R: s* @9 J( O
  89. PLA
    1 n# }! y8 f0 N8 e
  90. TAY
    + n& Z" D8 ]" \* b9 n) U4 e+ Y
  91. PLA) S! W2 Z/ t9 |* D6 W) E- O
  92. TAX9 E' ^) u: c8 S2 j: X
  93. PLA
      i4 l0 l7 P, ~& g
  94. ) c5 y/ p) w7 r  j9 ?; S, }9 h
  95. return:0 E' A, r) ?% ]& P( l5 u4 T
  96. RTS# B* z2 z' s7 X. q

  97. 8 t3 K: `2 Q) `% P$ Y

  98. 3 N* u4 N3 I  q; k7 O4 l6 `1 h
  99. INV:    ;无敌9 Q# D' }. a" l' h, L: p
  100. LDA $6000,X
    4 P9 |( r6 F; U9 l
  101. AND #$08; {% A  e# D6 P8 L. _& [
  102. BEQ INV_RTS
    7 b9 K9 c; A; {
  103. LDA #$05
    ' F- N1 B& q, \
  104. STA $04FF,X' [; G( m3 m3 m2 R
  105. INV_RTS:4 M0 A1 p4 e9 i1 r7 X# K
  106. RTS
    8 @" b- l9 i' A' k, [% t, B* `2 `
  107. 7 b( \/ P# }- P( F8 W- ~
  108. * r' P3 a0 M& q! {
  109. LIFE:    ;生命
    5 G+ g" N7 ?' `; W4 H
  110. LDA $6000,X0 g' K6 f! Y' F
  111. AND #$04  S# `; x/ S5 R: w
  112. BEQ LIFE_RTS: r. V/ C! N7 t) a4 Y
  113. LDA #$09
    , R3 [2 ^8 l( |/ ^, w
  114. STA $6A,X: K  U8 K$ }1 C
  115. LIFE_RTS:
    6 P7 r: i: B1 A5 v& t, a6 p
  116. RTS. ?8 w5 J& N& I, q/ _1 ]; D
  117. 9 b9 ?7 ^$ ^3 @0 K% l7 b0 Q3 j
  118. 4 C1 U4 s3 h" l, A: K/ T* f2 U
  119. BLOOD:    ;血量7 U) K+ L9 H% k6 [% v5 t
  120. LDA $6000,X8 O. D" {5 Q" Y! s) N8 V/ b) `
  121. AND #$017 t: q( t/ F. M. e+ c2 l
  122. BEQ BLOOD_RTS
    ' g8 Y8 H( H. v/ c  ^2 F) H2 u# S
  123. LDA #$7F$ X1 B1 p. E' l7 T% a1 ~4 S
  124. STA $04F1,X
    ! _8 \' a: V2 b
  125. BLOOD_RTS:
    * ?( M& j/ J; i
  126. RTS2 M2 Q* {+ x& b6 l
  127. $ W+ Y  l: ]2 \( |; H$ F. `
  128. - H; v4 l/ H0 X) ?, X
  129. , L1 y, u* W! Y

  130. " Q2 W/ {7 M. z+ y1 H3 U1 }
  131. .ORG $D29F) E) e3 t9 A# X, S; b- ~) O" Q
  132. JSR $FF800 x8 r; E& g4 D* X. k2 }

  133. 9 j" r5 p- z5 W7 k
  134. .ORG $FF80
    ) r4 ?  L* d( m% g
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀" L5 H7 d  ~+ ?0 J! T. T& b: \/ l8 s# k
  136. STA $06286 T8 `! s: z" P7 u# c
  137. PHA
    & n: X1 }0 w5 S
  138. LDA $6000
    + p' y5 F' P* j2 k( H: N; v
  139. AND #$40
      a& h. ?8 l" w" a; R5 z1 b
  140. BEQ ADDRFF8E
    ( N( }1 Z! Z: h8 v+ z
  141. PLA
    - K# v# j1 q. r' a0 G
  142. CLC   ;敌方死亡状态判定3 Y9 d5 N( ?2 S" D
  143. RTS
    % Q7 q" ]9 p: y. A; _& a" g
  144. ADDRFF8E:. N' Y* f, x4 u
  145. PLA) e2 E/ ^. _# K  m% r) q
  146. RTS
    # u! z( x3 y3 g2 d3 n

  147. ! b; @) G0 t6 p. s7 {, o
  148.   y" I4 @2 a+ T% }1 b
  149. .ORG $D151
    ' L" |9 V( p" W# A/ h6 W4 L% o5 Z& @
  150. JMP $FFA0
    2 @/ o( A# w3 T; v& ~

  151. ( \# ?0 \& Y. R3 p) F6 D2 T
  152. .ORG $FFA0
    ; B+ g! v$ y& K+ g$ o* X) |5 \
  153. KILL_BY_ONE:    ;杂兵一击必杀9 b% w/ [: q8 n6 U+ J- b8 `7 W
  154. STA $0621,X
    $ @0 ~1 ]! S- I) B: ?/ U8 h: p
  155. LDA $6000
    , s' @% L7 g6 x% A4 u/ w+ |8 \$ O
  156. AND #$40% f: @2 V2 D1 b7 U
  157. BEQ ADDRFFAD. l9 g2 V0 r1 o' h8 ]( J
  158. JMP $D19A   ;敌方死亡程序跳转: k" I0 _9 H, E& q; S: i
  159. ADDRFFAD:
    3 g' d5 p/ \% M+ s
  160. JMP $D154
    + G; ]0 }* u0 T8 ~3 |/ V
  161. , t, y* X5 h, L8 F

  162. 7 T: P+ V- f0 n+ z* a
  163. .ORG $A7F6
    & e  _: `6 q! I0 K7 Q) Z4 W, E
  164. JSR $FFB0* A  i  J, p8 f* |

  165. " b8 K3 c" g1 y
  166. .ORG $FFB0    ;全屏攻击3 z/ k2 s) d' V/ D6 k$ ~/ {" A
  167. PHA
    # I- e9 n+ a* b) x+ S$ c" t6 \; U
  168. LDA $6000! d/ Y+ \, q8 _7 r2 a% r
  169. AND #$802 e' N. a! |: U1 U/ V, D1 ]
  170. BNE ADDRFFBD
    # ~! G- D  x6 k" C6 \
  171. PLA# ]# }) v5 M+ l
  172. LDA $0015, H/ U% U) Z1 l2 M; l
  173. SEC
    & W0 X& [* Z. O% k
  174. RTS# n8 `7 Y9 P& f
  175. ADDRFFBD:
    & ]6 T" ~: O' o: ^- h0 K
  176. PLA
    3 L  q3 S8 t& T5 Y5 n# i
  177. JMP $A8261 Z# K! M7 h0 n

  178. " I0 E5 T1 Y9 j8 j, l" U
  179. ( s" k& d; q$ E! K

  180. 7 N) _5 _) F4 G8 c8 J
  181. .ORG $AA6A
    / q$ S  Z& e( n8 e# e
  182. JMP $FFD0
    2 g* E$ f  N- e& k# k* ]3 {5 ^. c
  183. * Z+ Q6 V0 H0 ~; |
  184. .ORG $FFD0    ;敌兵动作忽略
      V$ v4 q. z9 N1 `# K
  185. PHA
    " Y: h; y6 b$ X% k: u% \) P
  186. LDA $6000
    ' M0 n/ v) f: Z' g: m
  187. AND #$80
    % Z* K7 ?; [) B$ p$ d# t3 J
  188. BEQ ADDRFFDC$ Z" D+ N2 |$ q$ X, Z$ {3 S$ H
  189. PLA4 l; p+ X2 G8 w& M( i& O9 Y* l; _  W
  190. JMP $AA72
    4 N  J3 O+ A+ I7 L9 k5 e
  191. ADDRFFDC:
    ' R; k, p. K0 F/ G8 s6 Q  N
  192. PLA
    6 L* m7 q+ _7 h  u/ e( z) X
  193. LDA $0629,X
    9 W# v  p: M- z4 w4 V8 L0 v
  194. JMP $AA6D( t0 _0 r! P) T

  195. ! x4 D! r- Y, u. t# a' r
  196. ;[FC][忍者神龟3代标题选关程序]" H' B1 P0 {$ o# C, R9 w7 |
  197. ;作者:FlameCyclone 2017.4.1( U/ ~4 M  @( i
  198. 2 n( p  J- c- t1 s* Z( I

  199. / `  k, F( b% P: X$ Q* R) i4 o
  200. ;配置数据
    * i# \, J1 u/ K: k, E
  201. KEY_ADDR = $F8    ;按键地址( E3 S1 c* ~; P# I) f% y: u7 G
  202. STAGE_TEMP = $6010    ;关卡临时地址
    # A2 ~; U. m2 Z: h8 m
  203. STAGE_MAX = $0E    ;最大关卡数
      s2 L. ^4 ]4 q7 P& w7 p# [
  204. TITLE_A = $20    ;标题条件A  |- Z$ k4 C4 w3 _; @
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定8 ?* h$ ?9 h4 i; j$ n
  206. TITLE_B = $21    ;标题条件B
    + ~# }  _& V- o7 @- _
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定% q8 s9 Y% e# F. d
  208. PPU_END = $FF    ;PPU结束符
    3 `0 L! B9 f9 H, @0 k
  209. TIME_LAY = $4A    ;标题显示延时地址
    # }3 r4 {' v9 R# T+ D7 i5 j) N0 L# [
  210. BUTTON_DEC = $42    ;关卡减少按键
    3 P( d  r% S8 I: C( b8 h
  211. BUTTON_INC = $81    ;关卡增加按键6 [& z/ I  \8 W" z7 w) b
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量: f6 N& L0 X& o/ q/ ^9 w& _" Y
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量  z& O* v- _# f  Z( G+ f" X  Y
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
    8 H/ Y( ^. h% q+ a3 S
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位7 v: k1 o! B; ^: N$ M
  216. CHAR_S = $A2    ;字符'S'
    ) d% }8 P$ {5 u+ g  U% A% D  B) D
  217. CHAR_T = $A3    ;字符'T'
    : w! U3 |+ m: f; l/ a# r
  218. CHAR_A = $90    ;字符'A'
    " ?0 f8 J# [3 Y. `/ `, f
  219. CHAR_G = $96    ;字符'G'5 V$ C  e! q- O" L
  220. CHAR_E = $94    ;字符'E'+ K( a3 g& u: u7 a  T3 k
  221. CHAR_SPA = $00    ;字符空格
    3 o' U: I& @3 ]# m4 X# U4 n
  222. CHAR_LIN = $AE    ;字符'-'! H# O' p! Z3 F9 r% o6 J* e6 I0 `8 m
  223. CHAR_O = $9E    ;字符'o'
    * ]4 r* B" {! f* T2 ^
  224. NUM_1 = $81    ;数字'1'" Q0 \9 W; H4 @# r# S7 P% [8 r
  225. NUM_2 = $82    ;数字'2'- D1 m! [& W& z" F, P. {8 U# ?: m4 z
  226. NUM_3 = $83    ;数字'3'
    7 \8 u1 r$ k! X/ P# C
  227. NUM_4 = $84    ;数字'4'
    % D' c: J! f% H5 S
  228. NUM_5 = $85    ;数字'5'; L4 U( X- m6 ?# B. [- _- l
  229. NUM_6 = $86    ;数字'6', w1 r' d0 P' U
  230. NUM_7 = $87    ;数字'7'
    ( V( i/ c. k/ L( G6 n8 U' P
  231. NUM_8 = $88    ;数字'8'
    / P: A: d3 K4 _7 x% S+ {
  232. NUM_9 = $89    ;数字'9'
    % t8 o4 y8 }; I4 j3 |
  233. NUM_0 = $80    ;数字'0'# M- I  V) W$ c' h
  234. ( i/ H2 @# {0 U$ {) O. y
  235. .ORG $F82A2 A6 ^, y: W$ d/ ^
  236. JSR $E7002 k  v& N7 d- R( L; ~

  237. : M9 n. \; X5 {3 }3 W/ b

  238. 4 m( f( F  k9 D7 n
  239. .ORG $E700* Y2 O& T; @) g3 d
  240.   8 k+ ~+ [+ k" v6 |  H4 i% z
  241. STY $4014    ;补上覆盖的精灵写入指令: ^- b' h, O% ]5 x8 S5 b0 l7 d. l
  242. PROTECT_DATA:    ;数据保护* w9 B9 _1 x# w1 c: }1 j1 a
  243. PHA    ;数据保护开始
    5 P& y- Q1 U. d3 A! f" o
  244. TXA
    , h2 _1 T4 a. A2 b
  245. PHA; U" X' U" d$ |: C0 I2 v  ]
  246. TYA* K( |  a7 B! `" j
  247. PHA    ;数据保护结束% t( o, z0 [, V8 ]
  248. LDA TITLE_A
    ! V5 N" U% }) ]# ^' I
  249. CMP #TITLE_A_ON    ;比较是否为标题画面
    9 v1 E& C& l6 {8 e
  250. BNE RET& r3 B9 L; o; X+ Y; [
  251. LDA TITLE_B: G% n0 o' Y9 ^
  252. CMP #TITLE_B_ON    ;比较是否为标题画面
    ' @# x4 u" {" ~! A5 x: ^. E3 V
  253. BEQ PPU_STAGE; Q- W! p' G: c' r( T
  254. RET:    ;恢复数据
      C8 C9 G2 b$ U/ y4 O
  255. PLA    ;恢复数据开始& U' b0 m! n" d* C* y' |. V+ {* c
  256. TAY9 A! I1 q* K, T( s8 f& G
  257. PLA
    + v4 P& J' Q: M& `4 U
  258. TAX. p1 z" @6 ~' d( w' Y9 b8 Q1 R' y
  259. PLA    ;恢复数据结束
    5 G' n3 T% I' d# Y, O! m
  260. RTS    ;返回
    ' _3 }5 k8 ]2 V3 q
  261. PPU_STAGE:    ;字符STAGE写入程序& E& g+ b3 q* i' V& N
  262. LDA #PPU_ADDR_H
    2 y& \2 d/ p/ E, [) T7 O4 Z
  263. STA $2006    ;设置PPU字符写入高位地址
    7 N2 o% p( Y. l; u3 J
  264. LDA #PPU_ADDR_L
    ) o7 ^( v) @( y, p0 }
  265. STA $2006    ;设置PPU字符写入低位地址& i2 ?- G0 ^) k) Z
  266. LDX #$00
    & j* B% ?8 ~3 Y. }% K
  267. PPU_STAGE_WROTE:    ;写入STAGE字模
    , \$ [% t- |; C6 U
  268. LDA STAGE_DATA,X/ r$ H  w+ U. l2 I
  269. CMP #PPU_END    ;判断是否写入结束
    8 l# u7 H' v" E5 e; y
  270. BEQ STAGE_CMP/ P9 E' e. z: Z
  271. STA $20078 E7 w- e" X# j9 _- l
  272. INX( E3 K" b* w: o  r: n- F( d' S. D; J
  273. BCC PPU_STAGE_WROTE% c4 G- H1 z( s1 G) W
  274. STAGE_CMP:    ;选关操作
      ~, a9 q  _) M  V/ R5 m8 }
  275. LDA STAGE_TEMP
    % ^* X: J3 o% @
  276. CMP #$FF    ;关卡数据初始化条件判断
    1 ~9 d! F/ s( {% s1 `, T9 }
  277. BNE KEY_B& U3 l, C( v* _; x* S7 Q/ C: Z
  278. LDA #$00
    ! f; M, o4 o2 g5 C
  279. STA STAGE_TEMP    ;关卡数据初始化! E. A3 {; z5 P) p7 s, Y
  280. KEY_B:    ;关卡减少9 I3 H  G$ \' |8 @- e! C
  281. LDA KEY_ADDR+ U! X# V# B3 f6 S8 M
  282. AND #BUTTON_DEC    ;按键B或左减关) s5 O4 J' k. U
  283. BEQ KEY_A# }2 j& B" B+ ~. S
  284. LDA #$FF8 B/ @. X$ r' w
  285. STA TIME_LAY    ;重设标题延时
    ' M. [, P* e. u! _
  286. LDA STAGE_TEMP# V2 t! g# T( n3 v) ?- P8 a
  287. CMP #$00    ;关卡比较0 U. k) e5 e! T: N/ u- N
  288. BEQ KEY_A+ P7 {0 g+ Q$ ]/ L# |) b( t" j
  289. DEC STAGE_TEMP   ;减关
    ( h0 k8 W% d. i3 L0 Z& q' P
  290. JSR MUSIC    ;按键音效  T* ^5 {$ l# @. `: v& e
  291. KEY_A:    ;关卡增加' c7 T% t5 {! z& H6 e- [
  292. LDA KEY_ADDR# H0 Q" ?- E, m. M' z' u3 a2 }
  293. AND #BUTTON_INC    ;按键A或右加关: J, j( e4 ?& J
  294. BEQ PPU_NUM_WRITE% `6 X7 T* Z/ o1 E6 u: H
  295. LDA #$FF
    $ y/ B; |* O! E
  296. STA TIME_LAY    ;重设标题延时. A: R+ W7 C. k! Q! |! \9 q; |
  297. LDA STAGE_TEMP# W; J' c8 U% F/ j% S
  298. CMP #STAGE_MAX    ;关卡比较% k) F" B$ _0 @' `; b6 }8 W4 V
  299. BEQ PPU_NUM_WRITE
    % p9 L' }9 O8 M' `; o
  300. INC STAGE_TEMP    ;加关
      A' \, U  Y+ |/ e3 j
  301. JSR MUSIC    ;按键音效
    1 ?. o8 B+ ?8 G+ P2 b+ i
  302. PPU_NUM_WRITE:    ;关卡数字写入地址- k0 L' W/ C4 P! q$ W4 {: G
  303. LDA #PPU_ADDR_H
    7 Z) ~9 P8 H( D: G, z8 j
  304. STA $2006    ;设置PPU数字写入高位地址
    % C1 s. J& \' C6 q
  305. LDA #PPU_ADDR_L
    8 Z- f0 H4 G/ b/ `  V
  306. CLC3 O0 T2 T1 g9 B) b
  307. ADC #NUMBER_A
    # r/ V4 a' O) c, s" k# R; |" _
  308. STA $2006    ;设置PPU字符写入低位地址2 G3 {6 A6 U5 E# g6 F! X
  309. LDA STAGE_TEMP
    0 A+ c+ Z% X' d
  310. TAX
    ' U* I. |7 F7 c) b# A
  311. LDA STAGE_D1,X    ;写入数字
    $ N8 B  z4 R) N8 |- n8 `
  312. STA $2007
    : H# n! G" G( H+ V7 p
  313. LDA #PPU_ADDR_H
    # M5 k# F% L, @
  314. STA $2006    ;设置PPU数字写入高位地址
    ! l& ~7 o5 t( C6 F7 i
  315. LDA #PPU_ADDR_L
    : o: ?$ Q3 d/ v0 P
  316. CLC
    $ o2 E) _4 B1 D' c& w: ~+ p
  317. ADC #NUMBER_B2 b* I, u! z; H: l5 }" N
  318. STA $2006    ;设置PPU字符写入低位地址
    * H3 _, P9 |( P) z8 H; c
  319. LDA STAGE_TEMP
    9 ^# P8 o% R; u1 O: [% v2 ~
  320. TAX
      N/ D8 Z, D# M4 L  b
  321. LDA STAGE_D2,X    ;写入数字( C7 r$ c% o' p4 J' K% i2 Y
  322. STA $2007& a: ?' u: @% [. b0 {# K* a. x
  323. STAHE_WRITE:
      v! u% E# G$ e- f' M$ o" C: p8 z% l
  324. LDA STAGE_TEMP
    9 v- O. X8 Z# U6 [  I: i
  325. STA $2D   ;初始关卡写入
    * G) C& F1 I; D2 f& i8 C7 D) @$ r
  326. PPU_RTS:    ;恢复数据3 k9 l5 Q  |/ A5 w
  327. PLA
    % [# V+ A7 [, `5 h. I5 ~
  328. TAY
    * Z- v" j4 s& Y; A7 P
  329. PLA
    8 Z6 D. i1 e5 @' K+ S4 f
  330. TAX
    % i' ]2 f+ e& d: p6 U. e5 C
  331. PLA
    7 V* v) m' {$ D& @  N! ?
  332. RTS
    # Q3 `3 {& A: p+ M7 Z( n$ M8 t" ]

  333. 9 S/ Y* j5 q/ K( b
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据1 d2 T4 `9 ~, w: X+ f
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END: L/ i0 ?; s1 B5 Z3 a0 S7 M% H: Z

  336. , r0 l6 T% r  @- K- `( w) A
  337. STAGE_D1:   ;关卡数字
    2 M, S/ k2 T, b2 u# a
  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
    8 I( E0 z5 x( @! I! M! o& B7 U
  339. " ~( T2 }4 \6 n1 N+ p
  340. STAGE_D2:   ;场景数字8 l, _) C# u5 L3 E
  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_34 M+ {9 X4 W4 e1 `
  342. ! r3 G7 _% A* [# k
  343. # X2 b0 k2 U$ n7 E$ A
  344. MUSIC:    ;按键音效! P; p' G6 D* i1 v+ {" N
  345. LDA #$3B    ;音乐号
    % T% s% n# F( X5 b
  346. JSR $919E    ;系统音乐调用# a7 a6 {3 Y  t& N( F: y+ Z# _
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;
: _: R: {- F2 H    5.生命加满:   暂停后,按下键切换;" h8 E8 D% c' T+ ]# L9 R! i# j
    6.血量锁满:   暂停后,按右键切换;  _7 Q- m( a" |
1 v1 g0 g% @6 j2 p! x
0 M. g8 m- [6 e

' X: s% ]4 d8 X9 D! o2 @8 K' C9 C- d! u
" e  u8 \$ f. G( [
FlameCyclone.ys168.com, v$ p) j2 p' L( Y/ Q. S# {
www.nesbbs.com
; k. K, R8 x) _: l5 R
游客,如果您要查看本帖隐藏内容请回复

7 p0 D1 F9 G6 w2 A# |' J

本帖子中包含更多资源

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

×

评分

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

使用道具 举报

签到天数: 2508 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 71 天

[LV.6]常住居民II

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

使用道具 举报

签到天数: 1433 天

[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 个 . 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 3109 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 2238 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 1992 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!  y8 A( b5 A' X' @$ q3 Y
回复

使用道具 举报

签到天数: 179 天

[LV.7]常住居民III

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

使用道具 举报

签到天数: 1599 天

[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-6-25 21:54

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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