|
|
;[FC][最终任务mapper1切页程序]
" h, u9 G4 S/ z' ] .ORG $CD9B, |' x+ L9 C3 B$ O3 {. P" c6 t& z
BANK_START:
4 _ S: s$ N* D STA $70
& [, o G- O* O1 k: z- @5 I TXA
# I7 {' r1 Y9 @0 M0 f8 R ASL
9 L/ m. n1 @: J; v8 h6 L$ B+ n+ O TAX
. J* p# p) K* f5 `3 W5 O1 @) T$ ~PORT_SET:
' n/ p% e# D8 h LDA BANK_DATA,X
# `% O" U: b7 p5 |8 e$ t. P) K STA $6E
Y" r2 S* ?) g9 A( M LDA $CDB8,X
# r3 {9 y0 H- U6 _ STA $6F
2 R6 e, y2 T1 P6 d LDY #$00
5 \- ]' F% x G- o6 k6 l LDX #$05
" r9 p* a) {9 n- V# \3 ~ LDA $70& ?0 ^, v1 [+ {% @! c
PORT_WRITE:
: j% b& J+ u7 m' ^+ x STA ($6E),Y4 B: n4 d o6 n9 r4 s0 Q+ O7 y
LSR e7 X. j' c9 f" x
DEX' T/ d6 c5 y$ T. U5 Q
BNE PORT_WRITE
m) m1 _1 N7 W* t& E7 H+ R RTS
) [$ j1 w0 V' S8 O$ X4 B% Q
, v, r3 a D1 Y! N: w+ |, }; x
8 ]# y9 @. D6 WBANK_DATA:
& x) W/ b& f* V0 D .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
& O8 @7 z' A4 l8 {' d' G
! o0 @0 K+ L3 J+ b6 k& M6 o% H% Y
; U6 C+ X% r2 S$ F0 o/ d;[FC][最终任务mapper1转mapper4切页程序]
" k) ^; ~+ e! D8 C9 x .ORG $BFD2 ;初始化跳转0 h# h; U/ X5 W2 w( l5 t9 i1 X0 H7 x ?
JSR $FFC05 B, }% g5 w+ b' @! m7 ]
& _1 R! S4 }: L' b% L
. Z) I3 o5 j6 t .ORG $FFC0 ;切页# I6 R) l( Y# `5 D7 `6 v! c! S
LDA #$06
, V4 h+ z: z$ Q STA $8000
, |; v+ p# l3 t+ T5 p7 n9 g LDA #$0E
% c. D& G' d L. Y9 S STA $80011 k5 z- v* N3 p1 T
JSR $8000
0 [) y [8 G J% d" ^5 D RTS
6 E) B) c# M4 B, u& V% u) Y ! i1 ^- r X# H0 S- R
.ORG $8000 ;数据复制( t- S2 ?7 ?" I1 h& M# W" m6 ?5 E
LDA #$80, E$ Q4 D( p& C4 G: X
STA $A001 ;启用SRAM
]2 {- i1 M8 m+ p5 F: a PHA
" O3 F+ W- G u3 K6 t: \7 p TXA+ U( R' z- u. \4 K
PHA
! W) B3 u! S3 O+ ] LDX #$00
6 T& h: |0 S2 T% eDATACOPY: ;数据复制7 ^- F) q% C/ f: D. u) ~/ m
LDA $8100,X9 B/ S' z9 {3 E/ ~( s" s* t
STA $7200,X
4 T* j4 U# Q2 f" w6 b! B INX
! P6 j d0 s! `! }' P. O0 s5 V CPX #$003 _: E1 v/ t' i7 j# v
BNE DATACOPY7 D7 ^- ]" k* w% Q0 G m; p3 n E
PLA
0 s4 \& V7 c6 `% u7 g/ ? TAX% D7 E, V. {% y) h+ A
PLA: \$ x6 j: h1 _* R
RTS
4 Y0 }+ _- o, I. t) Q2 s4 X ' F) ?. H) J( `1 u# w) c
.ORG $CD9B ;跳转到转换的切页程序
4 J! y6 i2 J1 y' l O7 ?& Y STA $70! B8 m6 U* v2 |: u" q0 P3 {
JSR $7200
& f) a0 L, U+ p1 U) L RTS- z$ a2 n2 _2 ~% n# m- n. P
4 |+ D1 @% s& T( j I7 J
.ORG $7300
7 `1 B3 n: q7 m# V. p2 a' zM1_TO_M4: ;切页程序
& P$ a/ P j+ l. P- g, {& c" i1 ^ CPX #$00; i; n, [/ k) @$ A0 F$ E
BEQ REG_SET6 c) | @% Z! h8 p! e5 j
CPX #$01, Y6 h7 e j; d3 A, {
BEQ PPU_BANK_0000! v' N- Z) V' L/ ?9 \) n
CPX #$02- I3 K: I8 @" Y; |
BEQ PPU_BANK_1000* |2 P" d1 `, _2 {0 h- i `
CPX #$03
/ q$ v" N9 G1 f( R5 a h: F BEQ PRG_BANK, h; s8 x( W, v. ~
REG_SET:9 E4 }& p6 i. Q& `- X; U. u! h
STA $A000
: s) N0 a! B& r. ]7 y8 d- {( B RTS5 k) C" ^ [+ n# I& y4 a
.ORG $7320
! C5 s% l" j, r+ ^PRG_BANK: ;PRG切页
( ?" D7 j+ E/ y. L6 R PHA
2 B" X5 j: I& B' Q$ B. @" N/ e6 ] LDA #$06
1 l- u6 s0 t. _/ y: f* D0 {) {% W STA $80007 z6 [6 V/ R& E2 h
PLA
% G# e0 ?8 E$ l ASL
L% o2 M3 ?$ R! h& {# ~* T' I- E2 P STA $8001# b! Q7 y2 I$ n5 \
ORA #$015 O9 E! q& W. d; f
PHA
# k; e [$ k$ M1 w2 G LDA #$07 W f3 ?8 j4 N9 C& B
STA $8000
* p: d/ O9 I2 r% ` PLA
2 m5 \, ^5 X! y( V. L STA $8001
- v/ L. f! K: N9 a RTS
$ o7 v6 U* p7 u9 o$ [3 M .ORG $73400 \; M, f5 h. J
PPU_BANK_0000: ;精灵切页
- O4 b! b) O! k- R7 o PHA
7 t8 x7 b5 G3 [3 x0 t& r ASL
5 }5 G( `. x5 }. k% p6 P( X2 J ASL' }+ C9 P2 l1 R w j
PHA4 i( Z8 x% u1 Z( x
LDA #$00# B3 r& d2 L$ @, U
STA $8000% G* \' w2 h5 a' V
PLA( \0 \6 ~ n1 |3 U/ `1 M
STA $8001( A8 x" X2 `; a) i# _$ o& ?
ADC #$024 c- W: R! o W4 v% I7 i$ x2 K: [
PHA
% D# i% e6 }. {+ {8 w LDA #$010 [# S& d( t" V0 B
STA $8000: m8 L9 `: X1 y0 n
PLA+ r& v2 y, I3 H: A: }* V. v
STA $8001" G* U5 }, B8 ]+ c1 b% S/ J
PLA& c$ S8 i! K! q6 D/ C
RTS. |8 K/ k5 K& ]8 p
4 v. r2 _0 T8 \; d
.ORG $73606 t0 K. z. r! Q
PPU_BANK_1000: ;背景切页
4 N }; }/ L7 a4 N W PHA
' |7 D+ o( m% Z3 A9 `' L1 d V8 p ASL" Q1 W! |% ?# o: o( E
ASL" U) P# @ t- y. |8 V
PHA2 v- T1 J' A5 W2 c$ f4 H
LDA #$02
# u y D4 u, ?( T9 z STA $8000
* S1 |) r* x' l; v% V: ^ PLA
" [' I5 E5 E- N1 c# Y( z STA $8001* Q3 e5 E2 m, G9 U
ADC #$013 A8 ]& w# Y# h) g' s. d" i
PHA6 y6 P1 J7 H! \4 @/ M4 i0 P& G8 M+ v
LDA #$03* X& P+ o! I: n8 B9 J9 K
STA $8000( F) J, \4 t' i* J1 G6 {
PLA
/ b4 }% q( V! T) n STA $80014 Z! X! U6 K1 i& Q' R" i3 r$ i0 s' _
ADC #$01( K8 a, r. Q- f1 m+ v
PHA$ m: W# D1 i% n( z( U
LDA #$04+ o. d' [# p" P" V7 E0 `
STA $8000) _7 `9 |) `1 C5 x/ X. z9 Z+ |" v
PLA3 c S8 {1 j" t' x/ I0 `
STA $80017 ~8 W" n' B9 n, ^ T; _
ADC #$013 \: I0 _$ \7 _! k
PHA# \- O' C; h* t# G# E1 \" e
LDA #$05
; R3 `8 F; Z6 x( S3 i9 ^* t, Y! }* {( N STA $8000
' Y' u/ q( _2 `( |+ ] PLA/ u. b" h t) c% \
STA $80019 B' H5 W: C" t% q6 a, c/ d
PLA
2 @: T" [9 R6 y3 ?1 k RTS
^. v) F @+ k8 L
9 ~( i& c, d0 J3 @0 f" p' f1 _ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|