EMU618社区

 找回密码
 立即注册
搜索
查看: 4085|回复: 67

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 & b: Y5 N9 W4 Y7 V# t: N+ J. E
; c9 x% B. A+ b% _
[FC][忍者神龟3][END选关]7 c9 {; }8 D3 w/ ~1 s: k; J
% [4 `2 L- v; q7 h! t) u
时间:2017.3.309 O8 K1 `  V  ?4 W
作者:FlameCyclone
/ d# R% i% A' n4 P* d内容:: @$ y5 v6 a' X7 t* W
    1.关卡选择:   标题时,左或B减,右或A加;/ U% ~8 }3 F2 q% p7 Z0 O7 Y5 }; q
    2.全屏击杀:   暂停后,按A键切换;+ n( u; S+ o; g# o2 ?3 ?: q
    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0& @# I/ C& R) F: s
  2. ora_data:9 r- Q. |' y" G- l! i* _
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10  j$ e0 u$ `: p. h9 |
  4. and_data:
    % o+ d: k" P3 u% h& a$ B
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF* x) Z0 H' {  W$ a
  6. ; y  ]; M0 n8 l' o, c( L- b4 {& G
  7. button = $F8
    # z) b/ x0 y, F- F2 |" I" L
  8. flag = $60006 b# c  s7 i6 g; b
  9. pause = $0045% d$ L  z1 L/ t, }3 H  n) T
  10. 4 J7 J! ]* b* B) G

  11. # g3 v% q; f: B
  12. .ORG $F90D
    4 _1 C# w# A. Q$ W" ^) r: b( G7 H
  13. JSR $FEC04 l0 Z  `( J6 S% T
  14.   x  Y9 u4 g! v
  15. .ORG $FEC0. _! w- @* o) U5 b4 r) O' b
  16. STA $54,X8 x* S" d' d7 f6 k: Z; ~
  17. STY $FA,X
    3 \5 X6 A: q% W% W% j+ s6 n
  18. PHA9 N2 K0 t* s/ {; c; Y
  19. TXA
    $ @# a7 R( ~# Y- Z* R
  20. PHA
    : M9 @( R% R# n
  21. TYA. t4 N3 h/ m, ^4 }$ ]% K, D
  22. PHA
    7 ?5 _9 Y; {5 h. L8 l
  23. JSR KEY_OPERATE6 S; Y7 ?! b  k& x1 m& ~3 C& x% T9 w0 m
  24. JSR INV( Z+ K/ ^) y4 ?; m. [
  25. JSR LIFE
    - V: G  \8 M' O) R0 [
  26. JSR BLOOD
    / ?; a- K. G0 [$ H! U- X1 ]- J! j: ~
  27. PLA# i# n5 e. r* P# ^
  28. TAY; Y. s% f8 N& H! f5 O, P
  29. PLA" m# U4 X- P8 p' X6 E7 j3 B+ T+ e
  30. TAX. o8 [# I3 ^# x7 t3 W: ~' g5 l
  31. PLA
    3 E% k* K3 C6 a
  32. RTS
    5 ?' P3 Z7 D2 S- r2 K! a1 g* `) J
  33. KEY_OPERATE:
    " T+ Q+ \$ r9 |3 u* c. W, Y5 b
  34. data_protect:
    ! N. s: b8 S" `9 |2 a& z  M( o7 m
  35. PHA
    + a7 v9 o: f% |! p- v* v# P
  36. TXA4 N+ J2 S! p) H+ V% w
  37. PHA/ a- R  M4 u; f& s6 j& l5 |  b
  38. TYA
    3 E9 @: U' @9 v" }4 J( A" z
  39. PHA
    + z) ~  e6 e5 z" X% u0 V, Q
  40. 7 b! [! e+ r3 _" p6 p" Q; @7 }
  41. FLAG_CMP:) ^, o$ H5 c2 o+ s" @
  42. LDA $600F  ]" a. v1 `9 t1 f" q
  43. CMP #$7F    ;标志数据初始化条件判断. \' S7 p$ n; f5 S; J6 I
  44. BEQ pause_cmp: @  m9 K- [1 j5 S$ t  T: r
  45. LDA #$80/ \4 ]; f( P% Q8 O% _1 J
  46. STA $A001    ;6000-7FFF写入启用0 Q! e9 y2 n+ G, \4 i
  47. LDA #$00
    ) k% e" P2 ?( N+ J
  48. STA $6000    ;数据初始化
    ; h: Y# S( L) Q4 u0 A5 G5 \. R
  49. STA $6001    ;数据初始化
    * S9 d$ l  c- y. A
  50. LDA #$7F  c, u- L& T8 x" V" z
  51. STA $600F( @0 ^' o. A, J% ~2 P' x2 l0 a! ~
  52. pause_cmp:& ~+ s' h. W$ d9 \% X
  53. LDA pause' m& F7 p. K7 i4 l+ s
  54. CMP #$01% B8 e$ l1 @- W5 l3 M( i: ?6 I
  55. BEQ button_press
    ) b0 v& B2 B. d) s' {9 {5 q9 a
  56. PLA
    , e! Y" u- h7 e& f5 p( ~2 M, e
  57. TAY, _" r4 o: P1 `( ^) a, K  z
  58. PLA
    ; z1 j$ I% ^  @3 u8 y
  59. TAX
    8 o5 ~9 R- Z9 N! W/ h
  60. PLA3 h8 F3 z, @6 D. c& D' @* J
  61. RTS
    ; f9 i- n" f0 k
  62. * h: I: [/ [1 v/ E0 T# T
  63. button_press:- _- Y! y, i* P8 Z+ i. n$ P. |
  64. ini_Y:2 Z% b; ]5 d( Z
  65. LDY #$00% x' k* V; S' Y7 |
  66. button_cmp:
    - Z$ o% N# a: ]/ c! s5 [+ ^3 s, p
  67. LDA button,X' y. f3 ^: F2 ]: u3 t6 A& r& |. B
  68. CMP ora_data,Y% I) ]8 L( k. G
  69. BNE count_Y_cmp
    : @! r8 d7 H0 L% x
  70. flag_cmp:9 S1 o0 _  q0 w: W6 k
  71. LDA flag,X
    8 b5 G+ ]( @$ I: l
  72. AND ora_data,Y  N7 `5 M6 p+ @7 R6 n+ B) v0 R
  73. BNE flag_and0 o8 r' r% w. K4 ~2 q9 X5 z4 L
  74. flag_ora:8 O2 K0 R7 y' Y, q
  75. LDA flag,X
    3 M! k( |1 |9 E+ Z5 W$ E2 c
  76. ORA ora_data,Y
    ' P5 n( }. u- J; H) Z! E7 R3 W" \
  77. STA flag,X: Q) H# C; m( X0 {3 U
  78. BNE count_Y_cmp
    - J' l' C3 F/ a4 c1 z
  79. flag_and:- Z' n8 M4 J: [8 u
  80. LDA flag,X  h8 [; \: Y  p5 m; x% g( `
  81. AND and_data,Y5 W6 s9 F  \( E% J9 N" }; B* E
  82. STA flag,X9 D. A+ Y. M  y$ Z- G
  83. count_Y_cmp:
    / Y8 s8 k% y) n: y3 D* g6 F. X) T4 Q
  84. INY& B3 s8 t" n9 q% L4 d
  85. CPY #$08* d3 q3 t! [6 U# E# F2 B
  86. BCC button_cmp2 {) M$ _4 m* L  O# B
  87. ' ~0 d% ?' s  P
  88. data_extract:
    1 r0 ~; d$ t% h: ~+ i
  89. PLA
    6 ]9 }$ |. x7 a- ~5 C
  90. TAY
    / {4 {& E3 h( |, q, r/ G# D: z6 n
  91. PLA
    + L. \+ d  t- k/ g8 P) P3 O! S& l! D
  92. TAX% u) V: v9 N% s! `4 n
  93. PLA
    - P& V6 N8 A, {' F9 N5 t7 C
  94. 7 T1 d& r5 u. i! h; C- L7 V4 m
  95. return:
    & c2 H7 B- N6 x; W
  96. RTS$ e) N0 j/ X7 g
  97.   j. J( y) W" t) f) j& I
  98. * A" {2 ?0 L! Q6 w# A3 k0 Z7 j
  99. INV:    ;无敌/ ~  q' {( Z9 y
  100. LDA $6000,X. c% \' S& }: [3 y: N" n
  101. AND #$08$ _. P& ^6 q; F- ]
  102. BEQ INV_RTS
    3 \8 t+ ^9 J7 C, K7 q. Z
  103. LDA #$05; Q) L5 b' n' S/ [0 p* b5 [2 V
  104. STA $04FF,X
    0 s- C: V# X# t* V
  105. INV_RTS:3 y3 P' u- Z: m0 G
  106. RTS
    2 N0 E) j+ [- |" k% i4 {9 ]1 o
  107. 6 z* K0 r" x4 b
  108. " T# k. d$ P/ U
  109. LIFE:    ;生命& ?0 s7 _8 S) d" W) G) ?' c
  110. LDA $6000,X* o5 K' M9 Z  x9 V* L% h4 {. M
  111. AND #$04
    4 b2 k+ m" G: z6 M; N+ T
  112. BEQ LIFE_RTS7 F! X" Q" o. ]9 z3 [, H
  113. LDA #$09
    : ?) f& i( n2 |% M7 [$ `" l5 Y
  114. STA $6A,X
    ; K8 {; N0 r, J
  115. LIFE_RTS:+ u& k$ Z+ m; `7 n* G
  116. RTS
    6 W8 S& [0 w' t. z. S
  117. # i; C& A* s5 r0 V: H; {3 O

  118. 5 w: g/ J8 J% j( K4 Y
  119. BLOOD:    ;血量
    + t/ @- c, N" h4 d  b, D/ B
  120. LDA $6000,X
    9 j/ L% x3 r# Q* j4 P- k
  121. AND #$01
    / d% u" S5 u5 k- \9 F" t' X
  122. BEQ BLOOD_RTS
    ! u# A. l# p* b  T8 q6 G
  123. LDA #$7F* l$ P) y. Q/ I! h) Y
  124. STA $04F1,X0 s4 X8 L. g$ s' o: o
  125. BLOOD_RTS:  O; T/ y% B- }
  126. RTS
    # d+ z4 `1 m) A+ z6 C
  127. : s) z6 R3 w, z! k
  128. : I+ d) l' }) Y# }

  129. 1 i  X+ m6 f* R0 N
  130. * l6 Q. f* ^4 X, J$ F5 ?
  131. .ORG $D29F9 f3 B" y' {7 n* g- S% L2 A
  132. JSR $FF80
    2 ]. M0 U; o& M% [/ K- O
  133. - @8 j. Q% Z2 Z( R. P
  134. .ORG $FF80( u/ S; X0 L3 N( C
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀
    % F1 y0 V1 i. y- t0 w
  136. STA $0628' T/ O) F' [4 u* O! K+ [0 ^
  137. PHA
    " ~8 p. B4 Q/ O& o3 x; V
  138. LDA $6000
      ^9 b" T4 B1 _7 P: u
  139. AND #$40# N" E0 c+ B( K: c; M- n% ?
  140. BEQ ADDRFF8E
    . ?6 I5 D9 o7 T0 q: U0 B) E
  141. PLA
    4 k+ Z- n. ^4 K+ A
  142. CLC   ;敌方死亡状态判定, D& |, n3 v) Z7 J) W+ ^( I
  143. RTS
    # u6 |; p" x0 A+ h
  144. ADDRFF8E:
    3 i0 n! k2 B& I/ Z5 r) l; B7 M9 `
  145. PLA
    , }% S9 C1 P: |( Y. {- J1 O, D
  146. RTS
    ) U% M5 Z) B/ n% G+ W! G0 B

  147. 5 P1 O; ^/ V$ r7 _3 f5 _4 E" r9 j

  148. " Y7 Z  l* o& V! y) V* j7 I, u, @6 M
  149. .ORG $D1516 y& e8 a- a4 U8 ~8 u# c0 J/ q
  150. JMP $FFA0
    4 [' v* u" z9 a* C- c; l4 i% c

  151. ( J+ |# ]- B! i
  152. .ORG $FFA06 G9 W  q# w2 _! ~$ g: H$ {) S) {  P
  153. KILL_BY_ONE:    ;杂兵一击必杀$ B; I1 J) J( I% q
  154. STA $0621,X! r5 F6 [9 [$ s1 f' T  o( a
  155. LDA $60009 V8 F! m$ b1 l, ]
  156. AND #$40- m$ c6 t; P3 z6 J) h1 W
  157. BEQ ADDRFFAD( G! ]5 \+ D8 p4 X% n
  158. JMP $D19A   ;敌方死亡程序跳转# G8 v' {8 q, @! b' g- r
  159. ADDRFFAD:
    2 j% P( k) g- k4 V- Q4 i' v
  160. JMP $D154
    , \0 T  C. n3 n

  161.   G, ]# f, s6 n& H( z4 V

  162. ' m% E8 t3 ]3 K  f1 h" }
  163. .ORG $A7F6* s) S6 z: W/ Z. a# C
  164. JSR $FFB0
    1 s% [3 }' j6 T2 W6 M
  165. 6 x* m: u; U2 P$ _" ^/ y8 P3 e
  166. .ORG $FFB0    ;全屏攻击7 W+ R, c4 p+ R3 d$ D
  167. PHA. {7 {9 m* I" ?) c4 F
  168. LDA $6000
    % x& w) G7 V  z# G  b
  169. AND #$805 J( y- N- n9 p8 q7 w4 w' i6 N! c
  170. BNE ADDRFFBD
    1 R  i2 D' X( C- f: l
  171. PLA3 @7 f7 h3 b! F  u
  172. LDA $0015' j- k% S5 ]0 F4 `
  173. SEC7 O3 s0 q' m! c9 Q7 p- f
  174. RTS, {+ [8 V; J& D6 \6 H7 t- ^2 k
  175. ADDRFFBD:
    6 u: }! v: B" ~5 h' G1 x
  176. PLA: n' t- A: f' z/ ^4 d4 m6 p
  177. JMP $A826
    ( t; u2 q. ]$ c" k, z

  178. ! v5 n) T  l! N9 e& O1 W# G/ N! I# o

  179. : m$ X/ e; k5 s: {( B4 G
  180. 4 F6 v, ]  ?1 f* C
  181. .ORG $AA6A
    ) Z4 a1 T" ], l0 K7 P; ?" W' K  b
  182. JMP $FFD0
    # ?8 p+ U+ p$ ~8 T4 w( a
  183. 0 `0 n" {! M# G
  184. .ORG $FFD0    ;敌兵动作忽略" @$ o0 O: K9 X7 u5 ^' k& |
  185. PHA3 w7 S4 ^; i( [
  186. LDA $6000$ n& K+ P2 q6 m2 f, l; D9 w! a
  187. AND #$806 u% s6 @$ A/ ?; J, V( J  L9 W
  188. BEQ ADDRFFDC
    2 u1 W" o" {3 Z  N; I& k! i( ?
  189. PLA
    7 e& D- h. X: `' [+ J
  190. JMP $AA72, m4 d& U* O; u- B: U" D( k4 O
  191. ADDRFFDC:8 w6 K  ?1 a1 ]
  192. PLA, p# l8 r9 c  H- I1 j
  193. LDA $0629,X- f% ?; Y7 u% _  N& }# [
  194. JMP $AA6D  E5 J, r) d8 Z* R) o

  195. & f% u- d. q3 ^7 o/ o
  196. ;[FC][忍者神龟3代标题选关程序]* d7 Z+ ?6 T0 z( ?
  197. ;作者:FlameCyclone 2017.4.10 O% F, z) f5 }% v& [" ~. }
  198. 9 H5 z6 H# t( _3 _
  199. ! ^) R6 j' d8 o* z' Z/ n
  200. ;配置数据1 l  O( x& N6 P, D0 G
  201. KEY_ADDR = $F8    ;按键地址) P9 C2 \* i! D8 q2 z2 ?( M, b9 w
  202. STAGE_TEMP = $6010    ;关卡临时地址3 R  d/ _- t5 b: ~: H
  203. STAGE_MAX = $0E    ;最大关卡数
      i0 G. s& V4 P# O* K# `
  204. TITLE_A = $20    ;标题条件A
    + L3 o/ p) W' J. n% I2 |
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定8 a' Y' Z$ O+ X% P# S# i( f- y
  206. TITLE_B = $21    ;标题条件B& e, @: _" t8 e5 b" K5 n
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定
    ( y! w- P' Z) W
  208. PPU_END = $FF    ;PPU结束符
    % S( W: F! d* [& n% M
  209. TIME_LAY = $4A    ;标题显示延时地址# m2 a9 ]  S7 ], U, l3 T
  210. BUTTON_DEC = $42    ;关卡减少按键
    * Y6 \1 C& o: I: D
  211. BUTTON_INC = $81    ;关卡增加按键) B* p: z# q6 [1 v( Q( o4 e
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量
    9 Z# G6 Q  B+ b7 q6 m9 F8 s8 V
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量
    ; c6 @" ~3 g8 K# m; r
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位4 w1 _! x: u$ l- m) W4 b9 a
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位
    : P& C" X. ~" Y7 p
  216. CHAR_S = $A2    ;字符'S'
    * w) {; H4 X6 r9 U" N
  217. CHAR_T = $A3    ;字符'T'' c! K- t/ i! h
  218. CHAR_A = $90    ;字符'A'
    9 y% i7 \* ]2 @4 s, M& g5 J* B
  219. CHAR_G = $96    ;字符'G'
    # m+ P" \- b) S5 f+ i0 C
  220. CHAR_E = $94    ;字符'E'
    7 \) w9 a  ], D: c
  221. CHAR_SPA = $00    ;字符空格  \5 S) E: J! }6 H8 T$ @
  222. CHAR_LIN = $AE    ;字符'-'
    + G7 m/ e& y! Q: S: [% X, Y
  223. CHAR_O = $9E    ;字符'o'
    + O. g. c- o( T3 X
  224. NUM_1 = $81    ;数字'1'
    # F9 h1 J) Q; Q$ A' N* v
  225. NUM_2 = $82    ;数字'2'0 a7 K* M' @3 X* @+ L  R( [1 _
  226. NUM_3 = $83    ;数字'3'
    " M# p" A& r# e- w
  227. NUM_4 = $84    ;数字'4'1 F! E9 Y2 d5 l3 U7 P
  228. NUM_5 = $85    ;数字'5'# N7 R0 X+ t. c4 ~
  229. NUM_6 = $86    ;数字'6'+ u! S- Q' C/ `' |) K3 [$ ^
  230. NUM_7 = $87    ;数字'7'
    % t( f4 o+ X4 T: e
  231. NUM_8 = $88    ;数字'8'# i1 K8 y" X$ M; K, A1 F) u2 u
  232. NUM_9 = $89    ;数字'9'
    7 y, _0 g4 N0 {9 A5 O5 }6 k3 t, I
  233. NUM_0 = $80    ;数字'0'/ \' I3 q+ {6 B7 @

  234. " S; b" K  _$ I3 N5 P6 K
  235. .ORG $F82A+ [1 O7 A8 T3 @, K2 I& C# b; }+ S
  236. JSR $E700' k$ a% u4 W  i7 L# [

  237. 1 M8 N1 }) i  e
  238. ( v, A0 ~8 S5 C6 @, E
  239. .ORG $E7000 G- P+ B# F$ Y, N6 ^
  240.   
    1 `! G) n( Y) x+ E$ E
  241. STY $4014    ;补上覆盖的精灵写入指令) M% T- l9 c4 M; Q
  242. PROTECT_DATA:    ;数据保护
    5 l7 J, e/ e5 Q6 u- W
  243. PHA    ;数据保护开始+ N" w+ D' t3 [* z0 h; L4 L
  244. TXA
    8 }0 f2 d0 {) f8 Y% K: C( N& `
  245. PHA. j8 y6 |8 w1 K, {( N9 ~
  246. TYA
    % T: S! b7 h3 e& U2 @! Z
  247. PHA    ;数据保护结束  V% d2 e' ~4 f7 n4 q' T7 E/ t
  248. LDA TITLE_A( g7 X, Z. ]0 M
  249. CMP #TITLE_A_ON    ;比较是否为标题画面* ?( W6 k+ V- K6 j8 A8 y
  250. BNE RET
    $ Y) i/ T: X1 j. \: ]) w1 v
  251. LDA TITLE_B' ^9 \- w4 [' k6 d2 A* h% R; x
  252. CMP #TITLE_B_ON    ;比较是否为标题画面
    / A- r+ ?9 d# K8 \/ D
  253. BEQ PPU_STAGE
    , w. K! w: {! l
  254. RET:    ;恢复数据. l- x) ~6 f7 K7 X& z" r( \2 `* b
  255. PLA    ;恢复数据开始
    ) v# o! v9 P! }  t
  256. TAY
    : U% P) k1 [. H$ _  p; ~$ F6 N
  257. PLA
    ! G4 \" w. n- R
  258. TAX& ]. m! n3 p. Q. j  J" C+ J
  259. PLA    ;恢复数据结束# ?' a! I8 O2 x7 P- D1 x2 K6 q& L
  260. RTS    ;返回+ Z0 D) x: x9 F* B$ v; _
  261. PPU_STAGE:    ;字符STAGE写入程序
    2 R9 f5 q! p! F5 r) ^
  262. LDA #PPU_ADDR_H
    3 h, K! q# [, [) F
  263. STA $2006    ;设置PPU字符写入高位地址
    0 V* ]! J; d- I* b  o1 r9 b
  264. LDA #PPU_ADDR_L
    4 \. W. Q' f) b  E. _
  265. STA $2006    ;设置PPU字符写入低位地址: Y$ d+ C. w+ x( U4 Z0 Z! Z
  266. LDX #$003 A& G9 S) a  s. S' n  J
  267. PPU_STAGE_WROTE:    ;写入STAGE字模
    4 B; d# J7 w' b, i$ T
  268. LDA STAGE_DATA,X* M5 \2 e6 S- R, `, n
  269. CMP #PPU_END    ;判断是否写入结束
    7 h0 d# B/ N* m' w8 F& [
  270. BEQ STAGE_CMP8 ~4 ]0 |8 @" ~" m5 ~0 R
  271. STA $2007( q' z5 c. `4 F8 T, U4 u8 ^
  272. INX, @6 Z0 ~& Q" c
  273. BCC PPU_STAGE_WROTE
    ! c4 ?5 g2 T3 {8 L3 D' m
  274. STAGE_CMP:    ;选关操作1 W9 C6 a4 J; g) P" h4 @
  275. LDA STAGE_TEMP. q- {3 B; I7 T5 d. E# Q
  276. CMP #$FF    ;关卡数据初始化条件判断
    $ H2 K8 T7 J1 N
  277. BNE KEY_B
    . f7 o' ~; f, @2 m9 A% b
  278. LDA #$00; Q8 H7 X9 o- I7 v9 F$ `* G/ _
  279. STA STAGE_TEMP    ;关卡数据初始化2 g6 j" g1 L3 {& Z* E4 z' b
  280. KEY_B:    ;关卡减少
    - e. L  O& L) ?1 d5 W" }
  281. LDA KEY_ADDR
    8 d! ?% E. F. O* h; ^7 v( V, M+ M" T3 m
  282. AND #BUTTON_DEC    ;按键B或左减关0 p1 q9 b3 o7 J. ]( [7 E, d
  283. BEQ KEY_A
    ' \9 a$ n+ I" v+ `) W+ p! W- o7 o
  284. LDA #$FF
    # G( T& S3 v; R
  285. STA TIME_LAY    ;重设标题延时2 F- p+ B1 U: U9 k* C
  286. LDA STAGE_TEMP4 S  l9 l, U5 m' z# P- t3 Q
  287. CMP #$00    ;关卡比较$ ~/ r, L! e7 Y
  288. BEQ KEY_A
    4 Q& {  W  F5 O5 O" l3 N. P# S
  289. DEC STAGE_TEMP   ;减关
    1 r. k. h( V0 t- v$ X4 m, y
  290. JSR MUSIC    ;按键音效
    ; S, F4 m2 o0 j1 s$ v
  291. KEY_A:    ;关卡增加/ b; N* S: s/ J7 O* a
  292. LDA KEY_ADDR
    1 U( K: }3 b/ {+ a
  293. AND #BUTTON_INC    ;按键A或右加关* `0 j- s4 J. e
  294. BEQ PPU_NUM_WRITE
    $ j; u% J( w  i, o  U: N
  295. LDA #$FF
    3 u2 w1 h. j) q& l1 o
  296. STA TIME_LAY    ;重设标题延时
    " M0 z* B0 L# y4 S' N
  297. LDA STAGE_TEMP
    * w% o; ], I' _4 ]4 N6 K
  298. CMP #STAGE_MAX    ;关卡比较
    $ q  K8 o9 F, I  ]. I* g1 w& _
  299. BEQ PPU_NUM_WRITE
    0 K" f/ M+ F) A8 r% H0 N3 @
  300. INC STAGE_TEMP    ;加关% }+ Z" E- H% P. V& b" M' o
  301. JSR MUSIC    ;按键音效7 q, n# ^1 ^2 L: @! }
  302. PPU_NUM_WRITE:    ;关卡数字写入地址
    3 K3 @" q" w+ f3 c0 M, d+ W
  303. LDA #PPU_ADDR_H
    & J1 X9 }' _8 x- C% l- y+ u
  304. STA $2006    ;设置PPU数字写入高位地址
    % P  d; l& G- R; |$ I+ W  }6 e/ I
  305. LDA #PPU_ADDR_L
    2 o- T0 j3 g0 k% a
  306. CLC' |% S6 g% s. t- S* P1 d- [6 _+ D+ F
  307. ADC #NUMBER_A
    * l7 _; H# y  q+ L( c7 v2 Z
  308. STA $2006    ;设置PPU字符写入低位地址1 l' G5 K# G: h
  309. LDA STAGE_TEMP0 f/ `' x1 ^  B$ A
  310. TAX( X" ~4 L8 W! ^5 c8 Y& I1 L+ F4 L1 p
  311. LDA STAGE_D1,X    ;写入数字
    7 i( D6 K- \# b! J/ I
  312. STA $2007
    * S8 z, q5 y/ t' D/ Z) [2 j
  313. LDA #PPU_ADDR_H
    ( v% m! J' |3 L; Y: v4 r- x
  314. STA $2006    ;设置PPU数字写入高位地址
    $ A$ o! `, d, B) ~; {: }5 ^
  315. LDA #PPU_ADDR_L: a) o* f0 K; ?( N  B$ X
  316. CLC
    " V7 t8 n3 P* s, S8 t  m) J/ S
  317. ADC #NUMBER_B
    # X8 b9 J# C9 C, T4 r! c2 c
  318. STA $2006    ;设置PPU字符写入低位地址# m* A- o# L( t( F
  319. LDA STAGE_TEMP
    5 E$ c4 ~$ N! d! ~( @
  320. TAX
    $ s" {# a) P( i- a
  321. LDA STAGE_D2,X    ;写入数字
    ( \0 d% W+ i' C0 e! p
  322. STA $2007
    4 R, [4 {( r# l% K9 V
  323. STAHE_WRITE:
    4 H7 Z) z& Z4 l
  324. LDA STAGE_TEMP
    ' o7 r7 r7 R3 S# p+ L5 \# V
  325. STA $2D   ;初始关卡写入" m7 ?! \% u4 d% n0 F- i
  326. PPU_RTS:    ;恢复数据4 d' Y9 g: X. s
  327. PLA
    / b7 A. Q$ B' @6 U6 W
  328. TAY, f0 c1 M7 N* k
  329. PLA+ f! @0 f+ B& l  L
  330. TAX
    ! q" ]( b/ {3 T2 `/ V
  331. PLA. [- V( W& I' N. p$ P1 N6 ]
  332. RTS5 D+ p1 [7 r6 i
  333. 2 N+ A5 y3 s3 U- X) {1 |$ T
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据7 g" j( x0 P2 K5 v# w- {
  335. .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END. _8 r9 I5 F$ S' X# b, s

  336. ; @3 W1 S( C$ |7 f
  337. STAGE_D1:   ;关卡数字
    ! x7 |$ f1 s, x+ k$ I4 s
  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! U( A* I8 h$ Y2 k4 ]
  339. " ^" a! Z* K2 J
  340. STAGE_D2:   ;场景数字$ Y: U" T( n, {) J0 p- N2 J
  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
    1 Y' A1 h& O' {
  342. ( i' ]0 a  w6 w
  343. : m, B3 @- E' a; k2 }8 C; P
  344. MUSIC:    ;按键音效: X0 y; @* Y6 b, [7 H: u* L, O
  345. LDA #$3B    ;音乐号
    / M4 I- ]9 ^' u' I
  346. JSR $919E    ;系统音乐调用
    5 d% V! E2 }, B0 U+ C8 v* [# P- I
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;
9 }% d  l" Z# Y% Y    5.生命加满:   暂停后,按下键切换;' L# w- @$ L2 M
    6.血量锁满:   暂停后,按右键切换;: X- `% L& e) n. B3 B0 {! ]- h# x
. `5 `9 B8 |4 D: h, F1 `
4 R) p7 y4 w& d+ n. i4 I  {6 f

; H' n- H" t$ @$ I: u
+ }  N0 y& w$ {4 S# p  i$ P$ h5 B* a  n5 |* a/ q) ~% G+ i
FlameCyclone.ys168.com
" T: p" f$ f6 y$ w% w8 j% ]$ Nwww.nesbbs.com
/ \: I4 s5 F0 g8 V
游客,如果您要查看本帖隐藏内容请回复

8 G# |- z* \* f$ c( W4 D. F

本帖子中包含更多资源

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

x

评分

1

查看全部评分

签到天数: 187 天

[LV.7]常住居民III

发表于 2017-3-31 15:19:48 | 显示全部楼层
感谢修改,辛苦了
[发帖际遇]: dabayu 发帖时在路边捡到 3 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜

签到天数: 49 天

[LV.5]常住居民I

发表于 2017-3-31 15:57:22 | 显示全部楼层
这也是个好游戏啊。谢谢修改。

签到天数: 2367 天

[LV.Master]伴坛终老

发表于 2017-3-31 17:15:48 | 显示全部楼层
感谢分享新游戏

签到天数: 1418 天

[LV.10]以坛为家III

发表于 2017-3-31 18:08:30 | 显示全部楼层
这个有意思,比30人版的还要简便

签到天数: 2706 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1601 天

[LV.Master]伴坛终老

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

该用户从未签到

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

签到天数: 1807 天

[LV.Master]伴坛终老

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

签到天数: 3290 天

[LV.Master]伴坛终老

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

签到天数: 2409 天

[LV.Master]伴坛终老

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

签到天数: 2175 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!) i) k2 f: [# w" O  l. r; _$ j6 X- n& K

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1800 天

[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-1-3 04:22 , Processed in 1.104492 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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