|
;[FC][最终任务mapper1切页程序]
$ Q, E9 J: S* K& i .ORG $CD9B% w# L+ C$ g( \) T) G* v1 w6 n2 }
BANK_START:
5 ~0 F# ~; l+ b STA $705 Z7 Q% k4 K& H% F* k
TXA
3 X3 a. l5 _; P9 I+ Q ASL! P3 m9 h0 D' P: I# n
TAX
9 r" P# _- w1 s+ kPORT_SET:* K1 \' A: j4 t* H" ~
LDA BANK_DATA,X
$ }* Y& H ]; P- Z; u STA $6E
8 n8 g5 K+ w' n1 ]5 i' s LDA $CDB8,X
' M7 Z& b/ X1 G STA $6F' @1 W1 S5 r% ^- Y
LDY #$001 x4 F) N3 U4 p. l
LDX #$05
) w2 C! m# u" v0 b LDA $70
) y4 }5 \' F- N# W6 fPORT_WRITE:# y% o* k. `+ @6 P
STA ($6E),Y4 U8 f* R6 [0 I% d
LSR) P# H+ T* x4 h. H; E
DEX
( m& k5 Y: N* W BNE PORT_WRITE$ |. M, @! `3 N4 k
RTS
. O% a3 w4 Y6 \$ C " ^3 }# z+ {. R* @6 j2 K. e
/ [ D: c* c, {8 E+ A, h- K
BANK_DATA:
; c) e1 [6 m2 x3 d .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
# p1 R0 G8 Z$ v2 Y: M % Q1 R& Z, J M/ H6 u) H [0 j
l, O9 b: d! z: {6 i;[FC][最终任务mapper1转mapper4切页程序]
& H- s! p) d5 X .ORG $BFD2 ;初始化跳转
+ B; t2 _2 ?* N JSR $FFC0# x& m* g9 b0 k0 n1 E
) |/ M: z: R9 Z1 {+ B
* M9 K; b# e A1 D7 E8 }/ `9 S" R
.ORG $FFC0 ;切页! v+ i1 l7 ^4 ?5 b9 h
LDA #$06) X) _& m3 J, J! s. Z; j! V9 K5 T
STA $80007 a) s; C0 V+ l" ^+ N: m
LDA #$0E
( V: S8 N M+ C7 E3 R STA $8001
3 x7 g0 H$ m Y; }3 l& ~" x JSR $8000
, ?' S R) F9 j- c RTS d6 Z, d3 }9 @& I9 d7 S) k. J
: I, x9 F- c$ J( O$ I5 R A2 q( y .ORG $8000 ;数据复制" a, y* p6 t9 H
LDA #$801 y3 `: i( V/ Y! P _, L
STA $A001 ;启用SRAM# g1 S3 J* k0 m% F5 s+ O
PHA
! s' [+ G1 ^+ g, |9 R @: F TXA
5 J1 o2 n% j# e# d% i" h f PHA6 y3 p# ]% w* j$ a( W
LDX #$00
7 U' p9 I" t, k, [DATACOPY: ;数据复制( b1 @! [& o. X
LDA $8100,X$ F6 ^+ ?/ h d0 ^5 l. K6 P! r
STA $7200,X2 D4 m- x1 m$ R! x( b' v% N, e: w S
INX) f9 [, | `, _- b+ A
CPX #$00
; l# j( S$ x& o BNE DATACOPY
3 A) C9 P* `! v# C5 l PLA1 x$ W& M1 w2 \, l2 D% F/ G; g
TAX5 B6 u0 E1 v; X" p9 i, H
PLA4 m" S0 N5 J0 {) v/ Y+ K
RTS+ S8 F: L* k3 b7 m
: d! n; P6 N. ^! }' T% D3 ?
.ORG $CD9B ;跳转到转换的切页程序* J& F: z7 b+ S: j% x7 H
STA $70: V" f7 o3 G0 D
JSR $7200
, ]% }' l" }7 B) m RTS
, D5 W0 |( n3 [5 y( B( ?# Z& E" a
: d7 S! Q% N$ i# u .ORG $7300
0 O5 j) S0 l* X# H" HM1_TO_M4: ;切页程序7 g3 }2 S4 `7 G w" N( W7 c
CPX #$000 m6 Q2 r% n# n" t* j/ h2 S2 D- E' J
BEQ REG_SET \7 [6 z1 q- R
CPX #$01
- Z2 u& s$ U ^( s BEQ PPU_BANK_0000$ Q8 q8 [6 ]) q, G c
CPX #$02) ]4 M/ O) i+ J& W8 d$ l
BEQ PPU_BANK_1000; a! u9 |! r3 J" ?6 e$ R# Q
CPX #$03 h2 S1 d H8 r7 O" U
BEQ PRG_BANK9 ]" z+ F& L) _, ]
REG_SET:
% v9 |8 q9 I3 q9 ~0 V4 m7 g STA $A000
( f0 t! D, w2 D2 d( g$ M RTS" S$ G8 W' d4 N
.ORG $7320$ v4 {! H+ l% |8 B+ _9 k- p
PRG_BANK: ;PRG切页
6 j7 m! N( e. y- Q- ^/ P P+ S4 E PHA4 `/ Q1 |* C( L* R6 n8 t
LDA #$06/ C9 P! m0 y0 m; B: d
STA $8000
: @8 n0 c6 P; G; i8 R PLA- @- k9 {& D" S3 ?- J5 k- |
ASL5 z5 u. @; U6 Z
STA $8001
0 m; \/ d: d; l0 s+ s5 l2 ^ ORA #$01& _5 K2 c; ]$ a/ g- e
PHA* F8 z' ^; x7 ^$ P. M8 W9 l
LDA #$075 f7 a6 n# ] ?; \% B; L+ D" D e# N, r
STA $8000) ~# c, c4 R# {1 w2 _, `8 B# u
PLA
1 ]$ K3 S# r+ e% A1 M% ?( V2 x ^ STA $8001
6 s9 x& b. Y- l/ { K RTS
3 m8 m$ g! U6 e$ f$ o8 D9 h$ T .ORG $7340
8 ]1 i% Z S( I5 Q6 M% LPPU_BANK_0000: ;精灵切页0 ^0 m; i5 G! q7 x% ]8 V; w
PHA
- ]3 s9 x+ O6 V; a, s* O& o ASL
4 C" \1 F1 r/ U0 L ASL/ c# L$ G% g! G3 _0 v; ~; u: V
PHA. x% D/ M G8 D m' g2 t
LDA #$008 j% D4 n6 ]4 Y0 n3 q% t- k
STA $8000# l c5 K$ Q, R8 B; L
PLA
. C, l, E1 s3 v( L STA $8001, A5 H* @% o* M# f/ O; |% j. Z6 G7 C
ADC #$02% x' U, H% f, N& i1 \
PHA2 { p8 t# }9 K! Y7 T# L
LDA #$01/ }8 I4 t7 W9 J# _! z
STA $80009 j9 Q) E% h; Y b
PLA
0 Y S& M$ {) t0 M+ C" Y' S0 N STA $80014 M; j- l0 q; _' h/ b% o
PLA
* C4 e! z* W1 Q; W% @ RTS- P" {/ B4 @* M) ?8 P
- C) c* L" o$ F .ORG $7360) G- s; U% S j; r1 A( t+ P
PPU_BANK_1000: ;背景切页
7 q# r, R1 D: x PHA
# a9 [( p# z( ]3 Y) d3 ?. }. K ASL
# \* M7 f3 E3 G' Y( J: G. l# u ASL( }. {, _# O& G' u
PHA5 P' S- P& c# M) A2 H7 x
LDA #$02 x- Y ^0 {; H( S
STA $80008 W/ U. H T; l/ r% R
PLA- t; u/ y: x; P, ^& h( \
STA $8001
5 p' O4 o3 o6 u7 D. v+ h8 y ADC #$01
! W1 U3 T8 Q9 b: H" z$ [" `* H PHA6 l+ q/ {5 B( g& a) ^
LDA #$037 Y' x; H( }+ K. c" k
STA $80000 q0 D* {1 ?4 ^6 W
PLA# E x" r" j( ^/ l1 u# `
STA $80019 Y* r: m+ `1 l8 m* U
ADC #$01
& B; g" o$ \) C" [& J PHA0 r: f: s# V" |$ Q( {) ~5 X/ v
LDA #$04
$ C2 k+ s3 q' a/ Z2 z* o6 U [8 v* e STA $8000& M4 _6 |; @. E
PLA" _+ C5 x2 |- \0 Y
STA $80014 B9 A2 s) K" P; W( K. G
ADC #$01( H) V/ j/ A5 j+ w- \
PHA% x T; m9 U, q9 J4 U0 d) B
LDA #$05+ u5 ^4 z: U. Y" \. I! C
STA $8000/ K$ F$ P. B4 y. H# W
PLA
- g2 G7 p8 _, f2 X2 w STA $80015 q9 L1 v# \9 U
PLA! v6 ^/ o) h! S8 p% Q$ m" I
RTS
1 E/ ]8 w2 C: M4 Q. \8 B3 Q2 }' L9 B. x( X7 `# \ u, J
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|