|
|
;[FC][最终任务mapper1切页程序]% f: y3 C6 g: P
.ORG $CD9B
1 \1 ~6 g) ~ PBANK_START:7 e, `& Y* l1 G9 E G
STA $70- e7 v) n6 H2 z' q2 u! {
TXA8 v0 x( k" k% c& @8 U
ASL" ~# q) ^: e6 Y
TAX
. Q6 o' o+ ?) |% kPORT_SET:
: P. [! }% ?$ `) s: w LDA BANK_DATA,X' U2 |9 w; W, j' @
STA $6E* e5 [- `0 f1 @
LDA $CDB8,X( j9 h+ N( y3 v
STA $6F, x6 [' m8 J- `" A/ D* e/ ^" ~
LDY #$00; f5 O+ M6 z3 B% I$ e
LDX #$05: ~0 s/ B2 R* Q# a; T
LDA $70
, ~8 V' w3 e$ m8 T# n( rPORT_WRITE:
0 @5 L. B7 S# y0 W# N STA ($6E),Y
' B0 r' A1 p" X" Z0 } {8 k LSR
% \: r3 F' u" o DEX8 V5 q p9 _1 y4 B3 |7 V
BNE PORT_WRITE* c/ B( Y% @& \+ |
RTS
) ^: p' v$ {2 Y! v) ~" Q/ ^) j $ y; i+ |. i' c9 f: m
, ~* P& k* {5 h+ g+ r( qBANK_DATA:
8 m+ h3 H; F: y7 g. x .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF7 j6 l M; u# p6 j/ o
- |0 Q7 b$ S: |6 `: w. E$ d; h2 a
( Z g# x) L+ V;[FC][最终任务mapper1转mapper4切页程序]
- k/ ^* s1 [+ w; _! ~3 }( n: Z .ORG $BFD2 ;初始化跳转( e0 ]9 I2 n. L+ x# m
JSR $FFC0
& o2 {! ~0 w% i$ [4 H+ b! l
" }! Z# L# O0 {! q2 S6 @ h* a# \4 v3 j3 i( I$ {+ V
.ORG $FFC0 ;切页5 z5 }' x6 x, m ^% P2 I# [
LDA #$06
& X, n0 w0 t. F8 m" _4 I STA $8000
, J, h4 [4 n; n0 W2 g LDA #$0E
" ?1 Z8 ]1 h! j, f STA $80018 R& O( d7 O9 [/ `
JSR $8000
9 ~. r, r. c9 w RTS 8 x3 F4 i2 G i) ~ J; Y+ U: q
/ p2 m, f1 e# \; H+ B, l
.ORG $8000 ;数据复制
( }# T# D* e0 y$ _1 s( ? LDA #$80
- j% L, O% l' \, I* x: f STA $A001 ;启用SRAM) t/ B. V/ m& ~$ v$ ]
PHA% |- F' a2 P6 I$ r
TXA* B: } S7 h9 x7 V9 l- o/ N
PHA0 i+ t* ]# I. \8 U. X
LDX #$00
! b+ K2 s" l& K. @' B# V4 [DATACOPY: ;数据复制
- H6 p, g" _' e0 h LDA $8100,X
) z& O3 K' E9 j2 L: f STA $7200,X' ~6 T" ]1 t% k3 t D
INX5 S/ g6 i, m( j; m
CPX #$00
2 {7 ~ d# K: e# x BNE DATACOPY
0 j0 D0 w, G* D2 [$ E2 q, a) j$ n' _ PLA
, n% ]. X- s( z& m, E- M8 s" _ TAX
# Z: q4 k6 I6 J8 u PLA' y5 r9 t3 ?! }) P2 s
RTS
; u1 u% t+ O# |1 A5 ?6 c$ g
4 Q! ?2 n" G" } .ORG $CD9B ;跳转到转换的切页程序
& [. g! N! C- |% `: ?; K# }+ | STA $70* d7 b/ B; Z' r2 G; _
JSR $7200
$ Z: b/ L) }; Z: f6 T" \- e5 ?0 m RTS, ]/ c6 j/ ?# h8 X, r) I4 q
K1 ~4 U# v- u4 o0 K. v! {7 K& S .ORG $7300
/ N4 o- W. ?- `; C; ZM1_TO_M4: ;切页程序
8 u1 _) d! @1 `* ? B CPX #$009 U! y% R* |& U. c) P& `1 @
BEQ REG_SET" @4 C, @. S- o, p# _. w' Q K
CPX #$016 M+ s6 O. o- E$ o8 f
BEQ PPU_BANK_0000
' t) S% A; N4 U3 S CPX #$02
0 o4 M0 i! m4 e3 b9 T, v: ` BEQ PPU_BANK_1000
4 k& u7 ]2 D: g) |, i5 H CPX #$03& w! h% L) I+ E- _- d
BEQ PRG_BANK
( \. ^+ n1 p8 B: q2 Z2 g+ h" u/ hREG_SET:8 Y9 }; Q9 j" x; q5 b7 i
STA $A000. B% U% h8 B4 R1 b# w" l0 ]
RTS
9 X- R2 G( D5 B. n .ORG $7320
* Y4 n) I% M! X6 n) c+ j9 W2 gPRG_BANK: ;PRG切页
. l/ t. c0 E. D' n PHA
, E! O' W, p1 ]/ z' i0 F) s ^3 T& c* ? LDA #$069 X( b5 w: t; ?' C; _
STA $8000- O9 o' o+ N5 c9 b- b& L9 R
PLA
7 I: q# c2 y) O3 F ASL2 \8 @, q2 q ?" F) Y
STA $8001
6 C, f) c- [4 {* R ORA #$017 z$ e( Z$ c7 t. y# j0 J
PHA
' Q9 L, R I5 V! Q" P3 a LDA #$075 B, K$ I$ T8 |7 [4 `4 N
STA $8000
: g7 K8 |/ i5 M% h5 W; W# N PLA! u8 |9 L6 F! O/ ]4 D0 b. y
STA $8001; H- M7 E I; L7 A
RTS
* P* F. M+ |2 a2 X6 D& _, i .ORG $7340
5 H# p+ N& [ W; k6 ~! I4 ~PPU_BANK_0000: ;精灵切页6 [5 a6 \ M* y0 d9 P
PHA) R3 N4 z, |# o, Q6 F/ f$ B
ASL
5 J N3 H2 i6 f9 m w ASL
1 S8 T" K# r4 M PHA
$ c" l7 C) q/ B5 T4 I# N LDA #$00
: l! x$ m& l- v( X. i# ~4 S STA $8000" p+ l+ ?! z: s
PLA2 W ~, `* `7 u. N( E4 }
STA $8001
0 {2 `1 C& t' K% n/ F ADC #$02! z1 s; d: R8 V
PHA8 d% O# ^3 ?: M$ f8 A m
LDA #$01
5 K5 D7 b; s' s6 c/ I& a STA $8000
3 L: }. B' h1 l/ ?' j PLA$ q9 o" U, I: x3 w( W0 m. t; |
STA $8001
* f6 s/ t8 s8 i PLA
2 n# B4 J4 G: i1 [3 X' I RTS
5 E( {4 b( D8 A! Q, c& o
4 m5 g- V" L' c1 A1 s1 ?4 K% b! s8 } .ORG $7360
% O+ C# b1 r6 u( }4 Q1 p! w4 bPPU_BANK_1000: ;背景切页
- w+ i: v: { n2 Q s- K PHA+ Y3 z7 C( X, `/ ]7 W i
ASL! k- n0 v& o0 o3 S" l
ASL' s, N% h+ D% `7 s1 g
PHA
& Y* c2 R( v; v0 G G. @ LDA #$02
) b; m/ H' c' p, w1 _ STA $8000* a9 b6 Z+ m9 w3 L. \
PLA3 E+ e0 q+ _: v3 Z3 d
STA $8001( B6 E* V' a# K4 i. _) n) A
ADC #$01
: Z9 z: e3 W9 G- N1 b( n PHA
: }" z1 J0 H5 i8 T LDA #$03
2 L [# _# T+ j! v$ x, n STA $8000
; G' P+ T% _& N) y8 w PLA
( Z7 o9 s$ t7 { STA $8001
; @) S# `; n1 r2 V$ ]* i7 [ ADC #$01
' L6 z' A7 e( }5 H. p, d- u PHA
+ z' n' [8 \% A4 h LDA #$044 S. g) t# Q" H, J/ \3 I! P
STA $8000
/ T& _. ]2 i: [) A t, A( b PLA- l% n: X+ r0 P+ ?0 G( x7 S
STA $80014 S- X0 a3 k2 a. N* I; H
ADC #$013 v& o5 p4 i! E& d4 M1 X
PHA
5 V* e( D# C. U/ r- U# o LDA #$05
6 b& v% ?$ x) R" W STA $8000
: T( i2 E) K% P" w PLA* n7 |0 z3 J+ r; R- r
STA $8001. N6 n. P$ b" ^' i% \6 L$ |6 q j+ S
PLA0 T# e+ _, w, d4 R2 k
RTS
" ? `" ?* @% i( R! Q
0 }7 b2 e" X6 \3 L. | |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|