|
|
本帖最后由 yandagui 于 2017-4-2 13:23 编辑
! g, h- w+ E+ x3 c% N5 ]% c3 t' B! }, a7 [! P2 I! X& Z
[FC][忍者神龟3][END选关]+ U/ B! A9 h1 X: I1 D0 _
* Q0 _7 I& }$ V时间:2017.3.30; h& s' M6 r1 w4 `, O
作者:FlameCyclone
- {0 ~; y: D; E C内容:
# c2 s: U( y ]( g 1.关卡选择: 标题时,左或B减,右或A加;% F$ x8 ~" C }) {
2.全屏击杀: 暂停后,按A键切换;, R4 L0 _& ]' M. }' Y
3.一击必杀: 暂停后,按B键切换;- .ORG $FEA0- [7 w+ _* m& Q6 c' h0 t* w" s
- ora_data:
/ U/ O1 {, L/ m. c4 P5 { - .BYTE $08,$04,$02,$01,$80,$40,$20,$102 B) H" Z1 r4 Q6 \' K7 h# k! d
- and_data:
8 d2 X( n0 b' |8 e% }* j - .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF( d% L6 I6 I! W2 f ]0 q
-
1 `4 j/ S: a% {+ m% T- C) z - button = $F8
5 G6 _: z1 L8 H7 C4 s$ R" b - flag = $60001 L1 o% l- J- @ K5 X! P
- pause = $0045* v; [: V5 z0 ?" k- H3 W
$ v4 R5 l% m- Y2 X; b+ N' h8 s
) Z& n$ r( ^: b! T4 C- .ORG $F90D W. i# ~ w. p; |, ~' Q# x# x3 x
- JSR $FEC0
! m. [2 j/ N6 T. _1 t. R -
9 h, Q; V4 M+ v - .ORG $FEC0
9 O; k& I% @/ ?! x/ z2 C - STA $54,X
8 \, y* {& |$ i$ F: b% W1 ?: x$ w - STY $FA,X
" s' s& J N0 s( m* i& K- U - PHA# F. s7 P* X( Q l; L8 f
- TXA1 ]* b k& a! N4 l' [
- PHA
2 S V3 D) v1 V, Y - TYA
6 Y( n) o; D) w6 b - PHA1 t5 A# N5 U$ j
- JSR KEY_OPERATE
5 M" p6 _; }9 n8 z - JSR INV. a+ F3 o1 e8 o: B
- JSR LIFE) T+ y6 l0 k. ^
- JSR BLOOD+ `$ ?# ^4 P, D
- PLA
- i/ M) V2 A* P8 x- D - TAY
# r$ I# D, o5 q8 Y - PLA; s* N: n2 j; }* S3 s* e
- TAX* A! \. d' Q, T/ k
- PLA
0 P% e* P5 q6 f" S- o5 F - RTS+ g2 V1 ?# o1 n( L8 ?
- KEY_OPERATE:
6 R- W8 |/ e" a n1 N" a - data_protect:( a# u" p, I( C' u9 z, }7 R4 e1 m
- PHA$ n& `6 h& h, j4 s* b
- TXA
4 L# X ~9 r+ g6 i3 E: Z" R - PHA$ r E2 j# W% a7 ]0 f
- TYA
& F: B6 o, v' x2 x - PHA
% L7 H$ k6 [2 h4 `
1 g4 U& z# L4 A3 b; ~, R- FLAG_CMP:3 Z" ^. c- S* K9 {& A3 n
- LDA $600F0 _' i2 i8 A' |5 a( }
- CMP #$7F ;标志数据初始化条件判断 a/ p+ ]8 {5 J. X, F4 l
- BEQ pause_cmp
/ a0 y! ]+ H% S. \' X8 `7 O - LDA #$80. W) Q" R/ Q L6 s% P+ O
- STA $A001 ;6000-7FFF写入启用
+ m; M" R# v9 X. T6 \ - LDA #$009 J0 R @* v. D5 V5 Y. R+ `
- STA $6000 ;数据初始化
1 s8 |# l( k$ F1 ]4 y6 ^ - STA $6001 ;数据初始化, R; B- Z3 B% V9 J# R
- LDA #$7F
; i, e* G0 a2 b, s4 s9 \# @' H - STA $600F3 _/ [3 w. h7 i+ ^ O1 {. h
- pause_cmp:9 _& v' a/ ?/ i4 J) [! f' v
- LDA pause* \8 C1 @2 f v: @* m5 F' v
- CMP #$01
$ x* Y1 u. b1 B3 k" c8 G - BEQ button_press
: z, [0 k# V% m2 a$ ?; w - PLA
6 ^5 g. q; s( X8 J0 ]9 ~ - TAY
) |7 h$ m5 x" N& c - PLA, }6 G( k: h9 e# v8 e; _4 K F
- TAX, b$ D9 D1 X" l! h) I) K, w' ^
- PLA
1 v; ]* \% y! [+ H5 Q8 \5 K, {. ] - RTS" m- D8 Y4 g1 K6 O0 f& d9 A( k
1 T6 l% F* P+ }# W, ]- button_press:
q' ~0 D/ K! y8 p) u - ini_Y:
8 d7 Y+ q+ N B3 G2 | - LDY #$00$ J( c3 e* F/ e- D, Z6 k
- button_cmp:: O0 H7 e2 Y; U G" P4 D
- LDA button,X
' j: |. x" B1 K& v, ? n/ T: R - CMP ora_data,Y
% I+ ?8 w% m: X) f6 J: ^) \, g - BNE count_Y_cmp
1 s: i" D) `3 F1 V+ M5 A - flag_cmp:( Q, t0 P" ^, h) U6 X
- LDA flag,X
# x% C& v( Y- B) v1 V( x - AND ora_data,Y) a1 P) w- _0 z; O! \
- BNE flag_and
* A5 L" M7 e! D( J2 A+ {0 n$ Z - flag_ora:
; b( C- F- e4 T! j# O# B - LDA flag,X
% @; |4 c. l3 [; h6 M; J - ORA ora_data,Y& v1 m& P1 Z2 B/ Q: R, k
- STA flag,X5 i/ b+ z( w2 ]- v
- BNE count_Y_cmp
. |; ^% A' h1 I7 `1 f5 D1 | - flag_and:, O6 b+ k$ H7 S+ I o0 T) s3 ^% L
- LDA flag,X
. z3 ^6 a" ]% q, Z% L - AND and_data,Y
6 J+ h+ _& q% t - STA flag,X! W/ z* `' V2 h' B$ g
- count_Y_cmp:! l0 r: @, ?( k4 f+ Y& C
- INY
9 ]% N( Q( {5 N s" K- _8 r - CPY #$08
; b' K" E- P9 P - BCC button_cmp, A* K0 D4 X0 d
- # G7 i* S. j2 }' A9 A T
- data_extract:
2 m+ x. {7 f% a - PLA2 Q! s# B6 J! `- g
- TAY; o% E [- z$ D& M! ^$ Q$ ] R
- PLA2 d8 l7 O7 \: n. ?* w
- TAX
& v, N, r5 V q8 M7 n3 A - PLA
/ A0 j: e2 a$ h! I9 N4 J. Q7 L% d -
3 i: T( u9 T% j% \' b - return:
4 O, y# I1 G% A; D - RTS3 ]& H8 G* G c& H8 }
- * u) L8 ?& d) I" E/ c. o; F# ?1 s
-
* W' W, y! G" i8 g4 n1 { - INV: ;无敌* W5 Q6 ^( {6 u/ \) N* _
- LDA $6000,X
! U1 `3 d- ] m7 W2 ~ - AND #$08
' d" Q* }% ~5 q; p! M - BEQ INV_RTS
5 D& t7 O. Q# r$ u3 K! m9 b7 m, \ - LDA #$05
, Y0 S- h, P M' f {7 ^+ W - STA $04FF,X5 q# V- B3 B6 l7 F3 G" z* l* g
- INV_RTS:; _" I9 V2 g, O! [" H' `
- RTS
x3 C4 {* w; x" v( |, H" m
& Y. x2 h5 n, ?- _1 f1 J/ I- 1 j9 }+ T8 T9 G+ [0 q& ]
- LIFE: ;生命. }2 ?+ B3 j# ~& u8 e
- LDA $6000,X
; X6 s2 C& E4 k$ A V% |2 ~* M/ Z - AND #$045 Q+ j+ A2 `4 K* ^
- BEQ LIFE_RTS" ~9 x- G, F D3 ~9 u; W# F8 P
- LDA #$096 V" i& | B7 |
- STA $6A,X5 L u! N2 K+ }; H6 W' q. v
- LIFE_RTS:. g6 l% P( ~ {: [) i
- RTS/ C" I2 V& c' ?; Z4 P9 _, h% o+ h
- 5 a2 l( x [2 v+ t
- 4 r; [, v6 \' o
- BLOOD: ;血量: G2 Q! P3 S' n% Z/ Y, v
- LDA $6000,X
8 J2 {4 ^: c) s/ K" _" o0 S( w) m - AND #$01* _; j1 {6 z4 Q# Z. r
- BEQ BLOOD_RTS r+ Z2 h% A8 m0 U. q
- LDA #$7F
* D* _5 N+ z) h, I - STA $04F1,X2 H: o% x7 H# j. K8 D5 B
- BLOOD_RTS:" ^4 E( S" o M2 g) X
- RTS7 ~& ?4 u4 U1 E
- - s9 }; L. {4 b1 s% X
- 2 q6 f" H3 h- Y+ e
-
5 D( v1 ^' N! k -
a$ b& [. M; x1 ]/ R) t - .ORG $D29F
8 w. @4 w, c, U- { - JSR $FF807 B; z2 b8 _9 n8 h/ K6 R5 x! ~$ [
-
. O- K+ k1 T8 }/ d - .ORG $FF80( S, X/ ?$ r# s7 {7 X9 G
- KILLBOSS_BY_ONE ;BOSS一击必杀
/ x' a! t1 w* c - STA $0628
6 `/ I+ d: v, \1 i - PHA
0 F. s8 O- ]; T% T - LDA $6000
% p5 ?" P: \, @# t# f% ~; l - AND #$404 x1 U" C7 Y: T) X9 D' O
- BEQ ADDRFF8E! w, t3 J6 p3 }2 D1 A/ e: ~
- PLA5 J4 O$ t2 y h, L! r% W
- CLC ;敌方死亡状态判定" A7 \- Q$ \" [
- RTS
% a" u: \# Q( \7 p5 a. d, C5 G: f1 { - ADDRFF8E:
, j$ S1 t2 q9 N1 x& D+ J) Z - PLA
6 X! N9 u I7 q: f - RTS5 I; i/ t; W1 L& i# i
- 6 B3 O5 k8 c. X5 e' h
. s; h; ?9 M2 S( m! B7 k- .ORG $D151$ }. Y, Z$ K% n& a A9 i, U) K9 Y
- JMP $FFA0 N& {) Q$ x; x9 ?
- : Q$ }' F0 v2 z
- .ORG $FFA0+ X! ?9 x* b6 t# b% v
- KILL_BY_ONE: ;杂兵一击必杀, `3 q+ B1 j( t; q D
- STA $0621,X- h9 b d& G, k7 ?& F( l* a
- LDA $6000
/ D& S+ S4 j$ N& r* b/ G! j! q - AND #$40% t+ _: z& U% B$ i+ t: j
- BEQ ADDRFFAD5 C, j) T% ~; W0 m* ?; D) e4 q0 x
- JMP $D19A ;敌方死亡程序跳转
: o X, P- c* W - ADDRFFAD:
I( w6 P' [+ s - JMP $D154
# N( K9 a3 e4 `* [ - ' S0 m! f$ l; r6 t+ B b
-
6 |* s- r4 D) l2 c/ a3 e - .ORG $A7F6
7 }2 Y- |$ l1 l" A& m; M- H - JSR $FFB01 D }0 W6 O+ @# [* K
-
" F3 Y4 z/ X- b' w" y( q7 ^( _ - .ORG $FFB0 ;全屏攻击
/ r) }7 F" m, ^& N' _ k - PHA7 S) b: x4 d# p/ F4 A9 P2 g
- LDA $6000 l) g/ M+ e+ Y4 v7 L" v
- AND #$80% _8 D/ @4 a# G
- BNE ADDRFFBD) L. x4 R9 z2 b' K
- PLA
) V! W5 j4 }6 ]( ~3 m - LDA $0015/ w0 b$ P; m5 |# c' C
- SEC
- ^, e0 [$ u0 A [0 z - RTS' |! ~2 X( P, b. R' l
- ADDRFFBD:
8 C( Y. [6 K* O1 s - PLA% D) v6 c$ y6 q% S3 I2 G5 \
- JMP $A826
" s3 ^* r2 B9 d% R! `' k" g2 h# R -
M- \! ?, R0 _7 N# m' B - ! j6 W7 S# S; z
-
* b7 F/ P2 A% j5 @) P6 w% N- ` - .ORG $AA6A
7 D7 ^5 e4 F7 E! l+ h- b - JMP $FFD0
- o! z. w3 n" J1 B/ V4 c - 4 G. q' Y% d3 M4 R
- .ORG $FFD0 ;敌兵动作忽略: a. I0 N U# o# ~! K; s. z
- PHA/ Y+ q5 ?3 j+ \4 A2 [
- LDA $6000
7 q) R" M' A, [; {+ f! H, }0 X - AND #$80: ^4 g! E* ~4 l$ Y. X+ a
- BEQ ADDRFFDC
+ k& x8 Y6 N V - PLA o6 R P% R2 I3 g; C/ _( ]
- JMP $AA72" j) L' x. y2 S- q+ x3 g( E* Q& t
- ADDRFFDC:" h( @' }0 O/ ]$ q
- PLA
& U/ Z9 n3 |' p - LDA $0629,X& h9 _ _. N* M! k2 x
- JMP $AA6D
# f; B3 @4 Z' V4 r1 O( J - 0 b; ^8 d% o0 V( s
- ;[FC][忍者神龟3代标题选关程序]
, n, K+ h7 d/ ]* O/ K6 K - ;作者:FlameCyclone 2017.4.19 k$ ]0 X1 N) k+ m' O, |* r/ z
$ f6 ^" T) n$ t, _- m) J' {0 a
& ?+ J( \- Q& l- ;配置数据
: e) H7 m. V; h; G9 U4 ?" R( f - KEY_ADDR = $F8 ;按键地址
& M1 p$ H% F2 M* B. ^) R - STAGE_TEMP = $6010 ;关卡临时地址
+ m9 x. a$ \3 W5 ~' Y9 r8 T/ p - STAGE_MAX = $0E ;最大关卡数8 E, ]: N) l7 | S4 N: l
- TITLE_A = $20 ;标题条件A
" c$ O$ o2 e/ D4 A) q - TITLE_A_ON = $02 ;标题条件A有效状态判定% K+ B3 H3 S) _& T2 c( v( |/ p/ l( Y8 k
- TITLE_B = $21 ;标题条件B
|$ G( r- l- c - TITLE_B_ON = $03 ;标题条件B有效状态判定
; Q: h( e% P0 k! N - PPU_END = $FF ;PPU结束符
( {8 x% V! m c; | - TIME_LAY = $4A ;标题显示延时地址0 L) }+ |% Q! u) p2 T# n
- BUTTON_DEC = $42 ;关卡减少按键
/ I7 ^& F; \% {* R. d, k, {" r - BUTTON_INC = $81 ;关卡增加按键3 Y2 ]2 i5 f' r. p& @
- NUMBER_A = $06 ;数字A距离STAGE偏移量1 a- P+ F/ y) |- G+ F9 b
- NUMBER_B = $08 ;数字B距离STAGE偏移量
9 R: g# i, Y4 N6 H! q - PPU_ADDR_H = $23 ;STAGE写入地址高位
/ j8 i3 R; H% n1 ?, \ - PPU_ADDR_L = $8C ;STAGE写入地址低位
6 G. E# ~+ l, ]( c; ` - CHAR_S = $A2 ;字符'S', G1 O! S5 C- E% ^
- CHAR_T = $A3 ;字符'T'+ l ?! T% } o4 T; [7 h5 E
- CHAR_A = $90 ;字符'A'
2 B. @& j: h+ s* M$ ` - CHAR_G = $96 ;字符'G'4 n2 | n5 i+ H& S9 @
- CHAR_E = $94 ;字符'E'
& q2 `; B6 k% |# p+ Z7 a - CHAR_SPA = $00 ;字符空格0 {& Q+ v& S9 O/ W! U6 I1 ?: }0 z
- CHAR_LIN = $AE ;字符'-'
3 V5 ?, `0 R, u5 S - CHAR_O = $9E ;字符'o'9 F* V8 B& G: E& u* T7 V
- NUM_1 = $81 ;数字'1'* e6 ^5 v) V8 W6 O& C
- NUM_2 = $82 ;数字'2'$ s+ B, g# j- ]: z) z4 g1 M6 f
- NUM_3 = $83 ;数字'3'
' b) S) Q% c' H# T) s4 Y - NUM_4 = $84 ;数字'4'3 w5 U6 D# Z9 w! s' ?
- NUM_5 = $85 ;数字'5'* Q% d/ h# w* W
- NUM_6 = $86 ;数字'6'
2 t5 x; g0 i0 {% R. {+ d8 q9 b3 ^) Q5 p - NUM_7 = $87 ;数字'7'
# c$ H7 u0 g+ L: t/ Q7 z - NUM_8 = $88 ;数字'8': N7 o* @/ X; O8 S1 m3 u
- NUM_9 = $89 ;数字'9'
7 [7 |3 |- r* a2 F - NUM_0 = $80 ;数字'0'; H4 A( h3 ^3 L$ C; \+ a! u
- & K+ M+ a0 y: ]: F) }* y
- .ORG $F82A
) U2 Q/ |8 N* |$ _" D - JSR $E700
6 L# Q6 x& { f -
/ R) ^% X* X* E8 ]: y& [. ~0 c; { -
% k! c# _/ J% `' m: K T - .ORG $E700
8 k( B0 O- |' Y5 r+ B! | -
: E! H: j4 q0 F& U/ Y - STY $4014 ;补上覆盖的精灵写入指令
! p' v% J3 R: r" s2 |2 g/ L - PROTECT_DATA: ;数据保护; c. z# h: M8 \' _7 g; a) w+ z
- PHA ;数据保护开始
$ f$ T; a( E- k, c2 y0 o4 {+ { - TXA
, G" B) n3 v ]- I# w - PHA
$ {( j1 B- V1 D, t - TYA
* N2 a- R" y- I) l$ {( U: O - PHA ;数据保护结束
( F3 T$ L5 c: ]' s - LDA TITLE_A8 W# h& u8 n! f9 h% I" D
- CMP #TITLE_A_ON ;比较是否为标题画面' a. W% v0 g2 n$ T9 q
- BNE RET
, Q5 O6 V0 B5 S w& k- ? - LDA TITLE_B
3 B) `7 [! g7 f9 O+ | - CMP #TITLE_B_ON ;比较是否为标题画面
# v: E; c/ @& \4 E. {& a0 L - BEQ PPU_STAGE
1 b, Y# E. v D, V" j! B' V5 O8 a - RET: ;恢复数据
- A i* U/ h& n - PLA ;恢复数据开始
" @; e( S. |6 Q* Z6 g e6 U - TAY
6 o, o8 L) \9 }+ r2 I2 O; O3 I: o - PLA
2 K+ B. V- Y; I2 c$ H2 D! _4 U - TAX
& @7 u$ E. X' w; \3 k% M - PLA ;恢复数据结束7 k; s `9 ~5 y v
- RTS ;返回
- ^, X/ [9 w( z4 n! C: N - PPU_STAGE: ;字符STAGE写入程序+ c$ j& N' z d S8 i- E6 m4 k
- LDA #PPU_ADDR_H ' z- {; h$ `* N7 k; R3 e
- STA $2006 ;设置PPU字符写入高位地址/ S% Y! q2 n0 q% m- G( Z4 r( t
- LDA #PPU_ADDR_L4 r" {6 F6 C4 d. w3 k; E/ X% J
- STA $2006 ;设置PPU字符写入低位地址
' U: U0 i1 c& c5 o( j - LDX #$00$ g2 t3 D/ H1 L8 w
- PPU_STAGE_WROTE: ;写入STAGE字模; `) d* N' e- v, A6 b
- LDA STAGE_DATA,X
5 n6 t1 g' v) c$ [* U) s( I" ` X( R - CMP #PPU_END ;判断是否写入结束
8 e5 T, d1 g( G9 x0 B! K- _6 z* q - BEQ STAGE_CMP" p8 `6 P. p; X' n2 D2 G8 l/ H
- STA $2007: {0 A) i% i# a6 n! \7 ^
- INX% Z( p% o% N1 O3 M7 Y3 Z
- BCC PPU_STAGE_WROTE
3 `0 A& {" p- X+ U8 J. z; h# c - STAGE_CMP: ;选关操作6 G& X7 u; _% s
- LDA STAGE_TEMP
% S& d& j* j+ n - CMP #$FF ;关卡数据初始化条件判断
3 i9 n. I: C+ M7 ^( ] - BNE KEY_B
! Q' _+ {! y- H$ u. | - LDA #$005 T/ y) B/ c# @2 S: S2 `6 @
- STA STAGE_TEMP ;关卡数据初始化
. B! W$ q' M4 v% A2 G" G* i! p - KEY_B: ;关卡减少
! b% W+ x5 u% ~& F7 e) o$ ^ - LDA KEY_ADDR
$ U- b: o/ A7 r6 M2 D8 E - AND #BUTTON_DEC ;按键B或左减关
/ {! W! | A2 |1 j - BEQ KEY_A
! z# H( }3 I! }! D8 u - LDA #$FF
- P0 D. A: E8 N2 I. j" b* f - STA TIME_LAY ;重设标题延时$ D: c- j' u' x/ p
- LDA STAGE_TEMP
2 X8 x* O0 d! g; B+ S/ G - CMP #$00 ;关卡比较
& y& U" R- x$ f1 q" A- P8 C2 K! y - BEQ KEY_A6 U9 |) `5 a3 R+ ]6 H
- DEC STAGE_TEMP ;减关
# _" Y- H H W4 Q* S! ?: Y( i2 b - JSR MUSIC ;按键音效- L0 Y6 @5 P/ M& E
- KEY_A: ;关卡增加# U+ H5 v5 l0 g; I8 W2 s2 p* x
- LDA KEY_ADDR
* W9 P2 u, M9 D; w* O - AND #BUTTON_INC ;按键A或右加关
6 ?6 M8 F$ q8 \: R: U; a - BEQ PPU_NUM_WRITE
! d& L( Z( E8 z0 n - LDA #$FF
1 w/ e; U8 _0 x2 A% z7 U' V) W - STA TIME_LAY ;重设标题延时
! Z- N4 r" ?/ @ E/ C - LDA STAGE_TEMP/ Z6 e) P8 p4 [+ Z e
- CMP #STAGE_MAX ;关卡比较
6 N" S# P* y" B% R5 y - BEQ PPU_NUM_WRITE
- e- U2 O# ]) @' G2 b8 \! n5 r8 a - INC STAGE_TEMP ;加关
5 u! M) k2 ?8 C# E; f - JSR MUSIC ;按键音效
& c* Q# V$ K! b3 | - PPU_NUM_WRITE: ;关卡数字写入地址
, u. A! J+ `" ?2 z - LDA #PPU_ADDR_H
2 N5 ]4 i/ |& s - STA $2006 ;设置PPU数字写入高位地址
& x8 K9 ~5 N- m" x# Y - LDA #PPU_ADDR_L/ Z& ? }8 f" o) @+ d5 X
- CLC% i& Z% Z& B7 P, j% B6 D- Y& U( V, l
- ADC #NUMBER_A
/ v5 u9 ?* H6 R" O& ?0 l" q - STA $2006 ;设置PPU字符写入低位地址, { T) L9 c F( O
- LDA STAGE_TEMP* o5 c5 h; L% K6 G1 @& C
- TAX5 j, p: R3 ]' Q
- LDA STAGE_D1,X ;写入数字
% L. S2 e+ v8 r% K v0 T3 S - STA $2007
" |% ?1 J& j( b. ~, T0 t( k - LDA #PPU_ADDR_H
+ g4 G, B5 f3 O' J8 X( A. } - STA $2006 ;设置PPU数字写入高位地址
3 M2 a" d3 C* B - LDA #PPU_ADDR_L
/ e) z+ |: B1 v, a - CLC
0 T3 V$ I- T* }& j+ D! V& u - ADC #NUMBER_B
4 Q4 |) U+ ^1 @9 E, U9 }( A8 I0 v - STA $2006 ;设置PPU字符写入低位地址, ^# U1 s6 y$ t3 f' c, E6 f- i
- LDA STAGE_TEMP% u+ m% `: e1 {, v2 ]
- TAX d8 c# B9 ^* q8 o" O5 U
- LDA STAGE_D2,X ;写入数字
@( l6 T5 ~8 [4 O - STA $2007
2 f/ Y, M% z z% ]1 A - STAHE_WRITE:
. o9 f" x/ C+ L) ^ ?! N - LDA STAGE_TEMP1 z6 ?* k, J; c8 R
- STA $2D ;初始关卡写入' T( V( I" Z" i
- PPU_RTS: ;恢复数据. u, X& u( a- q; a1 c
- PLA
' a$ V! G3 c5 k3 A1 N! P2 E% ? - TAY7 K1 v. a! `1 a! {: c
- PLA0 w9 H z7 m9 Y8 c( ^ p$ E6 W
- TAX
' ]% f7 d2 A, l! d/ h( M& o% O2 ` - PLA
2 J; w$ Y5 I5 F) j' [. P - RTS2 H6 U% z3 z2 t, n
-
8 N: |8 ]. ]! i, a - STAGE_DATA: ;关卡文字S,T,A,G,E,X,-,X字模数据
8 E# q" }) i! Q" a7 q! m - .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END8 m% u* ]& N& R
- 0 @8 z! o- Y& b" C) \
- STAGE_D1: ;关卡数字. r6 v# k6 U/ _7 |' Z
- .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
( x) Y( V, _, I# D5 G- d; O
4 u% I3 V: r; {4 m8 c. d6 U- STAGE_D2: ;场景数字0 v) X9 H/ g' K' {. d7 N
- .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. D0 X3 C& y: |
-
# V! M; S; b. c- t. M -
6 _" @ ]2 y' s' I" K/ F" N - MUSIC: ;按键音效
" `9 `. l7 i7 T3 c. B - LDA #$3B ;音乐号1 j5 _7 i( ^: S, e: z
- JSR $919E ;系统音乐调用, |1 i5 z& c# g+ l; M9 u
- RTS
复制代码 4.无敌锁定: 暂停后,按上键切换;9 G3 Y" D; ~) k2 _- {9 i
5.生命加满: 暂停后,按下键切换;" \0 I7 ?2 U& {1 c; t
6.血量锁满: 暂停后,按右键切换; b. a' f: p/ }0 }
' l n6 }( u; |9 Y& M6 n

8 O9 V+ l4 q- T5 v6 Y
6 p9 U7 J8 |* z- [3 e* h # i& k, I( a0 D8 x/ ^( U
4 R9 P% C3 o0 Y: [: L1 N. `: Y
FlameCyclone.ys168.com, U6 E2 X% b. |4 S! P
www.nesbbs.com
0 D3 z8 k$ E5 G v v0 f0 R' V z, a Q: p- |
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|