|
|
;[FC][最终任务mapper1切页程序]- t9 [! c. {2 |# r
.ORG $CD9B0 _$ D R0 r Y9 X1 r1 n
BANK_START:
+ b1 F0 E7 |; J) O2 H5 s4 f$ N) } STA $70
Y0 p( [/ b4 p6 _ TXA
( |' q6 d. ]7 E# {, O/ Q ASL1 x) Z- }" `, X
TAX2 E3 E* g" f+ I, B) ?# }
PORT_SET:, m3 ?2 e& u8 W+ ~7 E6 [6 _7 `& Q5 p
LDA BANK_DATA,X
2 c/ p2 e' F' N+ Q3 g) D) Y2 A STA $6E
2 M: k& f5 w! Z' L/ f LDA $CDB8,X; N- l( t* D% V" o# c8 T
STA $6F
* D/ |1 y4 k) H7 K LDY #$00
' h: u1 R. R& J1 n% c' N" B LDX #$05
r$ r( H$ B+ `5 q) `' T& X LDA $70
! i' _6 O! |$ [PORT_WRITE:
1 `0 f9 a, ^5 X5 g STA ($6E),Y
- X+ G! h$ v: g, g6 s LSR
' }" C- y# A$ H DEX
+ t! h% X+ s2 a4 _ BNE PORT_WRITE
' D- T8 _$ K" a D% v RTS+ \2 Y9 y/ B, A% y
/ P- I. j; @1 x5 ^8 X $ u! x+ q" W1 w# Z' }- o3 v/ c
BANK_DATA:$ L P2 l: s7 e1 U2 u" h
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
# s' t. e* [) S) a5 m/ w! l
7 Y# R# o8 j4 Z1 C ' W& g. ?2 Y$ _: V- Y1 }
;[FC][最终任务mapper1转mapper4切页程序]
. P; P$ e2 J* R* `) O .ORG $BFD2 ;初始化跳转
" B6 m/ k1 n4 Q, l/ X$ l JSR $FFC0
2 f3 ^' A7 `: C6 |
: o5 m' h& m# G, V: g
; e4 p+ i$ @$ P4 @. D9 q .ORG $FFC0 ;切页
7 ~& q' _/ [: S: _ LDA #$069 i; g, U, H/ ?; O& y' D( _$ b
STA $8000
& b9 q+ _% a& a1 Y0 h" ~4 c/ Y LDA #$0E4 {* p7 t- V' S' T% b& s
STA $8001* M9 J) {8 [ B( D- u
JSR $8000
5 r2 o1 F* Q! W/ y; L! n) c RTS
& _8 @% O* K) b! O+ N) E% g& y
) w# X4 l6 L7 Q6 y% G .ORG $8000 ;数据复制
; c, O! Y0 O" d LDA #$80
9 q' A( {8 l; f. X/ J" u5 g STA $A001 ;启用SRAM/ L3 T# N; |" B
PHA
5 a2 J% O. @# i1 N TXA8 G3 I3 A8 h" T4 ?( H' z' g2 q
PHA
0 J. w, ` m5 K- J0 d LDX #$00
1 Q6 i9 W4 w- C8 D. tDATACOPY: ;数据复制
$ v- A1 {" b" _3 V* F LDA $8100,X
) {" K/ Y" Q: { STA $7200,X
: Z5 N3 R5 g* x INX& Y9 h8 B! g- q) G
CPX #$00
5 R1 q- D+ K4 {/ _ Z! ]9 U9 x BNE DATACOPY& Y5 _' P/ {1 N9 ~$ X; K0 N0 i
PLA6 J: s4 y- N& _
TAX4 |1 A- y- c6 q' k
PLA ]$ f% ~6 F! }4 X( Y
RTS
# B3 n* ]* v/ |7 w9 p
" C% [) g1 W% p8 u* X .ORG $CD9B ;跳转到转换的切页程序
/ o" Z$ ^ [3 [$ G- d STA $701 n( ^. Y0 {2 j; v# X
JSR $7200
2 g' l1 e' \, m& F5 |7 O1 r7 J RTS
# ~0 W0 \+ t* F2 u$ N" y
2 z/ i5 [+ k5 ?: s .ORG $7300
- I, w R* U/ Q7 _% kM1_TO_M4: ;切页程序/ e, ?% p) J" j$ A6 x% R
CPX #$009 x* s( \) F4 D) V- ]
BEQ REG_SET) R5 _, m, Q2 _0 n. M
CPX #$01
3 q- n, O% M, ]* I1 F BEQ PPU_BANK_0000, K( d/ p2 O' w$ _4 t
CPX #$02
; C1 ~8 H& p' A6 m% x+ H BEQ PPU_BANK_1000
) L: L9 ]2 L3 B7 b CPX #$03& t$ d/ P1 |1 G3 d, t# m
BEQ PRG_BANK
" ]3 u7 I. Z- [5 f6 WREG_SET:
5 U& j( C# v8 Q2 D9 v STA $A000
( ?3 Q* V) M" j) x- g RTS, E5 T0 H" g3 B% I( \( i
.ORG $73202 {' ?& {7 n7 z' O
PRG_BANK: ;PRG切页
3 h# X6 [. Y4 a. T5 L4 y PHA7 r s7 @4 [4 k3 @& f
LDA #$06
- z) Y* m4 N2 V* ]( k8 Z STA $8000. p Z! @# z3 R
PLA4 g- G4 [) R; a- e, B7 |( T
ASL2 m. z( x; g9 U& G# Q% C( F
STA $80011 s3 s$ t/ D. P/ U* F0 F
ORA #$016 t7 p3 d `! I0 [5 c3 f8 }
PHA3 l* D2 k. g2 W, ~
LDA #$07
8 E( E% z. D7 a7 g! a STA $8000
7 X. F, J6 f1 s1 s$ `0 m PLA
; b& w8 s- z/ d8 t STA $80011 r6 y( g H8 G
RTS
8 q9 m8 r2 R( ]- ?' R& |% F .ORG $7340
" S2 E S8 Y; h1 @PPU_BANK_0000: ;精灵切页
8 I1 E/ w2 U) F- h! G/ s PHA
4 e6 P4 U' L; u ASL
: d# W' e( T5 e ASL
- r) G0 S# o$ U+ F( U PHA
- |2 T, q. g, y4 Y+ { LDA #$00( x" R+ U% z" A+ u: }
STA $8000
5 O' Y0 h1 Y6 P9 r, n$ K0 h PLA
0 k7 p4 R3 e5 ]; j STA $8001
0 g& e! \: a1 D3 S( z. x ADC #$02
) N# E" Z& @. {3 G" Z PHA
% K9 }$ c- i0 O( } _7 e, q+ A LDA #$01
' D1 s+ C6 X2 T STA $8000
$ m3 O7 H5 r# H, J6 i( K' o PLA* G: b1 v) n* B) D
STA $8001
3 c/ I9 S) ^6 n+ Y; G' s PLA
' s, C' k+ Q8 f4 Y. y7 |, f1 _' \ RTS
$ P3 R% i& G3 |0 b+ l& X
0 b2 V1 `7 @, t .ORG $7360
7 r# S0 D/ U" q' O" W5 rPPU_BANK_1000: ;背景切页3 h. N- l: R; C( A6 ], K0 R+ y
PHA" a. |. y- _- t( @* E9 q i$ ^9 X' n3 |
ASL
1 A9 l* q! I8 o/ d/ E7 |- a( C ASL$ M/ W" `" \9 f4 F% o/ `, G
PHA0 i0 S' ?1 S4 L2 K8 x0 {+ _
LDA #$02
" E5 a9 i n, t: e7 r STA $8000; Z; _8 o9 ?$ X8 k) W
PLA
6 p* I2 k4 ]# L. s' X. q( ` STA $8001
" L! ~/ {+ o; M$ U4 Y ADC #$01
4 @: B1 |, n* Q4 [. O+ R. n PHA
( k! `0 x. N( O6 Q! y) Y LDA #$034 x5 p+ }" c: G, J& x5 O; o$ D4 ~
STA $8000
- r) J4 m4 E1 r0 `! M1 \5 O PLA
/ t% o9 J% [( ~$ L) ` STA $8001
7 D' Y C) t) c; Y. z9 g+ m( {7 l ADC #$01
' d7 k- w7 `) T5 |# K4 j/ P PHA
/ Z7 g* z# |- b; K! y: w6 | LDA #$04
. r- Q& o8 m1 _0 w, r, m STA $8000
- C! f2 A- k' V9 X0 Z4 | PLA
; w$ R. ]/ ^, N# K& o STA $8001% X0 e1 q: w) N* y4 y
ADC #$01
$ R N; d2 S" O& s6 G5 f5 o PHA" \& m) z3 K3 ]- B, v. H2 V
LDA #$05
! c5 u( E% ?9 A& P* D: [! V5 ? STA $8000# f7 {4 q9 d/ K2 {( u5 H
PLA* N; `# t, |" i$ N7 M# u, B, S
STA $80014 P3 Q0 o4 a/ `+ \( j% a
PLA
: ]* G" b: E7 E- j9 W RTS
9 y* V2 D" T# k1 [( a
7 u. Y" H% g/ W |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|