EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑
1 B. }; g- J" n$ u' Q  \
; |3 N& I. v: s& s" I( X; [! H[FC][忍者神龟3][END选关]
, p3 N' [# D4 E% ~% R
/ {. e# h7 a! r, g- S  S' G时间:2017.3.30
8 ]0 x& D( P1 C作者:FlameCyclone9 q5 B6 [$ ^( k; V# F7 z
内容:
9 u8 L) s6 Q& _' f5 l( l" [, D    1.关卡选择:   标题时,左或B减,右或A加;
% j, n5 G8 L6 I( K. T    2.全屏击杀:   暂停后,按A键切换;
: G$ y& K  P! [0 M, x' `) H: w    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0" A3 V- p( Y5 F5 S; |! G2 T
  2. ora_data:
    8 a  v# }9 p& T* c9 _& a
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10% Z) T! X/ O$ b7 m6 h7 r
  4. and_data:
    * w6 L6 H0 s1 Q" \
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    * T& }" V/ D9 _8 u" o
  6. - Y! P; I+ [4 w
  7. button = $F8
    9 ^& o( {- [  z. z8 w; q
  8. flag = $6000
    4 U6 ~: b/ {  w
  9. pause = $0045
    % p, M2 x; q6 {9 i6 A

  10. 3 Q* t5 L' x) w% ^1 s3 C' b
  11. , h: n4 a, O5 U. X* C1 p* G! L- u6 s
  12. .ORG $F90D
    ! {' x9 U9 [& E! G& Z0 M4 P
  13. JSR $FEC0, g5 e! x/ m) Y7 F8 }

  14. 6 n9 ?4 |$ T3 v- W! V; y2 u( q
  15. .ORG $FEC07 y, Q7 v8 ]+ D& S4 w5 J* H
  16. STA $54,X6 ~3 d, i4 e( e" ]0 ~! P
  17. STY $FA,X/ w* Z+ @* D1 z8 u: h/ |& N
  18. PHA; P' {3 V+ n) @9 ?
  19. TXA; d5 D* g( F+ q8 [8 g) X1 }; ^- G: r. Y8 k
  20. PHA
    6 I; q6 ~& @4 J+ ^. x
  21. TYA
    * ?( f+ V& G- _& g; T
  22. PHA
    ; R( J, G4 Y( G$ D9 X
  23. JSR KEY_OPERATE
    ) j: j2 Q7 a( w: {
  24. JSR INV) \+ ]! |. Z! O
  25. JSR LIFE
    ' L% v2 D2 {* N! j! ]8 M7 I
  26. JSR BLOOD/ l2 G1 E8 r% u9 Z# d! p$ p
  27. PLA
    7 P3 c. _1 p9 D. L5 ^# U6 w
  28. TAY
    6 X3 k" T8 k; j7 ]6 R6 u
  29. PLA. O4 Q5 \0 V7 F- Z% Q1 ^
  30. TAX& R& C1 V% Y4 E2 W" N) c
  31. PLA; E+ [; l) |; T) I+ W/ t
  32. RTS
    7 A5 M& k, C  n& }2 S# o, ~
  33. KEY_OPERATE:$ Z9 L0 |. g5 d9 ?  E1 Z- x
  34. data_protect:
    6 y$ @" \" `% q6 r0 p
  35. PHA; B. L+ L, Q# B) Z8 Z
  36. TXA
    / K, C% }" a0 q4 y6 T% ?( s) \
  37. PHA
    . z5 L' b! ?5 I# Z! n9 }* U
  38. TYA2 }. i' K' m8 u# }
  39. PHA
    ! w7 D7 j6 s' c/ d) e
  40. 5 _8 E" t6 }+ W$ O7 f
  41. FLAG_CMP:
      X' @* z4 r3 r9 x* \+ e: F
  42. LDA $600F
    9 t. M3 R( B, ?: T. u* S* y, t4 L4 i0 \; s
  43. CMP #$7F    ;标志数据初始化条件判断
    9 p8 F( u5 z: S8 Q+ R8 D3 D) y* v! t  ^2 X
  44. BEQ pause_cmp5 t. H" J+ @1 W. U% }( I
  45. LDA #$80
    ! w5 R4 ~+ Q9 ?7 t
  46. STA $A001    ;6000-7FFF写入启用+ f2 p2 J8 u7 {5 F0 h
  47. LDA #$00
    6 O  Y3 J2 r/ P- x- u6 f
  48. STA $6000    ;数据初始化
    4 }/ Z2 e2 V' Y+ X
  49. STA $6001    ;数据初始化; j/ q2 f2 H0 E+ i
  50. LDA #$7F5 J6 f  X+ `/ h$ E( S$ Y; s
  51. STA $600F/ A( P6 ?, J8 u
  52. pause_cmp:
    # g! C! `3 Z3 Z% g1 P
  53. LDA pause
    & L$ a4 G9 H. {2 j6 K& V
  54. CMP #$01
    " a$ A1 C: u6 b! Q) t' V5 L
  55. BEQ button_press; P8 Q* |- }6 g6 T+ V
  56. PLA, a9 N5 M: ~9 Q5 I* J; P
  57. TAY
    7 L# D$ S3 j* s! @) ]  h" m
  58. PLA  \2 z, U7 t9 h& F* K3 f
  59. TAX  R# o) ~3 ]! H; G# t0 b6 o
  60. PLA% |. W! B# X. Z8 w. B
  61. RTS6 v0 V9 C* b" `; {; z

  62. + |# f( v0 U+ V' S; [
  63. button_press:
    - E9 Y- S4 e# L) N3 o
  64. ini_Y:
    ( H" B2 J8 F2 s4 j+ f
  65. LDY #$00) p2 c: |/ q7 }
  66. button_cmp:
    " `- ]* {5 N  r( p) F* }
  67. LDA button,X
    ; g3 s) ^6 ?! g, Z! Q3 g
  68. CMP ora_data,Y3 m/ E6 G7 ?& ^: D
  69. BNE count_Y_cmp) ]/ x+ z. H- T
  70. flag_cmp:9 {8 o% S) }3 d9 v4 ?3 [
  71. LDA flag,X+ X8 O5 x2 G2 l0 y
  72. AND ora_data,Y
    . ~* C. Z6 p! `6 s8 E$ E7 ~
  73. BNE flag_and
    0 \0 T6 j" R: P+ ~5 c
  74. flag_ora:
    $ D% T' T" A, f& E8 j7 m
  75. LDA flag,X
    / K; z: k& h- O# V
  76. ORA ora_data,Y1 L6 m2 o! y5 P) E, H
  77. STA flag,X& a5 B8 L, I; o* K; n
  78. BNE count_Y_cmp* v, J7 _7 f9 T7 j* r% b( {
  79. flag_and:
    * [4 A: ~4 x1 P3 x: P2 K! o2 h5 R
  80. LDA flag,X3 A3 _% t, L; O9 w
  81. AND and_data,Y0 E' P" H; H8 L: F  N* G- c7 q
  82. STA flag,X
    5 T) m8 R. p+ c1 h2 s2 B
  83. count_Y_cmp:8 X$ U" M: F' J1 L
  84. INY
    6 q3 G+ s1 l1 ?8 w$ j- L
  85. CPY #$080 B% g1 R' \6 q2 o6 K( r5 d+ A, u
  86. BCC button_cmp( [1 T  W% k( |8 z2 h  P& Q
  87. ! d* \( T5 \! u5 `  x
  88. data_extract:" O- J) Q7 D2 P! f3 o6 m  s2 M
  89. PLA& ~7 ?) s) b# }1 v: i  l
  90. TAY
    2 j- O* |4 k: T& P; G0 B5 a
  91. PLA& O5 G: _. A$ N' R: z0 i* J3 C
  92. TAX
    2 b1 Q& ?/ t- s$ f+ [0 n" d
  93. PLA
    # V. T2 b! \4 V" ~
  94. ( O' `; }3 a  h5 H9 c$ d8 ^
  95. return:  r) `3 {3 n: z! o: X
  96. RTS
    4 }1 N$ m, m2 q0 C8 f# X0 [1 _
  97. ; j6 ?! m% b7 @6 L- [9 }% z3 z  A

  98. 6 u; G9 E+ l9 d) A: p" a5 P
  99. INV:    ;无敌2 I/ _0 w# Y! z1 C4 q3 O" @
  100. LDA $6000,X
    0 m! P/ q: R1 x% D- k2 [
  101. AND #$08
    6 `* _# P: n- A5 r3 D7 j
  102. BEQ INV_RTS
    $ E, S' P; \& r# z. f
  103. LDA #$05
    5 n1 d5 P* M: z8 v: J
  104. STA $04FF,X+ p- U' X/ W" b, h$ b' U# X, @
  105. INV_RTS:3 i: G! V- O# w2 {. G6 |/ u) G, e
  106. RTS
    & d' c2 c! W" w0 `/ S1 Y; P
  107.   m* R& q, C! |3 I4 t
  108.   Q" Z* H) q6 `' Z
  109. LIFE:    ;生命! K' p5 ]9 H9 ?" j
  110. LDA $6000,X3 Y# a6 ~! w1 w# W' m8 R
  111. AND #$04
    7 b8 Y! a# u& Y7 r# W. h1 k
  112. BEQ LIFE_RTS7 T6 Y% a5 B5 p$ [' T: z
  113. LDA #$09
    3 v2 H  k5 y' ^3 [
  114. STA $6A,X
    . m, l' o$ q6 r8 p
  115. LIFE_RTS:
    8 [- N3 |* e# W
  116. RTS6 l1 F& C4 G. l1 x" i; U+ r* S
  117. 4 q4 d: j2 A( B7 F  y

  118. ( P* E$ U9 B0 R# t& A3 K  C
  119. BLOOD:    ;血量$ M5 @% S3 n: U$ P* J/ @
  120. LDA $6000,X" n. I; M3 P$ C" U" S" q) a
  121. AND #$01% s; c/ N3 G% P8 ?' S6 ]( X
  122. BEQ BLOOD_RTS
    - n) w4 d! s8 s" F* ^# {4 Y* \
  123. LDA #$7F
    # h$ {6 g* T( R* A3 |
  124. STA $04F1,X% J6 J6 k- D! U2 D
  125. BLOOD_RTS:
    ! y4 i. }  Q, x3 I
  126. RTS- }; S6 B  I' F+ y. u6 w& Q' S3 U
  127. 3 p( y8 S2 g: T

  128. 1 F: y1 [4 C" L6 W! o0 x  m0 h

  129. % n+ }' Z. {% e6 m+ l% M7 E

  130. + V8 f$ o7 B( v* X" |
  131. .ORG $D29F
    5 p* H  Z; `0 B( s
  132. JSR $FF80* i! N5 q  s: S' E4 N' |

  133. 8 i7 s# M" r& B( e9 N  h
  134. .ORG $FF80
    1 o: v  S* ~! W
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀6 T4 D8 d) ~& z' y+ a
  136. STA $0628
      T- {8 u+ x' O/ H" O8 `3 ~( e" V
  137. PHA+ |; \# f) `! C6 h. B' n& Y9 }1 [
  138. LDA $6000  h/ I  e, V! ^, x" Z. [! e
  139. AND #$40
    $ x' A6 ?# X: D6 l7 b7 k
  140. BEQ ADDRFF8E
    7 n* S0 d0 N( g  e/ r% \- {7 u! H
  141. PLA+ ?  f2 K- }4 ^3 L' v
  142. CLC   ;敌方死亡状态判定
    9 K! n+ M' ~# b+ {5 r4 p0 d6 V& u
  143. RTS- V4 `( Z+ T' ~
  144. ADDRFF8E:
    ( X5 u2 V, B/ d
  145. PLA+ h, G' |8 ]4 e2 }( j* S
  146. RTS
    % L- j6 o# s" q- |
  147. 9 l) f0 I& f5 {) ^' R& c4 {% [

  148. ( M* |0 ~# J$ w7 i7 K8 e; ^5 I
  149. .ORG $D151
      a( K: U8 d4 |- ^* F
  150. JMP $FFA0# o/ S  F4 e9 q  F, V: K1 R
  151. 7 I% ~" h5 z, ?3 x  a9 ~) [
  152. .ORG $FFA0
    & J- @+ u2 ~2 P" E5 D$ j' s
  153. KILL_BY_ONE:    ;杂兵一击必杀2 x& o  b8 T/ @6 w* ]; q' |& U
  154. STA $0621,X8 z, H+ P4 ^7 y6 z9 ~- b) w7 X6 i/ S
  155. LDA $6000& e- l* O8 l; \+ I5 ~
  156. AND #$40" c4 Y' h, \+ _/ C2 W
  157. BEQ ADDRFFAD0 i6 ~& Z2 ~4 X( g, U
  158. JMP $D19A   ;敌方死亡程序跳转
    8 [( s2 Q) k1 v' m
  159. ADDRFFAD:6 q" {( L" h; v% B8 W9 Z
  160. JMP $D154) B& G0 d3 b' Y7 h8 R: B  i
  161. 1 i8 R( |( g: Q/ V
  162. 4 c: `" B8 L/ ]1 {- ]+ Z
  163. .ORG $A7F6! ]9 J: P3 e6 k% Q, n2 v
  164. JSR $FFB0
    ( o- N$ N) k4 V# s* |) A
  165. 3 g6 M4 U. z) k1 X1 C9 }/ X- u
  166. .ORG $FFB0    ;全屏攻击; l* ^! {' X* \4 y8 a% Q) ~' [
  167. PHA+ N/ ~, r; I# V6 u( Z
  168. LDA $6000$ c5 Q; h  e! X+ {% I+ w
  169. AND #$800 Z* z$ m" ~7 m9 ?. ?' X5 x# G8 h$ u
  170. BNE ADDRFFBD* C$ d6 {0 C% b7 ^7 _
  171. PLA- Q" E& L8 f* s9 \* v: u
  172. LDA $0015
    ; F5 h; j! Z2 p, Y2 u7 D, ^
  173. SEC
    ; Q, c5 l3 l9 M& ~) L/ R: A; Z
  174. RTS$ O, F5 {! s) \* p- v% S; Y
  175. ADDRFFBD:. z* `, c  L" _! `3 g
  176. PLA
    9 V% \1 W4 A; e/ \; L
  177. JMP $A826$ K9 D# i" }5 d' v" A

  178. 9 n9 g6 F" |7 x3 F8 P
  179. : ~0 b; O/ T5 y0 e3 t* x- \4 _
  180. 9 a  e8 ~. z$ X( Z0 Z0 {* }0 {
  181. .ORG $AA6A$ M4 [- N1 b* _3 k8 g, g6 k
  182. JMP $FFD0
    ) O4 }* F6 Q* n, X$ [/ o

  183. $ `# j: n, v7 S
  184. .ORG $FFD0    ;敌兵动作忽略- T0 C% v+ \( _$ R8 N. D9 Z3 n- |
  185. PHA
    7 G0 o2 {/ `* I* u5 q
  186. LDA $6000- N8 t  h# a% {! j* l3 ^/ d
  187. AND #$80
    ) I# ]8 ^" ^" h3 ?. y7 e
  188. BEQ ADDRFFDC: M( L  L5 t+ E) W0 P
  189. PLA, o( K8 s7 R0 q, t1 L( j6 O8 R
  190. JMP $AA72
    * U7 Y( N: P$ f* E5 N
  191. ADDRFFDC:
    ! _6 m( e. H5 ?2 ]3 j
  192. PLA
    : a$ j9 o: O8 H/ _- H& u% }
  193. LDA $0629,X4 d% z3 w, r, ]
  194. JMP $AA6D5 e3 p  F& f+ f+ D+ O# M6 Z' w
  195. : x! R% d) L  }0 F
  196. ;[FC][忍者神龟3代标题选关程序]+ z5 i, u4 b. ?( \% R8 b" f) F  |
  197. ;作者:FlameCyclone 2017.4.1
    / P: s1 f& S+ s1 h& x! e* W
  198. + ~$ X' J# l- G* V5 x9 u& g$ X: z* n
  199. 3 c; S  @; U" \8 ~* R! I/ @; O
  200. ;配置数据
    : o  p6 F" }6 M4 |( V1 p" d! H
  201. KEY_ADDR = $F8    ;按键地址3 N+ A' J6 ]* b0 V
  202. STAGE_TEMP = $6010    ;关卡临时地址1 K2 }# B, G9 e( x/ B
  203. STAGE_MAX = $0E    ;最大关卡数7 d7 D2 Z- d! O; Q  Z- ^' T8 g
  204. TITLE_A = $20    ;标题条件A$ v: T+ [' z' i$ \8 f
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定
    0 f; V/ k: G- h6 ^; `
  206. TITLE_B = $21    ;标题条件B
    8 v; {, g2 I1 S9 \# M7 I9 x2 F! O
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定- t0 o) J  X, d5 f
  208. PPU_END = $FF    ;PPU结束符; ?* {7 j1 }5 u7 n  O1 z8 m
  209. TIME_LAY = $4A    ;标题显示延时地址% p$ R5 [+ S( t; R4 z3 R2 b
  210. BUTTON_DEC = $42    ;关卡减少按键
    / V$ a7 e5 C; ~
  211. BUTTON_INC = $81    ;关卡增加按键. e3 n9 R" W( V8 |2 ~
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量1 }4 v( n5 C  i# z1 M
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    5 e/ a7 G# I" A' \7 a
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位
    # M9 ~: l$ z; z, i2 h" r
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位: q, K) ]% d7 R+ w, N( c: _
  216. CHAR_S = $A2    ;字符'S'2 _+ X8 h2 Y# v& Q2 l& ^
  217. CHAR_T = $A3    ;字符'T'
    $ ~! N+ x4 O! j9 A
  218. CHAR_A = $90    ;字符'A'
    0 W# T1 E. [- A7 t; X. |8 C: P
  219. CHAR_G = $96    ;字符'G'
    . [( {6 I8 a$ @. ^0 j
  220. CHAR_E = $94    ;字符'E'
    ) F: c( h* O) K5 @/ i& T
  221. CHAR_SPA = $00    ;字符空格
    9 |3 [2 Z1 [9 [' i2 S
  222. CHAR_LIN = $AE    ;字符'-'
    0 T7 c4 k* P3 }) d  F2 o) U5 p
  223. CHAR_O = $9E    ;字符'o'
    0 `0 O& R- `( I5 Q) H" r* |/ f
  224. NUM_1 = $81    ;数字'1'+ T& \/ P# \1 {
  225. NUM_2 = $82    ;数字'2'6 h# a9 c! @4 P
  226. NUM_3 = $83    ;数字'3'; d1 W1 z2 m# N: Y5 z) m2 ?& I
  227. NUM_4 = $84    ;数字'4'7 b# Q+ Q  @0 K' O
  228. NUM_5 = $85    ;数字'5'
    . H4 P" q+ h- C
  229. NUM_6 = $86    ;数字'6'
    ( H, T# G9 p; [! e* o0 t7 W
  230. NUM_7 = $87    ;数字'7'" e# f- d0 t* C: Z# [& i0 P
  231. NUM_8 = $88    ;数字'8'& [9 `6 a- d5 @+ r
  232. NUM_9 = $89    ;数字'9'/ a* P4 v- `3 k1 I
  233. NUM_0 = $80    ;数字'0'
    # z! z. a- R) L+ ^
  234. 3 h( l, v4 y% n! a5 r
  235. .ORG $F82A) [! L/ ^/ t4 B  ?/ T8 J
  236. JSR $E700+ Z( h" \; }. T. l0 A

  237. 4 `; w2 ~  u- Q' b6 T
  238. . Z, o% h" m9 @
  239. .ORG $E700( p# L6 W4 T, N( B! s8 }
  240.   
    + \( U4 c: e. P( e. e
  241. STY $4014    ;补上覆盖的精灵写入指令
    # i( ]- t; ?: x: w! a( }4 M( y( v2 R
  242. PROTECT_DATA:    ;数据保护( Y) q/ C' m# a( l+ r' ]: H
  243. PHA    ;数据保护开始
    ' _, M6 n* l& i  K& ^/ Q
  244. TXA4 ]& {# U/ @7 _1 X5 Y9 D5 c
  245. PHA+ x+ V3 z: l, _( h! Z5 [* h/ b: E% W
  246. TYA  O' @( L9 U0 Z' [4 k
  247. PHA    ;数据保护结束
    & z' }0 \% X/ p4 O7 _8 p
  248. LDA TITLE_A
    + h, q( `# Z7 n8 B6 l/ ~# `. ]
  249. CMP #TITLE_A_ON    ;比较是否为标题画面3 u$ V! i, d: k5 F# ~2 [
  250. BNE RET
    2 u& m7 ?$ j% B; S5 E, {9 D
  251. LDA TITLE_B1 L' a; u6 s; m4 X. n9 e0 G5 A
  252. CMP #TITLE_B_ON    ;比较是否为标题画面& |# i% n9 @6 z( j; d; k$ G
  253. BEQ PPU_STAGE
    $ b) o1 M8 {$ j( H
  254. RET:    ;恢复数据
    8 \0 n' ]. N8 ]  s! K& F
  255. PLA    ;恢复数据开始8 s2 I* B( O+ ^, V. h
  256. TAY, p3 y8 N5 w2 P1 I
  257. PLA
    / m5 G, W4 ?; {. }, M3 |/ I
  258. TAX
    4 J4 H9 s9 @) z( w4 D. Z) d
  259. PLA    ;恢复数据结束
    & [$ J' N0 M! @7 n- J! L
  260. RTS    ;返回
    ' p3 O6 ~6 k8 d$ L, v6 ?
  261. PPU_STAGE:    ;字符STAGE写入程序
    $ E- ~  [# E4 I* o( P( f
  262. LDA #PPU_ADDR_H + T& G9 L1 T& ]: z
  263. STA $2006    ;设置PPU字符写入高位地址; [& U, f, M/ D: `! o) S
  264. LDA #PPU_ADDR_L
    : {" v% r7 k. S6 C
  265. STA $2006    ;设置PPU字符写入低位地址9 n  k% X8 ?! w" q- M! }- F1 q+ a
  266. LDX #$006 {* B, g& t2 h$ W* Q
  267. PPU_STAGE_WROTE:    ;写入STAGE字模* B/ ~  j9 w' G0 U
  268. LDA STAGE_DATA,X
    - j0 [) s: h5 G$ c6 c; I
  269. CMP #PPU_END    ;判断是否写入结束9 {/ d+ Z3 h' b
  270. BEQ STAGE_CMP; S, G1 T3 E7 s9 K6 X6 a4 x
  271. STA $2007
    6 E, p) a9 w1 T* M2 i6 \
  272. INX% X1 @; h% p3 D% l
  273. BCC PPU_STAGE_WROTE; q, `6 }. P8 R5 M# g9 R
  274. STAGE_CMP:    ;选关操作# p& T- T6 g! Q0 t+ U6 b* E
  275. LDA STAGE_TEMP
    8 `; {# \# o: V" w0 I5 z
  276. CMP #$FF    ;关卡数据初始化条件判断
    : L0 @* n' h  e0 F
  277. BNE KEY_B
    ' b0 l9 w" \  o. c6 j) x
  278. LDA #$00: T0 v3 q& Z6 {8 V& c2 m! X
  279. STA STAGE_TEMP    ;关卡数据初始化5 b4 V% U% v$ K. D1 I0 L
  280. KEY_B:    ;关卡减少
    : P9 O: l9 ^2 j' |3 J
  281. LDA KEY_ADDR
    / c0 |! c; t( Y% I- P) M/ C
  282. AND #BUTTON_DEC    ;按键B或左减关
    . e. r: `8 c2 }( @0 }7 P% p$ E  |
  283. BEQ KEY_A, F( I2 v  ~) m- M5 S
  284. LDA #$FF
    2 k# g$ w/ e$ c! w3 B
  285. STA TIME_LAY    ;重设标题延时
    0 Z4 O( e4 T6 k, r4 k0 |2 d3 s/ q
  286. LDA STAGE_TEMP# N  C  [* Z: A$ w" J
  287. CMP #$00    ;关卡比较
    - S! c$ v( N( Z! t! J9 `' T/ P
  288. BEQ KEY_A- \! N+ Q9 S, ], ]- T+ j: P+ ^' r
  289. DEC STAGE_TEMP   ;减关
    0 V- a/ u; ~' v5 {9 y3 c
  290. JSR MUSIC    ;按键音效
    " }0 L  x2 ?; C( s. D: @
  291. KEY_A:    ;关卡增加& V3 o$ Q; v6 j. E+ |2 p* |
  292. LDA KEY_ADDR
    : g8 ^- a4 C% w6 U9 k) i$ F
  293. AND #BUTTON_INC    ;按键A或右加关8 \7 I4 n/ f; }) v# Q; U  m' h9 b$ @
  294. BEQ PPU_NUM_WRITE
    & d( O2 m2 J2 ]2 q/ W% ]% c
  295. LDA #$FF
    1 j5 {$ I5 u- r" D3 _
  296. STA TIME_LAY    ;重设标题延时! _# F5 Q6 _  h  N
  297. LDA STAGE_TEMP
    . e5 V/ l6 x& S/ E  ^
  298. CMP #STAGE_MAX    ;关卡比较
    % J& M: v' S* j9 G  X0 _$ v
  299. BEQ PPU_NUM_WRITE
    / d3 p( Y  ]- a' X6 c7 \1 k
  300. INC STAGE_TEMP    ;加关
    % H$ d, {$ [; r8 C
  301. JSR MUSIC    ;按键音效4 X7 o: M. M8 d3 R+ L- L+ Y% d6 ^
  302. PPU_NUM_WRITE:    ;关卡数字写入地址. K" ~& d. {  l
  303. LDA #PPU_ADDR_H
    1 @! A$ f( ?' D: C- C# D: K% L, ]* L1 q
  304. STA $2006    ;设置PPU数字写入高位地址$ D$ W( P1 ~3 I$ L% s  u
  305. LDA #PPU_ADDR_L
    3 q/ B3 m- q3 Q6 b/ J" y
  306. CLC
    $ m  f! t5 I# V1 F3 P* {5 U5 s# h7 _, a
  307. ADC #NUMBER_A
    8 B  p; H8 L- Q2 m: |7 E
  308. STA $2006    ;设置PPU字符写入低位地址/ D4 a3 N$ U# {4 D+ k" Q; Q
  309. LDA STAGE_TEMP3 ^2 ~0 W) f  @2 D
  310. TAX: h# M2 O# H+ G8 \) r
  311. LDA STAGE_D1,X    ;写入数字, t& ^! ~  A2 n8 F* {0 h
  312. STA $2007; U" d, T! Y4 \9 E9 l9 I
  313. LDA #PPU_ADDR_H" h' U/ F) o- O# ]( p
  314. STA $2006    ;设置PPU数字写入高位地址$ }( U  x4 @. B1 D0 r
  315. LDA #PPU_ADDR_L0 S- ^9 H. g) \, D/ ^! p1 Y
  316. CLC
    " H2 X! `- E$ B- X
  317. ADC #NUMBER_B1 @0 Q8 h2 f8 @( H1 n$ n: a* a
  318. STA $2006    ;设置PPU字符写入低位地址
    ) u8 P& R) j5 g
  319. LDA STAGE_TEMP" ^2 F1 `. K; i# n% A6 P% e( s  k! [
  320. TAX
    # ^3 ]2 ^' T' u" W
  321. LDA STAGE_D2,X    ;写入数字+ G3 }# L' A9 o8 k* I& U
  322. STA $2007
    + T1 R# t: n/ J
  323. STAHE_WRITE:
    9 r% i5 \& h1 `8 B
  324. LDA STAGE_TEMP$ f6 d; g, F" Q  a0 D4 n' }7 Y
  325. STA $2D   ;初始关卡写入! e2 Q# k8 N  o3 o( L" R8 E. U
  326. PPU_RTS:    ;恢复数据) c( d8 \) [+ x$ L  F+ |/ p
  327. PLA: [' S7 q/ R0 j  Q7 k# c' r( C
  328. TAY# u5 U+ u1 W6 O& [% d
  329. PLA
    ' L, N  w0 U# Y! S  H8 x9 ]
  330. TAX
    : o9 U- W8 f$ ~5 }7 k0 N8 c3 i
  331. PLA
    7 T5 |7 f+ _; Z/ C" z1 I, e
  332. RTS; F) s7 ]- w- t8 y- ^5 }* M

  333. . L5 A2 t- W" Z( y' L" b: x+ u
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据. R9 N4 ~' E  @! g. V1 t
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END  J0 r) e; H! r2 Q! e
  336. ) N" l8 P! f% B. o$ z
  337. STAGE_D1:   ;关卡数字9 n3 D, ]! Q- V+ C
  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, |% g; ^  B: w

  339. . Z  O$ |1 ?  X' V; `
  340. STAGE_D2:   ;场景数字* u* c7 i+ R* a8 |6 i# a; ?" c# [
  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
    $ _0 S% D6 C, W7 |
  342. 1 {; p% X& Y8 l
  343. 0 i0 K2 M4 v" i( h( R
  344. MUSIC:    ;按键音效
    * [0 {! ?  X4 J: Y5 }6 w3 E
  345. LDA #$3B    ;音乐号
    6 F& D5 Y- s& M2 W; Z
  346. JSR $919E    ;系统音乐调用8 D6 d* d9 K6 }! R2 J. N
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;8 u* X1 ^/ i/ U4 h$ w1 s% e  c/ W
    5.生命加满:   暂停后,按下键切换;
2 ^1 a! R0 r0 \' b1 ?( i    6.血量锁满:   暂停后,按右键切换;
( o2 D6 u, t/ f" L6 y7 ?
/ @1 G. @- }! t* A- Z" ]
8 a" d6 o5 f% [/ F# Y& r4 c" x- @: p

( n& }& P* z( C1 p$ E1 a' z
% d8 ~% l. P& FFlameCyclone.ys168.com
, ?0 f1 g! |+ T, h8 k2 W, wwww.nesbbs.com
; _5 @: i& H& h9 t  K( T" c+ T
游客,如果您要查看本帖隐藏内容请回复

3 j6 U; u7 |$ N" K

本帖子中包含更多资源

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

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

签到天数: 2557 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1459 天

[LV.10]以坛为家III

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

该用户从未签到

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

签到天数: 1791 天

[LV.Master]伴坛终老

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

签到天数: 3135 天

[LV.Master]伴坛终老

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

签到天数: 2251 天

[LV.Master]伴坛终老

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

签到天数: 2017 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!- i* T) R! U% |; T

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1664 天

[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-7-27 01:19 , Processed in 1.125977 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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