|
|
本帖最后由 yandagui 于 2017-4-21 18:58 编辑
* ^) b1 |' c, P
. j ~. J$ Z7 ?. F! A [FC][最终任务][END选关]5 E+ q8 B) [' D- Q
/ e. i% H5 B+ Z {/ n }
时间:2017.3.297 c. ~2 s3 E$ O3 q& C U P7 [+ X. I) B
作者:FlameCyclone
5 E+ D- m; w8 }4 J4 A, L: \' ?, o内容:4 Y+ J f4 q4 j
1.关卡选择: 标题时,左或B减,右或A加(1-5关);/ W0 d2 n- M* E$ I, A# F) h
2.无敌锁定: 暂停后,按上键切换;
" X0 T* h, n# ~1 k! d8 i3 I( ]8 S 3.生命加满: 暂停后,按下键切换;
5 z9 c$ x: ^/ ~8 L7 [ 4.速度调节: 暂停后,按左键减,右键加(1,2,3三级);* G9 Y3 z F6 r5 i4 u: b0 v
5.子弹切换: 非暂停,选择键切换(普通,W,L,B);
. H) C' e) F6 S$ d; z; y 6.B弹数量: 暂停后,按A键切换(1个或2个);
& i9 @% @5 {! ~2 y( s4 K 7.副武器类型: 暂停后,选择键切换(普通,W,L,B),非普通时子弹方向是向右发射的;! g3 {$ E$ l. B; _1 b
+ O7 R' {# z. T- b& p( N; Z+ g

7 _. ~0 Y, s0 z 6 d* j: }4 v* s; h' I5 y6 v

8 E/ [! S. k6 ]* E$ m. s3 } 7 ^' a" \" f s9 O% p/ A8 g; D
2 W* O/ C) Q) _" N) F$ u$ I
9 |( k+ e( b8 K/ ~! Z* \FlameCyclone.ys168.com0 ?2 B4 ~0 N, Y+ x! R/ n
www.nesbbs.com- ;[FC][最终任务KEY][END]# Z' j: `: y* W5 ~8 b- @6 |
- button = $04 ;单次按键5 s7 q8 P1 Y! i9 Z
- flag = $6000 ;功能开关标志. T+ Q9 _& C- i
- pause = $000E ;暂停地址# H6 e1 P' Y: ?# P+ K3 J3 T
- : T5 I. a0 g* `) d) Q6 N7 g
- .ORG $8000 K" C% ^# W, k' j A
- LDY #$08 ;自带的按键程序
7 Z( j' V# l7 [! d$ _ - ADDR8002:
0 l9 V( {4 Q2 K' k- q - LDA $4016,X; H( s. y/ u2 k$ A
- LSR/ m: I) f+ @0 L/ C- o+ U
- ROL $00219 ?7 k o, m! w* b
- LSR0 b* r, P, S0 h2 c' E& y0 u
- ROL $0029
1 ~: _$ c3 G* j; }: ` - DEY
3 `4 _" L6 a) v: i, ?/ [ - BNE $8002
+ k( C: h& D: l. N - LDA $0021
. S4 P2 E6 Z% v( W# \) h0 B - ORA $0029
0 x4 a& B8 h& m% l1 s$ S - STA $00219 n1 T% l0 z4 A$ S. D. C+ P
- LDA $0020
0 K4 l% Z- \' ?4 S* q: M - AND $0021
! L' L/ h/ S: q+ ] - STA $0020
' ^# j, C2 M% V7 e. U- Y. v - LDA $06,X: {2 ]; _+ z& E) t
- EOR $0020- |: Y( y; J* T, w) p% a+ G- b+ ~
- AND $0020
9 i: v7 J4 d1 U* e0 f( W - STA $04,X
- d; \% A6 [: h6 f - LDA $0020) J3 v. H% u) I! |. Q- Q; I
- STA $06,X
9 H1 c: M k( p P; F0 [ - JSR KEY_OPERATE
, i& x; D5 u5 ] - JSR Function ;功能调用8 A" n8 d/ |% _3 x
- JSR Weapon ;武器切换调用
7 E1 l" L* V, i$ e - JSR Power ;威力调用2 k: {4 n7 M1 [1 }4 W
- JSR BULLET_NUM ;子弹数目+ T! T8 w% X5 K6 ?; E
- JSR BULLET ;副武器类型; L' ~- d# p3 D; `9 H* q
- RTS
, E% Q$ F- u/ l8 o! g$ z3 u% D - & O# J$ a) z, P& g
-
/ J- a+ G u* `8 p - " G1 D' K% A; B8 W, ?" c
- .ORG $8050
; W0 W& b. z; U- ^6 a4 J - Function: ;功能# [& k) \6 Z$ @+ j; v! [; Q
- WUDI: ;无敌
0 g% p+ I7 y" v4 J1 m7 C - LDA $6000,X$ B6 L7 q- X0 q' B( W+ N
- AND #$08 ;开关判断' y/ p: q4 J# F6 }/ ]' D
- BEQ LIFE
7 A! B o+ ?! _9 k6 ^8 ] - LDA #$05
7 m/ E, e' f2 a$ @9 E - STA $05DC,X ;无敌锁定! O" S5 r9 ` h4 ]
- LIFE: ;生命6 E9 |, L8 P" T+ v2 A6 L3 D
- LDA $6000,X
7 q- @$ k" i# C - AND #$04 ;开关判断3 i# A7 }) Y \6 K9 }
- BEQ FUNRTS
: T( f: t* i2 f% N( e# t' A - LDA #$05 t1 w/ B: |3 m8 F
- STA $1C,X ;生命赋值
- l3 T! G* K' W0 \/ u - FUNRTS:& N% F: W9 Q8 X+ t) L/ }
- RTS6 D/ r- y' {1 j5 u! M" L
-
) x: e# u8 c4 H - Weapon: ;武器切换
6 [% x$ K! b$ E- k0 d- U3 q - LDA pause ;暂停状态判断+ ^: ]8 @. d* ]# Y
- BNE WEARTS
" a6 {3 ^" L; P! M& f - LDA $04,X
2 G' ]* `* x2 S: D, l5 O - CMP #$20 ;选择键判断
/ z, j3 U9 ]" G9 b" q - BNE WEARTS
- x5 X* b! G6 F% s4 ] - LDA $12,X+ o% P. V* N9 K2 P5 `# ]$ ?) X' L
- CMP #$03 ;武器值判断
+ a* U1 N" c/ {# M' d# d; X - BCC WEAINC
# S. A* S u7 }! _ - LDA #$FF
& G/ n3 y4 s: B/ b: V - STA $12,X ;武器重置/ B8 l5 C3 z5 E- {+ V
- WEAINC:
% Z$ z: |( ]8 _3 B! O/ R - INC $12,X ;武器增加
. O1 |' e! r2 Q* y; L - 0 A& L) M- h! q
- WEARTS:
* ?1 e7 x9 C( z; [ - RTS
' y; O0 _5 Z) z) I4 y - 3 G0 x8 ^" E6 A }. O& S( ?
- Power: ;威力3 M6 g" d% R# } {$ b8 y- o
- LDA pause ;暂停状态判断! @' S+ z5 Y# [" L4 c% v
- BEQ SPERTS
0 Y" I: e/ X( @ o- a- g - BUT_LEFT:% \% l/ \: Z/ w9 l
- LDA $04,X/ F, t$ f6 J, K: D
- CMP #$02 ;左按键判断6 o' q4 k8 p. }
- BNE BUT_RIGHT K1 v: o/ v) o& ?& I
- LDA $88,X
+ F/ ^, \3 [) P* h+ ^ - CMP #$00 ;威力判断) a4 [+ i* W4 J s
- BEQ SPERTS, t; Y6 E, ~3 o8 D W( n* m( H
- SPEDEC
, D9 M" K( }* w3 Y: Z - LDA $88,X ;读取武器值
# m/ o; {; r" R+ Q6 q% c' c* D - SEC0 Q: f# _. o6 c( g
- SBC #$08) z) @* F4 f+ }; J/ ]+ m
- STA $88,X ;威力减小
0 Z( \& T, U: g- _ - BUT_RIGHT:
9 b7 L, P, o/ p( P - LDA $04,X
& I0 v* \; g( n9 P - CMP #$01 ;右按键判断* w' S3 |, K3 }
- BNE SPERTS) o5 c; Q2 B2 t+ R1 @' X) T6 s8 A
- LDA $88,X9 Y/ E2 I5 F) n5 v4 U: a
- CMP #$10 ;威力判断) z/ C$ u4 S, c
- BEQ SPERTS
% h/ I# w$ @+ e - SPEINC:
, V$ }2 l! s* L7 R9 Y) d" m( G - LDA $88,X ;读取武器值. e9 E) U5 n+ [, e+ @# j
- CLC& {$ l; y9 x: K+ j
- ADC #$08# j6 P5 Q) K1 ~+ X& _' L1 q2 z
- STA $88,X ;威力增大
! I. X6 k- U" r$ c$ q! B - : f! T2 l, a6 N2 ], P* D2 M! c
- SPERTS:& p4 s; }) e& p: L, Z y: t8 P
- RTS
* J9 F" n4 {1 S6 H - 3 @/ E% R. E" X- a
- BULLET_NUM: ;子弹数目
: \+ E( P1 B" P) N8 Z$ y - LDA pause ;暂停状态判断
1 I; L( u$ \ O# z+ m - BEQ BULRTS2 r# A8 H1 L, H
- CPX #$00 ;主机玩家判断
* b! E2 }" z/ T% V9 M - BNE BULRTS. K/ p5 m/ t- q3 J
- LDA $04,X ;主机玩家判断
8 m1 F7 p# g" Q: f! a" m - AND #$80 ;按键A比较2 ^+ r( k3 K. ?* b
- BEQ BULRTS
1 S3 q# g+ t, `$ l* \ _+ J- z - LDA $87 ;状态判断0 R8 k$ z3 Y$ A4 A, i' c# j, G
- BEQ BUL_2: T/ I- M8 M7 S6 V- e9 I
- BUL_1:* |4 M: U2 _# Z4 H' G. C
- LDA #$00: t' R5 K' i2 L9 ]
- STA $87 ;1发子弹# H. }( M0 A$ F) D- [+ ?" m
- BEQ BULRTS8 i$ O( F9 F2 z& Z, _0 y
- BUL_2:
8 P) m7 o9 r) A+ p' Z - LDA #$010 T+ F. S8 v) l. Y7 ]$ \% F5 e
- STA $87 ;2发子弹, }4 B" p+ q8 E
- 4 }# o f7 }2 A2 B" I
- BULRTS:3 o' _4 I: j7 x; I& K$ ]+ e
- RTS5 s. |) `( ]& T# A+ w1 g2 d, Q G
-
8 s0 l3 k. N( V2 ?+ s6 s, t - , d* U. E u# j+ f
- BULLET:
$ Q( u4 v- X D% J. P9 M - LDA pause ;判断暂停状态8 I$ ~: \! n9 Q. W0 E0 ^
- BEQ BULLETRTS
& t4 z7 o4 Z3 Q9 I - LDA $04,X! H, I" ], G. ^* U$ C2 K
- CMP #$40 ;按键B比较
: t1 N/ z6 ?2 C, M: W/ x% z - BNE BULLETRTS I0 U3 h# p4 Q( G9 m
- LDA $6002,X ;读取副武器
1 l- [2 Z* l d7 @0 C) J - CMP #$03
. b; X- T P" \5 S( T( D4 D% E - BCC BULLETADD
# \9 `6 D- Q" F/ {2 \# | - LDA #$FF
) }+ v* R: P( M2 `7 E+ j - STA $6002,X
% }3 `, h: }5 i8 q4 H8 L- t; u - BULLETADD:
$ o& [' j% M, I2 g - INC $6002,X1 G0 H/ N/ _' L% b
- , z% `5 u3 R: Y. I# y) M
- BULLETRTS:* r4 J7 p1 d a6 X4 Q
- LDA $6002,X
2 D1 f" G3 r+ m8 \7 j - TAY W8 |+ [1 W5 ^) y
- LDA BULLET_DATA,Y
) k# m1 ]" n7 C( I5 {5 |% t' L - STA $6004,X ;写入副武器数据
0 y! z* w( b* i6 ?" n - RTS* X" ~2 _9 V4 n8 I8 e
-
/ G6 M$ {0 Z8 D. \ -
7 x& Q8 O0 K' j& j - BULLET_DATA:7 j* L$ x: A7 A" |8 D0 b5 U# V, N
- .BYTE $06,$02,$03,$04 {% }5 |4 b7 s5 ?3 Z' x
-
' j$ g; s4 V3 i0 @ - # \7 }7 A# _! k! x0 F/ v3 C4 J) O
- ' U- R& G8 c, ^' v" n" F9 g \! f( P( p/ g
- KEY_OPERATE: ;按键开关操作- X0 D: [1 R) A5 u2 E- J3 R _
- data_protect: ;数据保护
5 [9 @# v1 X6 F9 R! s+ s+ Q: r/ k) v" y - PHA
; `9 H- C; J- g1 u# m( E) P; a - TXA
- Q9 O2 [9 ?8 X( [% [; T& `, ? - PHA T3 K: _3 Z F5 ?
- TYA
! V, E$ E& N5 A - PHA2 b+ w: W, p; A: @9 V2 G4 T7 U
- 1 u) V1 O9 g4 c
- FLAG_INI: ;开关标志初始化# I# K2 _/ J' J9 y2 _9 L
- 0 m5 z* V- ? k$ M0 C
- LDA $600F
$ B9 l! @# U3 I4 S3 r% h - CMP #$01
% v/ d: u x2 J/ b9 P$ ` - BEQ pause_cmp9 s* O: a4 y) f/ S0 b* t* o
- LDA #$00" X7 ?$ j P9 R+ Q, b9 W: d2 M) N
- STA $6000
1 o! K4 R' N( e: I - STA $6001
6 ^% h: \0 E# j - STA $6002
8 c* g/ O# w3 L - STA $6003
3 K _% D! Z3 T. x1 Z& H - STA $6004
6 u$ d3 l! e3 D% J5 F - STA $6005& K2 K3 D+ W. e" T$ M
- LDA #$01$ M2 |3 p3 |+ z
- STA $600F# ?. P/ B7 E) X' _
- * q/ A, u- g; j p# a
- pause_cmp: ;判断暂停状态: n( j0 ]% g9 P! }$ P1 M$ H7 o
- LDA pause
8 s- y& k; s# i - CMP #$01 ;判断暂停状态
4 [( e. [3 n9 b - BEQ button_press
P% I; m+ n: h/ r - PLA
, ^0 t* X8 s$ N/ z3 g# ^ - TAY1 h& D9 C- q; B5 `/ W, d9 z
- PLA
: ?6 \) H* e8 T - TAX: m- h' f7 N' i4 k- m
- PLA' \( _% i6 D# d- k. C
- RTS
+ ?7 I Y9 r% ]3 {" R' ]
; c8 s# ~* s- Z/ i( I2 q x# O3 L- button_press: ;按压操作 x5 q6 x0 |0 v: e( ^3 x
- ini_Y:( l9 e5 h* H! x# [/ N
- LDY #$009 g- Y& |) A( n
- button_cmp:
3 }# s% C' [. b - LDA button,X5 f+ N V9 q+ p9 W( Z4 J
- CMP ora_data,Y
8 u" y- X% t& s( R/ S - BNE count_Y_cmp
3 J" w& z# L( r5 V - flag_cmp:, Y, K! s7 x; O! u
- LDA flag,X8 |6 t, m! @; K+ T1 t( w
- AND ora_data,Y" T1 a3 q1 z; F* L# k3 D ~9 _
- BNE flag_and5 e0 l4 R/ U2 }1 s6 l
- flag_ora:
" a# ?! \9 R7 b" a# V - LDA flag,X
) J$ G- L% c5 X" u; @ - ORA ora_data,Y: m o/ D( W1 s1 w/ H
- STA flag,X
# ~' i; B q) p# l - BNE count_Y_cmp
9 L9 N2 E; p/ m( v3 z - flag_and:: ~, t8 @+ s* G8 ^0 I) }) K9 L
- LDA flag,X/ x( L; w; m" d) b% V/ r' C
- AND and_data,Y
/ r& w, V7 w h' {2 _0 b - STA flag,X
8 L% k% P2 x0 C2 O5 }' ~( i - count_Y_cmp:
' v. E# q3 y8 X3 w8 y1 A - INY( @* a) Z `# I$ A- g
- CPY #$08
, b' z* r5 G- v) \5 U - BCC button_cmp
" ~+ w8 x; `& U; \& C -
; c* p; O$ s% B- v - data_extract: ;数据恢复! Q& C# y4 G0 J; O5 s
- PLA
% r6 e0 ~& P" q' C. L" y' j( ] - TAY" H; c+ p6 B/ i, f$ |- B0 X
- PLA( d9 Q' j# _1 w2 G: s
- TAX
/ |) e; {9 r7 B; ?: z9 J - PLA7 ^( T @9 m+ i) O4 p4 ^
- # ]+ O/ H: q$ }; j8 D. \) ?' ?4 p
- return:; U5 B5 u1 ^5 Y4 j
- RTS* Z* j! t. u/ z" F
-
: Z6 ]3 T3 P2 {4 J$ O3 T - ora_data: ;按键相或数据
! B. ?" ~7 z2 c6 @1 H+ V - .BYTE $08,$04,$02,$01,$80,$40,$20,$10
b7 R6 _- f8 c; N# E - and_data: ;按键相与数据: {3 }! y+ s: R3 R
- .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
2 c4 _. W1 F+ O% a4 A8 g7 G# L -
3 r6 J! R- b$ A0 O8 J6 b* } - * [0 y3 X* S: }% X# g& { w% u0 L
-
+ j8 l4 S1 z. O+ j7 x$ f - 3 V# C, x' p5 f0 s
-
1 Y* D- l' D" L$ V -
: P6 Q# ~# W1 c+ E# A9 C$ [, }4 @
( j: v' D' T% b. \' A7 I! x" u. e/ V% C
2 t. |0 b b5 j* ^4 ~+ E- 4 Y5 W/ g/ i+ v3 R& T/ G* I
- .ORG $C264 ;自定义的MAPPER2切页程序
8 ^/ W. t, B9 |3 @7 s% v( H: o1 j - PHA
! b( c+ p% C @, I5 n2 `. k - TXA
D! P; R d0 g( g - PHA
& a" E; w" A# |2 ^$ N# L - LDA $0066
1 \$ r( L4 T; L2 A3 O$ F - BNE ADDRC280& Z* t. C$ F( `# ?
- LDA #$07
) |& |* k; ^" V* e: k4 J& c- x - LDX #$035 Q* Q0 L" J; `5 z. O# Z0 A
- JSR $CD9B ;自带的切bank方法1 n% M& O+ g5 z0 v/ _4 k
- PLA
1 [- f3 ]# I/ ~4 J6 d7 f4 q$ } - TAX& U9 v* V8 j4 z5 S
- PLA
5 v G( Y- A# C - JSR $8000
; E) Z+ i, \+ b, }' K - LDA #$06
; A0 m/ O u5 {' |/ x8 r4 f - LDX #$03! p$ b: L( B5 ]+ N
- JSR $CD9B ;切回原该切得bank(可以不用)+ f( k9 M( T4 S9 {& C
- RTS F: {8 _* i" G7 X/ h3 J) i. O4 z5 J* g
- ADDRC280:
0 u8 M4 c* G: M+ v - PLA" S L9 _* H/ f% c5 ~
- TAX& r: m; h2 m( W# j+ L
- PLA
: W) t4 R$ A/ p - RTS9 x) p2 g$ c/ I5 ^. K" Q
-
7 U. o( w9 E. i+ v8 @' a3 m7 f -
. Y, N$ V4 z8 V; s - ;[FC][最终任务PPU][END]5 s( a, T4 i6 x, g R
- .ORG $C056 ;跳转到PPU重写程序5 i+ H- `! K6 y/ A& u( A
- JSR $7000
$ L, W. ]7 t' ^ - ; D! c- E% H" b, ]9 }' J/ \
- .ORG $CEBF. T% v& B! ?7 a$ z# w: w8 W
- JSR STAGE_DATA_WRITE ;跳转到关卡数据写入
0 W' y7 g; w& l+ M - ! \" m* M$ G6 H
- .ORG $E460* c1 I: v/ n+ E* e
- JSR BULLET_DATA_WRITE ;跳转到副武器数据写入
) U1 {( N; U; a0 M - 9 X4 h% q' W0 M* p! [
- .ORG $71F0
5 `1 D* d: Q$ q- L9 R - STAGE_DATA_WRITE:
: }5 z. m# j. {( |8 V - LDA $6010
% }; `. t: E7 P - STA $1E ;关卡写入
" ?. {8 V0 a0 v2 | - LDA #$00
! Z T2 l2 I U, s - RTS
3 l, S% z: y) S4 M - .ORG $71C0
- `; ~: Z, U X - BULLET_DATA_WRITE: ;副武器数据写入 E6 O1 f! y% l; _% e
- CPX #$0E8 l0 m6 h7 ]) F- @: Y5 M
- BCS P2_BUL
. k& F. j8 Z5 x) R9 J0 ?8 x& V - P1_BUL:
2 }# {5 o8 ^( v) u - LDA $6004! m v- e/ N" |( v0 g2 t
- JSR $D7D0 ;P1副武器数据写入
8 |- ]- x) `8 p8 B; N+ h - RTS: E+ h* H# F8 g1 T' V
- P2_BUL:1 d9 T# A8 ^& }% x
- LDA $6005
$ @2 _: L) F: R2 n) i+ | - JSR $D7D0 ;P2副武器数据写入
( x# l6 c* ?5 J" s# o7 Z - RTS6 u4 C& U; W% [' h
- ( Z9 v$ Z& W7 W5 y0 O
- 6 g( O+ p' F2 v' l# s0 \3 Z
- .ORG $7000
, ?6 F7 L1 c- M: q5 F - ' Z0 R) j0 ^* h1 s3 m9 Z% L
- STY $4014 ;补上覆盖的精灵写入指令3 Q% m: I* [6 u& S3 a/ {
- PHA& L$ S& R4 f- Z- B
- TXA
# w9 e/ ?" s* x% E( ~! ~" W - PHA: O) K& n5 p O$ q, T* m$ Z& l; Y
- TYA
$ f8 X0 o$ O2 h2 f" Q- j - PHA
: p `3 V* T( z i - LDA $0C" K3 \& s1 @. ]' R7 M# `
- CMP #$01 ;比较是否为标题画面( W8 E6 O8 A/ }8 y6 ?0 _- Y
- BEQ PPU_STAGE
0 g! |- p" l! r5 Q8 c - PLA
! X. y& I: z) s `6 c0 @ - TAY
2 R+ a. w6 x- Q1 ]' f( X6 i I2 Y, i - PLA
5 _% M7 s U) V+ M' h - TAX
/ g" [8 ]4 I2 h& v9 |) u - PLA0 @0 |( J% d) A
- RTS) p/ _ u* d1 j! Q2 a8 W0 C3 D
- PPU_STAGE: ;STAGE显示程序
0 q' Q: t) p) f8 }# ` - LDA PPU_ADDR_DATA
* x6 O8 w% y+ s - STA $2006
/ D; E4 K) s% m8 m. K) G+ _ - LDA PPU_ADDR_DATA+1
' }/ w" v9 P6 M& } - STA $2006 ;坐标设置
! ~* w; _- q V3 W" P - LDX #$00" V! A& T. q/ u/ E9 C3 w) E
- PPU_STAGE_WROTE: ;写入STAGE字模
! X2 p8 z- {% e1 o# x* j - LDA STAGE_DATA,X4 \3 k7 N( J, g$ l+ V2 M
- STA $20070 y+ j" b! c5 E( Y$ l6 w3 q$ ~
- INX
. ?+ ?( V4 F) l8 e, }1 A: I' f* y - CPX #$06; s9 U+ X% a; _- l" k5 o
- BCC PPU_STAGE_WROTE
- v9 U; w9 }, V0 p' c6 m - LDA $6010% E, Y+ W4 ^1 l4 }+ m/ |4 o) f! c
- CMP #$FF ;关卡数据初始化条件判断1 s! O) U1 @7 V
- BNE KEY_B4 v* |% `( Y) P8 \$ a
- LDA #$005 a6 B5 n5 c$ @, a- z" Y2 i0 @
- STA $6010 ;关卡数据初始化& _' A# }. e' R( @! h7 x8 B, A- H
- KEY_B: ;关卡减少
' j# i/ y. Z# y; o" S7 g3 [ - LDA $04# m4 r( C" G* D8 Q
- AND #$42 ;按键B或左减关
I. C7 w4 a+ L8 { - BEQ KEY_A
3 s/ S; a- P) M+ z2 H5 L - LDA $60106 I, O2 Z6 L& `. Y8 f" j( B
- CMP #$00 ;关卡比较
9 y9 b9 }2 m7 @. c - BEQ KEY_A) o( z/ A" a2 J1 }$ a
- DEC $6010 ;减关
7 d8 D/ f% U/ v- I; o# ^6 { - KEY_A: ;关卡增加9 k2 |. C( F* R$ }* P# e8 G
- LDA $04
$ Q" B) ^" p7 F- I: f - AND #$81 ;按键A或右加关
: V6 S2 J" S' A; h* x: E, e. k9 ~ - BEQ PPU_NUM_WRITE
" F, X% W& d+ N% w, d - LDA $6010
2 Z+ C& L/ s6 r, ?1 o9 D9 f - CMP #$04 ;关卡比较5 r2 _0 V7 x* t3 q
- BEQ PPU_NUM_WRITE) u- b7 r3 n4 H2 m m* s
- INC $6010 ;加关# g0 Z8 y( N& \3 ~
- PPU_NUM_WRITE:
4 {( @ ~5 b7 [2 V8 H - LDA $6010
) T- ~# g5 N. g4 c - TAX
: N) {$ C, V$ G - LDA STAGE_NUM,X ;写入数字) i* l: F) X! f. f
- STA $2007
( n! D! U4 K2 a- |0 { - PPU_RTS:3 C4 i5 m- }6 h' g
- PLA8 l1 A. ?4 ?7 G( R
- TAY# ^$ p6 y4 a" K& Y' r
- PLA
% d2 K3 g6 Q* [ - TAX, v; M' |2 G( l7 [
- PLA
7 w) S# B D. } d6 Z z - RTS
. u- Q+ f3 I: H. ]! `: g% I$ ~3 w -
' g( M6 Y6 d: ~8 X. U - ' Q. ^3 A B q# }6 d( g
- STAGE_DATA: ;关卡文字S,T,A,G,E,字模数据; J5 h q1 d9 S' e C% }
- .BYTE $EC,$ED,$DA,$E0,$DE,00
& X4 t8 I3 R: I% X2 ] - STAGE_NUM: ;关卡数字1,2,3,4,5字模数据
2 {5 o+ H7 V7 d$ N2 Z - .BYTE $D1,$D2,$D3,$D4,$D5
6 m6 _2 v- S8 S) w& i% Q -
/ E' P5 u- t7 B& a( b( X3 D - PPU_ADDR_DATA: u' M" e6 @ F: v
- .BYTE $23,$0C
" \. m/ f6 _" F( m1 t1 S -
: \% j) X/ }3 u( e- D- a/ _; o! y
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|