|
|
;[FC][最终任务mapper1切页程序]' U* y# T. G- x* ^
.ORG $CD9B
: m0 v# P3 T- e( X) S+ pBANK_START:; [2 I7 X4 R6 d9 c P
STA $701 h. [4 N Q2 e% Z) h
TXA
: w7 g) c, i- u ASL$ N& K; N! N. r; Y& \( r7 a; d
TAX: {: P) {2 |, T& K- r: V; e. v
PORT_SET:0 g4 p( }3 d# o& ]( @+ U
LDA BANK_DATA,X
$ D$ Y$ e2 h, P& T STA $6E
# S1 o0 g; o8 }: M x2 |# D LDA $CDB8,X
6 t. Z8 T8 l& B: F" }8 V' C6 D STA $6F7 S2 u5 Y! S/ Y/ i1 U
LDY #$00
7 f6 ]. Z9 C! d7 i P6 O LDX #$051 D, B! x4 {/ z5 ]4 K
LDA $70& H3 ]% C9 O! W: x8 ]8 V! ~
PORT_WRITE:# p' e2 i9 p% p) ]* J, U7 G
STA ($6E),Y' R: d+ n4 m- ~4 F/ X3 e
LSR
# m2 o" V2 t% ^ r DEX
# b1 D1 K) C( ~8 y8 {( i BNE PORT_WRITE& x! R& O1 A% M) j' U4 h- ~
RTS
& f2 Q; k* t6 K! [& [5 }, Z 3 l6 ~4 X, o7 i/ t5 T+ c3 _
5 C1 ?2 h, k% U% _3 L
BANK_DATA:( l. L# ~4 h0 S. a
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
7 P- w5 F2 }4 o: N A% k
5 g) P" F/ b6 A7 [2 Q# _5 f* P , E& E4 H& T* o' C
;[FC][最终任务mapper1转mapper4切页程序]
6 b4 t+ B" X5 D. n: A .ORG $BFD2 ;初始化跳转0 h4 @' g H$ Y% E
JSR $FFC0
9 u) U6 W9 _3 t: @- m5 u" u: U8 k: z4 Z# t
0 W* v( e1 A) T- r' I" X .ORG $FFC0 ;切页
; w6 U! i0 U$ F& c LDA #$06 S) ?$ g! a6 l
STA $8000% \( h3 ?) M# {! T
LDA #$0E+ @; M8 V& T2 q/ c
STA $8001
- s7 u' Y! I1 M/ A/ T! `5 d JSR $8000
1 l+ f9 |; q. K, ?' O& c- F5 _1 ? RTS
. ~* C- h% A' \2 C# E
/ {% _5 A$ s+ Y) W! g/ S0 |" k .ORG $8000 ;数据复制1 c5 u1 x: k+ M3 e6 ^! z0 k8 P' |
LDA #$80! j1 a& V, m% {9 C% A' F" \
STA $A001 ;启用SRAM3 e4 Q* \9 H0 ]- D
PHA
9 U3 _! |9 o5 w8 x TXA
+ u+ r H2 _0 l PHA% t6 u& s& M4 r1 u- E
LDX #$008 U# G n6 V' t3 t# A' ]
DATACOPY: ;数据复制# \: z7 c, Q2 J0 W$ Q) R$ ?* P
LDA $8100,X. M* ?- R3 [1 Y! }4 D- H% ~ m" B
STA $7200,X
, e8 ^7 v. o, w" d INX
( C" O7 Z( P. H+ A CPX #$00
) C: a& b) x0 s, ]3 p% {/ x BNE DATACOPY
) C; D" R) L# q4 m, i5 p, v, F4 g PLA+ f/ V9 Y$ V3 n* k4 V
TAX* D8 b1 ]$ a3 q( {1 }6 v
PLA, I$ `& V1 q* g: E* k; a
RTS/ u* W2 V8 v q# o
. {8 [; b# R$ t2 w- N3 Y& i
.ORG $CD9B ;跳转到转换的切页程序
1 D* N9 S3 H* v( B: V- b* ?8 u5 c+ x STA $70; C. F. c# |: O) R* W! V
JSR $7200
. h6 O. n" V( @" Z RTS
) s9 B& T. J e' c; l 3 n' A" T& K6 z! K- p. C
.ORG $7300
7 X. T8 ?, F; u6 YM1_TO_M4: ;切页程序, A" l: T* K1 \) y2 f. g5 a$ V
CPX #$00) r) V; S% K: T
BEQ REG_SET8 J* T+ |* E5 u; o8 D
CPX #$01+ f" a5 y5 B6 L5 s0 \5 a
BEQ PPU_BANK_00003 p+ I: L/ k5 d$ }1 k
CPX #$02
! E5 I: l# _6 `, `0 V: t BEQ PPU_BANK_1000/ X( r3 H7 Y( N/ y" z
CPX #$037 I, e9 c' f- i: h6 N- ~2 o
BEQ PRG_BANK
4 m/ C* }7 X5 c8 H- Y* ]REG_SET:6 j2 H2 U+ {! d* l
STA $A000
/ | N& q) ^1 j+ ~1 v8 _9 z RTS. b: k( |/ d; L$ }
.ORG $7320
1 V! e' R: _: _. u% g( b! WPRG_BANK: ;PRG切页
, L! R. Q [, [. P: J, n+ { PHA
8 s* x( P S$ B' M" T" ^ LDA #$068 S { K( {3 T9 h! r+ D6 m2 T+ C2 @& Q
STA $80009 w7 e' p; i4 _
PLA
% p: o! q# b: A6 K. L; w4 M# c ASL a5 \7 j2 R4 T2 f) g
STA $8001
& c( u A) s0 ]( @7 t: c1 B ORA #$01
& M3 F# }0 A: l+ ]9 w, m% S PHA3 _# I [7 @/ \1 U# h. l$ H0 Q
LDA #$07
( P' N* @5 }8 {0 B STA $8000: ]4 g% p# h7 m8 x. Z; v' U
PLA% f4 z6 _, q& {5 f0 I6 r
STA $80013 R# p1 ], ^3 }6 C0 I
RTS
. m: P+ o$ m! I( R1 m, ~/ X" o .ORG $7340
/ Q$ S5 H# a0 Y. pPPU_BANK_0000: ;精灵切页! o; A; k: N1 @" n
PHA
0 \& S* S3 a" D& R ASL
" y4 w" M; T |8 m0 ~& H ASL. V6 C! s4 Q3 D5 z: k
PHA
0 n9 `# x2 @; y' L8 |. ^ LDA #$00
0 v7 T+ p! m! w# ?6 u3 [ STA $8000
, D; c, y! y, K4 B/ e PLA3 \7 [+ a2 V* [* W
STA $8001
* n" ?8 c2 _" D1 t# } ADC #$02
, Q, P1 D% l8 A" P) h) i! d% H PHA3 N' O# |0 v. O8 h/ ^
LDA #$01$ Y5 h/ @0 c4 ~+ y
STA $8000
/ t: ~5 Z( D2 b! t. Y PLA
, F1 F4 C) z; e+ C) m9 V STA $8001
( F7 U: m# t! k% d' q% U PLA4 L4 D0 v7 g9 y& g2 O' r& O6 X
RTS5 _# X" z7 o: d1 `+ q4 p
& M5 s5 B, D, C4 x0 r. M, p1 L7 ]
.ORG $7360
1 M) A2 A" W8 M6 OPPU_BANK_1000: ;背景切页1 _: t; X2 G; d
PHA/ W. D9 b5 c$ h1 V
ASL
6 a$ M. O! W& L2 s$ U' k* o2 O6 x8 M ASL
' E: m* ~0 G! Q' ?# \ PHA
$ e9 i9 q' S4 g3 r# N# j LDA #$02/ k% L0 a. O1 B. O' B
STA $8000
! w- H& N3 `# c PLA
2 P. {3 t/ U7 n, D `% s STA $8001
9 l5 L* w* b$ ?/ n2 g* `5 N% _ ADC #$01
( j$ a4 r6 {7 x: T& D5 |$ c* J- d PHA0 j/ s2 A5 o+ G3 s# H
LDA #$03
! p# W" d& a( k+ V5 }( z7 X& F+ T STA $8000: w# w A0 p. l( e
PLA
$ ]0 ^" g& m+ j/ }; V6 d5 _/ [8 W STA $8001: F- i1 y) I" d4 i# ?0 w9 k: k
ADC #$01; r; t5 B* j6 M1 c: y( G' Y
PHA
# Q. o& n! v3 M; {! o+ h LDA #$048 d- @* _/ P& M8 f0 V! r* ~+ _
STA $8000
! m$ M( \5 n1 z8 m; ^1 f PLA7 h' C+ ?9 K: H: c
STA $8001
' `% d& h- c# d2 {: u5 y ADC #$01
; A- B# F7 C* O) G PHA
, G2 h1 f6 J9 X) F LDA #$051 ?4 c8 f4 `% O+ P* o9 ~
STA $8000
- K* H+ g! f _7 s& t' Y PLA
5 C4 t4 ^' v7 e8 Y' A STA $8001
; I' [# e8 c& `) R) t' e PLA
+ K' o8 t" }% e: ]7 F" E RTS
% L7 H! C" [1 r% t/ @" J
# `' R1 \( j+ V |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|