|
|
;[FC][最终任务mapper1切页程序]
2 M( d/ \$ @4 r" | .ORG $CD9B
( |) J/ e4 i. V$ ABANK_START: P( n0 s$ [" J" D Q2 ]
STA $70$ I. D) R0 [/ o$ O5 q
TXA+ U' {- d% z5 j% |# @+ R
ASL/ ^) a( e# h9 I8 i7 J
TAX4 S% I# k }( U
PORT_SET:
: @* K, {* d: f! I LDA BANK_DATA,X( {: u$ e& u/ n
STA $6E& R X" Y3 K: C5 @& ~" E5 l
LDA $CDB8,X) H x& t2 Y0 ]7 D! j
STA $6F
% B9 s- D2 T% D, [# H, f. F; M LDY #$00" Z1 X4 N' `- y) d+ u
LDX #$05
6 x! z; L, n3 w0 X: B LDA $70. B& Y4 [3 T5 P; P8 ?
PORT_WRITE:
! K6 B+ D" p/ H7 w. F5 ]$ w STA ($6E),Y; f2 `2 |8 W% B2 m* P
LSR2 r5 o/ o4 X; y9 \5 {$ E; l
DEX$ u: x/ B9 q; K! p
BNE PORT_WRITE0 `1 r- G* l* j- Z& _
RTS
/ \& P: g3 V& n# ~* _: x$ ]( v 4 |: a. A A& b, t2 V* G/ S
& c1 T5 t& B0 E5 g+ Q
BANK_DATA:
8 N3 @+ n+ h k* o7 U% ~ .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
1 o+ D/ ^! Y* N + Q* V# L" H6 K' J" V* |
0 R. j7 Z4 l9 I& ]; }
;[FC][最终任务mapper1转mapper4切页程序]
3 P# U# X) ~8 U .ORG $BFD2 ;初始化跳转3 _5 w4 N- x+ d( c2 w
JSR $FFC0
0 ^/ H* v- ?/ N. f' l1 x% I
* {2 u) k" f* |# z2 q, v8 B; C8 F6 @4 _
.ORG $FFC0 ;切页
8 ^( a& p) e0 o! @7 \ LDA #$06: S$ Q+ b) n' W; F: ?
STA $80005 B) C- R3 e! ~' ^% Q: I7 X
LDA #$0E4 C. G! V* ~: G6 v2 J+ N4 W
STA $80013 `' S. P9 J8 @! ?
JSR $8000" f+ h% |1 {% o* P! o# u* I$ @ s
RTS
4 t% B7 @2 \% f( O3 Q6 J! [. G
2 k' j; _* m$ v2 B .ORG $8000 ;数据复制0 U4 s2 J5 G- w/ {* B7 S
LDA #$809 c3 @; Z) a* \5 `6 {: R
STA $A001 ;启用SRAM4 `9 |- ?' \2 p5 I0 k
PHA' d! z' W" m- _' F5 P
TXA
4 c }2 H! G+ G: [ PHA( v$ K+ t9 l8 h3 G, n
LDX #$00
5 ~4 E* i% e: s e# Z% [+ hDATACOPY: ;数据复制
# ~" Z$ L- Z1 e6 _" H LDA $8100,X
5 K1 t4 K# h7 P8 e; h STA $7200,X2 D8 A' `! K+ e6 {. l$ _
INX
4 \/ @7 L7 x' b" j) L" q# L CPX #$00: y4 D6 ]; g# g) ~$ d" v8 d
BNE DATACOPY
" S6 J+ a5 \5 \ PLA
& O0 a7 e! v' y2 V TAX
5 y l2 M; n/ |& X7 m' q: f7 \ PLA
, H& Y+ s7 j9 `+ ? RTS3 P" t3 _) H+ {5 a
; q5 s2 |2 A, p
.ORG $CD9B ;跳转到转换的切页程序
9 O% {! n7 t: i9 L- c9 J STA $70
. k* O: K9 I* n+ g( X5 n: i- ^# @) k JSR $7200 \! l. y( D: ~3 X6 O
RTS2 R7 w- g5 j" O# N
1 t0 u7 `& g1 M& W% g2 o/ ^6 o .ORG $7300" e* B# l: C5 p& W) U3 x! i% Q
M1_TO_M4: ;切页程序
# N$ M3 M2 ~9 _7 z% K6 y7 Z K CPX #$00, R: z) H# m2 m: _ X l
BEQ REG_SET
! @7 S1 p: U; G' m% r& a7 D; _ CPX #$01
A% [' f; `, e9 o* ~3 f BEQ PPU_BANK_0000+ _% Q' m* K! b! f+ V
CPX #$02+ q. v9 J: E; c7 t% M+ r
BEQ PPU_BANK_1000
% {4 F. i# }' ^! E) v% N CPX #$03- X s. J: X" `/ d% F
BEQ PRG_BANK6 P; r' ?0 d7 t! J
REG_SET:
" k/ \5 g& T: P; f, ^7 N2 ? STA $A000
0 n3 T0 B. [: T" z5 S8 k RTS( b- Q" `8 j# L- y9 }0 x5 w
.ORG $73205 j; w* |5 n0 m: e: Y& a( G) J
PRG_BANK: ;PRG切页
' L- [% c% Z. m2 i PHA
& V1 O- |9 U, N" B LDA #$06
% ~# {6 K% T& q7 S3 C( P7 N8 Q STA $8000
7 C, P! S- v0 S- K" m' D PLA' M9 x5 h! D# Z9 @2 o. C7 B
ASL
" e$ m, z. ], c& k& S! J7 m STA $80019 p2 g1 Y- U# l3 x
ORA #$01
" }$ Z6 m; T% P" f, J PHA
! r, H b8 U6 ?: D1 Q+ @. G LDA #$07
( q/ I9 J. _/ i% G STA $8000
- u2 o8 X2 J+ S$ B8 { PLA* g2 M1 Y# ?2 ?8 d2 {. H
STA $8001
$ E1 @8 u! g0 _+ e7 r RTS
6 }8 h' Z# @2 b" I .ORG $7340
- H0 {7 _# E8 P) K! cPPU_BANK_0000: ;精灵切页% B L/ v3 f1 [/ t7 D
PHA3 v. S& u/ r0 o7 a4 S, s
ASL1 |* D: D; f, V% L: w0 d6 X1 Q+ p
ASL
) Z+ v1 E l$ ? g7 I) l PHA
; Z. D1 G6 w. ^0 h LDA #$002 r& k7 q6 p, l3 j2 B$ Q
STA $8000/ K8 l) P5 J( ^2 B! l
PLA- @" N) W+ d" s% y
STA $80019 c8 P) k5 w" j3 ]6 O
ADC #$02
! u( @1 b3 W. L6 f PHA8 V0 @ K& d, q8 F) G/ z! Y6 w
LDA #$018 Z6 u I. y, T
STA $8000. j' U+ I% _% j5 u+ X* j5 M6 `
PLA
/ \' O U5 r$ C. I K STA $8001! K, ?) M% ~ w ^
PLA8 q( }" D, U$ T
RTS
/ ]% \6 u' f$ A5 h7 G
1 s3 m' A; a" o& b( {: j3 H* M7 M .ORG $7360, @: d3 U; p' x- H5 i( X
PPU_BANK_1000: ;背景切页6 R* f8 z+ J: o2 o+ j& I# M2 @
PHA3 Q" X( _& [, |) f9 e7 e1 D- V" ]
ASL0 Y9 o3 h# g% `( ]4 Y0 j: w
ASL
1 I6 t6 m/ z: z0 M I1 B1 k" L% s C PHA
" s6 o0 S' M5 E, q LDA #$02
/ D- t' P' \$ H9 G. k8 b8 d) n STA $8000- L% e5 l9 \, I6 O' d; U/ v
PLA1 X8 P1 p1 L4 H6 [' [
STA $8001$ N) b1 I" u# H
ADC #$01
8 o( _- f6 P9 N. u PHA8 I1 g- W4 v0 O5 }& \ U
LDA #$03* n% T( j" g0 \7 w' D
STA $8000- V# S$ ^5 _2 V8 r+ f H" I
PLA
1 c2 G1 f( |1 T5 T6 U; M @ STA $80014 s/ Q, K4 o* H4 A' B0 E! z) R
ADC #$015 o1 Y4 U1 q$ i! `
PHA
1 Z0 g+ j. X q. D3 r( N LDA #$04. D+ L/ r1 H0 o6 ]0 u0 M6 O$ @
STA $8000
+ ^( A8 t5 ?! i0 z' m% V' Y PLA
0 X6 a. @. m8 o' A8 X$ P4 F STA $8001
# V5 W8 l o/ G( y1 P0 W+ M ADC #$01
$ Q" ~0 Y+ k( o# P' P. y2 \ PHA# e* s$ f0 M2 M. ~! Y
LDA #$05
9 H4 n' ^; M" H2 a STA $8000
9 X1 B; {: w) v4 G PLA/ j% ~- i* ~, o1 Z
STA $8001$ }2 [& q) A8 ] m" |" F5 u3 ]
PLA
3 p3 ~7 Y8 `# h3 E0 J, I$ h RTS
1 H$ s1 E' E8 j& n$ I# Y6 `$ ?# I
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|