|
|
;[FC][最终任务mapper1切页程序]
4 ~5 g7 v9 |1 B8 }( A4 i" ^ .ORG $CD9B% h( Q3 R$ j; j+ V- F( K8 c3 f
BANK_START:: ?# ^; T7 a) y& o
STA $701 Z; B% @' D# n% y9 N1 X
TXA, C7 X/ }2 G! \/ a1 z2 \$ o" ?
ASL8 t* k; n# V# C# d8 Y; Y: S
TAX
: j, b# }7 F- J j4 A" A) gPORT_SET:
7 P# e4 H$ Q) W" E LDA BANK_DATA,X6 r, a* l- e+ u/ j. A9 `
STA $6E* K: F) y* d. s1 {% J
LDA $CDB8,X; E# g: `/ g; a. R8 `9 T
STA $6F5 R2 e1 T# \6 E b. d
LDY #$00 I* ?# [4 a& i B0 M& b
LDX #$05
0 B( u# L! z5 Q* t% i LDA $70/ u, t5 Z4 e! [! e
PORT_WRITE:6 Z6 K r- f% O9 U
STA ($6E),Y2 @/ U/ K2 C7 t8 Y
LSR
. P7 O7 w5 p* s2 | DEX
, j+ q$ U( D2 A: Q- U- S: t7 X BNE PORT_WRITE7 J) t3 N. I; F( T t
RTS" b9 `. } Y' o9 O- y, `$ v
: g. M- h. Y* K: W
" z; @9 L1 O+ `0 zBANK_DATA:
6 u* ?5 a' S3 L% ^0 e0 y" T .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF5 V P6 I) l6 e; ^/ P5 V& m! A+ g
2 P3 A- J# m$ O6 g7 A
' D5 R/ @0 O! F+ C( @& `;[FC][最终任务mapper1转mapper4切页程序]. V. X4 y F$ T5 D; P. Y
.ORG $BFD2 ;初始化跳转
$ Z9 z, K: j& C$ l7 n JSR $FFC04 D7 J: u4 d$ k$ _
3 H2 X0 M, Y( a# A$ {7 u7 K
& x- H0 h- z# X5 B: `+ c/ P r .ORG $FFC0 ;切页: f( S. }6 ~& O' W
LDA #$06
0 o8 ]2 s8 }* I- j7 ^3 e STA $8000$ u6 U' f( ?5 e; n; M6 g
LDA #$0E" V" A$ a6 I2 y2 O, s5 J! j
STA $8001/ m, L# l4 Y3 e" D0 R5 m2 Z& `
JSR $8000
8 k% }2 G; Z7 I RTS % ]& R9 ?" U6 l+ V J
2 q0 G5 y% e+ o1 Z4 S .ORG $8000 ;数据复制
* C7 r5 C* C Z% X9 F6 r) ] LDA #$80$ _6 J$ ~7 ?; a
STA $A001 ;启用SRAM
- U9 T3 F- \5 W) y& E, f PHA% { y# r5 U4 g
TXA
9 t) u: x5 ~9 N5 e* V' ] PHA
) O" g; w' m7 _( z LDX #$00! E& v3 T8 X+ i$ C- V: M
DATACOPY: ;数据复制+ }. s5 c# g0 Y9 N1 S, }: d
LDA $8100,X( d' K1 B7 K! u) a
STA $7200,X
[0 u% \$ V2 Q$ e" { INX
! r( P) u4 k. W" U" s4 p CPX #$00
2 T' S; I4 r9 b+ X& a/ B! }, W BNE DATACOPY7 V- L$ d5 q+ f) `+ a. n8 g
PLA
- g% Y/ Q( x9 G TAX
+ U' L0 f+ J. R' Y PLA
# D8 H/ [% U, W( E% | RTS# E- C. E/ O3 |2 d* F" f
, b. g; t* t2 G; j! H: \1 P
.ORG $CD9B ;跳转到转换的切页程序2 i( q& I' R" @' }# p+ v- d/ S
STA $70
) m/ {( }( ^" ?4 W8 z% y4 t8 W0 } JSR $7200
U( e$ t0 ~# L; t RTS
: b6 b5 i) f+ |
: R" u' t& T; Z .ORG $7300
5 ]. K" y2 i* CM1_TO_M4: ;切页程序' ^* M2 O9 U# g" {$ u! {' g- ^
CPX #$00
' t. U/ M" b" j, E9 p- S# J# t2 Y BEQ REG_SET' i, n( p5 N$ L
CPX #$01
9 K' M6 _5 a5 F4 o2 Y% [1 n BEQ PPU_BANK_0000) a% T+ y' P. s. a) D5 E6 r
CPX #$023 D+ L: w) g1 H6 C) T
BEQ PPU_BANK_1000
1 a! Q% ^8 u. N, G CPX #$03
. I0 i. O; Q6 ?* O/ p1 t% \2 l BEQ PRG_BANK
8 |( T3 c8 v4 s- O5 T! hREG_SET:# x) S; |4 Q& I6 R
STA $A000
$ T$ A4 ^, d( ]8 H RTS
) j# s% y8 b( z+ v0 L/ f( u$ j& x .ORG $7320
9 ~; T# Q/ i! w# f, R1 RPRG_BANK: ;PRG切页, a5 o' |' w* b" j/ P
PHA
) Z. Z O8 h- a8 m LDA #$06
) }; W. c3 m7 n% o/ @3 U% v \: [ STA $8000; j& A. F7 }. Q: [3 c( ?% \
PLA. `" L- Z8 Z" t* Y8 M
ASL
7 _* e4 ~2 w# e STA $8001
: c4 R: m, U3 O& X! `0 q ORA #$01
$ g$ X. g' |" I' s" H% s PHA
0 U" h5 O( X/ F LDA #$07
; x* h3 Q4 N- t [3 m- c5 z STA $8000
$ |$ I! k1 ]: x8 R' s4 Q1 l! N PLA
Y6 H. S l' g; x3 P, Q STA $8001
1 u- b% Z! d. _9 A RTS
/ y( B& b3 o1 j6 z" C .ORG $7340
+ w8 E: S$ a7 T( Z/ CPPU_BANK_0000: ;精灵切页& \: d4 f* }1 B0 }9 F q8 M
PHA
8 c" Q- [. Q; S3 m6 Z4 ?& { ASL
9 [& v9 C9 B6 j% T ASL* c8 S; l* E2 Q" ]( _7 i$ T% [; q/ X
PHA
( F0 o1 g3 ], K4 n0 v6 Z! q LDA #$00% K$ r3 w& S3 p4 M
STA $8000# y9 J3 f3 [+ t1 l5 T0 {# \
PLA/ e2 `: f# g$ r# d0 h
STA $8001. T* o0 D( y' ?( H0 e. X
ADC #$02
% m5 {9 u- E1 u) H PHA
4 k0 \# \3 b( k LDA #$01
0 b' Z( ?6 t. o8 I0 L STA $8000
; S0 \$ z; z$ O. ]' [0 c3 D PLA
5 F% H, j: s' B$ w# l STA $8001# U! A P9 x3 P* f
PLA
( @% x. M# ?; J5 g- c' ^ RTS: c6 f1 a; ~9 \( ^. L
! a9 }% u$ a% g6 A. R/ U/ E- F .ORG $7360
! {; t5 F& M' |7 k: w+ |! K4 pPPU_BANK_1000: ;背景切页) m- M) m3 L/ t8 x) z8 a# @
PHA
+ |) x3 f8 O( k O ASL, d0 t: [: S" y( E2 g
ASL
) h5 j& @+ @! R. F5 `. C/ Z; c/ n: W PHA* ^3 X8 t# s5 C7 G- ~: W/ t
LDA #$021 y9 j | b6 Z
STA $8000
: u) l6 M+ G; w4 u9 H; f! [. y PLA1 F5 q( c( S m$ \3 ~. ?) ?! j, g
STA $8001
/ Y! D* l$ j7 ?$ o8 {4 P ADC #$01" O8 h; |5 P8 s8 V2 D
PHA& h4 i& A" [, L ?
LDA #$03, D) a/ ?* j+ [4 A% r1 q* Y9 P" I
STA $8000! a, g/ Z7 b. g/ t
PLA
6 a4 A6 C, n# T; [ r5 |5 ` c STA $80015 _: N5 ? {8 X z$ ]
ADC #$016 r3 u4 J2 Z* ~
PHA G% b, ^! J: w, ~# y# u/ i; R
LDA #$04- }7 J3 U7 l" z9 j2 ^3 _0 T
STA $8000
a* L, W' ^9 o* n p7 E PLA
+ O; S7 D1 T# Y5 F5 e STA $8001
4 v3 j5 l8 ^2 [8 k; ?# b5 a' ~ ADC #$01* A( t* D' M+ [. F2 C% Y. c, f+ V! }
PHA
% F9 }9 w0 h1 @; N1 T LDA #$053 Z9 v- G* x# ]
STA $8000
& t8 |4 F. ^/ ]1 b PLA; [: n* b' u3 G* u& N
STA $8001
. a, _8 e" y* {9 i+ v; U/ _ PLA, Z9 ~& G8 f7 Q+ u! w0 \. Q
RTS
- a" a. O; `( T
, s. N; y) ] K |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|