|
|
;[FC][最终任务mapper1切页程序]/ h ^5 N+ y3 w
.ORG $CD9B( v% b: i8 A1 @& V2 p+ |7 o( b
BANK_START:
8 }' o% R( S! M: w* u( E, @ STA $70
* H1 h' P7 T2 M6 v TXA
; ?: w" P: j; k9 R+ q ASL
4 ^3 V# _! S; L6 E) O$ Z0 b TAX4 n. b m! { O+ I: ]6 S% Y
PORT_SET:' p$ P9 X% u+ m# n4 C) u: F2 ?
LDA BANK_DATA,X/ S* U S/ B# E# i- \3 e
STA $6E
4 j% }- A" M% D% D% V LDA $CDB8,X" O& _% `" B' B2 j% p2 K) ]$ g9 t
STA $6F
i: c( n3 @* v2 A, L. Y0 z" u' v LDY #$00
9 X, G! Y: `6 q: X LDX #$050 _" B2 f, E; }) H1 P
LDA $70( V- \! a& S0 ]) t3 C- f) J
PORT_WRITE:2 {0 {' X9 ?& N' O/ |; m1 L
STA ($6E),Y
4 q/ E( z) @9 n! p- O, p; E$ @- E' e LSR% @8 I" B1 ~# R$ `$ W! }: _
DEX; S8 _' G7 o7 V' z2 I+ O. K
BNE PORT_WRITE- o" ~0 l3 c1 E8 ?7 {3 G f" {# P' C
RTS
9 o# {% y' c; \( l) j7 s
; E0 e# M0 Q! ?0 S v9 B8 L# m o# N# g' F. g7 }2 d
BANK_DATA:* v7 P4 O( G& h( ^( w0 ^, i
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF# C# O# [9 V' V
: A( [% u B n, ^: g5 L6 w
- a+ d. n, C0 q, n( g; B1 q9 s;[FC][最终任务mapper1转mapper4切页程序]
+ v* x6 @* B ~( Z: @7 ]+ k7 } .ORG $BFD2 ;初始化跳转( V! W! n( f, P. j# H& L
JSR $FFC0) H' H e6 W) N3 I4 C, N2 K& ?
* H: I+ v. M/ c* r
+ d. E1 S$ p0 h' e .ORG $FFC0 ;切页+ q& ~ d& j4 P2 a
LDA #$06
' i- m; W3 c6 i1 ? STA $8000
/ F' `$ ?4 a/ L% A% t LDA #$0E
0 n; N$ e. {7 D9 S% a STA $8001
8 i0 t+ _8 m: n5 X8 ` JSR $8000& F% l7 J: `$ R
RTS
' s/ E6 n# }8 a" e/ G / Z3 E5 E5 G- _- q
.ORG $8000 ;数据复制' q ^+ X% w. x7 x7 d) U
LDA #$80
) @; {. D* D5 K6 `$ d STA $A001 ;启用SRAM2 g1 d: v' V- E/ U* K+ w
PHA
& ~) B2 v: {% c3 {' A8 ^ TXA
* x% n8 z% @: N, O( a3 W: T) V PHA
4 B- E3 K5 @# G. F8 s1 t( V0 S LDX #$00
8 {1 d: t: W% G" Y. p' N4 dDATACOPY: ;数据复制; g: g8 D8 O f/ C! e' O9 B
LDA $8100,X* u7 v6 T% Z C \0 _7 {! V
STA $7200,X
* n. Y8 b5 i! }0 v9 j1 L' L$ Q INX4 ~, H) M, K6 m' @( l
CPX #$00
" b% A- ?# C. }( `0 D0 n BNE DATACOPY3 c4 z- |! d7 k6 \ r( ]8 C# E
PLA
# l# m* ?; S2 n0 e3 f s. P TAX# u8 Z" W0 J' n
PLA' V; Q8 l7 U- l* q' B' i
RTS
# J# d2 V, K( r( l/ F2 h 7 {) D7 U- c/ I- L& j/ j) K
.ORG $CD9B ;跳转到转换的切页程序
3 P) i1 g# B, R# z" N; C/ J STA $70# s S& e: f% _, G% [! N* N
JSR $7200
/ R) I h; u& X' n* d RTS, o6 G4 j9 h5 j- w. D: R9 c% [) N
7 \) _) E. S% D( w
.ORG $7300
8 z4 { H+ X$ p+ cM1_TO_M4: ;切页程序+ z4 k/ Z8 R* y
CPX #$00
* I! ]4 q0 @7 K: X e; e% | BEQ REG_SET* t. f! ^( W* Y2 _7 [
CPX #$01% C# ~% K/ d, ^7 A) v% X
BEQ PPU_BANK_0000
$ J! c! E' R* i+ R CPX #$02$ L8 p# k+ q( h; u# n4 g' t9 K
BEQ PPU_BANK_1000
* e& ]2 B- h9 | CPX #$03
% `- }6 j; M! F* x BEQ PRG_BANK
H$ y* o. p, Y, pREG_SET:/ F5 w; i9 J1 c% n
STA $A000
4 X- R0 N, _$ e" h! g2 ^. k RTS
- J# _7 n- V2 H; u& b* a5 \5 @# C .ORG $73202 g& u! j; H- b; E
PRG_BANK: ;PRG切页5 z% W: J% @2 N; z- g7 U" l3 o, d
PHA
1 e! T! E, `6 Z! U LDA #$06
6 ]. b0 z4 T0 K9 m' V STA $8000) k; r) }: Y O* U7 ^. b% E k
PLA$ S+ E( N- b- h5 E4 ?' \
ASL
5 r- d, I. M1 w* r: l5 T2 q STA $8001' Q5 W& K5 O- ?/ y9 o" I5 {
ORA #$01
5 K4 P1 g* [' F PHA* K* J# s- [. x! X
LDA #$07" r" `, ~/ h2 A8 r
STA $8000
# F$ l Y5 v, p8 G# s PLA
2 y" h+ u9 F1 P- t n& h$ v/ e5 V STA $8001# B3 E: Y8 ?$ r, p' ?
RTS- G2 U2 ]. `: ~( Y5 U% G9 `
.ORG $7340
5 H$ }3 N7 o( O9 CPPU_BANK_0000: ;精灵切页( ~0 S4 h1 M4 a4 J+ {. @$ V% J1 E4 r
PHA9 N: S- a% \2 K! i5 b, R2 C( e/ f
ASL% l. I) y# @0 Y; w. P4 K$ t
ASL
1 V: c: k t/ h+ E. [1 F; R PHA; R/ Q4 }" K+ N! |
LDA #$00
# ]. k1 A4 Y* J9 s1 w1 @( b: ?- a STA $80001 L% B3 \1 b3 `) M5 `
PLA3 j' W( o. Z) I0 h
STA $8001
* Z f' l. v3 M) e& e/ j8 H ADC #$02
8 X1 Z o5 A" I& q6 A PHA- \$ r" B. B% L0 }$ _/ r7 q1 {
LDA #$01, t& p ?% v4 Z# X4 }
STA $80009 G" u* q" J4 L& @
PLA
! @. x& _9 C+ t; { STA $80015 b7 h/ L" |" u9 b- \ f! f: M+ A' s
PLA
3 M% J5 Q) x9 i$ a8 q: ?) d5 H; |5 Q0 Y7 k RTS6 L5 D. f+ j+ Z6 Z! B* ]
) d' p8 ~2 h! V. o$ A$ @ .ORG $7360% y e6 H, ~& A9 k- M9 {
PPU_BANK_1000: ;背景切页
& Q+ w) X* U+ `1 Y( X2 r PHA8 f' J4 x) u2 s, g
ASL3 F8 k7 A4 i* I& [7 C6 R' q9 [
ASL* I- g7 J2 j4 S0 Q3 _3 k
PHA
2 s7 M" i/ I$ X4 K2 o) Y+ u8 y$ E LDA #$02
3 ]5 M9 Q0 C1 r7 C9 A STA $8000- A: v6 m( O/ w2 g9 g, C; A1 L+ Y' s9 k
PLA
$ s( u- C$ s% k6 A$ d% q( v, U STA $8001
0 N* @. W Z8 |! B Q z ADC #$01( z2 O, [" B6 p4 j& M
PHA: B# h5 G0 |# O: W+ a- P2 e/ f
LDA #$03
1 }' S- X" r8 L0 x7 K% K STA $8000
d4 s- a. S, D# H c3 z5 Z2 z PLA
& e7 t4 y) ^+ L& o$ P5 w! j STA $8001
4 L% P1 V' ^/ c3 G ADC #$01
8 [ y# x5 g/ ?1 v$ \% f PHA
6 N) h$ c$ k/ a; P- @. t LDA #$04
6 L! X: Q! ?: t$ n- y STA $8000
' P" m* ^1 Q% ~5 k5 e& S) t0 ]& ? PLA
9 X3 N& ^1 Q6 h' X STA $8001
9 ^# u) d) _# F, J# { ADC #$01
/ J- V$ l' D5 Q1 W/ E PHA$ [8 G1 k. X2 k
LDA #$05
) M( Q& Y7 t4 \6 m" w STA $8000& Y) s( ` g" m3 x
PLA5 v+ S- k0 X' o) _
STA $80017 x: {0 _# r. l) F+ G$ C0 K: U* k
PLA
4 f2 J5 U- Q6 ]% `' a5 n* Z RTS1 O( a2 S+ x. R; {2 P; t/ J
' q. Z( L0 d; D' o& p8 b4 e
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|