|
|
;[FC][最终任务mapper1切页程序]
6 ^) A% w9 t* ]3 C; L( j .ORG $CD9B
( f5 [7 d/ p/ R9 QBANK_START:& r% A- b7 ^- O* m; w0 S
STA $70
5 t! p" y" W* {( L TXA m p# S# ?) T. l0 I
ASL
" O; y. O e7 u0 M' d- Y TAX: }, g! g% F3 M1 @7 q: N
PORT_SET:/ `+ d4 U# M& _% a2 L4 [
LDA BANK_DATA,X
9 R6 u( E5 i; H" ` ~- w# z. @ STA $6E8 Q9 Y P1 S9 C( a N2 {2 O
LDA $CDB8,X% y& m- `$ p# _* m# y
STA $6F3 C$ o0 s, ]/ I) G, Q5 Y' A
LDY #$001 z$ _1 t1 y9 U! W5 @* m7 u0 H
LDX #$05
$ w( I4 y, \0 X% b/ `- F LDA $70' J7 s$ @5 }, }3 q8 e% g0 c& A
PORT_WRITE:
% ]! u. ^3 ]6 O$ H STA ($6E),Y; @2 n% K) U4 I& V# D: l7 `
LSR/ Y8 h& a2 K4 Y& s0 l2 B }6 P, y# Z
DEX
9 t; o" F9 V5 c1 R( [" R& U- c BNE PORT_WRITE
3 B3 u* i% s7 M$ N {) Q5 [ RTS7 ?6 C6 S' g5 d0 Y4 w" l* V6 ~. h
8 h, c6 W+ f0 m" l6 u( C1 _2 J
. B( w1 h& V- J
BANK_DATA:. g7 c& p! Z' S, z. F2 \1 o8 \
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF, W2 R& Y' @7 s2 s |& e
( `; s3 u; \* \6 V; [* k) s3 V, ~9 a) x 2 X2 D3 _5 G6 G0 @& C4 M
;[FC][最终任务mapper1转mapper4切页程序]) E. ]% _, c* n- Y- q7 }
.ORG $BFD2 ;初始化跳转' g6 h! W2 ?, L0 [& R& i+ q$ X
JSR $FFC0
& M9 |) C3 m, m1 C* L2 x; f$ e. y/ y/ \7 S' s
6 r0 f) R1 a: c b1 U& N% T7 g .ORG $FFC0 ;切页. \$ H& ]1 a' N, h4 h9 a
LDA #$06, [* G, z+ Q- B1 C N9 N; `, ^% s- O
STA $8000
3 _& f1 m* F5 n' u LDA #$0E
; o& h4 u3 N% @# \6 M. p m+ O+ g* @2 z STA $8001& ^6 U6 y2 t! S" J$ e
JSR $80000 X+ R% Y: x3 s9 `6 m
RTS 7 f! m) }2 ~, M
: @8 I4 x" K+ K9 U- C' c1 v9 w
.ORG $8000 ;数据复制
- ]6 }9 J! Q7 t3 r LDA #$80
% w$ J" Q& U" N STA $A001 ;启用SRAM! A: q% H3 }; L
PHA
/ j+ h! C( o' L9 M. k( Z" ? TXA$ q) \8 }, k; K+ `
PHA8 ^3 G2 E3 J1 `# N/ c
LDX #$00
6 B1 o* c0 y' L% b9 A" [* NDATACOPY: ;数据复制
( q& s/ j4 [. n8 n3 ?$ F# D+ v# _: z LDA $8100,X' _% G, Q) v3 k! h5 _
STA $7200,X) P. Y% I; m' _9 q! B# ?1 S
INX1 T3 l2 ?8 g1 y& A
CPX #$00
% i/ ]6 f4 }% Y' L/ a BNE DATACOPY
8 d, V' i/ }* l PLA, @" h P* k: _ u$ S- M. a
TAX( h4 l2 z& h/ E: n$ |8 N1 M
PLA# w* \0 e3 x2 m @: g* a
RTS
6 q# v z7 X) l. s _/ C5 I3 v! S d
.ORG $CD9B ;跳转到转换的切页程序0 ^ W) K# f1 o: b* R9 M7 x
STA $70# E; |+ y: ]4 i, z! x: L
JSR $7200
2 e) |: F Z# ?# G RTS; n- ~9 E' a# l9 ^( q# a
* C, M {9 V9 h3 J4 r$ { .ORG $7300% O( k+ N: p) J
M1_TO_M4: ;切页程序
7 A' j* Y/ c& M( T CPX #$00
, s, j4 Z5 h1 R; s0 K* t, L1 w BEQ REG_SET
$ C! _8 S" ]; B/ D3 {, l$ e CPX #$01! S% ^0 _1 a5 s( ~0 r+ l
BEQ PPU_BANK_0000; h- g( ~7 ^( s5 t
CPX #$02
" K4 ?9 \1 a% a& f* r* @ BEQ PPU_BANK_1000: B1 Q) v x9 D/ Y- D" m
CPX #$032 L7 m% g1 L! N* s/ m
BEQ PRG_BANK/ E: p1 H1 N B7 g" Q& T: |, c
REG_SET:$ L$ \6 w% s- x
STA $A000
* M' g. K7 v v7 S- ?, k RTS
8 R! ~, z( f# A; q G .ORG $7320( w( F @9 p/ A! C* u9 \0 g
PRG_BANK: ;PRG切页& z) w' a* S2 G) M! r
PHA
, @, S. H1 w: q7 m LDA #$06. i1 t& u3 h! Q- Q
STA $8000+ n4 | q+ Q* G6 O# B
PLA
+ R9 p+ s3 l1 \ ASL
% N4 F4 Y$ U% q STA $8001
: i* p" E: B6 g( R0 y. h ORA #$01
0 b1 q$ L6 l6 X c. d- m PHA3 Z0 e) D! G4 B/ D
LDA #$07
- o9 L7 ]2 ? q& S STA $8000
+ {3 |6 i! y' S7 X PLA
: u+ v! _5 G) o2 T. W, Y- K STA $8001- ~! O8 h" Z& G+ U5 l) i/ Y! e
RTS
+ Z2 ]) u/ ]) W9 D. g3 C .ORG $7340
/ q9 l9 [, M& h w/ wPPU_BANK_0000: ;精灵切页
* ~* X% d3 r6 n {2 b% r PHA& v5 F0 W% d+ x6 {
ASL* m$ \- h0 C A; r. k
ASL
5 ~$ {' z; P- e7 I PHA
4 r+ \$ e) ]7 V! q6 S LDA #$00
2 C& C" s( N' \4 A8 t( G STA $8000 t& L. g- Y5 h w7 U, }
PLA
3 r8 M* Y& T: a6 P; ? STA $8001
- n, n+ d6 a' q/ J: K ADC #$02
9 U! l; M2 P2 |9 s7 u, C PHA6 n2 I' r, l; w
LDA #$01
; H6 K$ t( O, F- E$ C, `0 C STA $80001 Z+ k- W: c8 `. G3 s/ u2 Z1 A
PLA
2 l1 n/ L8 l" g9 \7 O7 z' T- S. [ STA $80019 i6 [8 s, T: N! [ J
PLA) g* G- U, H/ M! |& H
RTS
5 X% q8 k2 [5 s F1 N; B: W 7 F4 W' U# P9 o/ e K
.ORG $7360$ ?# S) O; L, v [3 D
PPU_BANK_1000: ;背景切页2 c" ]/ R2 h2 y3 q
PHA
5 ~4 H& \2 P& | ASL
% r# r; Y9 A, T, ^! w6 t; C ASL
8 Z, d7 X8 t2 ~6 p% s PHA
6 f" _3 J% Q+ y B+ a4 Z LDA #$02
: U2 c0 B. }/ H& T0 U STA $8000
[2 [- i6 N& z$ ?; ]) S PLA
0 x. s" R' l* Q u STA $8001# C! u- D. G, v) j
ADC #$016 ~6 K* m* i- F
PHA% A |& J# F* F2 g
LDA #$03* E" v3 h. U* u( \* C
STA $8000
7 T$ K7 L2 I- \# g PLA/ Z3 Z" R$ _/ R+ ~
STA $8001
. [6 S% m/ x, i& X0 d8 o' } ADC #$01
3 Y! Y% H# @: ?3 c( O: X5 H* R) C PHA
/ ~* V2 T, O3 y+ k. {' h8 I3 Q LDA #$04
& d& {0 ~6 a# P STA $8000
) R# K" V" |7 @& @& J+ M# Z, c l PLA
. G9 J6 E% c3 U; E, w2 N9 {; f, _1 c STA $8001
+ |9 e% r2 e% l3 y. \% Y4 f8 v ADC #$01( B" c9 ]0 a5 P$ h7 p3 z2 ]; w
PHA
0 K# }) R; l. L6 [ LDA #$05
8 s# V/ ?$ n5 q C6 a: b0 ]: C$ w STA $80005 X) b" P/ n( U4 |; g
PLA
4 Q5 M( Y1 F& F9 o, |8 \ STA $8001
* k. o4 R: r# w; [/ N PLA0 v3 L& F& k3 I$ S( H7 h
RTS
. Q- ?# u" V/ F( e& @3 c! m7 t3 ~6 B+ N. H9 F; j* N0 l& S' p
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|