|
|
本帖最后由 yandagui 于 2017-4-2 13:23 编辑 6 d9 Z+ s- w( l* x" e
: m- P; N7 {$ ?, c
[FC][忍者神龟3][END选关]
( [5 \) O- D4 g5 K( s$ c; a- a# I" n
时间:2017.3.30
/ A- {0 D! n7 F( y& f. D8 Q; w作者:FlameCyclone# @0 J6 W& W. f+ t/ G3 Y4 K
内容:
. Y$ N( X& l( Z9 \2 v 1.关卡选择: 标题时,左或B减,右或A加;
0 J/ E9 X8 e- V. T. }# J 2.全屏击杀: 暂停后,按A键切换;
- j* e/ G, Z* K& T 3.一击必杀: 暂停后,按B键切换;- .ORG $FEA0
( O$ _% z, g( Q: q9 m8 ? - ora_data:: B+ g. U3 D3 D4 e4 x: ?6 y& |/ p
- .BYTE $08,$04,$02,$01,$80,$40,$20,$100 s" j, F8 z# U4 d6 w+ O9 G, v
- and_data:
/ j- Q0 @4 Y* Q+ Q5 y2 x; v - .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF% u1 R4 d" z* C( E1 v, j& y
- # x" I( v2 e3 c$ x
- button = $F8 S- e5 ~# P1 a
- flag = $60008 ^/ D. F/ ^4 z& t3 R$ V, J; G
- pause = $00452 w* z0 U& i9 Y. h- @
. t' r2 K' L4 M- I: s5 E- + _) j; |6 @/ B
- .ORG $F90D
5 e p6 T. T3 I9 I' E% _2 D; i, l - JSR $FEC0
8 _5 N" m3 p! D4 T& U+ v4 Z5 i -
1 G2 U2 _' X, I O8 {3 I( B - .ORG $FEC0
5 d" l8 a2 F; }6 U! }6 H: ?0 }$ `' e: O - STA $54,X5 K& d- \# y4 k8 M: G+ x [
- STY $FA,X& s# n0 G% J9 D8 K
- PHA1 \" E$ {0 \ X! r; ` D; c
- TXA) d. G) N9 i0 o. K, n3 N
- PHA
0 V7 H& r" b. Z& h" {% |* e - TYA
$ a+ y7 _# E+ g8 h7 t6 Y- X* z - PHA% `$ H5 B1 e7 f4 Z$ h2 N
- JSR KEY_OPERATE
: @! ]1 E4 O/ G3 I, g - JSR INV$ T3 M1 l3 U. b3 f) r1 T/ f& E
- JSR LIFE4 d4 D7 j, O% r+ X
- JSR BLOOD- q& y$ c# E. M2 K" a
- PLA1 F; n3 K7 U8 K/ ?% @
- TAY2 j6 Z( T' w9 S* L- P# ~
- PLA# S4 c5 A. h5 l/ T q+ w
- TAX9 }: Q* t* C: a H7 U
- PLA, n' P; v/ y4 \2 ]' Z/ W
- RTS% v, h: K( s" T+ q
- KEY_OPERATE:4 [! j$ b6 P( m4 Z5 T2 L; [
- data_protect:( b% Q; y' q/ d! z M; ^% |- o3 T
- PHA
* q, D6 j/ A+ g4 { - TXA
* l2 k' Y8 X" u, f; S6 q- `5 V - PHA
! b- I* _: X8 j$ e J# w - TYA) |+ N! I, {$ F% Y, y- R% }
- PHA
0 L" r$ @! h% M9 _9 u
, }- n( a$ ~; `5 p- FLAG_CMP:, f l3 y, u, e. v$ [0 _
- LDA $600F
2 ~. S: g+ `5 O: v/ a, D - CMP #$7F ;标志数据初始化条件判断. Q1 D2 t* @( _5 U9 N4 H7 c
- BEQ pause_cmp5 ?, e3 r& J v, m7 k
- LDA #$809 Q) r: ] x. \/ B. ^
- STA $A001 ;6000-7FFF写入启用
9 o, g8 P! X* o6 L% A# e - LDA #$00. U7 G* b; j! c2 l2 z& Y
- STA $6000 ;数据初始化
3 z3 k# F& J+ K- i - STA $6001 ;数据初始化
$ @2 p; @6 x% J! Y( n, d. { - LDA #$7F
/ E5 J. k* s5 f- `5 \ - STA $600F, x$ c {4 W Y0 [7 h. ^0 V; Z8 n# G
- pause_cmp:
3 O4 d9 k- O. k3 z - LDA pause6 e, } q( W' d0 y Z3 d
- CMP #$01
2 T2 M+ q9 J( F. `( w3 |0 V' W' U - BEQ button_press
- H* u3 I9 u" s, o - PLA
3 K3 c2 {4 x h+ o% u6 g8 m6 ^ - TAY
4 n6 ~7 G3 C3 I3 S - PLA
; [' g. s8 h1 d: M* `' M) h - TAX
) f8 V7 W1 k d6 v - PLA8 u0 T2 g5 \) T/ n0 z4 U W
- RTS. _* \$ i% V$ H9 S1 g
( Q. d3 g' h2 |( |9 w- button_press:
( N. \- v6 ^% R - ini_Y:
" T& } A0 |% Q; H# K - LDY #$00
5 \7 t% U$ \* v. Q. _1 k - button_cmp:, p/ P6 j! d) @- @
- LDA button,X1 Q0 E+ T- G) g/ y6 l
- CMP ora_data,Y
. F" D! W1 F. R! a: Z9 l - BNE count_Y_cmp8 \( T) N. Z4 j$ q: v( U' ?, {$ I
- flag_cmp:" O* t2 G8 D+ }$ d$ O9 l
- LDA flag,X
$ q0 G2 g6 \1 K5 D& t# k8 v$ d3 | - AND ora_data,Y
( y" E3 Z+ E$ s6 P3 E. N' d( N - BNE flag_and
9 a) f3 K9 p& o - flag_ora:
! l' L( n- M' h: H3 A - LDA flag,X5 n: F. C( k' @6 Z% i Z
- ORA ora_data,Y
1 v- |5 I9 H! J* Z& Q- A6 o - STA flag,X
( K# w: N" v$ {3 i1 ~6 L - BNE count_Y_cmp* ]4 S0 ]7 f8 J1 b
- flag_and:
: ^5 R9 l2 q' s/ \5 Q7 q1 l) U3 ?5 Q - LDA flag,X
+ o* M4 A- q; e8 T3 [ - AND and_data,Y) c7 n6 H. H' d) E6 d
- STA flag,X( ?- r* O: T6 u0 Z4 I/ `
- count_Y_cmp:( s4 ?7 i1 s! h; c' W3 [
- INY
* a+ b! c/ a; I% x3 N5 N, I6 f - CPY #$08/ w$ N2 C! E( G3 S3 f2 ? h) f
- BCC button_cmp m9 i T( ~7 [- F: _
- 9 R. E4 y5 Z$ E9 \7 o5 n3 g/ b
- data_extract:
; s& a! g; C, H' m% ~4 R: s* @9 J( O - PLA
1 n# }! y8 f0 N8 e - TAY
+ n& Z" D8 ]" \* b9 n) U4 e+ Y - PLA) S! W2 Z/ t9 |* D6 W) E- O
- TAX9 E' ^) u: c8 S2 j: X
- PLA
i4 l0 l7 P, ~& g - ) c5 y/ p) w7 r j9 ?; S, }9 h
- return:0 E' A, r) ?% ]& P( l5 u4 T
- RTS# B* z2 z' s7 X. q
-
8 t3 K: `2 Q) `% P$ Y -
3 N* u4 N3 I q; k7 O4 l6 `1 h - INV: ;无敌9 Q# D' }. a" l' h, L: p
- LDA $6000,X
4 P9 |( r6 F; U9 l - AND #$08; {% A e# D6 P8 L. _& [
- BEQ INV_RTS
7 b9 K9 c; A; { - LDA #$05
' F- N1 B& q, \ - STA $04FF,X' [; G( m3 m3 m2 R
- INV_RTS:4 M0 A1 p4 e9 i1 r7 X# K
- RTS
8 @" b- l9 i' A' k, [% t, B* `2 ` - 7 b( \/ P# }- P( F8 W- ~
- * r' P3 a0 M& q! {
- LIFE: ;生命
5 G+ g" N7 ?' `; W4 H - LDA $6000,X0 g' K6 f! Y' F
- AND #$04 S# `; x/ S5 R: w
- BEQ LIFE_RTS: r. V/ C! N7 t) a4 Y
- LDA #$09
, R3 [2 ^8 l( |/ ^, w - STA $6A,X: K U8 K$ }1 C
- LIFE_RTS:
6 P7 r: i: B1 A5 v& t, a6 p - RTS. ?8 w5 J& N& I, q/ _1 ]; D
- 9 b9 ?7 ^$ ^3 @0 K% l7 b0 Q3 j
- 4 C1 U4 s3 h" l, A: K/ T* f2 U
- BLOOD: ;血量7 U) K+ L9 H% k6 [% v5 t
- LDA $6000,X8 O. D" {5 Q" Y! s) N8 V/ b) `
- AND #$017 t: q( t/ F. M. e+ c2 l
- BEQ BLOOD_RTS
' g8 Y8 H( H. v/ c ^2 F) H2 u# S - LDA #$7F$ X1 B1 p. E' l7 T% a1 ~4 S
- STA $04F1,X
! _8 \' a: V2 b - BLOOD_RTS:
* ?( M& j/ J; i - RTS2 M2 Q* {+ x& b6 l
- $ W+ Y l: ]2 \( |; H$ F. `
- - H; v4 l/ H0 X) ?, X
- , L1 y, u* W! Y
-
" Q2 W/ {7 M. z+ y1 H3 U1 } - .ORG $D29F) E) e3 t9 A# X, S; b- ~) O" Q
- JSR $FF800 x8 r; E& g4 D* X. k2 }
-
9 j" r5 p- z5 W7 k - .ORG $FF80
) r4 ? L* d( m% g - KILLBOSS_BY_ONE ;BOSS一击必杀" L5 H7 d ~+ ?0 J! T. T& b: \/ l8 s# k
- STA $06286 T8 `! s: z" P7 u# c
- PHA
& n: X1 }0 w5 S - LDA $6000
+ p' y5 F' P* j2 k( H: N; v - AND #$40
a& h. ?8 l" w" a; R5 z1 b - BEQ ADDRFF8E
( N( }1 Z! Z: h8 v+ z - PLA
- K# v# j1 q. r' a0 G - CLC ;敌方死亡状态判定3 Y9 d5 N( ?2 S" D
- RTS
% Q7 q" ]9 p: y. A; _& a" g - ADDRFF8E:. N' Y* f, x4 u
- PLA) e2 E/ ^. _# K m% r) q
- RTS
# u! z( x3 y3 g2 d3 n
! b; @) G0 t6 p. s7 {, o- y" I4 @2 a+ T% }1 b
- .ORG $D151
' L" |9 V( p" W# A/ h6 W4 L% o5 Z& @ - JMP $FFA0
2 @/ o( A# w3 T; v& ~ -
( \# ?0 \& Y. R3 p) F6 D2 T - .ORG $FFA0
; B+ g! v$ y& K+ g$ o* X) |5 \ - KILL_BY_ONE: ;杂兵一击必杀9 b% w/ [: q8 n6 U+ J- b8 `7 W
- STA $0621,X
$ @0 ~1 ]! S- I) B: ?/ U8 h: p - LDA $6000
, s' @% L7 g6 x% A4 u/ w+ |8 \$ O - AND #$40% f: @2 V2 D1 b7 U
- BEQ ADDRFFAD. l9 g2 V0 r1 o' h8 ]( J
- JMP $D19A ;敌方死亡程序跳转: k" I0 _9 H, E& q; S: i
- ADDRFFAD:
3 g' d5 p/ \% M+ s - JMP $D154
+ G; ]0 }* u0 T8 ~3 |/ V - , t, y* X5 h, L8 F
-
7 T: P+ V- f0 n+ z* a - .ORG $A7F6
& e _: `6 q! I0 K7 Q) Z4 W, E - JSR $FFB0* A i J, p8 f* |
-
" b8 K3 c" g1 y - .ORG $FFB0 ;全屏攻击3 z/ k2 s) d' V/ D6 k$ ~/ {" A
- PHA
# I- e9 n+ a* b) x+ S$ c" t6 \; U - LDA $6000! d/ Y+ \, q8 _7 r2 a% r
- AND #$802 e' N. a! |: U1 U/ V, D1 ]
- BNE ADDRFFBD
# ~! G- D x6 k" C6 \ - PLA# ]# }) v5 M+ l
- LDA $0015, H/ U% U) Z1 l2 M; l
- SEC
& W0 X& [* Z. O% k - RTS# n8 `7 Y9 P& f
- ADDRFFBD:
& ]6 T" ~: O' o: ^- h0 K - PLA
3 L q3 S8 t& T5 Y5 n# i - JMP $A8261 Z# K! M7 h0 n
-
" I0 E5 T1 Y9 j8 j, l" U - ( s" k& d; q$ E! K
-
7 N) _5 _) F4 G8 c8 J - .ORG $AA6A
/ q$ S Z& e( n8 e# e - JMP $FFD0
2 g* E$ f N- e& k# k* ]3 {5 ^. c - * Z+ Q6 V0 H0 ~; |
- .ORG $FFD0 ;敌兵动作忽略
V$ v4 q. z9 N1 `# K - PHA
" Y: h; y6 b$ X% k: u% \) P - LDA $6000
' M0 n/ v) f: Z' g: m - AND #$80
% Z* K7 ?; [) B$ p$ d# t3 J - BEQ ADDRFFDC$ Z" D+ N2 |$ q$ X, Z$ {3 S$ H
- PLA4 l; p+ X2 G8 w& M( i& O9 Y* l; _ W
- JMP $AA72
4 N J3 O+ A+ I7 L9 k5 e - ADDRFFDC:
' R; k, p. K0 F/ G8 s6 Q N - PLA
6 L* m7 q+ _7 h u/ e( z) X - LDA $0629,X
9 W# v p: M- z4 w4 V8 L0 v - JMP $AA6D( t0 _0 r! P) T
! x4 D! r- Y, u. t# a' r- ;[FC][忍者神龟3代标题选关程序]" H' B1 P0 {$ o# C, R9 w7 |
- ;作者:FlameCyclone 2017.4.1( U/ ~4 M @( i
- 2 n( p J- c- t1 s* Z( I
/ ` k, F( b% P: X$ Q* R) i4 o- ;配置数据
* i# \, J1 u/ K: k, E - KEY_ADDR = $F8 ;按键地址( E3 S1 c* ~; P# I) f% y: u7 G
- STAGE_TEMP = $6010 ;关卡临时地址
# A2 ~; U. m2 Z: h8 m - STAGE_MAX = $0E ;最大关卡数
s2 L. ^4 ]4 q7 P& w7 p# [ - TITLE_A = $20 ;标题条件A |- Z$ k4 C4 w3 _; @
- TITLE_A_ON = $02 ;标题条件A有效状态判定8 ?* h$ ?9 h4 i; j$ n
- TITLE_B = $21 ;标题条件B
+ ~# } _& V- o7 @- _ - TITLE_B_ON = $03 ;标题条件B有效状态判定% q8 s9 Y% e# F. d
- PPU_END = $FF ;PPU结束符
3 `0 L! B9 f9 H, @0 k - TIME_LAY = $4A ;标题显示延时地址
# }3 r4 {' v9 R# T+ D7 i5 j) N0 L# [ - BUTTON_DEC = $42 ;关卡减少按键
3 P( d r% S8 I: C( b8 h - BUTTON_INC = $81 ;关卡增加按键6 [& z/ I \8 W" z7 w) b
- NUMBER_A = $06 ;数字A距离STAGE偏移量: f6 N& L0 X& o/ q/ ^9 w& _" Y
- NUMBER_B = $08 ;数字B距离STAGE偏移量 z& O* v- _# f Z( G+ f" X Y
- PPU_ADDR_H = $23 ;STAGE写入地址高位
8 H/ Y( ^. h% q+ a3 S - PPU_ADDR_L = $8C ;STAGE写入地址低位7 v: k1 o! B; ^: N$ M
- CHAR_S = $A2 ;字符'S'
) d% }8 P$ {5 u+ g U% A% D B) D - CHAR_T = $A3 ;字符'T'
: w! U3 |+ m: f; l/ a# r - CHAR_A = $90 ;字符'A'
" ?0 f8 J# [3 Y. `/ `, f - CHAR_G = $96 ;字符'G'5 V$ C e! q- O" L
- CHAR_E = $94 ;字符'E'+ K( a3 g& u: u7 a T3 k
- CHAR_SPA = $00 ;字符空格
3 o' U: I& @3 ]# m4 X# U4 n - CHAR_LIN = $AE ;字符'-'! H# O' p! Z3 F9 r% o6 J* e6 I0 `8 m
- CHAR_O = $9E ;字符'o'
* ]4 r* B" {! f* T2 ^ - NUM_1 = $81 ;数字'1'" Q0 \9 W; H4 @# r# S7 P% [8 r
- NUM_2 = $82 ;数字'2'- D1 m! [& W& z" F, P. {8 U# ?: m4 z
- NUM_3 = $83 ;数字'3'
7 \8 u1 r$ k! X/ P# C - NUM_4 = $84 ;数字'4'
% D' c: J! f% H5 S - NUM_5 = $85 ;数字'5'; L4 U( X- m6 ?# B. [- _- l
- NUM_6 = $86 ;数字'6', w1 r' d0 P' U
- NUM_7 = $87 ;数字'7'
( V( i/ c. k/ L( G6 n8 U' P - NUM_8 = $88 ;数字'8'
/ P: A: d3 K4 _7 x% S+ { - NUM_9 = $89 ;数字'9'
% t8 o4 y8 }; I4 j3 | - NUM_0 = $80 ;数字'0'# M- I V) W$ c' h
- ( i/ H2 @# {0 U$ {) O. y
- .ORG $F82A2 A6 ^, y: W$ d/ ^
- JSR $E7002 k v& N7 d- R( L; ~
-
: M9 n. \; X5 {3 }3 W/ b -
4 m( f( F k9 D7 n - .ORG $E700* Y2 O& T; @) g3 d
- 8 k+ ~+ [+ k" v6 | H4 i% z
- STY $4014 ;补上覆盖的精灵写入指令: ^- b' h, O% ]5 x8 S5 b0 l7 d. l
- PROTECT_DATA: ;数据保护* w9 B9 _1 x# w1 c: }1 j1 a
- PHA ;数据保护开始
5 P& y- Q1 U. d3 A! f" o - TXA
, h2 _1 T4 a. A2 b - PHA; U" X' U" d$ |: C0 I2 v ]
- TYA* K( | a7 B! `" j
- PHA ;数据保护结束% t( o, z0 [, V8 ]
- LDA TITLE_A
! V5 N" U% }) ]# ^' I - CMP #TITLE_A_ON ;比较是否为标题画面
9 v1 E& C& l6 {8 e - BNE RET& r3 B9 L; o; X+ Y; [
- LDA TITLE_B: G% n0 o' Y9 ^
- CMP #TITLE_B_ON ;比较是否为标题画面
' @# x4 u" {" ~! A5 x: ^. E3 V - BEQ PPU_STAGE; Q- W! p' G: c' r( T
- RET: ;恢复数据
C8 C9 G2 b$ U/ y4 O - PLA ;恢复数据开始& U' b0 m! n" d* C* y' |. V+ {* c
- TAY9 A! I1 q* K, T( s8 f& G
- PLA
+ v4 P& J' Q: M& `4 U - TAX. p1 z" @6 ~' d( w' Y9 b8 Q1 R' y
- PLA ;恢复数据结束
5 G' n3 T% I' d# Y, O! m - RTS ;返回
' _3 }5 k8 ]2 V3 q - PPU_STAGE: ;字符STAGE写入程序& E& g+ b3 q* i' V& N
- LDA #PPU_ADDR_H
2 y& \2 d/ p/ E, [) T7 O4 Z - STA $2006 ;设置PPU字符写入高位地址
7 N2 o% p( Y. l; u3 J - LDA #PPU_ADDR_L
) o7 ^( v) @( y, p0 } - STA $2006 ;设置PPU字符写入低位地址& i2 ?- G0 ^) k) Z
- LDX #$00
& j* B% ?8 ~3 Y. }% K - PPU_STAGE_WROTE: ;写入STAGE字模
, \$ [% t- |; C6 U - LDA STAGE_DATA,X/ r$ H w+ U. l2 I
- CMP #PPU_END ;判断是否写入结束
8 l# u7 H' v" E5 e; y - BEQ STAGE_CMP/ P9 E' e. z: Z
- STA $20078 E7 w- e" X# j9 _- l
- INX( E3 K" b* w: o r: n- F( d' S. D; J
- BCC PPU_STAGE_WROTE% c4 G- H1 z( s1 G) W
- STAGE_CMP: ;选关操作
~, a9 q _) M V/ R5 m8 } - LDA STAGE_TEMP
% ^* X: J3 o% @ - CMP #$FF ;关卡数据初始化条件判断
1 ~9 d! F/ s( {% s1 `, T9 } - BNE KEY_B& U3 l, C( v* _; x* S7 Q/ C: Z
- LDA #$00
! f; M, o4 o2 g5 C - STA STAGE_TEMP ;关卡数据初始化! E. A3 {; z5 P) p7 s, Y
- KEY_B: ;关卡减少9 I3 H G$ \' |8 @- e! C
- LDA KEY_ADDR+ U! X# V# B3 f6 S8 M
- AND #BUTTON_DEC ;按键B或左减关) s5 O4 J' k. U
- BEQ KEY_A# }2 j& B" B+ ~. S
- LDA #$FF8 B/ @. X$ r' w
- STA TIME_LAY ;重设标题延时
' M. [, P* e. u! _ - LDA STAGE_TEMP# V2 t! g# T( n3 v) ?- P8 a
- CMP #$00 ;关卡比较0 U. k) e5 e! T: N/ u- N
- BEQ KEY_A+ P7 {0 g+ Q$ ]/ L# |) b( t" j
- DEC STAGE_TEMP ;减关
( h0 k8 W% d. i3 L0 Z& q' P - JSR MUSIC ;按键音效 T* ^5 {$ l# @. `: v& e
- KEY_A: ;关卡增加' c7 T% t5 {! z& H6 e- [
- LDA KEY_ADDR# H0 Q" ?- E, m. M' z' u3 a2 }
- AND #BUTTON_INC ;按键A或右加关: J, j( e4 ?& J
- BEQ PPU_NUM_WRITE% `6 X7 T* Z/ o1 E6 u: H
- LDA #$FF
$ y/ B; |* O! E - STA TIME_LAY ;重设标题延时. A: R+ W7 C. k! Q! |! \9 q; |
- LDA STAGE_TEMP# W; J' c8 U% F/ j% S
- CMP #STAGE_MAX ;关卡比较% k) F" B$ _0 @' `; b6 }8 W4 V
- BEQ PPU_NUM_WRITE
% p9 L' }9 O8 M' `; o - INC STAGE_TEMP ;加关
A' \, U Y+ |/ e3 j - JSR MUSIC ;按键音效
1 ?. o8 B+ ?8 G+ P2 b+ i - PPU_NUM_WRITE: ;关卡数字写入地址- k0 L' W/ C4 P! q$ W4 {: G
- LDA #PPU_ADDR_H
7 Z) ~9 P8 H( D: G, z8 j - STA $2006 ;设置PPU数字写入高位地址
% C1 s. J& \' C6 q - LDA #PPU_ADDR_L
8 Z- f0 H4 G/ b/ ` V - CLC3 O0 T2 T1 g9 B) b
- ADC #NUMBER_A
# r/ V4 a' O) c, s" k# R; |" _ - STA $2006 ;设置PPU字符写入低位地址2 G3 {6 A6 U5 E# g6 F! X
- LDA STAGE_TEMP
0 A+ c+ Z% X' d - TAX
' U* I. |7 F7 c) b# A - LDA STAGE_D1,X ;写入数字
$ N8 B z4 R) N8 |- n8 ` - STA $2007
: H# n! G" G( H+ V7 p - LDA #PPU_ADDR_H
# M5 k# F% L, @ - STA $2006 ;设置PPU数字写入高位地址
! l& ~7 o5 t( C6 F7 i - LDA #PPU_ADDR_L
: o: ?$ Q3 d/ v0 P - CLC
$ o2 E) _4 B1 D' c& w: ~+ p - ADC #NUMBER_B2 b* I, u! z; H: l5 }" N
- STA $2006 ;设置PPU字符写入低位地址
* H3 _, P9 |( P) z8 H; c - LDA STAGE_TEMP
9 ^# P8 o% R; u1 O: [% v2 ~ - TAX
N/ D8 Z, D# M4 L b - LDA STAGE_D2,X ;写入数字( C7 r$ c% o' p4 J' K% i2 Y
- STA $2007& a: ?' u: @% [. b0 {# K* a. x
- STAHE_WRITE:
v! u% E# G$ e- f' M$ o" C: p8 z% l - LDA STAGE_TEMP
9 v- O. X8 Z# U6 [ I: i - STA $2D ;初始关卡写入
* G) C& F1 I; D2 f& i8 C7 D) @$ r - PPU_RTS: ;恢复数据3 k9 l5 Q |/ A5 w
- PLA
% [# V+ A7 [, `5 h. I5 ~ - TAY
* Z- v" j4 s& Y; A7 P - PLA
8 Z6 D. i1 e5 @' K+ S4 f - TAX
% i' ]2 f+ e& d: p6 U. e5 C - PLA
7 V* v) m' {$ D& @ N! ? - RTS
# Q3 `3 {& A: p+ M7 Z( n$ M8 t" ] -
9 S/ Y* j5 q/ K( b - STAGE_DATA: ;关卡文字S,T,A,G,E,X,-,X字模数据1 d2 T4 `9 ~, w: X+ f
- .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END: L/ i0 ?; s1 B5 Z3 a0 S7 M% H: Z
, r0 l6 T% r @- K- `( w) A- STAGE_D1: ;关卡数字
2 M, S/ k2 T, b2 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 I( E0 z5 x( @! I! M! o& B7 U - " ~( T2 }4 \6 n1 N+ p
- STAGE_D2: ;场景数字8 l, _) C# u5 L3 E
- .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 M+ {9 X4 W4 e1 `
- ! r3 G7 _% A* [# k
- # X2 b0 k2 U$ n7 E$ A
- MUSIC: ;按键音效! P; p' G6 D* i1 v+ {" N
- LDA #$3B ;音乐号
% T% s% n# F( X5 b - JSR $919E ;系统音乐调用# a7 a6 {3 Y t& N( F: y+ Z# _
- RTS
复制代码 4.无敌锁定: 暂停后,按上键切换;
: _: R: {- F2 H 5.生命加满: 暂停后,按下键切换;" h8 E8 D% c' T+ ]# L9 R! i# j
6.血量锁满: 暂停后,按右键切换; _7 Q- m( a" |
1 v1 g0 g% @6 j2 p! x
0 M. g8 m- [6 e

' X: s% ]4 d8 X9 D! o2 @ 8 K' C9 C- d! u
" e u8 \$ f. G( [
FlameCyclone.ys168.com, v$ p) j2 p' L( Y/ Q. S# {
www.nesbbs.com
; k. K, R8 x) _: l5 R
7 p0 D1 F9 G6 w2 A# |' J |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
1
查看全部评分
-
|