|
|
;[FC][最终任务mapper1切页程序]) r7 n4 S9 U8 j1 E* X, D9 ?* ~4 S# w
.ORG $CD9B& x" L# T3 O6 y# ]9 I3 `
BANK_START:
9 S0 i8 K7 t4 ~5 u- M! w2 q( _6 X3 o9 a STA $70
( p9 R- e1 @1 E) Q TXA
' _" c% L2 X1 {5 p. e ASL" j6 |/ Y& H; U( `. f
TAX, r2 J: w; M. b+ i1 B, R, F* ?
PORT_SET:
, N6 `4 O3 D* @& O. f1 @) p( M LDA BANK_DATA,X
1 \/ z' a) D) G& A STA $6E
6 `$ A- H" R- J( f/ n LDA $CDB8,X
) v# l" N7 W' J% p' |( X4 r8 k6 q STA $6F4 K) k4 m# ~3 s$ v# O9 H# @; r5 @
LDY #$00
+ ~0 \$ o V7 L' l LDX #$05
, F% q# b' p$ w/ w$ [ LDA $70) f8 T2 P, t8 [" }/ I& W, _! P
PORT_WRITE:, H% k" Z) E2 g, g! p" L; r
STA ($6E),Y
% g8 h! |3 E6 i/ l5 w: T3 b, | LSR
' O5 {+ H% U, p' |' A$ j {; E- T5 z DEX0 \* i% {+ P4 Y$ C$ s# ?
BNE PORT_WRITE! ]) G4 p K: M8 e3 u0 ~3 `
RTS u* }9 A- N( \4 T
1 V1 {2 Q7 j$ |& C& N) u
( I' a7 f- I' c; s* D$ HBANK_DATA:
0 C, r7 ]: q& f( }6 O .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
$ E: s! [% Q9 Z* r+ A( z0 V
9 T( q0 v* V) ?4 S5 G- ^
. F. Q+ X( N1 Z: J6 F, s" V;[FC][最终任务mapper1转mapper4切页程序]$ _' o' W6 C! N6 J4 Z8 E) J6 d2 B8 h
.ORG $BFD2 ;初始化跳转+ B/ ]' p$ @, H1 _7 q8 y0 G' H! j
JSR $FFC0; h, V8 p( q% R& P m; V
: B( t2 t0 _4 w" G6 F j- X# z+ T( b: [4 S
.ORG $FFC0 ;切页# |- D9 g, O8 p
LDA #$06
, M2 P b( J. O; U/ s j. O STA $8000
. Z; d u5 G3 }0 W* ~% k LDA #$0E+ H: S3 [' t. i/ F" A0 M
STA $80010 l, s! `3 T1 G' i/ ^; Y8 s
JSR $8000
% W. b# E2 P4 c- ? RTS ; v0 E! n" D- o
: D$ L3 A4 L/ a( p% w
.ORG $8000 ;数据复制0 k; \# T/ N8 c" C/ s- i0 j4 x2 i/ C
LDA #$80
~- a. S' W q4 z STA $A001 ;启用SRAM) e+ g- u% s y; O) E- V$ V" U
PHA
1 Q3 ~; T0 }: c) H0 f1 i3 @ TXA1 ~: e9 E/ d. @6 F
PHA
, I; r$ _% a6 I8 ~; h LDX #$00
, _4 [4 _% S8 z: {DATACOPY: ;数据复制
8 R9 d0 o, v! D4 w; ]% u! F% i LDA $8100,X8 n$ m( N! k5 P+ l" O
STA $7200,X( p% v: I+ _3 Q% O: ~
INX
+ a1 D; J8 h0 z CPX #$00/ n3 T, f3 Y/ r* y5 r, M2 F
BNE DATACOPY) h* `3 T) H5 x4 ]( L
PLA2 w1 A& |1 T+ I& A' Q
TAX6 ~4 `8 ~% Y2 L( x
PLA% P7 b; ~5 ~- h9 g4 q' I
RTS, y# Y. H/ b0 C' _- X2 a6 O
2 d) |$ @. |4 p
.ORG $CD9B ;跳转到转换的切页程序
. s3 W- K5 y/ d: q: p$ a1 L STA $70
, I1 F9 }$ D2 z, I JSR $7200
! Q& b8 l4 I$ P; j RTS3 r2 r. k o, Y* n! ~* N6 Z S
O0 m2 S6 J3 O" w" n& b
.ORG $7300. W( _* Z$ E3 Y) ?+ T9 b0 @4 T E
M1_TO_M4: ;切页程序
+ J, _# i0 X0 C/ x CPX #$00' L3 @& G e$ o5 Y* r2 N; T( d
BEQ REG_SET5 l$ C; ?% S# ^+ F; [2 ?
CPX #$01
5 Y- U4 j0 Q6 N) Q- T BEQ PPU_BANK_0000! n% L* @/ k" D) h1 e2 x5 V- d% d+ W
CPX #$02
9 \' L! c: \/ F- D BEQ PPU_BANK_1000
- @: G+ s& J" o( d! C7 z3 ^ CPX #$03
* g8 V5 ^: k. m BEQ PRG_BANK x6 g0 x& @. T
REG_SET:
* N( b( _( n+ P0 x STA $A000
2 @/ \% U0 z- y# t" _' W7 G' H' x RTS) n6 {9 H) n2 M; Y& d
.ORG $7320$ n' V6 h2 @1 W1 F* I# l o
PRG_BANK: ;PRG切页
* g" s8 d5 m" q! ]- q$ d! t# V PHA! n( x4 K0 }% G' Y7 `
LDA #$06
$ P" V" k( i, g, T STA $8000- M3 M) J! c' e9 ]0 Q( s) ^" y: q
PLA, U4 l0 m& M, g. O6 W
ASL/ ]; k1 U: W$ p% b
STA $8001
& d1 Z( W' v" I( G1 y ORA #$016 M- P# z6 p2 u# ]
PHA+ N4 S1 G+ E; B! m/ e+ V& @4 V
LDA #$07( @1 Y* x2 e5 |6 A
STA $80004 l3 K9 Q2 ]) X1 x. ]
PLA
Q) q! @8 r- g' p STA $8001
6 O) G/ z0 J. ^5 d( }" Q RTS
/ O: j9 _5 }6 d+ d .ORG $7340
; {% z b' l' M* \1 ^/ v, bPPU_BANK_0000: ;精灵切页5 _$ l9 i3 }" P, u2 d
PHA3 n( {+ F6 W3 `" z- \
ASL; K9 u! k s1 B9 n: I" D" u
ASL* @# m4 k5 K* ~. ~ c v
PHA
4 U/ m# M, y! n5 ~& j) Z LDA #$00
( b& ~0 @9 l# M5 t! `; U% s STA $80001 p6 p% @6 G5 _: L2 A% v0 }
PLA
6 A j/ m4 L4 T: T- D( S/ i) M STA $8001( M; j9 }8 S% R" N1 V
ADC #$02& N, Y( X: }' ?0 ^& h1 G
PHA
' c; {8 b8 o3 H/ f8 H. { LDA #$01
+ J& k9 _0 f M) q5 N. V3 F& B STA $8000$ b% G$ A9 W( d2 ? T& [# n
PLA
. w/ x( X ~; f STA $8001
4 C: ~6 Z" z; S5 n! A/ j$ W% P% ^7 g PLA
4 [* n r! C+ G: o6 M3 m7 L RTS
# X8 I) F* v( _$ R; u
4 c. I7 C3 v; z/ o' F9 c6 B .ORG $73601 y# C" ]$ `+ i' |
PPU_BANK_1000: ;背景切页
z s% e! S( R4 ]" P3 T9 p PHA# E+ t# J8 y @0 B; ?5 ]3 C
ASL
: o! {9 x7 a5 L( u, }% w1 q! _ ASL
' ^+ ]; N0 v, K& u PHA- B* F5 d: @+ d
LDA #$021 q! V. A; l3 Z, L V# l
STA $8000! t& d3 _1 _2 N" V
PLA
! a* L2 u2 ]8 q' Q- S8 A/ H STA $8001
/ [4 K9 S! W8 \/ ] ADC #$012 G7 t, ~" X/ }8 H8 M9 d
PHA7 H; ]+ N: a; T4 O
LDA #$03
- \/ P$ [" [2 O$ V0 q4 C0 n STA $80002 y$ N: B8 X3 _$ s1 I
PLA
- }; q& n. y0 y! G. T, i STA $8001
; x$ h' q4 O2 Z# S5 w ADC #$016 L' ~2 z& }) M% m
PHA
! K, P* I' X- T$ v( _/ K& C, y LDA #$04) I+ l8 O+ Y7 ?: j
STA $8000
5 h' [/ Y) ^5 K4 I, v# x PLA2 b5 _0 x4 t- r% o
STA $8001
" {8 ?, K- y; q- z. }/ k; t ADC #$018 I7 }, j6 w3 j
PHA/ {$ v0 }! X2 h# W; T& I
LDA #$05
% a0 ^& [' C. t- N3 V STA $8000
O9 N, Y8 V! r/ i# ]8 h3 p" N+ s PLA
2 C- {' ` f" o* |7 Y, V STA $8001' T% u# e" z% k' s
PLA. \% s* F2 a. h" L
RTS
, O+ I: E0 Z' d9 q# I& b/ A; E G% S( T
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|