EMU618社区

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

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

  [复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-3-31 14:40:49 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2017-4-2 13:23 编辑
7 _: c- ^' K. e9 x, F& D8 w3 m3 p$ j+ p% o6 z
[FC][忍者神龟3][END选关]
4 n" v+ G, @9 V& y) R2 _. p  x* r, Y# T
时间:2017.3.30/ F5 f- P# c$ f: \" G
作者:FlameCyclone
* C4 j. y7 x3 O( O- D# k内容:( X' t7 p+ [; L
    1.关卡选择:   标题时,左或B减,右或A加;6 y' R$ k& ?8 o; n
    2.全屏击杀:   暂停后,按A键切换;: R% G9 P6 f: z2 @1 k8 j1 A3 Z6 a
    3.一击必杀:   暂停后,按B键切换;
  1. .ORG $FEA0
    # l' ~: c+ D* l0 ]. D) `6 B  T
  2. ora_data:
    ( s  n* a8 C7 _! y% c0 d/ a
  3. .BYTE $08,$04,$02,$01,$80,$40,$20,$10, u" p3 h1 M! m: ^: D
  4. and_data:& B" ~& K2 A% {6 L5 `$ u/ \
  5. .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
    . [- p! h/ B+ D
  6. 1 L8 [  R. ?+ M4 X$ u) }
  7. button = $F8
    & H) }( I- |' Q# k9 k
  8. flag = $6000
    + x: _$ }+ C7 w: f/ O
  9. pause = $00453 J$ g3 K* C; F" D

  10. & K5 g; m( u( T3 f1 }

  11. ; d4 u0 A- F  Z* ]9 [$ R
  12. .ORG $F90D. T! ?$ q3 O0 j* n7 a
  13. JSR $FEC03 d; P% g4 y7 m* N3 M8 T. ?* {

  14. ( x. D  f  Z2 I2 ]* ^5 `& O
  15. .ORG $FEC0
    9 _; g8 Y" F: ?5 Y
  16. STA $54,X) N2 ?9 U. l, l/ Y2 C% `3 s
  17. STY $FA,X
    6 v& O" b9 z# W5 c) A: T" x
  18. PHA
    7 t' G' S5 D9 I9 \5 ~
  19. TXA3 z7 }2 C" [! G2 ~" B" K: M
  20. PHA* G. I( p& n) d& z- \7 S5 Q
  21. TYA
    6 o1 v1 k7 y' Y+ s# R; ~6 d" S
  22. PHA
    / u4 S' J% P+ E" B  }
  23. JSR KEY_OPERATE6 t" w# q$ T. S1 ?
  24. JSR INV
    6 j$ v6 I$ Y4 Z, t+ R
  25. JSR LIFE
    : `! B. ]+ n  u5 @9 w
  26. JSR BLOOD
    0 P  e# r' n) Z
  27. PLA
    7 H! S  G* [, y! ]- f
  28. TAY, i! F- w, V6 X: ]9 E9 ~% r
  29. PLA1 Q- i, j; K' S$ K9 u
  30. TAX: w& z/ t+ F* a/ f/ k1 W# ]
  31. PLA
    * D7 ?+ l# i6 k6 g* J- R, S
  32. RTS
    . A4 `8 D" t, L. z$ C: W
  33. KEY_OPERATE:
    3 }+ X/ D- j2 N
  34. data_protect:* j! }4 y8 p. U' J& d1 X+ p/ q. n& P
  35. PHA. v1 Q/ ]& Y8 ^9 I
  36. TXA
    ; b2 C  J& ^% F5 L$ \( t& u
  37. PHA
    & a. U$ b% A6 ^7 y! Z9 ^' o7 u: M
  38. TYA: V3 }% A0 d6 c- ]7 ^0 I: h
  39. PHA9 A) j9 a4 V, ^1 R- Q
  40. 5 D9 L  ?. p; z& X2 B' p
  41. FLAG_CMP:! x; R4 P: ]1 J0 \
  42. LDA $600F
    ' X; ]) M; o5 g% J5 S
  43. CMP #$7F    ;标志数据初始化条件判断1 H' k6 J, z; [( Q' G# `
  44. BEQ pause_cmp
    3 {3 j% ~! c) {
  45. LDA #$80
    1 S. v" ]  G9 X: C& R/ @& ]9 e: l" i9 q
  46. STA $A001    ;6000-7FFF写入启用8 e9 E, ~8 L" P* y; o
  47. LDA #$00, ?2 I0 O9 E/ y
  48. STA $6000    ;数据初始化& P6 c( C. Q$ A* I# z3 b: v3 ]( m. r0 Z7 {
  49. STA $6001    ;数据初始化
    1 @0 j# S! o8 Z) v, u
  50. LDA #$7F
    - a% q& E6 |7 a; H( `
  51. STA $600F
    , O9 G- k5 M. Z  U5 p
  52. pause_cmp:
    ; U: w; j; |+ l* p3 g) D( F6 @7 [
  53. LDA pause: c# u. h- d4 o2 L% P
  54. CMP #$01. c) @+ j$ i6 Q/ |
  55. BEQ button_press( N6 k/ `) W& Z$ o$ h- v; M4 g
  56. PLA: g1 C5 u8 l9 Y  M- V5 u( R5 s
  57. TAY, C& L7 Y( H( M0 G
  58. PLA$ {# Z' m( ~0 G/ ?! g$ W% I( O, Y0 [: Z
  59. TAX
    0 S( h- h7 u8 U6 u
  60. PLA5 z% ]3 N9 e1 `* R
  61. RTS! F/ M6 q# N6 I0 n

  62. ' I6 j; {/ x* u, C0 o
  63. button_press:3 ~* R1 V" y5 B& b, u% k# i  i: C
  64. ini_Y:3 Y2 u5 ~' W6 X
  65. LDY #$000 k6 h' t7 q& n/ K4 t
  66. button_cmp:
    & y+ F) D( z. G8 M" ]
  67. LDA button,X8 f" D% i% c# y1 T- _
  68. CMP ora_data,Y- _0 x8 l3 p1 ^" W
  69. BNE count_Y_cmp# Q( D$ i5 {6 m- S( S
  70. flag_cmp:5 J: ]4 i& z9 i
  71. LDA flag,X
    * z! a4 q$ }$ k$ T9 z4 Q
  72. AND ora_data,Y
    + s# v! L: }0 T& H
  73. BNE flag_and& Y* T. {# Q2 f9 b1 r; _; b' \
  74. flag_ora:
    . Z' {+ ]; Y  a
  75. LDA flag,X. B$ R4 w* E  Y( O( u8 ?. W) i
  76. ORA ora_data,Y
    0 ]* o3 K) m; W- s
  77. STA flag,X9 d" d* J* h% G9 g
  78. BNE count_Y_cmp1 n3 X; K9 Z+ T9 \/ v
  79. flag_and:' ]4 |" c8 Y" g2 P6 r8 L
  80. LDA flag,X2 l7 ?5 v9 ^; \) O
  81. AND and_data,Y+ L7 S& c' a! X; |, N; M: R
  82. STA flag,X  W/ k( o2 r) a) J( u" ?+ h' K
  83. count_Y_cmp:
    0 h3 x: l# l; i# Q
  84. INY8 f$ M. S& |1 W' {+ G' X! R
  85. CPY #$08
    . t) C0 h2 q/ c( y
  86. BCC button_cmp
    ; c0 T" p# t) K$ I3 o" i4 ?# h
  87. 0 ~' e$ y/ N+ e) E
  88. data_extract:7 e# S& t6 b* t9 ^: X
  89. PLA
      O( g* ?/ g6 Y, }' g
  90. TAY
    2 U( T+ {! x7 O
  91. PLA
    . j/ ^, A0 [0 |+ ]: F. B, W1 U
  92. TAX. \$ i/ i5 ]# t( x  G3 w' Z
  93. PLA
    ( g' Q5 x  h' S) o
  94. 6 r' ^4 O' X# i. M8 t
  95. return:
    9 Q3 X# Y2 h! [7 l; h6 C+ l
  96. RTS
    " J3 Z" N# p, G+ a$ i' b  Q
  97. + W# x. Z# h$ ?( O4 o1 H
  98. . O( Y9 V  F! t4 W* E( T3 ~6 O
  99. INV:    ;无敌$ y  T) w4 O* }2 n3 i
  100. LDA $6000,X
    - J: V0 Y3 Z/ V. i/ n
  101. AND #$08# M5 H, V! i4 p. g
  102. BEQ INV_RTS; n4 z, d! `+ @! D8 e; [
  103. LDA #$05) W) H& E* D" C. T" f
  104. STA $04FF,X' }6 }4 o3 R# C
  105. INV_RTS:  x: z+ K  y* Q4 A7 L
  106. RTS
    : y' S, |) w2 T+ ]5 k) l
  107. ! F+ P' k* q0 ]/ l

  108. # ^+ y# p/ k. X
  109. LIFE:    ;生命
    * |* a0 C: q' n' G; u
  110. LDA $6000,X
    * c. p" L& y/ c$ D2 ~
  111. AND #$04" D7 }. P7 p7 O: n! y- }
  112. BEQ LIFE_RTS0 r5 }; `  s5 o( a& `  w, {
  113. LDA #$09, g# o! q; X# Z$ l( R. g
  114. STA $6A,X
    " q, [; @0 ~  E  S- S7 f
  115. LIFE_RTS:3 \' f+ C* c" ?* @+ ~
  116. RTS
    9 G2 l2 c7 ^  u/ W: `
  117. 2 A" g5 c4 m/ d! ?3 S
  118. 6 M1 _. }0 g  ]9 G0 `, y
  119. BLOOD:    ;血量; T4 Y' Q" f. s( X& ^% h4 T% [
  120. LDA $6000,X! T9 _. _5 Y# ~1 H1 A9 i
  121. AND #$01
    : c4 d" d6 W) }% w) g
  122. BEQ BLOOD_RTS
    ' J3 C' T) N  V- B/ u% V2 P
  123. LDA #$7F
    ) v% e. t- t( L. N  e
  124. STA $04F1,X
    7 @. Z) S, e" C: Q6 k
  125. BLOOD_RTS:9 p$ Z2 d. D+ a# T! v/ _
  126. RTS+ p7 R* A; R' r- E

  127. 8 l' c0 Z% v' b. C
  128. 1 }9 I; d8 e) d% U+ j

  129. & }- z* ~) l. g( D( Q# K! A& N
  130. + k, m) A5 s% C0 @' @5 Y
  131. .ORG $D29F
    8 L% B! p4 w0 }0 L2 A7 Z
  132. JSR $FF80
    . ?, h$ U4 h. K0 E4 J- H

  133. 7 ]! l. ^! A, h5 b1 D& g( \
  134. .ORG $FF80. q! h) J( v' P; f& x0 g
  135. KILLBOSS_BY_ONE    ;BOSS一击必杀+ m% {& M' Z0 }8 [2 a3 a6 t2 d
  136. STA $06289 p4 o, @0 A8 j1 k+ ]& J' f
  137. PHA
    : P, i$ N% `5 n# ]% e# G0 Q# Y4 Z
  138. LDA $6000* |2 k( j3 y  L+ l4 I
  139. AND #$40$ x4 @0 O* Z; }' e2 W
  140. BEQ ADDRFF8E
    & k" q9 N7 O& ^7 `7 c/ G
  141. PLA
    . [0 ?. t0 m- `9 B
  142. CLC   ;敌方死亡状态判定( H- m3 U7 l3 z! L! c' [9 F
  143. RTS
    & c& u7 r/ S' ~0 L+ j4 s# e/ J
  144. ADDRFF8E:
    ' A* |! U% R# A
  145. PLA) Y- Y2 s0 F: D+ p9 u+ f8 _
  146. RTS8 q5 d5 V( i1 O5 t
  147. + r! Y/ r# X" s

  148. + o3 y, K' m# R# j: @0 E
  149. .ORG $D151
    6 i  F- @* }- m# i( m+ {
  150. JMP $FFA0
    2 f) X0 B4 |  A. s

  151. % k! U. I8 K$ ?, j/ ]# s. [/ Y
  152. .ORG $FFA07 ?1 c4 t3 A$ K3 [& w) O1 |
  153. KILL_BY_ONE:    ;杂兵一击必杀% ~; e9 j4 L( w: f8 B0 j+ h
  154. STA $0621,X
    ! m8 |6 y0 q- U1 C9 w
  155. LDA $6000) u' C5 o- i. U1 {: v2 z) G
  156. AND #$40+ Y# m  R2 a1 Q5 x. P
  157. BEQ ADDRFFAD- f6 _+ K" o  h7 G1 L  e
  158. JMP $D19A   ;敌方死亡程序跳转( `) H* Q6 d7 b7 \
  159. ADDRFFAD:
    & G" [7 k$ O! O9 p
  160. JMP $D154
      S- N3 V9 n  f; ?7 i) A1 G! m
  161. 8 B3 D; o& r0 O

  162. 8 X2 b% ]" P! q$ ~2 [+ D
  163. .ORG $A7F6
    1 b5 P: S" I& G2 ?5 W" ]- Q- K( Q
  164. JSR $FFB0! F0 k6 B3 c2 J

  165. 7 A# {" @! J/ c/ d, p. M
  166. .ORG $FFB0    ;全屏攻击
    ( p& F% n1 }7 u  F$ s+ K: `; M
  167. PHA6 {1 `4 v" P5 Y" A9 @
  168. LDA $6000
    $ X8 y5 }8 s  w. V
  169. AND #$80
    ; C+ [% b. \; u6 U
  170. BNE ADDRFFBD$ n8 i2 y7 H9 Z" F9 H  X
  171. PLA7 N5 Z( ], P4 w/ Q7 W/ @% l5 J
  172. LDA $0015+ K" k0 t! j" i9 b, F& p. V
  173. SEC
    ' {( h4 l3 Z8 ?
  174. RTS: O, X& M6 z" k; V0 h: J; V
  175. ADDRFFBD:
    % I' [, x1 e# T' u  b; ?* r' t
  176. PLA" I8 \( @+ k0 ~! K/ V' {
  177. JMP $A826
    9 B6 ~0 e/ w8 O" c

  178. 8 N; o& J9 m% T% m) J( H% K
  179. ' {; u. e5 N7 c6 D  H2 J! m3 G) F
  180. 1 a! Q! ^" v# Y* e- G9 ?/ K2 n
  181. .ORG $AA6A: n1 O2 J4 N2 F% s; F2 |
  182. JMP $FFD0
    " \; [' H( g. g1 j$ L
  183. " l! f+ u+ ?+ q6 q$ U
  184. .ORG $FFD0    ;敌兵动作忽略7 z3 t9 O# K7 A+ X' c5 E) M
  185. PHA7 G4 Y" g* [( t, I9 E$ A5 C, ]# D
  186. LDA $6000. R& P/ b# l& I. g6 m: {; |4 S: |9 t
  187. AND #$80
    + A( B# w0 d9 q
  188. BEQ ADDRFFDC! S7 _- J0 B7 Q+ {
  189. PLA
    / A& j- u& ~7 E. o: ]$ N0 f
  190. JMP $AA72
    ; Z( s4 g3 {8 H+ [
  191. ADDRFFDC:
    ) q: Y4 l/ }6 W+ d$ d8 G
  192. PLA
    1 U# c* b, ]7 r) `3 H- X9 T
  193. LDA $0629,X! {3 X6 F$ U) {2 a! c
  194. JMP $AA6D
    $ n2 m# Q0 c5 o3 T
  195.   Z# w5 D/ T) }6 V9 q  U
  196. ;[FC][忍者神龟3代标题选关程序]
    . [5 R3 T4 M0 E7 n
  197. ;作者:FlameCyclone 2017.4.1- D8 A3 q5 V! O6 A0 U* _) W& W
  198. 5 B) a: A- r1 S6 ]% A, s# Q5 M0 R

  199. # E2 j# H; c& u0 \1 |* v4 d) \1 v- J
  200. ;配置数据# q+ y( @& K4 G. _
  201. KEY_ADDR = $F8    ;按键地址
    " R& y) z- u* O
  202. STAGE_TEMP = $6010    ;关卡临时地址
    % R) T) b) U7 s
  203. STAGE_MAX = $0E    ;最大关卡数0 M4 Z6 X6 W) `2 I6 i" t& E* E1 t
  204. TITLE_A = $20    ;标题条件A/ v' p2 X' n- U3 s. c
  205. TITLE_A_ON = $02    ;标题条件A有效状态判定9 P. q& {# O8 M. [
  206. TITLE_B = $21    ;标题条件B5 A, w# w) \3 b. j, D
  207. TITLE_B_ON = $03    ;标题条件B有效状态判定1 _0 o' B2 \2 {! ]3 [# A0 z; s4 {
  208. PPU_END = $FF    ;PPU结束符
    4 U& Y( ~1 [& @& M. [
  209. TIME_LAY = $4A    ;标题显示延时地址3 R( ]/ K4 C) @
  210. BUTTON_DEC = $42    ;关卡减少按键( d" Q7 q) [2 |8 g# L2 J
  211. BUTTON_INC = $81    ;关卡增加按键% {3 p' H1 M* n7 u. A3 G
  212. NUMBER_A = $06    ;数字A距离STAGE偏移量: {$ n  ]* U" I  E+ c& c) Q
  213. NUMBER_B = $08    ;数字B距离STAGE偏移量& B$ |  N- T& z. F7 R, a4 Z
  214. PPU_ADDR_H = $23    ;STAGE写入地址高位9 \" u! V5 r2 w7 D8 B- B
  215. PPU_ADDR_L = $8C    ;STAGE写入地址低位
    8 Y- K4 d7 s6 i* p+ T
  216. CHAR_S = $A2    ;字符'S'& }% u+ S" V& a! A. V5 E% D
  217. CHAR_T = $A3    ;字符'T'# b# d1 i6 k; c' _
  218. CHAR_A = $90    ;字符'A'0 u0 i& ]; {, y' z. ?" r5 S- W
  219. CHAR_G = $96    ;字符'G'
    4 r0 |* U2 |5 j
  220. CHAR_E = $94    ;字符'E'
    * p! W1 G: u' ^6 D" w9 o, `* N' c
  221. CHAR_SPA = $00    ;字符空格3 b6 S; ]8 E- N5 M# b: X& F
  222. CHAR_LIN = $AE    ;字符'-'2 p. x* a0 O, Z( j9 t1 t7 e) M
  223. CHAR_O = $9E    ;字符'o'
    ) T# p" a8 W& D% u1 Y# O
  224. NUM_1 = $81    ;数字'1'* E, @' g  \( a( H1 ^
  225. NUM_2 = $82    ;数字'2', g+ F- E7 E7 a6 b
  226. NUM_3 = $83    ;数字'3'; W! V0 s( W5 W. H
  227. NUM_4 = $84    ;数字'4'& N5 b! \6 \, @
  228. NUM_5 = $85    ;数字'5'
    ! ^! \" J$ @( F3 }6 k4 L
  229. NUM_6 = $86    ;数字'6'
    % X( c3 e/ T4 Y  E8 B% d
  230. NUM_7 = $87    ;数字'7'3 D  m; D& `0 m) Q6 |% m. N& @
  231. NUM_8 = $88    ;数字'8': P/ ~& G) ^3 P" ?" {: M- a* o
  232. NUM_9 = $89    ;数字'9'
    " |; ?6 a( m+ g6 P& P
  233. NUM_0 = $80    ;数字'0'2 k) [: y3 G. ?2 h$ s( _$ A
  234. 1 C$ s' x9 L7 q" @& I" I  v
  235. .ORG $F82A
    6 X3 j' X# I: T5 o/ p2 n
  236. JSR $E700! \; A$ L7 o. h5 m& |
  237. # s" G" v3 x. x/ M

  238. ; F; ?# K8 B' w
  239. .ORG $E700
    1 T5 E4 X% Q* L* o. d
  240.   ' n/ t/ f6 W# Z8 w
  241. STY $4014    ;补上覆盖的精灵写入指令
    6 l0 @4 ?* i! w- ~+ Q4 h3 X6 g
  242. PROTECT_DATA:    ;数据保护
    " G7 b# Y; R  J
  243. PHA    ;数据保护开始1 C" C: M/ [: g* p
  244. TXA$ d# ^9 X2 ]  S8 V& P5 [  U
  245. PHA/ F6 R2 B" {7 M6 _6 N7 I* R+ I( M
  246. TYA
    ; s4 T2 ]% _6 H8 f8 o! F. m- Z
  247. PHA    ;数据保护结束
    " y6 P: b2 Z% t/ h$ D, K$ w
  248. LDA TITLE_A
    ) H  N3 m% h& M$ T
  249. CMP #TITLE_A_ON    ;比较是否为标题画面
    % _& }' |+ K% L+ ~! ?) Y9 g
  250. BNE RET6 G( \0 `+ H/ i9 d6 O
  251. LDA TITLE_B
    2 F6 B! g6 U; D7 E
  252. CMP #TITLE_B_ON    ;比较是否为标题画面
    6 t, D7 z' J9 R
  253. BEQ PPU_STAGE8 V! _' ~" Y0 x# s4 h, T& Z* C( P
  254. RET:    ;恢复数据/ @0 w- m7 m' p2 A. a$ E
  255. PLA    ;恢复数据开始
    3 h: w/ v+ c7 }
  256. TAY" X( |6 p/ Y8 I* s% T7 M: A
  257. PLA
    , Y. O1 E$ y* X3 u& m4 `
  258. TAX
    1 b( @3 B5 I) b6 Z8 w
  259. PLA    ;恢复数据结束" M3 @8 p6 l6 u/ w
  260. RTS    ;返回0 S& ^6 U4 M3 T- F
  261. PPU_STAGE:    ;字符STAGE写入程序
    $ A: M: X; t: k
  262. LDA #PPU_ADDR_H 0 m5 Z+ F4 N0 ?9 E1 V8 e9 V1 Y0 t
  263. STA $2006    ;设置PPU字符写入高位地址
    ; ]: O: w" }6 c: e* c# b5 r
  264. LDA #PPU_ADDR_L
    8 |7 i6 p$ m; Y# v* w
  265. STA $2006    ;设置PPU字符写入低位地址
    + P) i. M& G/ x* S& P
  266. LDX #$00
    % @2 a  w$ _9 V3 n" \" B
  267. PPU_STAGE_WROTE:    ;写入STAGE字模0 r7 V4 I- d' e$ |6 T4 k& A
  268. LDA STAGE_DATA,X& _5 M6 J4 {$ v% A
  269. CMP #PPU_END    ;判断是否写入结束
    / k6 m* H1 a" Z  B
  270. BEQ STAGE_CMP, s4 @! c3 ]9 P" X: Z
  271. STA $20071 ~2 m& p% _+ k
  272. INX
    9 `8 d& ]: E3 [+ m. n
  273. BCC PPU_STAGE_WROTE* z0 {  V+ E6 X5 c' t; Z( A
  274. STAGE_CMP:    ;选关操作# u8 y( R0 a8 k3 y2 I
  275. LDA STAGE_TEMP
    $ p1 A8 ^4 s' {3 ~1 H- }" K0 _  o
  276. CMP #$FF    ;关卡数据初始化条件判断
    $ o( G- L: l1 T0 n
  277. BNE KEY_B
    / H1 N" K0 q- c) _- O  Y4 a0 T
  278. LDA #$00
    - Q# @" z2 O! I
  279. STA STAGE_TEMP    ;关卡数据初始化
    . k& Y/ J$ d! N% \( ?. |; |
  280. KEY_B:    ;关卡减少
    8 }; D; [% |1 w7 g0 E
  281. LDA KEY_ADDR1 m' K" j  q, ^  O
  282. AND #BUTTON_DEC    ;按键B或左减关+ u5 T6 m# Y& `" A
  283. BEQ KEY_A
    3 N" y+ G( L: W1 d2 x  u  {  P
  284. LDA #$FF
      V/ C8 D2 I& V- t) G0 q
  285. STA TIME_LAY    ;重设标题延时3 G) Q5 S& `7 y* D4 s
  286. LDA STAGE_TEMP' v: b9 f7 h: {, }' q' m
  287. CMP #$00    ;关卡比较, S8 V) L" ^  @0 |6 n# Z
  288. BEQ KEY_A- J+ `# d+ N$ u' g0 I
  289. DEC STAGE_TEMP   ;减关
    $ E1 S2 |, s" P/ h3 K, @/ Z4 Z
  290. JSR MUSIC    ;按键音效
    . Q5 \: n3 @! ?. P4 ~1 z& `
  291. KEY_A:    ;关卡增加
    # q! `; {" Q6 ~1 R5 ^* p8 M
  292. LDA KEY_ADDR
    # e3 I' w+ t5 m$ o8 r- }8 R
  293. AND #BUTTON_INC    ;按键A或右加关2 w4 O/ O9 E" S* U0 D9 u( y
  294. BEQ PPU_NUM_WRITE/ n7 Q" u2 X& k- F* I' x1 }. g/ U
  295. LDA #$FF
    ; B3 r$ N/ Q6 q- \! E: [
  296. STA TIME_LAY    ;重设标题延时5 v( p5 V! C- k2 N' p- {
  297. LDA STAGE_TEMP* h" }  b) Q$ N7 x: \
  298. CMP #STAGE_MAX    ;关卡比较) P4 [# l# h& H
  299. BEQ PPU_NUM_WRITE. j9 G2 V& r' t
  300. INC STAGE_TEMP    ;加关% ~8 |5 {- I# ^4 a! |+ G, D  t5 O) T
  301. JSR MUSIC    ;按键音效- S9 R# k/ |0 m1 c" E
  302. PPU_NUM_WRITE:    ;关卡数字写入地址1 J. _4 \: @7 O5 U
  303. LDA #PPU_ADDR_H0 t3 h- H  r. D: C6 u0 y2 N5 \
  304. STA $2006    ;设置PPU数字写入高位地址* ~# f7 c- X6 P) d
  305. LDA #PPU_ADDR_L
    2 b! l( v: {: A1 P
  306. CLC: c3 P+ F+ C+ N2 V9 y; e
  307. ADC #NUMBER_A
    . N' C+ a* Z. s; i) ?" S/ I
  308. STA $2006    ;设置PPU字符写入低位地址
    ) {/ c$ V4 ^+ d+ ]; q- o
  309. LDA STAGE_TEMP0 M7 L% y& S/ H. O7 @
  310. TAX
    6 ~! A  s+ x8 M3 k# m& X
  311. LDA STAGE_D1,X    ;写入数字1 z$ C6 [8 c# J* r
  312. STA $2007* t  Z( p5 p2 o" \% |
  313. LDA #PPU_ADDR_H
    1 r. L, C9 S, U' {; F
  314. STA $2006    ;设置PPU数字写入高位地址" U5 A( ~. l  d& ?/ `5 G: Q  i6 y6 w
  315. LDA #PPU_ADDR_L
    " T. d! T6 }7 h% V
  316. CLC
    & @, U/ u, P+ {. L
  317. ADC #NUMBER_B
    2 ]$ @. y7 J* i) F+ P7 L! L
  318. STA $2006    ;设置PPU字符写入低位地址: i' q9 s2 d( L, r; R
  319. LDA STAGE_TEMP& D( m+ c$ P; a4 i/ I" `( X; X
  320. TAX
    5 j+ A- r3 }$ O
  321. LDA STAGE_D2,X    ;写入数字0 P2 y; ^; ^( i! A( Q. F9 U
  322. STA $2007# _8 ~  q+ {) s5 @( N
  323. STAHE_WRITE:
      o0 m: g9 d1 v; R) ?
  324. LDA STAGE_TEMP* t) G: o; ^+ F2 H4 T
  325. STA $2D   ;初始关卡写入
    ; ?1 n* c% X- y8 p5 D* @5 x
  326. PPU_RTS:    ;恢复数据
    8 ]  M5 i$ e5 A+ K& u; ^5 h3 \: B
  327. PLA( f1 u+ s5 }/ I8 P! W2 T) t
  328. TAY
    3 z1 }% M4 E+ Y
  329. PLA
    $ I- u/ a4 O) x/ L- O3 I
  330. TAX5 ^# t- M# D) F
  331. PLA
    ) Y7 s9 a' X5 H5 p9 X
  332. RTS# \" t3 w/ u) P% Y1 [+ M/ z$ ~
  333. & p3 }0 C' _7 l3 h9 y) m1 P
  334. STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据: {1 ^5 h" @+ g4 y' O5 F6 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* J/ V3 T* }, H) b, Y* H/ Z/ W  U
  336. 6 }) s; \. p, F* s" ^
  337. STAGE_D1:   ;关卡数字% N$ U  G. n, Y" \$ o0 j8 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) `( v5 b' ]1 w2 t  o* q. O

  339. 9 R# o  H  q3 r. U
  340. STAGE_D2:   ;场景数字
    6 ^& r+ X# a0 z0 K
  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* Z* D* B, C8 h* D+ |6 Z
  342. & `. p. C' W" J7 u  b
  343. 9 r- b2 q0 g& d+ E( o7 D% |
  344. MUSIC:    ;按键音效# \$ P: a! Z/ C) }" d
  345. LDA #$3B    ;音乐号% l# b% y2 v8 X( @% u
  346. JSR $919E    ;系统音乐调用( L( n/ F0 T0 r* M4 S/ @5 a6 N
  347. RTS
复制代码
4.无敌锁定:   暂停后,按上键切换;: @5 x; {8 t5 W% z7 n6 c
    5.生命加满:   暂停后,按下键切换;) d$ ?$ g/ v% z+ t* N0 P2 U: a
    6.血量锁满:   暂停后,按右键切换;
$ b+ ~" S, ?$ I% \' j% @; J. O3 c0 f$ J+ y6 z

$ x) u, B1 ^6 Y  r6 d1 j. Q% u% b4 \6 O* I% z8 X

' M% K! p0 H& G; I/ N, k8 T3 o- G% H. E) b$ x
FlameCyclone.ys168.com
7 t* o+ j4 J9 C0 m4 @" awww.nesbbs.com
* p4 ^) k- R8 n- I& p
游客,如果您要查看本帖隐藏内容请回复
3 F7 r2 r* [5 x5 W  Y- f; [) r

本帖子中包含更多资源

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

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

签到天数: 2679 天

[LV.Master]伴坛终老

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

签到天数: 71 天

[LV.6]常住居民II

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

签到天数: 1575 天

[LV.Master]伴坛终老

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

该用户从未签到

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

签到天数: 1803 天

[LV.Master]伴坛终老

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

签到天数: 3263 天

[LV.Master]伴坛终老

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

签到天数: 2381 天

[LV.Master]伴坛终老

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

签到天数: 2147 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2017-4-1 11:35:44 | 显示全部楼层
老规矩,先回后下!!!!!!!
1 o' R  g' j, W/ f3 G/ g* E0 u; H

签到天数: 179 天

[LV.7]常住居民III

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

签到天数: 1775 天

[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-12-5 22:04 , Processed in 1.091796 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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