|
|
;[FC][最终任务mapper1切页程序]
1 W4 ^2 K: l5 ] ]0 j: p/ G | .ORG $CD9B+ ?6 G( @6 ~/ ]( B& L4 d4 ^
BANK_START:' N+ b$ p! G! @- i8 w1 ?( G* m9 {
STA $70. p: t' ^6 i/ `6 E6 H
TXA: F& ?, D$ y9 }7 H: H- J
ASL( n" x7 _# X- X: @8 W
TAX. S$ \3 C( {: E0 ~/ D* N
PORT_SET:
! n1 k; |" N: I, U LDA BANK_DATA,X$ N1 @: Q, H; d9 ~4 u" d: r! K; O# v
STA $6E5 L" a' T3 I' W, e- m8 J9 u' }. y
LDA $CDB8,X5 x3 D6 q3 F8 r/ B1 a
STA $6F
& z6 K R$ `* ]3 c; `( a+ F LDY #$00# h. ?6 V, v0 [
LDX #$05# \' V* U9 h" f# {2 r
LDA $703 c$ W) O1 w) W) b$ N( [0 b
PORT_WRITE: ^( r, w! m i/ p8 K
STA ($6E),Y
) i, o& w% q$ t8 l0 A LSR2 t, ^2 {/ P7 b) |7 x! ~
DEX+ o3 |& F: u9 A+ B" U
BNE PORT_WRITE
7 S9 K, j7 h. X. z# e6 h/ T RTS
; ^* o* H& L0 x/ j$ _# w
! o4 c0 f" \$ ?; k2 w: o * T" |3 A( p0 h2 F9 }9 B
BANK_DATA:' t) V7 g" M6 U+ R/ T
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
0 z4 u; p+ l ]% | 6 n! W$ P: M5 a% o
8 |7 f' Z, Y# }: ]+ P/ |% F) w3 t;[FC][最终任务mapper1转mapper4切页程序]
+ b" v6 S7 C. l7 ]8 a @9 W' z .ORG $BFD2 ;初始化跳转
; c( \/ M0 [/ V& d JSR $FFC0
3 c0 b1 P c: k2 \1 G! o
7 N/ G7 _- K7 Z% G" H) d4 l
6 a1 _% l" c |/ m. S' _, I .ORG $FFC0 ;切页& {5 T$ T# Z- N' I6 Q
LDA #$06
y! F6 u' |4 L1 V$ G STA $80003 g% W. [! f/ k, c# R: B+ S% P
LDA #$0E* O, C% m1 d9 Y2 L* d; h
STA $80015 m U) G; U4 C1 z+ s, f }
JSR $8000
; e" R+ z: s# B* T: t$ ] RTS
; j& k: y' E# ?+ }) O+ [ 0 B9 }) O7 `& w5 L' g
.ORG $8000 ;数据复制
) H2 t1 c1 T, T LDA #$80. |+ m" A+ o, @& s- Q
STA $A001 ;启用SRAM9 c" E9 h! ~$ e2 R& G
PHA. c) c/ l) B7 u2 C# Z
TXA
2 K8 {) n6 V/ ]' G7 ?' _# g; R1 L PHA! L1 w- u8 M4 }2 b$ P, ?) H
LDX #$00 n. m* E) J: e0 q: R5 E
DATACOPY: ;数据复制, w1 ~4 B- D6 @$ n% l. { M
LDA $8100,X7 P/ F% O9 p$ s/ [% I
STA $7200,X
1 g! T \- T' p INX$ V W( p4 R0 K( n
CPX #$00- E" @: w8 ~7 N& L& w$ b
BNE DATACOPY
2 `3 m( y! B" x# ~; }5 }# t PLA
" ?% j5 b) D8 H* u3 s* B TAX
! | h7 M! q1 M' h$ A PLA
* O% _/ ]; b, l ?5 |7 f' B RTS" c! o; O' @; E+ {! c6 N: i+ u
3 c4 h+ p8 }' l' l% s9 \ .ORG $CD9B ;跳转到转换的切页程序5 V1 o' a/ Q( s* M8 O0 ]% K
STA $70
% W" L1 J2 k! y" C8 j5 o JSR $7200) p/ s# d& G9 R+ @& R+ d
RTS
L. ^; v2 R& l$ J# H% C; `, w7 N
- s1 s1 B5 w9 }$ R" v; U7 c .ORG $7300+ K2 d7 Z4 G& u8 i3 {
M1_TO_M4: ;切页程序: |! u4 @: V+ ^. x
CPX #$00
/ U9 f" A9 D) c E" I& b! E BEQ REG_SET% o4 t! ~4 x$ w6 g
CPX #$010 p( W- Z6 j" m8 e
BEQ PPU_BANK_0000$ ?4 x+ \+ a3 T
CPX #$02
8 M4 z: d) r4 x2 u2 v, N4 Z& \ BEQ PPU_BANK_1000
* S! Q$ H7 c& {/ b CPX #$03
?( z2 h( i! [. u/ X- b+ W: F3 Z BEQ PRG_BANK
S( u" f" E1 ]* [REG_SET:
7 P& r8 K4 M- d/ Y4 o STA $A000
$ }( j$ w5 J7 m, C# ]1 p7 x" u RTS
3 J2 z6 R$ U6 A- ~ .ORG $7320
6 F. _% _, S1 ZPRG_BANK: ;PRG切页, U. s7 ?- o0 N' P! ^1 g* Z w
PHA
. @& ]/ m+ C* Z4 e" C( |+ N LDA #$06
5 p3 }& s7 A: s4 j6 c3 u STA $8000# N, L: ~% R& P
PLA
' F& k9 d |# e- h' n$ }8 {0 U ASL
6 n8 Y: H7 V% T1 { STA $8001
/ v9 z; F3 v, F/ G. s, C" t ORA #$01* w. ~3 S% b7 [) R
PHA
! ?) S5 Z# Z* W7 ` h& w LDA #$07" \/ e5 F* q! H: D6 Z) \6 \0 _
STA $8000
" r* }3 F$ O5 `. P PLA
! X1 D+ [: p% V6 `9 l STA $8001
- p( X' t/ l9 t RTS
* X2 V* f" w1 l3 T .ORG $73407 n% _; I) j" S: N5 v7 O% Y
PPU_BANK_0000: ;精灵切页8 T2 l! Q' }8 D# Y: W% S
PHA
* E6 d, G9 N9 P w ASL
A( x" I9 V1 F ASL
) S5 T- X1 n6 @0 s PHA3 f+ g# l1 w: i( s- u- H1 }) D
LDA #$00$ d: `% H3 l* G4 s( C* }* |
STA $8000
6 W) I. Z8 s# V" ^1 S8 q" g PLA
( p; B/ ?/ B! N F6 g STA $8001; s% {4 T; _# }9 x" ~
ADC #$028 n V) B5 R) x7 [( N
PHA
# Y; N0 O' L# ?+ d, K9 { LDA #$01
7 J3 @! ^* K X L4 P STA $8000' i1 ^& P4 R( [- ]
PLA
0 x" Q2 k; W. ] STA $8001
& Z* \# t. u( C, i0 J PLA8 X5 t7 _6 u% ]# t: l9 C0 t" J
RTS
) K# p- H: F1 d- c* k
: U+ T; l9 y( i .ORG $7360
1 ]& `) ?2 m& |" W, tPPU_BANK_1000: ;背景切页2 Y: o7 y2 p% I4 I6 Y
PHA
, z/ Q0 Q0 ~- d7 `7 _. v ASL
# P! A0 M" m5 k ASL7 N6 D1 Y: K8 W/ }8 a
PHA
: n! }: r& c3 R2 w' R; { LDA #$02
9 Z; N& d. s) g$ C6 D7 t STA $8000
- ^8 @ s* b; I- g PLA( c) x0 w8 V$ ?, U8 t# g/ G/ Z$ {) j
STA $8001
5 v& t) ~4 Q% g/ a( L ADC #$01: A4 a$ }8 x5 B P5 G! S
PHA
7 ? U: }- u; v. b" r8 } LDA #$03
" ~( k5 R% q, e* ]4 f STA $8000 {( O1 W1 {; D7 q0 g; m% ~ a
PLA4 V7 u$ M% \+ Q* ~: `( M
STA $8001
( a- Q" f* q. W0 p; ?3 {9 k; _# B ADC #$012 C& n! b: g+ O4 [+ h
PHA1 K( w* j% K R, o* \
LDA #$04
% I: T d( W' E& r2 B0 ]- R; @) c STA $8000
/ z. I5 G% {$ M% ^ PLA& v' J9 D% i# S- \
STA $8001) U9 R; K! k& L
ADC #$01: n. b/ T& r; U
PHA0 Y9 m9 n' E4 y& |& p& C
LDA #$05
1 H- t! `: R- q; T9 M& N STA $8000
( b- e8 L2 G ]. B: T5 X6 s PLA6 d, B3 ^/ A1 q' P
STA $8001
! G5 V3 [# U3 k/ Z' @4 o" ^, c8 }7 X PLA
& M6 a% M# E( A; e; u. n0 q RTS9 d+ C/ E" L0 S6 ]* w' a
6 U7 z6 v: E9 f. @$ b! q1 ?
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|