|
|
;[FC][最终任务mapper1切页程序]4 J, h+ ~5 g& H' z3 T& h; H4 M
.ORG $CD9B7 G9 k$ G3 @' C$ Q' E
BANK_START:+ ]5 A' R, f+ B
STA $702 E9 M4 R8 i' ~: h
TXA
. H2 c4 ~: }% p( F- Z* c! `5 s ASL
% N3 |: W4 A* Z TAX
1 ?. d" P6 |* w3 [$ h PPORT_SET:* d1 |3 ~5 m* U& H3 c2 e G E
LDA BANK_DATA,X- n6 o5 d! H& T2 n( x) B# O
STA $6E
: _( b2 q' ]2 [ LDA $CDB8,X; @' j4 P9 _& O h0 R0 X
STA $6F
- s; p. Y" ?4 G' H5 z+ K$ Z7 | LDY #$00
* B( C7 D* Y9 m; m: K& A! V LDX #$05
+ f5 Y" N: P# M1 Z# ~9 ?, m1 v" u% V1 I LDA $70
4 O4 Y8 T1 x& tPORT_WRITE:
3 y" H4 O9 m6 s8 T# r STA ($6E),Y# B4 Y6 ~1 S7 `1 z* }# L
LSR
1 i. u% ^5 o P1 m5 a# ~ DEX
$ Z3 O. Z8 t2 \! R" D6 f$ \: ^ BNE PORT_WRITE
$ H5 x8 @+ i6 v3 N$ T. F# S RTS
8 X S8 l" b( z) G' u9 {2 ?* I9 m 4 p$ q5 j4 S3 u/ j4 i( I
' K, h) x. f3 _+ QBANK_DATA:' h2 }( r7 S1 ?
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
- L8 `% |3 n% V- R' n( f
# M& @! X' y: U H' l
4 k9 x7 f2 u7 X% J0 N. W C;[FC][最终任务mapper1转mapper4切页程序]
4 d( l6 \7 F: b0 }* t .ORG $BFD2 ;初始化跳转
! t, y% j/ s4 U+ t( F, [. Q5 m JSR $FFC0" h9 k5 s8 k8 B
1 C# i' O' _; V: |, z
, S4 k2 _' G0 m; |( p .ORG $FFC0 ;切页
% z; K" q% U. D+ S% ]) ]6 P LDA #$06 Y* O9 Y/ @# h% I9 ?: O; {7 t
STA $80000 G) q0 M( ~4 T
LDA #$0E% W( j9 e- N5 U; @
STA $8001
: E' f) {. C/ h, {& I! [ JSR $80000 M: E6 O' K3 W: E
RTS / E* h6 l) g" s* o
8 D2 Z& z/ ~, I* Q4 E
.ORG $8000 ;数据复制
1 @' X8 Y% \* _+ A/ q; q, H LDA #$80; J9 ~7 V, w( G) z, y! ~9 \
STA $A001 ;启用SRAM
+ @! ^( H7 h: {- P& y9 S PHA
% H& o& c6 z: b6 y; x+ W) n TXA4 W" d: W" c$ q4 |
PHA3 D- E: t7 R/ U! ?
LDX #$00: A# T, k- |0 ]7 K" @5 H/ ~
DATACOPY: ;数据复制8 ?7 H) D8 y6 }3 p
LDA $8100,X
8 k$ H/ \8 d! a5 W+ s2 D STA $7200,X
+ S- v+ M6 t+ _( M u% P INX
! S* U& H k0 a g' F1 b CPX #$00
/ V* a5 j7 G% {( ?: D6 Q BNE DATACOPY, H3 Q1 [1 D( Z3 p
PLA
' c1 G! N1 q# P2 Z TAX
8 c1 ?6 w8 ^, x! i/ o6 b ^ PLA: o% a4 l- {7 c" j. L5 S) j
RTS" A# G W! z( I! h
5 o w0 }3 B! i R- F6 a .ORG $CD9B ;跳转到转换的切页程序
' I8 V, [" Q5 _+ j [ STA $70
# v- \- h( P% j( e2 w6 s4 D- y# g JSR $7200% }/ o( a0 `9 z. T0 D, ~
RTS
1 V6 C* n" p! W7 @# K7 _- ~
6 n. Y/ C( w* l9 w5 B .ORG $73003 w+ I9 E( ~) \& D3 p3 n# k
M1_TO_M4: ;切页程序
7 d+ ^% Y9 W4 ]# g- K7 }& W' m4 p CPX #$00
) Z" b/ Q j: ?" j BEQ REG_SET! b1 e4 G) l2 G' s7 b3 w1 m( D6 W
CPX #$01- P2 N# g6 P! C% X: U z3 \" [
BEQ PPU_BANK_0000% o) l5 f6 ]0 M$ F# t
CPX #$02
/ S- ?# X+ d k% m BEQ PPU_BANK_1000
( p" W3 \3 \' ^( L- C CPX #$03+ w) I0 {" ~- {( Q7 S( l. }
BEQ PRG_BANK, G3 P4 m2 e0 Y/ h" i2 I
REG_SET:
( t; \' H! r- h) L3 @& E STA $A0006 j4 x$ j: Z+ z4 x7 X" O* L
RTS* S1 T) o( o! {4 a- R
.ORG $7320
4 \ ?: i5 H8 v# w& VPRG_BANK: ;PRG切页) w, C: _ @. G
PHA
# f& c! ]+ V& ~6 b y9 T; p1 k LDA #$065 Y* p* p- @1 I
STA $8000
; u" w! W! b ?; V' `( v* E7 ` PLA
0 I7 V. R& v1 o. q/ f* { ASL
$ `* y" ^3 I" e- k* D6 E; k STA $8001
/ ?( T K6 M/ k/ P( J4 Q, O ORA #$01
2 {2 X1 i; u F- X/ k PHA2 N9 i3 u4 Q, g6 N2 d
LDA #$07
2 R# s' s" {5 O( _) S% M i& s STA $80008 V9 h" V( L3 x" G- [
PLA
3 |; E' J0 o1 ~+ Q* x" a3 } STA $8001
0 m3 U( X# C! S" j1 \1 P) s6 Z. @ RTS
1 c4 X7 u D+ Y2 F: @2 i. w- P .ORG $73401 V8 d% H! e' W z0 C" |& O5 O
PPU_BANK_0000: ;精灵切页
- n2 m9 @) j: R0 H PHA
. u, j0 Z a% e. n ASL3 q2 }. H) N6 d& d- w
ASL
2 M# m) K; z7 n; e: C PHA6 Z; m2 U: h* f+ _) ~
LDA #$00
+ l: ~3 @; E0 a: S2 d STA $8000
, k; y8 A# y0 ?1 d- ~5 ]- ~ PLA
' O+ x$ p7 `8 f% Q STA $8001
+ J! R0 R$ `0 U# W! q1 s ADC #$02+ R( r& R$ G. \, Z2 h% |
PHA0 T+ t4 k" S8 O. n2 e
LDA #$01
6 I5 H( j) H* E STA $8000
( N" l5 }7 m: h, W/ E( t PLA
7 E7 |( c1 {4 Q+ M+ b5 M STA $8001
L; y& M# p% j a7 R S" K! D PLA
/ c4 [* `5 Q/ F' u( k RTS
& g6 I8 p5 E$ |/ \- x; Q
1 C; @/ d2 Y! O, s .ORG $7360
) l0 w5 Y+ j" [% ]4 sPPU_BANK_1000: ;背景切页
4 ]6 Z: x# [0 @/ u! @' p PHA
L( |: c7 ~, {3 N$ s ASL
5 y; w C4 |4 D0 W. m2 u ASL. i6 J4 N& ~, O3 n
PHA
4 L5 S% m. T, a( d9 q' E# k LDA #$02# d$ e7 c' K( y. W2 V6 u5 O
STA $80000 ?) |5 ]6 \1 z
PLA
& W0 X1 d9 n: \1 @: C1 E/ \7 S$ p STA $8001! D: k& s, ]6 U4 Q5 @2 [6 w
ADC #$01
0 a0 a' e* ]# y( [* @4 j PHA
& h( l& Y/ N+ s9 @ LDA #$03
# k+ j7 `4 @" l1 W% e8 Z STA $8000 f) h( E- k* x0 ^1 P. P
PLA
8 N; ?9 t6 U8 w, V2 C$ r! G n STA $8001! r% `* ?, X# ~; P$ J: a
ADC #$01# f8 D b" u: `# g0 z9 w
PHA
3 Q2 k5 d: v, Y* h LDA #$04
Q. d8 G& t" W STA $8000
# F4 g( \) f9 @3 a PLA
) P; }3 b/ D. ~ STA $8001+ \+ f* P; N2 X! z0 M4 T( a
ADC #$01
" X. |3 I. X* S. G PHA
/ i L5 R, z) p LDA #$05. d" ~. P7 ~6 P1 h) ~, o
STA $8000
- v# H7 y2 k. j0 W) u- \7 D PLA
" V5 ^8 d# G! m. C STA $80017 F$ w5 g3 c, d4 X; J
PLA
& n V% \; d c& q& M RTS/ P V+ k! h& Q8 ?$ }8 d" g
# O+ e$ ^: n- w! w0 a
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|