|
|
;[FC][最终任务mapper1切页程序]
6 G& \ P% G q' p3 O1 } .ORG $CD9B
! c9 P0 N% }7 Z+ x" e+ DBANK_START:
+ @' u' _1 H5 ~+ _* B3 L STA $70
/ B% P' n4 N* {6 {+ S( x. L2 _/ s TXA% S }6 X$ Z2 L* x L
ASL. Z8 t; ?/ D; l
TAX
4 V) y$ L. x! w1 k( W# X+ h4 M/ }PORT_SET:
, x( e& e+ l+ a0 R LDA BANK_DATA,X* E* f3 q6 W; H, U
STA $6E4 X5 O8 }4 m. L7 k) q9 c6 q' D5 a
LDA $CDB8,X
+ K, r: h. Y) w' m/ p1 K$ g STA $6F- j" Y r0 n. A0 J
LDY #$00
* k1 z3 ?0 W( o9 t {' H LDX #$05+ Z5 e( p0 P0 O
LDA $70
& y/ p+ R5 L% Y) [5 A3 D+ uPORT_WRITE:) B$ T# j+ a1 Q2 ?2 Z9 t! n
STA ($6E),Y
7 B8 f; D; L2 `" \7 H LSR2 r5 k9 V5 T3 e2 N5 M6 J* Z
DEX
4 y4 ^* o3 t2 P1 a2 X9 g$ G3 g BNE PORT_WRITE. }7 B. z8 @2 O4 b+ e
RTS
' M) C3 k M" q9 U
7 c, E) W% C1 y: x: J- x0 p- x6 |: w
- O9 ^$ b H2 C& B( u+ v L3 hBANK_DATA:
" F7 Y, ?9 [3 q .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
; p, ]6 k8 ^ K5 _+ @ h
( ?; ^; A4 s: W1 t$ m
7 v$ K7 x' S8 H" P! j+ b& ];[FC][最终任务mapper1转mapper4切页程序]6 i' S/ l/ C& Q9 C$ _ }; \5 r
.ORG $BFD2 ;初始化跳转
3 b! r' }* r2 f8 b* F; A JSR $FFC0) o( c% N* {1 F
/ ~ e+ {1 V" Q: A/ K8 P% A; R' n* u3 L; W V+ p# i5 Z! c
.ORG $FFC0 ;切页
& z/ s) M3 C7 K$ e0 v+ ^ LDA #$062 ]9 Z) S3 p5 @! l- {( k8 k
STA $8000
/ I" u8 k" Q" ~* D; Y, d+ G, m LDA #$0E
( ]' X; ?1 ~* T8 v STA $8001
+ d0 c4 M) |# ^/ L2 d JSR $8000( l3 o( _! n" D& K v
RTS + G, L; l' f9 d- J# G
4 b2 z9 q! u- G, R2 B, ?1 h
.ORG $8000 ;数据复制( G3 v, d7 v; r( @" l+ b% n. o
LDA #$80
1 ?( |+ q# z/ [3 @7 E' E$ x6 t( D3 s STA $A001 ;启用SRAM5 M j: t4 f& j# \) k2 D5 I( m( z
PHA( V3 A6 a) }. _/ p" m
TXA6 l6 J; S4 H% e
PHA1 q- b/ Y+ n+ u
LDX #$00, K8 @7 R) u) D' A- W: g1 h0 I7 R
DATACOPY: ;数据复制
, k9 H* ]* ?( z+ d LDA $8100,X4 L) u4 S3 Q' ]0 H
STA $7200,X
3 Y4 R- j# q8 V8 @$ y0 B INX
, [. z( t! D* T' C8 D! M: Y CPX #$00
8 q A* W# C2 v# B. ~* @2 n4 A BNE DATACOPY
* }; ~0 R+ I* q D PLA
2 X6 S6 `6 t5 l TAX
# K* W% J% c$ A# L PLA) \. h: e, Q( m/ ?
RTS
# W6 l! W4 T7 Z6 a5 ]0 P
' j& L& A( C- G* F. X+ N' \ .ORG $CD9B ;跳转到转换的切页程序+ j* {7 n/ X! {. W
STA $70 F" Z- H9 k P" o- k& x7 K
JSR $7200
6 @3 ?5 D/ c# Z. x$ B RTS+ j3 a- Z u- L- V$ Z; ]8 I, |
0 i, [0 X5 d! _- w: P& G .ORG $7300
! q+ K8 @( Z/ X2 o: C8 x8 E2 w+ @7 TM1_TO_M4: ;切页程序
: K" Y- k8 I$ e0 M8 {1 @% ~ CPX #$007 T- |- h2 O3 z+ @8 u2 i5 A+ L( d
BEQ REG_SET
K; s( w) n( q+ g+ n. t5 m CPX #$010 H N- G' x1 O, f2 d
BEQ PPU_BANK_0000
7 Q! ~% V' N; p) N9 V1 q4 J4 u CPX #$02 {+ z/ l8 S( _4 i# [! S
BEQ PPU_BANK_1000
* E/ n' u! y; `" x: Q, `' H2 @ CPX #$03
0 H% ?7 B% z: N* i) @! t4 E BEQ PRG_BANK+ a; M1 p2 s0 n1 _: k
REG_SET:9 E/ O8 k$ \% [; r+ U
STA $A0007 B! `8 A0 k' J: q4 p2 c. Z
RTS
' O8 N4 o7 X6 ~- O8 J; W2 ` .ORG $7320
3 L4 p" W1 a7 `; |PRG_BANK: ;PRG切页
1 i/ f9 Q5 j& l/ J7 Y PHA
2 i8 r3 |5 q# g! A9 e! r+ d* D- h LDA #$06) S# z$ G- Q9 ~- r' s5 z( s
STA $8000+ q7 n$ [% n8 L e
PLA' O. Q2 g v+ e% q4 D P
ASL
# P& R) Y# x$ F STA $8001
' j' J" H, Y, l, j% o, w; t5 ^ ORA #$01
4 }% k" [) v- p, s PHA
( D5 m& I2 f1 \ R8 b5 n LDA #$07
0 S. V8 ~. {) t1 }/ v STA $8000& x; W, G5 D+ T) a2 x. E' S5 z
PLA0 O8 h* c" K W0 ^
STA $8001# [* @ q+ ~ R) k1 o9 H9 t
RTS3 ]4 V; u& I; \! m9 @
.ORG $73403 D' [% c6 z- Q/ c3 z X3 M
PPU_BANK_0000: ;精灵切页
4 J$ c( h9 [# n" Q3 a; K8 U9 e x0 J PHA/ M( X. h0 i: z# P& L1 X5 ^* e
ASL
+ K! H' f/ N) w! t- c6 n ASL
4 l* y# L8 [: A6 N1 M PHA, ~! [/ r8 k; o* L/ A: F
LDA #$00" e* F* E5 P$ [" {3 P: w0 F7 ?
STA $8000
$ S' y# G, ^. o) a4 v4 J PLA
% D1 s% T# y' o& M) w STA $8001. C; i. ?; U9 P
ADC #$02- c1 _- a7 G; c2 V4 j
PHA
) W. b, }9 `+ d$ a' E# a/ P2 n LDA #$01
6 v6 g! q$ H. _ ^" U& } STA $8000
, v2 G$ ]' |: s+ W& _ X1 R PLA
D& w! g+ [) S4 u5 u; a1 F STA $8001) ^$ x, A$ h5 s
PLA' D A4 v- i4 o+ D
RTS
7 D4 P8 G. a' ] h2 t) B ! F# n* V N, `/ F& u) }4 q1 f
.ORG $7360 }/ s1 t: B8 m* ~1 ?7 z
PPU_BANK_1000: ;背景切页 E, o; B6 p1 ]4 Q6 z! c
PHA: C* O( Z; A k5 p9 k
ASL- h' d: O3 N6 X$ f: o
ASL
- j, g6 ]! H" D9 o PHA3 Z( C2 {9 g: `4 W( }' [
LDA #$022 ]3 H K- f2 \0 T3 b% [2 p
STA $8000, p$ U! N* [0 g8 q
PLA
+ f _3 g9 T2 q! i1 U: c) v STA $8001
+ Q( T9 V8 c, O& m( a ADC #$012 I' E. ^! I" \. }! v% k! {
PHA! M! W' _' U) e7 t, R, r; i' C
LDA #$03
# O( J3 b5 U% J/ S/ X$ { STA $8000
; L! _, W% H0 I4 y+ g$ ~6 v7 v* G PLA; e0 D7 h" T; F- n2 x
STA $8001
8 B+ j! g3 @. z3 E! q0 | ADC #$01
" K3 {( D; w3 d6 ^3 w PHA
" ~" u K8 U5 n" h* d LDA #$043 v2 L2 j% R% ^: u/ r
STA $8000
1 s" y0 w9 M' V PLA
7 G& m4 [! d% C& v$ d! ` STA $8001
( ^: d# q. J2 ^6 ?- N& J ADC #$01+ ^1 ?" H/ b7 A; v
PHA1 d1 q6 K: O2 ]) h
LDA #$05
+ _4 s& b' D9 B4 p1 r2 Y STA $8000
" {6 u) z: V8 k0 Y6 F" \ PLA3 T9 {+ ]" {$ n2 D$ _5 [
STA $80014 ]5 w7 [3 d4 x1 T/ L+ X8 q
PLA* h3 J- w: _7 z: B
RTS. @8 A X$ t2 H' M
8 W1 t' _/ ]) S; a' F' N |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|