|
|
;[FC][最终任务mapper1切页程序]
3 G% P* |* |4 E7 U8 R; R .ORG $CD9B" C; l4 ~3 r S {4 K( E- [& ~
BANK_START:
( e" g3 _. t K+ F8 r' _8 j STA $70
2 S+ n* u) T3 [- Q0 o TXA; g- X3 S) F0 h: x+ B! y
ASL
4 t7 H7 e) {& G5 { TAX
2 k# J' q6 e$ d& Y8 x6 e; QPORT_SET:# ^/ k) s3 c7 {: y3 V) ^! O8 t
LDA BANK_DATA,X
- b% U$ s: d' X, Y" B STA $6E! E$ Q0 t* H1 i
LDA $CDB8,X9 P# m% |0 N- t. _/ ^/ N
STA $6F
; n( k: W5 Q3 B+ k% _ LDY #$00* E- v. i8 L0 ?0 P( c9 |
LDX #$05$ H b# `- Q5 ?
LDA $70
8 T" S/ Y C& ]5 @& L- W* R# IPORT_WRITE:
! J* |0 o& T: `$ a3 z ` STA ($6E),Y) z8 u! ]+ s( C! p( u: m
LSR1 C! k& d. Z( R; {
DEX% J& R3 \( m, o; G( h& N
BNE PORT_WRITE
$ I% S2 `9 S* W, m+ n$ f RTS5 e3 j5 B6 T) \1 p
2 `$ F1 n) R; T9 C$ k; P! { : ~; f V8 C2 E; f# `: s
BANK_DATA:
; t' s6 W+ ?9 m, O7 e .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF) w$ t2 K( G/ g. q0 {
7 H1 n, }. k' {9 G- d
3 y* K( h/ M6 q8 p8 J2 q8 ~;[FC][最终任务mapper1转mapper4切页程序]" [* u A$ Y9 `/ V" G6 h; x+ i; P
.ORG $BFD2 ;初始化跳转/ K( @* D5 Z+ e ?. C4 G
JSR $FFC0
- E% N4 \( @ E3 B v* C' R0 f, ]; i( N2 [- K
; b1 _7 r0 R7 W) L6 l* K3 }
.ORG $FFC0 ;切页
# M' Z0 B1 o2 d1 T a LDA #$06
# o9 \0 O& q0 p( ^ STA $8000
( |3 Q3 v- A, t: M: v: U$ u4 o8 S LDA #$0E
# H$ M7 j! \4 w- ]: _ STA $80016 V* r- ~: f d, O" o1 b
JSR $8000
7 A* u1 H5 x. d% G, u1 K RTS 2 S* P* v8 t, ]
7 N' h# J6 A7 F* a& y0 i .ORG $8000 ;数据复制
5 X: ]& S& |1 a) w LDA #$80
1 |/ R, M H* G/ A9 \8 G0 z STA $A001 ;启用SRAM3 l" i0 q4 o$ `
PHA3 |# o4 H F4 {7 Q1 K2 X
TXA J# l d, L1 V
PHA7 h* a! U# r: H4 I+ k; z: \$ g
LDX #$00
# ^6 ~/ z) J; E( f; R4 _( dDATACOPY: ;数据复制; ^ `% S: Q, {4 E8 r/ T2 V
LDA $8100,X
( b$ m' t) U! B. s STA $7200,X
4 X1 a# }" S- J$ f% n INX7 S4 R& A; g6 d: z
CPX #$00
0 Q, G- d0 f5 S: o& {1 _3 e3 D BNE DATACOPY1 C' E/ _5 K* C, n
PLA
/ x! L/ j- k' R1 R% X0 h TAX
0 h A7 x3 {6 O2 `! { PLA
" A7 Z* s( A& p' H0 \! {% t. T RTS
( i* s2 |7 |0 y7 ?$ x3 J
, y$ p% b6 Z! K+ r4 e% u .ORG $CD9B ;跳转到转换的切页程序1 G2 A8 J0 c9 a
STA $70, Y7 c3 R) S# n
JSR $7200) C& S8 r" r9 E; q) T" Y& x
RTS
- w( M) K+ t- D+ i# ?9 u3 m ; |( x& U. ~ |9 B0 X; u% X
.ORG $7300, P( \) ? t# `+ `! y% w2 Z
M1_TO_M4: ;切页程序/ u' v1 _4 U& e$ ^
CPX #$00" W6 }! o p- v y8 T2 x
BEQ REG_SET
9 k: e0 x* [6 A3 {' F' W$ ` CPX #$01
" A/ x, @; h+ R BEQ PPU_BANK_0000 r7 Y8 @+ N2 f- ~/ e
CPX #$02
3 g1 y3 u1 H/ p/ c BEQ PPU_BANK_10001 ?0 p! o" |6 W( B
CPX #$03
8 B- g: g8 h2 ~* O+ D8 P6 m" ] BEQ PRG_BANK& {4 D; {' u5 D% c# E8 x, P! j
REG_SET:1 E6 x* A2 _) r) |. ]
STA $A0006 i7 m0 }* W& Z0 l+ y- w ]" Q
RTS5 n0 Z u' X+ P$ `' `4 f
.ORG $73208 ^, ^/ f- K A
PRG_BANK: ;PRG切页
+ v3 h, P8 N3 S' s" y/ L) I PHA: C3 X7 O0 v- R' q0 @
LDA #$063 I# Q; t4 p: I) E7 Y
STA $8000
& K6 @8 d; q9 ?$ a1 S8 U7 A' q PLA
; g/ b+ a1 i2 D# J6 R, s ASL
8 C, W" }- U: Z/ n0 L. W3 r STA $8001& v& d1 e8 j+ N
ORA #$01/ x6 }5 _$ y3 \
PHA- X A) @; _. |& {) o2 f
LDA #$078 i e. f7 k; {6 c+ e
STA $8000$ E; R2 y- T8 u8 J
PLA: ~3 [3 j) ?& E* D! [
STA $8001
$ j; k3 `: a7 C0 d! ]: \1 t2 h RTS
' i8 a% l- V! T0 V! O( p .ORG $7340
6 \- } Z: ~6 s/ p e W3 ]PPU_BANK_0000: ;精灵切页7 y' r5 J6 {/ ^5 D2 Y4 `
PHA
! n4 g. u% R' U& A4 G ASL
3 I4 D1 q/ F) v( z ASL
7 C# N" c6 g- `* ?% [% D/ X PHA
2 s4 K7 \% y9 M3 H% {" b# u! J LDA #$00
' K+ D+ t3 e% ? B STA $8000
1 C2 y( `! D4 s* e" ] PLA$ Y9 B: B9 G, H% }$ T9 x9 m/ G
STA $8001
5 p" B0 n# J: x5 Z3 G ADC #$02* q e' ^0 t* {; `. Y% l
PHA2 _. \9 U( Z2 J# `4 e* B* r+ O6 _
LDA #$01+ B/ m. e2 ~& v0 T! p9 ~
STA $8000
3 b( D* A {' v ^. X {3 d& u PLA
7 K$ s3 j. h9 W2 I STA $8001
9 P8 ~7 P* ]: `' J/ R/ U PLA
% Z, B; y7 j) m! c6 T5 V RTS; j% O# l x' M2 W5 B# L6 A
$ h" _/ f- M( f6 H# G/ c" L .ORG $73606 n9 s% _* H2 `9 M! W' E
PPU_BANK_1000: ;背景切页
" W2 z" w/ J3 W6 V, R$ X$ F: \ PHA
2 S5 r5 ^1 w* W. l8 _ ASL
: x& ~$ Z4 Q8 r$ a# v) z" u& i& I ASL' E7 l; s* O% C( }3 G6 d4 V
PHA
7 h9 c, W- Y* _2 B& l LDA #$02
- k |3 ?% f- u+ `8 h STA $8000+ I# Z/ i" |/ D4 V1 A y
PLA Q" h) L, @2 u4 ~
STA $8001) h1 v' C. w/ A* f1 H) D
ADC #$018 W+ |# ]1 f" K$ n" b
PHA4 e$ U. L F* V4 D! E+ H
LDA #$03
, Q8 U' k) ?4 ], G STA $8000
0 [) s* n$ c: c: A; s PLA0 O% t& b) y4 ]! Z
STA $8001
3 G' E% Z: ~& N3 x1 R# D ADC #$01" t: z/ D7 U, H) _: b
PHA6 e. h4 \6 N. [: x/ \0 C* q4 r
LDA #$04" f6 O$ ^+ a0 v1 V
STA $8000
3 q2 D8 a4 {# z. X8 s/ D2 W PLA: L7 X! D2 L6 R# P% n' H
STA $8001
+ |' l: M6 ~8 s: W8 q+ K/ \ ADC #$01
- I5 r( \1 M) K0 T PHA
; A( H0 y; L3 u$ I LDA #$05+ n5 B2 x8 K* E& x9 D' |
STA $8000
- o/ M9 m, [9 {& o( B PLA
: B, P' `7 Q |+ z( p( w+ A STA $8001 @: n) Y1 U- h, ]4 A# j$ ?
PLA @& I& C7 Q$ v7 c3 T( C- Z" r
RTS
$ c- ~2 A J/ k1 W' C. T. o# B5 P( \3 ?0 |
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|