|
本帖最后由 yandagui 于 2017-4-2 13:23 编辑
8 f! D1 C9 ]4 @+ v2 G5 J6 c1 {
3 e% B5 M& s; E# S[FC][忍者神龟3][END选关]9 J ?, s0 o5 W! n( t9 t7 r% |8 W
; }/ r) f, p j: x
时间:2017.3.30
) R4 T- Y: v' E# ?; x* j" H- G- J) M作者:FlameCyclone, L' H$ I$ l% K Q
内容:
$ ~5 [+ u' m+ i$ w 1.关卡选择: 标题时,左或B减,右或A加;6 ~% U3 V1 p+ [) n
2.全屏击杀: 暂停后,按A键切换;
$ N( o& X! {( N+ x 3.一击必杀: 暂停后,按B键切换;- .ORG $FEA0/ M$ Z& `$ b& l+ C3 o& P& [- ~
- ora_data:
. ]1 @' g2 B9 q* P - .BYTE $08,$04,$02,$01,$80,$40,$20,$107 s: f. U+ ~# T
- and_data:
. Y9 f! |$ s0 U1 N7 C8 y - .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
M" r8 O0 h. v. _0 ^& q" o" | -
9 u& z; X0 [; I1 W! d - button = $F8
& T8 _4 z1 v# e# L1 f* t2 u - flag = $6000, v8 m- J7 W0 L$ T3 H9 D
- pause = $0045
, N1 [) @3 a8 ?+ `; g+ @
9 u, B2 m5 d) N2 r- I# B- % x* s+ ]6 |" M8 I- s0 V5 e
- .ORG $F90D
: _6 o, I6 k/ n2 x - JSR $FEC0+ D( l; _# w- }0 ~$ o3 p- Q/ }( {
- ! t: O) ]0 \1 ]1 d$ G; L
- .ORG $FEC0
5 F( i1 m7 W' ]: {5 r7 } - STA $54,X
4 k( i. R' x/ J - STY $FA,X% }- T$ h7 G( M, [3 d1 ~" w
- PHA
2 l+ L1 ~! D" C - TXA
9 E: S( ]: L7 U - PHA" h" G2 e; F4 E7 A3 j
- TYA
! T- K: @5 o( K+ f- J: d' W - PHA- ~8 h; @1 m4 `6 C3 J4 I
- JSR KEY_OPERATE: x8 b1 P3 V7 i$ v/ ]
- JSR INV
+ ~7 m$ C6 E# T% E - JSR LIFE
2 | M m8 z) Y* H& l - JSR BLOOD
! @# p( e( V. q. u w$ o! x - PLA- P) N" m$ P) D
- TAY+ B* d! X( y" H$ g$ J% W/ |% h
- PLA/ w! B. M' Q1 S! q4 o7 z3 M
- TAX
2 C% L8 w! g$ Z+ w - PLA+ s( S7 I; z( R; L! t4 C9 p
- RTS
@) `! A$ q8 M8 C! X4 N" N6 {9 o - KEY_OPERATE:! r. w S" j# p
- data_protect:
3 x- @" H& i9 o2 o3 ^ - PHA1 Y3 x, h& b) Q2 M9 I4 i
- TXA2 S, S4 d$ n- W; T; R" ^. Q5 i2 F
- PHA( V. Q- [0 \1 O. J# K
- TYA
6 I4 ~0 z* q2 r! r7 v" v# k - PHA ?- @2 @7 v+ G; B
- " c. j" o+ R7 C; p3 S
- FLAG_CMP:
( \. G1 p# v g; e+ u1 } S - LDA $600F
3 y+ S' U1 f8 X. h6 p- F - CMP #$7F ;标志数据初始化条件判断1 s) n$ M/ Q( N+ u# K0 E: Q
- BEQ pause_cmp& l! Q: \% ?# {% u! {
- LDA #$804 E3 B: K I$ p, }9 ]
- STA $A001 ;6000-7FFF写入启用: k/ _- K, T6 V1 U% \
- LDA #$00
; l) x+ E" w1 y* v* B$ P1 \ - STA $6000 ;数据初始化
: v) k, B$ @# c' y - STA $6001 ;数据初始化
4 k( U2 q" Q1 c5 L' M& H) ^8 P2 M2 z - LDA #$7F
. ^- V6 n# g4 E5 D* N - STA $600F
+ g% I8 s& n3 Z' B: U - pause_cmp:
1 d F* P: {% T/ \ - LDA pause1 S- J* @2 }. j/ o: m1 C$ I: C
- CMP #$01
8 p9 d: }8 x) m - BEQ button_press
3 I& E1 [7 B5 I7 H2 Y& c9 Y - PLA/ ^: `& p/ b4 d! Q$ O1 v& u+ t+ T
- TAY
; p4 D4 J: c' D& x5 l1 F - PLA
$ ~ N# u ~2 v. v$ b: Q; L - TAX
* A3 L% v |6 G3 F: w+ i - PLA3 z* z. d. l9 y
- RTS- k/ V# @; X8 A4 h ]9 W
" i! t* _) f4 x! s2 c. y2 ?- button_press:, Q" p! p( n) s' j J9 b
- ini_Y:
0 I$ W( s& n4 q w! H0 g - LDY #$00# Z1 c! U9 x. _6 h$ f
- button_cmp:
$ d, |9 k& E6 Q- X - LDA button,X! b+ l2 h5 c4 x% Y
- CMP ora_data,Y
! U8 |% Q7 Y- K4 v0 ]/ `" @% J - BNE count_Y_cmp9 F3 h- Q7 P' R. W: h7 R
- flag_cmp:" _1 A4 g: ~6 c& F
- LDA flag,X1 u1 r3 L$ G! X) Z. Y2 }; Y/ C3 I
- AND ora_data,Y
# A ^: Z4 Z8 `, d' o - BNE flag_and
) h" H6 T! D* i. Q - flag_ora:
; p2 T" m9 E9 Z1 j - LDA flag,X
. `0 x% `+ x& u - ORA ora_data,Y
# x$ ~ _/ P. K" O* X; Y! r - STA flag,X
9 o+ w0 _+ K) t+ V - BNE count_Y_cmp# a; G$ q3 x( `
- flag_and:
9 V0 M0 l3 @; F: h6 m( c/ J - LDA flag,X" X% {2 L; a2 l
- AND and_data,Y0 s" |1 R8 A7 g0 y; ?( `- ^
- STA flag,X
d# q8 \. v7 ^ - count_Y_cmp:
, Y1 Y5 d2 L: k - INY: s( j) ^6 E$ a. H/ J
- CPY #$08
+ x8 w" H2 K0 S3 o- a3 p3 L9 O+ K - BCC button_cmp$ B8 q. r5 w/ q! |+ x n9 F. G
-
3 q& i9 w8 }1 e8 Z) {1 j, F# g - data_extract:5 G' Q6 [6 I) U7 w1 A% n$ {0 B
- PLA) r% H6 j) e& y8 U+ K9 R" S9 F
- TAY4 }7 p: a) ^& S- U! v0 j/ f
- PLA) p9 I& x' r4 J3 u
- TAX
3 ~) o0 l: h% H: ~8 S - PLA
4 T. h9 I% h* r) k+ |% K -
3 K$ s: m: {: h1 `7 O5 W - return:# F0 }$ ]$ X, B+ I6 ~: G7 K
- RTS
0 S3 |, B6 s2 ? i z' B - , }1 P4 a9 S3 R9 q! `* `4 ^
-
. q, l6 ?( n |, O) H9 m% D9 F* h - INV: ;无敌: W& T. i7 _" C. R, j7 O
- LDA $6000,X
+ \# H9 e' b7 V% `3 v$ l* ~/ x4 y - AND #$08
6 X' x* G$ Z: L5 ^% y4 H - BEQ INV_RTS; J( l( X- V* L3 |1 |
- LDA #$05
: V( h! V- z( ~3 }. M - STA $04FF,X
; e1 v, z4 k' n8 w% V0 m - INV_RTS:
! G, A; U* x# w+ k c' f; d* Y - RTS% X: i# o( i8 R6 U
- - J1 s3 q% M! P2 I: D% e- X
-
1 G- e3 E% K) ~" l - LIFE: ;生命
2 m4 L* D( | {* Z8 u/ o& _ - LDA $6000,X
" U1 }2 i; v( i: m+ T; c - AND #$04/ o% p+ n$ `7 D9 a; N1 L
- BEQ LIFE_RTS
, E. j, D2 c4 Z7 F) @; k0 ? - LDA #$09" J! {$ J( I1 j# D$ D0 C) S* _
- STA $6A,X y0 J; B3 O& `1 V2 ?
- LIFE_RTS:4 N0 l2 p+ b/ ]
- RTS
- p( n+ O. G$ S* K% @7 h B" x
! Q! U# h! H- k$ q. i% o- 8 U+ ?. \/ e/ x8 j4 D' j, r
- BLOOD: ;血量8 z% ?* |. K$ W* H9 E* n. G% F
- LDA $6000,X
7 H) l: Z0 D3 X5 Q - AND #$01
( g) Q$ d; n6 R5 ?# \7 b- _! ^, K - BEQ BLOOD_RTS3 e2 X) y, h8 O( s0 B% ^
- LDA #$7F% v% l2 i! \# X" M
- STA $04F1,X: ]* T1 C7 k) r ]. `1 k, D5 s N5 l
- BLOOD_RTS:
0 n7 q q7 ~9 T9 ~9 r1 q& {& X - RTS
5 a. T% f8 h7 r+ J9 f$ {- u, t, u - 5 L! [! q% }- h7 c
-
3 u% S/ |2 ^. @0 x - @7 g5 T5 L9 f& ^$ Q' c/ ?7 k
-
# N& N& S% c4 h - .ORG $D29F
% v( e# D; _* d6 p% s. L0 b+ V: t C2 q - JSR $FF80# ?" g. S B% A( W' N
- ; F6 F/ y c$ ^) H! i. B
- .ORG $FF80
3 d! r3 H4 a8 ^6 U0 m; b* C8 P; A - KILLBOSS_BY_ONE ;BOSS一击必杀
0 t* x# q2 D: e4 q4 j; u3 e$ Z - STA $0628
6 C5 o( n, l; y$ t* | - PHA
: [4 Q; X2 z' {. A3 d - LDA $6000
# n; W. O" I0 J2 C9 y* G - AND #$40. h$ u) o" J- w
- BEQ ADDRFF8E
! Z! n+ c& P5 j - PLA
: T _6 S8 G0 ] - CLC ;敌方死亡状态判定3 K9 Y0 Y% e, G
- RTS. q8 r. }# o) [
- ADDRFF8E:
8 B0 e9 G) n4 u2 } - PLA+ e9 e5 M- r( G E0 s
- RTS
" Q* _! ^" T* k# F
, k- P& P1 M4 i! }# Y% v
7 x8 U1 K$ h* v- .ORG $D151
8 O- i7 a6 w/ V5 F0 K% B" K - JMP $FFA0* ]% ^) p. `( q! h) J# P8 V( o
- 8 V( ^6 p. U% W/ r D T$ |
- .ORG $FFA0 x% `" Q3 n/ @1 u) t9 j, c- j
- KILL_BY_ONE: ;杂兵一击必杀
8 b& Y0 W' v; J: k - STA $0621,X6 Y0 e+ B8 U( L. x% [
- LDA $6000
. H M4 ^# L5 z - AND #$40# M" [, S( ^/ O
- BEQ ADDRFFAD7 T- s9 v2 b! W7 W# s& A( W% i
- JMP $D19A ;敌方死亡程序跳转* o4 z: A+ G' ^( P9 |" l' C: |
- ADDRFFAD:
0 {- s8 D8 n5 T) y - JMP $D154
$ `& L, g% \8 q& c - / h; ~' K$ s& Z" g
-
* `( ?4 U/ }' Z: c, }( {9 t5 U7 v - .ORG $A7F6
4 E. a' _0 p& c' V% l - JSR $FFB0
8 h4 X5 b/ {6 o' N7 ^ -
& t# W( k1 m+ c! g C - .ORG $FFB0 ;全屏攻击' W6 u" z6 Q, S, J3 R/ a% D
- PHA
( z) k1 H7 N( s& N! y# P. e5 P - LDA $6000
/ N; p" m# M2 p8 Y+ t; `1 { - AND #$80
, g1 S" P, O' p - BNE ADDRFFBD
' K) s0 z/ @+ e* \4 S) P, n - PLA
" o$ Q- ]8 S- G( L - LDA $0015/ P6 N: f. \, U/ o
- SEC, L# b; N: _6 O
- RTS
+ o( j( P( g# d* D' Y - ADDRFFBD:2 a& C' t( C/ U4 E4 {2 l2 ?
- PLA
, P+ P# V" D4 h0 J: }& g; S - JMP $A826
5 o2 ?7 \$ T$ i$ W& Q0 T2 V( I - ) z) Y [+ s: y# w0 y
-
2 j4 _$ K0 U {) E - " c8 R9 s7 h" t+ Z4 V5 @# J
- .ORG $AA6A
, f4 o ~! Y+ v1 n; h" o - JMP $FFD0 q$ C" H8 E' d8 H3 C
- ) d: z9 w+ E( a8 C! Q- j+ z
- .ORG $FFD0 ;敌兵动作忽略
; y# {3 f# {! `1 K8 @: w8 e - PHA* _4 p0 b2 s, J3 b9 ?+ r+ n$ g; c3 R, ^
- LDA $60008 p2 W! ^7 r g0 E) a3 l6 p9 ?
- AND #$80
0 A$ F; V4 |) K3 e' y - BEQ ADDRFFDC& O/ k4 F9 [# n( z6 y$ E
- PLA# C8 \7 X$ x% b
- JMP $AA72# z! W1 q0 _) m+ ]( p+ L. M+ j
- ADDRFFDC:
2 x$ V5 r, X; H/ ]( r - PLA) A7 I/ ~* b1 p1 `
- LDA $0629,X
+ s' ~( o: t. L - JMP $AA6D- v( F; w4 k# i$ r" v7 v* z% o
. `2 F& u& ?- s4 _ a R5 k% I/ F- ;[FC][忍者神龟3代标题选关程序]. W* i; w3 ]+ C6 M0 g2 x& B$ j3 h
- ;作者:FlameCyclone 2017.4.1- f! y1 }3 p- P$ x
) k0 A( R: ~( A
; d7 m+ ^. ^' u" j1 J- ;配置数据
" e0 q9 k1 S9 I: |2 T4 V# Z/ \ - KEY_ADDR = $F8 ;按键地址5 a/ A/ r8 m$ k& Z6 |
- STAGE_TEMP = $6010 ;关卡临时地址) K3 X) @# i9 b) _. U1 ^ O
- STAGE_MAX = $0E ;最大关卡数5 C7 H9 |7 n1 A
- TITLE_A = $20 ;标题条件A8 ?* F. e" \3 z% @" }
- TITLE_A_ON = $02 ;标题条件A有效状态判定9 }3 D/ j5 W1 g
- TITLE_B = $21 ;标题条件B
6 O$ C# Y: T a# S/ G - TITLE_B_ON = $03 ;标题条件B有效状态判定9 l6 w& G1 Q# C4 n: r( V
- PPU_END = $FF ;PPU结束符; ?) q% { _6 O0 V- R+ b+ l, q5 [
- TIME_LAY = $4A ;标题显示延时地址5 ^3 V, S/ D. Z3 N! \1 r
- BUTTON_DEC = $42 ;关卡减少按键" \5 a6 e% P+ P0 D
- BUTTON_INC = $81 ;关卡增加按键
& Z& @: z1 y% A( H) P' a+ t - NUMBER_A = $06 ;数字A距离STAGE偏移量6 N) `( {4 O5 Z7 }! M5 w
- NUMBER_B = $08 ;数字B距离STAGE偏移量
! V& j/ Y/ E6 D( ^6 x: g b6 a - PPU_ADDR_H = $23 ;STAGE写入地址高位
4 A2 r/ x0 {0 _8 N - PPU_ADDR_L = $8C ;STAGE写入地址低位5 Z! n* K2 G; o! F( W
- CHAR_S = $A2 ;字符'S'
" G) S/ Q# {" q5 r+ {' x% P! y x - CHAR_T = $A3 ;字符'T'$ m% ^+ k$ t8 X$ R9 @8 z. w
- CHAR_A = $90 ;字符'A'
+ a% n j% F9 Z - CHAR_G = $96 ;字符'G'
. C& K) A% a' {7 o1 I3 k - CHAR_E = $94 ;字符'E'
: A h1 R3 x$ u# Y - CHAR_SPA = $00 ;字符空格
0 L+ P( d& ?& } - CHAR_LIN = $AE ;字符'-'$ Z; x7 o" D4 |/ o# d. X6 r
- CHAR_O = $9E ;字符'o'8 V2 H/ o/ L( d3 v# M$ _. T* R
- NUM_1 = $81 ;数字'1'9 u; l- L# B" Q3 B
- NUM_2 = $82 ;数字'2'
1 ]% |9 ~; I8 |0 W( O+ } - NUM_3 = $83 ;数字'3'
4 ]6 q1 d6 N3 S# @ - NUM_4 = $84 ;数字'4'* d8 j/ s# p- B7 H4 S
- NUM_5 = $85 ;数字'5'# f% h, n/ I4 W1 c
- NUM_6 = $86 ;数字'6'
8 N/ s) C" t+ j ~) ]4 C- q1 | - NUM_7 = $87 ;数字'7'( G( e; n, x. N- F: r7 T
- NUM_8 = $88 ;数字'8'
1 N/ M/ X, }8 J: U5 b* l* o0 C - NUM_9 = $89 ;数字'9', y9 U7 a# _1 k- \3 z r9 z& A
- NUM_0 = $80 ;数字'0'
[# ? G5 {- U$ X7 W/ a - ( t8 R, T- V* V' V: [- s0 B
- .ORG $F82A w6 x7 H3 i1 U) k( J9 R* s
- JSR $E7007 k2 r/ v! P# [5 b7 Q {4 e1 _
-
* j1 W9 \ s. m: s! e4 ? -
6 R& b- b* P# [7 \ - .ORG $E700* O7 ]: {+ y! B& B7 Q$ L
-
. U( ~/ x# }3 ?9 f. N) j# T - STY $4014 ;补上覆盖的精灵写入指令
9 D% q" p$ w; O7 ~6 w, w) J9 T - PROTECT_DATA: ;数据保护
1 O: g9 a% T H - PHA ;数据保护开始
( X6 k- E5 y3 K/ P$ [ - TXA6 C% y4 v; I! i4 p* k
- PHA3 ^" X1 P: \& A. q
- TYA# o: r* d: |2 Z. c& E
- PHA ;数据保护结束4 _% s; W- }! _
- LDA TITLE_A% w+ B9 w, P+ T* ^/ v. M
- CMP #TITLE_A_ON ;比较是否为标题画面! x+ j9 N: t, Z9 P
- BNE RET
" x& U) y: L7 ] @% [ - LDA TITLE_B& a6 P$ U8 {* l5 u7 s
- CMP #TITLE_B_ON ;比较是否为标题画面
s1 p8 X* i! X, T; a) a - BEQ PPU_STAGE( K( x) @/ h- g! ~
- RET: ;恢复数据0 y. r+ M" o; W/ h* q9 q9 b$ Z6 k
- PLA ;恢复数据开始1 a% J6 i9 s p6 U. t5 _1 G8 _
- TAY, w! J0 q! y" C: ]& J
- PLA4 x& i4 d( C" }: h% s3 _# N
- TAX
3 y; x8 N4 i3 M% f P1 C4 Q - PLA ;恢复数据结束
6 ?0 x/ [5 H. H# O& } - RTS ;返回1 ^; I! e* Z+ Z% u1 ?
- PPU_STAGE: ;字符STAGE写入程序2 N1 \% h. H/ m. I" V
- LDA #PPU_ADDR_H
' c4 ^/ j, G; f9 }. _, ^ - STA $2006 ;设置PPU字符写入高位地址
" l! |, l( l) E: i! O5 G: n - LDA #PPU_ADDR_L
" b! M- `5 z8 T8 ?; \) j. B) K - STA $2006 ;设置PPU字符写入低位地址) T; b$ d4 x# |. H7 w' d) U
- LDX #$00( ?8 _( ]' G$ S5 C) y
- PPU_STAGE_WROTE: ;写入STAGE字模" I0 _9 I* f! T3 s1 [, X7 [2 D
- LDA STAGE_DATA,X/ {1 i: N" ^3 r
- CMP #PPU_END ;判断是否写入结束( t/ q+ k3 H# {
- BEQ STAGE_CMP
* L* l+ g* V% X! q$ K9 {8 \ - STA $2007
+ v6 _- K2 _7 Q' \& s2 @5 l* R4 F - INX
& f( c L! Z v4 f - BCC PPU_STAGE_WROTE
. s0 A" L7 t! e" b" ?7 J - STAGE_CMP: ;选关操作
' Q( \" v8 x9 E5 l& N - LDA STAGE_TEMP
; G$ g1 N4 N7 l% Z - CMP #$FF ;关卡数据初始化条件判断
- ]/ L) }9 }* a. Z2 V - BNE KEY_B
" \5 w1 I# s6 } - LDA #$00
) f3 n3 _& W$ N$ q# h3 {2 _/ Y - STA STAGE_TEMP ;关卡数据初始化
! {- B9 @- E X. H - KEY_B: ;关卡减少
6 ~# `* W6 G ?3 n. f1 g0 ` - LDA KEY_ADDR9 t* Y; _1 ]# X$ _2 f* B& W
- AND #BUTTON_DEC ;按键B或左减关/ B. o! j0 z' @( G- k# s6 E0 H+ k
- BEQ KEY_A3 e: }% `; p) R! c8 @
- LDA #$FF; F9 ?3 J3 }$ A: N% u
- STA TIME_LAY ;重设标题延时
4 J" H8 I: s+ Y0 }2 Z - LDA STAGE_TEMP6 J, Y" P$ B; Y- `4 |) B' h5 x
- CMP #$00 ;关卡比较
1 ?, ?; e+ G7 `% V4 z - BEQ KEY_A% S. Z2 W% p E6 v! }
- DEC STAGE_TEMP ;减关
; w5 ?4 z0 |, w0 R% P - JSR MUSIC ;按键音效1 q* ]) W Q$ a" N. @
- KEY_A: ;关卡增加
- O: k. F& i1 C% Z7 d3 F - LDA KEY_ADDR* B& \" K/ p, g6 W& P
- AND #BUTTON_INC ;按键A或右加关
- d: ]' D2 ~7 `7 t) a6 O - BEQ PPU_NUM_WRITE; E0 d. Q. L4 P4 f) @2 T, B
- LDA #$FF! \1 @! C- J3 D3 G* c
- STA TIME_LAY ;重设标题延时
/ Q, R, B' C* Z+ E' A- M - LDA STAGE_TEMP
( f7 m3 h1 E4 z( g: d5 w - CMP #STAGE_MAX ;关卡比较% c! S2 D: L/ w" b7 ]
- BEQ PPU_NUM_WRITE
4 H# j& O) P6 F2 e8 [: W% y - INC STAGE_TEMP ;加关$ G# ]# \& q. r7 @ ]2 |- \. X
- JSR MUSIC ;按键音效! R9 Z. u! U+ T" {% x' r
- PPU_NUM_WRITE: ;关卡数字写入地址3 B! W( d4 b; G1 z U4 x3 i/ H' n. q3 G9 H
- LDA #PPU_ADDR_H
c- \- o; s7 x( u. { - STA $2006 ;设置PPU数字写入高位地址% b$ v& c$ Y8 i
- LDA #PPU_ADDR_L
$ X# a! _# E9 N" r( m% t6 j - CLC
( Y( v. p0 v' |5 B* z6 q - ADC #NUMBER_A
! X+ v6 t- F( b! g, { - STA $2006 ;设置PPU字符写入低位地址7 T4 J. _ c4 ?9 A# ]8 H
- LDA STAGE_TEMP
5 l; ~2 f! A z( _6 a8 O6 S - TAX
0 l5 w# u3 @' J. j9 b% P - LDA STAGE_D1,X ;写入数字
# {( R) j# g5 i! L2 Q - STA $2007
& h5 D+ u6 J4 L - LDA #PPU_ADDR_H
6 z2 \) X2 Q/ w - STA $2006 ;设置PPU数字写入高位地址
' X# a+ e9 K/ E - LDA #PPU_ADDR_L6 f: B8 G* p+ U/ l; k6 g; n
- CLC* K/ {) o" i) t/ x
- ADC #NUMBER_B% H# K3 E5 X7 M% V, E. }- i+ }
- STA $2006 ;设置PPU字符写入低位地址9 e5 B7 D7 t: @9 t/ k3 |
- LDA STAGE_TEMP
( G& I1 O0 ?) h: a, h - TAX
1 d: _( ?! ?* D! i6 B% z4 w - LDA STAGE_D2,X ;写入数字
+ [( y2 N, Z5 @( K% k$ t - STA $20071 v8 }9 g: L" y
- STAHE_WRITE:# L* r* m- ]3 B
- LDA STAGE_TEMP1 e$ K* N; K* g" A1 _
- STA $2D ;初始关卡写入& Y& o; S& B" n, w+ L
- PPU_RTS: ;恢复数据
3 ?) u+ b5 a. ~ - PLA; y5 ?; c" y% `$ T
- TAY
4 n' w* j; p# n - PLA/ S: f6 u! o9 m: X( }
- TAX: Y- Q f! Z3 |9 ]
- PLA, l9 M0 g# a" d) P0 t
- RTS# g; o7 E4 M0 v* Y& @0 c! R7 j: }! F9 X
- & s" N" N; [" Q& U0 i4 n
- STAGE_DATA: ;关卡文字S,T,A,G,E,X,-,X字模数据
3 {) P4 L% s1 @6 a1 \; `. E, _+ E: ` - .BYTE CHAR_S,CHAR_T,CHAR_A,CHAR_G,CHAR_E,CHAR_SPA,CHAR_SPA,CHAR_LIN,CHAR_SPA,CHAR_SPA,PPU_END
5 J! K" x' s3 {0 d# I1 O - 6 b6 _ d& d5 Q! z7 |& P5 C
- STAGE_D1: ;关卡数字( U- Z4 F7 I; x) ?" ~( B
- .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_86 [+ P5 J1 X6 P, l1 q( x) M
- 9 _ T/ q, p/ H% M' p- ]8 k
- STAGE_D2: ;场景数字( i; ^* g: U$ n3 Y* e$ v* |3 e; b
- .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
& j& s+ o/ k. Y -
6 R5 e% _1 {. G1 Z( i$ x -
+ v) v9 w6 N3 A5 e! G - MUSIC: ;按键音效
! D1 x% ^; y# J1 d* |& L - LDA #$3B ;音乐号
; @6 P @& o6 ~ ?+ s. j( u' M - JSR $919E ;系统音乐调用
8 j$ l& _6 B, C% c4 o - RTS
复制代码 4.无敌锁定: 暂停后,按上键切换;1 {, q. H: ?( q8 d
5.生命加满: 暂停后,按下键切换;
* q, a( A* y" Y0 a 6.血量锁满: 暂停后,按右键切换;
$ P/ x d8 g5 F/ Q, Y . Y: c2 j4 ]( C& i% I2 d
( P3 V$ m9 }: e; ~. r

8 k* h# F: t$ V2 S2 G2 i {& } $ P: _+ S& x; a5 o: P/ P: G" Q
, D: {4 h# y) c/ E$ i
FlameCyclone.ys168.com! O( w7 b' d' Z* E
www.nesbbs.com/ ^9 U" ^" \! y9 f# W/ z* F
* [1 v( @" C% a2 L2 y
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|