|
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 ' u. l9 _, g# m8 x; O, x
2 w* p, N" P3 j+ \; g: {) A6 \[FC][忍者神龟3][END选关]' q& }7 w5 [2 Y1 T% m+ M& ?# U7 [5 D+ t
' Y1 m" @0 F6 d- e7 g- D4 h
时间:2017.3.30
) i4 N. D @6 Q( W/ r作者:FlameCyclone
8 i6 q4 u$ c4 J9 v, f3 I内容:+ d( `" N r" L& s. g% N
1.关卡选择: 标题时,左或B减,右或A加;3 D0 s7 F) M- {; h# G* {) s* ]
2.全屏击杀: 暂停后,按A键切换;: ^# X% H! P D3 G1 H9 z! x
3.一击必杀: 暂停后,按B键切换;- .ORG $FEA0
$ d/ t6 q0 b$ j& M# k D/ l- w, T3 D- Y1 z - ora_data:
" a% n0 z0 {- z3 D" w& B - .BYTE $08,$04,$02,$01,$80,$40,$20,$10
& m+ I& C8 C, D - and_data:
) G0 r* f. `# q9 n! t" l - .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF& C) N# _: F. n! Z" V9 }5 _! Q
- + ^$ h7 C, Y4 A% t, Y
- button = $F8/ R+ g+ @" o/ W; X# |
- flag = $60009 d7 h K3 i0 k1 r
- pause = $00453 s+ v ~+ D! K ]! N r1 i
' y. L9 P l+ P' Z; B! [
0 S9 I# f9 e8 a- .ORG $F90D F, W- X* R9 g
- JSR $FEC0
; ~* w1 y8 p C- u" w/ g& R' l - F0 ^8 [! E* ~4 z/ ?
- .ORG $FEC0
9 y( w1 G! u! p - STA $54,X) Q+ A; q0 S4 q3 r+ @+ d# \# C
- STY $FA,X+ r/ o. |: K6 I; {" N
- PHA
5 A' H1 o9 X( b; m& R: u - TXA7 ^7 F# @* O6 z5 Y1 g
- PHA
0 h, g) h% ?+ r5 D - TYA1 O5 k8 C) c4 O* Q# I9 S5 E2 S
- PHA) V; e1 ]9 C+ P( k. \2 S7 L) V, m
- JSR KEY_OPERATE
- j& O" N5 |, j2 o( b8 W8 C0 ?5 x - JSR INV( s5 P5 M: ~" q- |
- JSR LIFE* I7 Q1 u4 M; g7 R# c8 |
- JSR BLOOD2 V5 h [$ Q2 T9 u, ~$ C* d8 N
- PLA
0 n Q! {$ x$ p5 [) d - TAY& l7 G* ?" [9 x( \3 U- O; ]2 O% r" H
- PLA
/ t" B0 c9 |0 L3 m) i( | O) `9 N - TAX
$ W! p* ]5 g% h5 W z - PLA+ F! b* Y6 L$ H6 N$ v
- RTS0 y! \; ]6 I7 k4 u- ]4 m/ L
- KEY_OPERATE:
0 n/ i4 }, X+ W9 z7 o9 ?: | - data_protect:
- E' v3 B9 Z$ m+ ?- v7 n/ e - PHA
) ~1 Z; j, s% c$ I - TXA
( w$ g9 e, y% L, i$ } - PHA
/ `. W- f9 b$ D0 J+ U. a - TYA
0 C8 g- @7 }/ t. R6 O - PHA
) d: ~! S/ T3 u: `- p( C5 A$ @) Q5 u4 f - 3 Q. B1 {' y' ?' L3 i+ g
- FLAG_CMP:
( w8 F% b2 ~' K - LDA $600F! V& A" i0 H7 Y
- CMP #$7F ;标志数据初始化条件判断+ M7 c# l2 O' l
- BEQ pause_cmp4 k, C( C3 [5 ]* u' T* `
- LDA #$80
. W: J8 V+ u) j6 E6 I. Z( z( c# e - STA $A001 ;6000-7FFF写入启用+ Q* R3 R) F) j
- LDA #$00
) u8 B# L2 l) T& J7 R% S - STA $6000 ;数据初始化
8 ?9 Q) r- {0 v8 S8 Q$ v - STA $6001 ;数据初始化4 d3 x5 s! Q1 t. L% ]
- LDA #$7F
- L1 R' `2 V/ { `# b7 { - STA $600F
, Q N$ K1 w9 g9 O0 ?! [/ l+ \1 Q - pause_cmp:
' s# ^/ X' I9 n% n& e - LDA pause
9 r1 z8 }5 Z+ D - CMP #$01
* u, t$ R& U, O/ n - BEQ button_press* v* c1 y0 Z" b I- U
- PLA/ T& p( G3 ?7 u! ]/ I& o6 l
- TAY
, @2 Y7 U; B B X3 l+ x - PLA- d4 f* Z! Y' j
- TAX
* e* p5 W F& _- b6 e" ^/ Z - PLA3 X9 p7 r4 N- V) U
- RTS. {! K( z' T+ o, k7 C- d8 K
- - ]. Z4 q0 b% t* v2 ^6 _0 S1 ^
- button_press:% j1 x5 m4 E" S U1 b" _
- ini_Y:0 ]8 _. \. C2 g5 A% ~1 v4 W
- LDY #$00
& r1 l" d: k0 G - button_cmp:
. X2 u% i& N T K- b - LDA button,X
; }" P- q7 o% O7 Y& P3 }9 ~ - CMP ora_data,Y# B5 w0 n* `; A! ^( j
- BNE count_Y_cmp
$ m$ r, \" x" r' p- o% b; D" P - flag_cmp:
A9 ]* `5 Z& x. r - LDA flag,X; G3 c+ P' k6 s* Q- B: u1 Z
- AND ora_data,Y
& i S6 v& `( j' e' y - BNE flag_and
& w C/ ], M/ j R2 N4 i1 D y - flag_ora:2 W- Z# s C6 \6 m0 b$ g+ {, G
- LDA flag,X
( @1 H/ G3 v& g/ _1 T. J - ORA ora_data,Y
' m5 O" W) F* Q B+ G - STA flag,X
; ?6 A( g6 R1 q1 X, f - BNE count_Y_cmp: S- J7 S. P$ u/ M N" l
- flag_and:: r( q2 J) q- U L( H% Y" ^
- LDA flag,X
6 N7 v# V7 P9 O2 ^* J+ d: S - AND and_data,Y
0 B# ^9 o4 M% v( F0 O - STA flag,X
# X$ |* v: o# t1 \/ I4 W, l - count_Y_cmp:
5 ^( a& J. B% k& B7 C0 g5 T2 Z - INY( k: P7 r0 I4 w0 D" v0 ?+ r
- CPY #$08 s8 [& p7 I" R$ d8 Z k
- BCC button_cmp
& ]5 q/ \" ]+ b* L- Z - 0 {" G, ]1 F% Y1 e0 r
- data_extract: t/ y& G# W, t( v/ g s( W2 D: Y$ a5 K4 a& M
- PLA4 b) L% z3 Y! N: T
- TAY/ V4 m! d" b' V. ?
- PLA
# }+ b, d' {5 U9 t X - TAX
' c7 C O# J, ]1 T# G - PLA; c5 p6 {/ q4 D/ E$ l: [% H
-
6 ^: {$ l; x! Y3 ~# E1 y - return:+ y x2 c0 k* F$ P1 V- l8 Y5 ?
- RTS" f3 u, N# |. q% F! t
-
- ^' O' L0 U! g" y% c5 v$ C8 m8 j - 4 Q) A% Y5 `: }/ `
- INV: ;无敌, I& S7 i" y* |' _
- LDA $6000,X9 _" d, i- {* C, _+ x5 k
- AND #$082 A" m- |. K0 n+ M* Z
- BEQ INV_RTS
( z' n3 R' Q8 h& g- Q j3 I - LDA #$05
! w( A2 X* }1 l - STA $04FF,X9 [; j& s/ R( X
- INV_RTS:
m) Y6 q# K! @4 U - RTS! g1 }& K( w" n7 r3 X" J5 Q1 y
. g0 Z: u+ ]# c5 a7 J, g- : w2 P: G! q2 b7 r- \+ Q; ]; c/ h
- LIFE: ;生命
7 v' E7 p! t2 U+ G' e - LDA $6000,X
7 G+ n+ e( {* e* Q' I" Z1 S - AND #$04
& g; b' y0 V0 C {- W5 R - BEQ LIFE_RTS6 O8 q) C' T, {
- LDA #$09
8 ?+ D5 W: n9 W$ f - STA $6A,X
8 A2 k: k7 I/ M- |0 ^, d; ? - LIFE_RTS:
/ G, Y4 H8 i- L* Y - RTS1 l9 X. v6 l& o P& ~
4 _) [% i6 N: D8 S-
' o& g# S: M8 }0 t0 B5 V4 k - BLOOD: ;血量+ g5 `) c2 e C5 X0 i
- LDA $6000,X ?$ K/ ?2 z# E2 i+ H. H
- AND #$01, ]% t1 w. _/ k7 d' s! d
- BEQ BLOOD_RTS
4 A6 A5 n% s3 }7 h1 J9 G8 i3 u" K( g F - LDA #$7F0 q$ e: [' h; r3 z& Z
- STA $04F1,X
( K& h2 ~- g4 |7 m" | - BLOOD_RTS:
5 Q, E5 }& l: X9 j* z - RTS7 C6 u) T. N. x
-
* C! r( P+ X% G2 O& f: F0 l -
* m$ _- |% C. ~- X - ' ~' K, j# p: j- w
-
! W! }# g+ N5 }: _7 c1 w - .ORG $D29F% V$ j! q1 V4 `. K) i @+ y
- JSR $FF80
# w. D: R1 s. e( e/ g" w -
# L' i3 f4 X, w, P3 F - .ORG $FF80
( y7 C3 B8 X' U9 S* _" \ - KILLBOSS_BY_ONE ;BOSS一击必杀9 U. }5 \' s. Y# V- l
- STA $0628
- q2 S* i# U- s' |: o - PHA
; Y" A: s8 G/ h3 D; Y; I8 n - LDA $6000
, K& U, l& m: k: T' ~; \; z9 ? - AND #$40
: |4 O1 U( O: y/ ]1 B - BEQ ADDRFF8E
- G; `, C, }, u$ E1 l1 A% _ - PLA! y. @. h$ s5 ] d2 k% P, ~
- CLC ;敌方死亡状态判定
0 p; u, X' O& f1 z7 x" e/ ?8 R) t - RTS
7 A; f" m" p0 w, }. X; Y - ADDRFF8E:
/ K; I& m, x" O, J5 w- p! } - PLA
2 z1 y( Y% V2 E2 W4 I4 } R; Y6 c ] - RTS' a+ P2 I" P, _" Y, }
- 7 F: b. k5 \( [8 \- V
) {: h: z9 P1 V# D* `& H- .ORG $D151
. U. T$ ^- I! | - JMP $FFA0
% h4 I, h- R7 L2 I# w8 ~ - / `% X) M( c- b! R8 G1 L
- .ORG $FFA03 L6 N4 @! ^ M; K& L2 X
- KILL_BY_ONE: ;杂兵一击必杀
8 O! w; q ^3 \7 V3 q - STA $0621,X
u$ D- _* C u# S! C! U - LDA $6000
$ R L8 } a2 v* @ - AND #$40
3 ]1 D$ p) Q9 H0 n, _% W; n, w - BEQ ADDRFFAD
9 Z$ v& N# @2 z- i/ ~ - JMP $D19A ;敌方死亡程序跳转- o1 D: b* X2 t# b7 L
- ADDRFFAD:
) Z/ x5 ?: H" l# v - JMP $D154
5 E- E7 i9 j a: R5 { -
+ r9 k9 U3 L V/ C6 ] - * v+ ^% O# P. C; A/ Y% b: C+ u3 T
- .ORG $A7F6
& {& E2 h; [/ m# u - JSR $FFB08 m* I- s8 a+ Q: d
-
1 Z0 ?% w" s, c7 U' j - .ORG $FFB0 ;全屏攻击
" H6 M' _5 V$ J9 T: l6 B/ M9 r- J - PHA
) a0 l$ E+ f0 x: m - LDA $6000
& N6 P) @3 H. p2 y2 E - AND #$80
; V& _' H% @( |3 ~$ ? - BNE ADDRFFBD, D% t% @ Z! m) E
- PLA. p& ~! n* R- M6 t1 k$ I w
- LDA $0015
' j- g! ~" V" N2 w - SEC
) O. J9 [, J4 q - RTS
5 k& D! W0 P* S# h% H- m2 | - ADDRFFBD:" A: h3 C K; g" V1 H
- PLA5 C: O h7 F( l& A+ Y
- JMP $A826
, e5 P7 c5 |: n& `' G& e; d -
' j5 e f9 Y6 O* ? k- i7 Y - , j, b/ v: |; [2 \' j
- . n {7 H- ?7 A& Y3 s# k: u2 c
- .ORG $AA6A! M! E4 b, J+ g$ V5 b+ u
- JMP $FFD0! B7 B( U) u3 e- R4 a/ ]
- # c; Y6 }$ ]. N' W" \2 E
- .ORG $FFD0 ;敌兵动作忽略8 P: S4 M o' E. ?: `
- PHA
! I4 Y- Z; f$ k' i5 y c, H0 v - LDA $60004 y4 g3 H- C4 W- m" z1 z9 Z
- AND #$80
0 y" d: A6 B# q. v% O - BEQ ADDRFFDC7 R: S# f2 r# R# w8 Y3 C, i
- PLA$ P: w6 a P- I- H! u- r a
- JMP $AA72
0 f& j# s3 @. `' u3 g: ^/ s - ADDRFFDC:
1 W( s# N* H C r# O; \ - PLA% [+ A& z8 p: [4 F1 }
- LDA $0629,X
! ], G3 ~# ^7 @' M - JMP $AA6D
% L* @! r* y' v8 p" [5 A0 G$ R
" Y# m" S q; u. a: E- ;[FC][忍者神龟3代标题选关程序]. t( s) R) }# Q$ Y9 ^# V6 a
- ;作者:FlameCyclone 2017.4.1
3 @% [2 `5 ?& [ Z% p* q& R" u
9 p7 x/ s: ?& X) s* H: }5 Q
; o$ N- O5 G3 O( n3 c- ;配置数据
# c$ L4 w( ]. {9 D+ \ - KEY_ADDR = $F8 ;按键地址* F. b; O2 B N6 C" H
- STAGE_TEMP = $6010 ;关卡临时地址* Z, w* X2 l" E) `
- STAGE_MAX = $0E ;最大关卡数
: `3 }! {: H* Z3 g3 G - TITLE_A = $20 ;标题条件A
. V9 T5 d) D! e2 ` - TITLE_A_ON = $02 ;标题条件A有效状态判定
1 C L, l1 w( w# }! s6 ? - TITLE_B = $21 ;标题条件B
; C. g0 r# P4 c( Z; \8 {/ ~' \( H - TITLE_B_ON = $03 ;标题条件B有效状态判定
' @% i* n2 c/ W$ A2 C: e - PPU_END = $FF ;PPU结束符
$ \/ R2 M W8 c! M2 K7 d9 C5 P - TIME_LAY = $4A ;标题显示延时地址8 y0 K4 z+ K# G) J: c$ L! l
- BUTTON_DEC = $42 ;关卡减少按键( W; l; T4 u9 P; s+ ?
- BUTTON_INC = $81 ;关卡增加按键& l6 T2 Q/ U3 D& ^. \
- NUMBER_A = $06 ;数字A距离STAGE偏移量
1 S8 ]1 y% Y/ n5 \. l - NUMBER_B = $08 ;数字B距离STAGE偏移量. G8 I8 W% }) V% _& v4 E/ i% ~: r
- PPU_ADDR_H = $23 ;STAGE写入地址高位: B r/ V7 G5 P" N1 I
- PPU_ADDR_L = $8C ;STAGE写入地址低位( i8 n/ v/ k0 }# ^) ]' z/ _
- CHAR_S = $A2 ;字符'S'0 f' h) f; G9 S; N8 t4 c
- CHAR_T = $A3 ;字符'T'1 d! r% F$ c, \) o! k8 f
- CHAR_A = $90 ;字符'A'
( ?- M' S7 i/ S' ^2 \4 n - CHAR_G = $96 ;字符'G'
# i% s, g H3 H8 O0 ]% N - CHAR_E = $94 ;字符'E'
+ d, j4 K' ]! e7 W9 b( q O - CHAR_SPA = $00 ;字符空格" i: G- N& v( a N8 c( ?
- CHAR_LIN = $AE ;字符'-'
2 o: w( j; |. V - CHAR_O = $9E ;字符'o'
9 G/ T o |% `, d Y7 u - NUM_1 = $81 ;数字'1'
0 @, F P" W) K: S! _1 P - NUM_2 = $82 ;数字'2'
1 a' Z! p" Q/ y* h2 r - NUM_3 = $83 ;数字'3'6 I ^' s- k' S7 X
- NUM_4 = $84 ;数字'4'
3 f" d1 D7 l5 u: C7 L) h - NUM_5 = $85 ;数字'5'! l- H( b8 _+ e
- NUM_6 = $86 ;数字'6'
, X0 n' C6 p' o - NUM_7 = $87 ;数字'7'
7 B% |! u1 C6 `/ \2 t" V: e+ ? - NUM_8 = $88 ;数字'8'/ b0 z* w6 n2 i+ H
- NUM_9 = $89 ;数字'9'
! E4 z) \' S" b8 I. ?0 P2 F7 L. S - NUM_0 = $80 ;数字'0'1 q7 `4 a( R# H( \2 C2 \
) u7 @. O( B4 b- .ORG $F82A
( p: J9 q/ }; r) f( k4 s - JSR $E700
- ~) v x% }5 r* e( ?0 k- ]: ~ - 0 z+ O& D& t* W6 H
- 8 l+ q4 f. R1 c: s& w Q0 n
- .ORG $E7005 N; E0 e6 o$ H- U3 h
-
7 \$ R% g/ Z- q' l7 w - STY $4014 ;补上覆盖的精灵写入指令
3 b( a* m* K. F0 S* [) V2 ^( z4 V - PROTECT_DATA: ;数据保护7 F X' e# r5 N9 a
- PHA ;数据保护开始$ p& J: N4 ^) E/ L* @
- TXA* G ?; j1 Y7 T# @8 C3 B t
- PHA1 [3 J9 w! S- \+ V: h# d9 @
- TYA
, m" N( q1 \$ v" [: Z - PHA ;数据保护结束+ `/ q9 q$ q7 m& {7 j9 C+ t/ n
- LDA TITLE_A z% Q* T. N& O1 X0 r9 S
- CMP #TITLE_A_ON ;比较是否为标题画面
! {6 ]5 F1 [1 _) P3 v0 C, ? - BNE RET% ?7 i# v4 W) O+ F# L# R. `0 q
- LDA TITLE_B2 O' P. c+ f- h9 Z3 |3 _
- CMP #TITLE_B_ON ;比较是否为标题画面
3 Z( s# c. ~' o0 _ - BEQ PPU_STAGE0 K) N$ P! B& X
- RET: ;恢复数据
- T* D) r- M3 x2 H8 }' F8 i# H$ H! z - PLA ;恢复数据开始* F @ y; A- }/ @0 {) _/ X
- TAY" f( U o# k( r' o
- PLA
, @8 }4 S2 e5 n* Z, h* c" B# Y - TAX
& d4 m! W( W4 o8 i - PLA ;恢复数据结束
) B+ P0 t& x% G5 r7 d1 U8 d) J/ F - RTS ;返回+ R# t m( [. {" `! ^, w; G
- PPU_STAGE: ;字符STAGE写入程序( x. S5 Z$ k% M! r3 B7 D* o
- LDA #PPU_ADDR_H
% }- x# X! n' a4 r/ X3 [3 `* v) ^! ^ - STA $2006 ;设置PPU字符写入高位地址
! H* i3 s: ?) ~8 l - LDA #PPU_ADDR_L; a/ j' r( f& k6 L8 _: k! V" K
- STA $2006 ;设置PPU字符写入低位地址* v( v' C, p* F+ V
- LDX #$00
" C4 ^ O, f2 B e6 H% v5 S" v - PPU_STAGE_WROTE: ;写入STAGE字模
) t/ z5 p2 G. x& f+ \, o2 d& n, W - LDA STAGE_DATA,X2 ?0 k: a, y5 I9 J( l, X9 F
- CMP #PPU_END ;判断是否写入结束
' E% Y4 k$ ~1 X8 z1 B1 d A - BEQ STAGE_CMP
/ z% v& T# \! y% y' H& ` - STA $2007, ~) ^8 }% q- J0 k7 Y9 C
- INX
0 [* I3 ?. D% M5 ~* a - BCC PPU_STAGE_WROTE
* w. m, r" X# H1 x5 H9 m9 [/ [ - STAGE_CMP: ;选关操作; R9 E0 f3 F# [( e4 F/ P
- LDA STAGE_TEMP* a+ A; Q- |% ?2 F1 V
- CMP #$FF ;关卡数据初始化条件判断0 \' c! H7 w% u. Q9 z
- BNE KEY_B. c8 [# N0 Q0 G# N/ Q2 v0 ~
- LDA #$008 C8 I7 w/ R. l/ |8 Z
- STA STAGE_TEMP ;关卡数据初始化
: u5 A; T! L+ f% N% i$ \' g2 D - KEY_B: ;关卡减少
) J- a5 _8 i0 V, X$ H! i- b5 J - LDA KEY_ADDR$ P- c. V9 c$ h3 @/ S
- AND #BUTTON_DEC ;按键B或左减关' F+ q8 _; f& G6 [7 ^# @% P4 K! D
- BEQ KEY_A
' r9 T( ~ ?3 r& { - LDA #$FF
" _( B0 Y: A( z& ]5 _ - STA TIME_LAY ;重设标题延时# O; C* W" u& e( h6 q$ r
- LDA STAGE_TEMP0 K1 X: v4 M5 h$ c& X. F: {' o
- CMP #$00 ;关卡比较
- u j' ^ {+ U {5 J! Z - BEQ KEY_A7 i( b6 \! H$ d) e" r% m
- DEC STAGE_TEMP ;减关+ i9 w' p) d1 p2 a2 A# S
- JSR MUSIC ;按键音效+ A( E) k8 Z U I# h
- KEY_A: ;关卡增加
; p7 q1 {7 d- K) M% V$ X; L - LDA KEY_ADDR
; P- ^ [9 @# {! T - AND #BUTTON_INC ;按键A或右加关8 W5 W+ ~0 ^9 \4 \8 M! X
- BEQ PPU_NUM_WRITE
/ U E: b: Y0 d/ M1 o - LDA #$FF
0 T8 u* d' f/ ? - STA TIME_LAY ;重设标题延时5 s' i# |4 n- M" c: l4 K
- LDA STAGE_TEMP
7 E# J; O+ ~ z' S - CMP #STAGE_MAX ;关卡比较
' K6 d [* y4 p" s - BEQ PPU_NUM_WRITE
0 `( W. ?9 X9 O4 X( ^% c" {6 s - INC STAGE_TEMP ;加关- F! b% i* C" @7 H. p( `1 l" C
- JSR MUSIC ;按键音效/ j8 t5 o: r8 u2 m; n7 [& m
- PPU_NUM_WRITE: ;关卡数字写入地址3 |. f4 t" a" v4 ^+ y# a2 O
- LDA #PPU_ADDR_H7 C9 \* v, I/ _. J; F* N
- STA $2006 ;设置PPU数字写入高位地址3 P4 L' x; U% F. D
- LDA #PPU_ADDR_L
2 F: o7 Z6 m2 V3 X1 R- | - CLC
3 r+ P; }* Q$ q7 l- ~ - ADC #NUMBER_A3 I0 P: y- ]0 ~8 [5 f2 F, {! ~
- STA $2006 ;设置PPU字符写入低位地址. T9 p3 f9 S; ?2 L! v( J
- LDA STAGE_TEMP
: s, p& L4 k* I - TAX0 ~+ G# A6 n) b9 K5 I& n
- LDA STAGE_D1,X ;写入数字
1 _& m5 j# d% e - STA $2007
( U& h8 \+ S# ?3 Y" S - LDA #PPU_ADDR_H
! ?6 E5 i% W5 z - STA $2006 ;设置PPU数字写入高位地址
5 j" I3 O: ^/ O) O - LDA #PPU_ADDR_L O" {) G) e- m' ?& a* l/ {- e
- CLC
9 U3 U8 Y# T6 a' C" j: ~( [0 @ - ADC #NUMBER_B* Y m8 { u$ X9 @4 [
- STA $2006 ;设置PPU字符写入低位地址7 ]- J/ p T1 l7 ?7 v B4 O
- LDA STAGE_TEMP: [# V( A. k! H) q' Y' ~
- TAX
- e' @. B8 \% ?" r7 H+ N7 e - LDA STAGE_D2,X ;写入数字' ^: J1 U' F8 \, @6 q
- STA $2007
* g% d0 l) J: A4 W) i - STAHE_WRITE:
8 t: H4 [/ F. Y+ J( V& C! o4 ?+ k - LDA STAGE_TEMP
" J9 t) U9 ]: `- q" B6 X - STA $2D ;初始关卡写入# k8 g: S& j* `
- PPU_RTS: ;恢复数据
" T: i. t, _2 Z$ m - PLA- T. ?# |, b: m( L/ c7 l- U# W) H
- TAY
2 \" T* ?* s- O3 E8 X. \ - PLA4 c" ~% c* s! @& z7 e) C+ S
- TAX" m3 L ~' y, }
- PLA ?! t0 k% c5 z! p
- RTS' [9 n0 K1 s# b, G3 P) L9 h
- * Y5 _; {3 e5 O1 j* C
- STAGE_DATA: ;关卡文字S,T,A,G,E,X,-,X字模数据
2 m( ?5 w: f7 \6 m. S - .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END
0 `" D: t# C# e2 ] - ' U" B+ U1 [6 d2 w( o
- STAGE_D1: ;关卡数字
# p8 Z& H* v4 {( U A - .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 F" @9 e5 A9 @ - : r- ]- T+ R$ n b8 ]: J
- STAGE_D2: ;场景数字
" w! U. f5 V0 M - .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 r4 r+ h# Q- e% _, I% E
- ( |4 w6 w3 m4 z8 U
- . M; Y9 z; i$ `- U- m9 h3 V8 `
- MUSIC: ;按键音效7 g; v8 N5 j" F
- LDA #$3B ;音乐号
. Q: v6 c& L5 i. {- b - JSR $919E ;系统音乐调用
; e' Y0 Y) M# V - RTS
复制代码 4.无敌锁定: 暂停后,按上键切换;
/ a8 ] I6 g+ `! g 5.生命加满: 暂停后,按下键切换;: n% p- b! @9 Y
6.血量锁满: 暂停后,按右键切换; M- o8 |9 t2 J+ F" L6 A* l2 E! _7 b( L
4 }: G w6 P# w5 k. I

- ^7 Y- l3 m: ` N 4 D8 x/ m: B3 j4 [
* _6 w! w! j+ }& {) D* a# e
) G6 D( n. H7 A5 Y0 N6 n2 i9 R
FlameCyclone.ys168.com
s3 M' P* r$ d. p- a! P; hwww.nesbbs.com8 I% `% J" F3 n! E; T
9 N- D- M* ^4 |8 P+ D/ V7 f' ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|