|
|
;[FC][最终任务mapper1切页程序]
, m- z% A% L' r .ORG $CD9B
1 s. h$ d6 Y$ f& a7 LBANK_START:; P Q1 T" s) A) V7 `& M
STA $70+ r2 Q% x" h( o3 m& B
TXA
% U4 c9 G" d# n# z4 Z8 D9 e/ P$ ^ ^ ASL' p4 |. V' y" ]' J5 `3 {" {3 u
TAX
, U8 h( n( P0 T7 u* @PORT_SET:
2 o& T( |6 f) B' B2 l LDA BANK_DATA,X( q [8 U _* X @- y2 D m
STA $6E
/ u2 F; K. d; O9 V LDA $CDB8,X& ]2 h5 X. ]: K
STA $6F
N$ E4 X/ y9 ]) J- c& g LDY #$00
8 D5 z7 `" n5 D* l$ l6 r9 \ LDX #$05
! l7 d% Z- s0 b5 K, ? LDA $70
6 A9 ^: b% X. m+ u8 F. M2 `PORT_WRITE:6 Y3 @) M0 i0 D4 x# L. r' p
STA ($6E),Y a) \6 k* N: A/ @% i! ^/ {( s4 v
LSR! x1 Y4 M! h0 I- F8 f( P
DEX
; A; D# l, n4 e5 R) B BNE PORT_WRITE
4 R% ?7 k4 O, X$ D7 }+ ~% g RTS
6 E7 ^$ [. {+ Z; j- T% H
! ]0 y7 z$ n1 s
9 Z: ?5 ]9 Q0 z1 U7 jBANK_DATA:! l; j" A: r; w; y1 d
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
* t4 n0 n) X& h- s ) Z% U' o5 A! T+ i
5 h5 s5 o0 t" A6 {* Q
;[FC][最终任务mapper1转mapper4切页程序]0 a: n" w, l2 h8 [
.ORG $BFD2 ;初始化跳转
) P0 x v- R+ X; Q. t4 W% m JSR $FFC0# x) x# Y1 F& O1 {, U" z
) B% K& C! Y! n
" X% E, J% e+ Q- O7 b# b
.ORG $FFC0 ;切页! E, E+ t) P+ F/ n
LDA #$06
4 V/ {1 S- c0 f. ]- M STA $80000 F. W8 ^, b, r. Y) m& `
LDA #$0E
\7 o! U+ H7 s STA $8001- ?! i) _* h7 V- B; [. E" x
JSR $8000; Y1 |3 t3 Z' q' h2 N% L! \
RTS
/ a( }4 q0 s Z" L' C3 A% h* k; F ; M6 I& [0 X8 Y! @# w4 J# D8 ] o
.ORG $8000 ;数据复制
7 |# }# P( \/ Y: [# W- f0 N LDA #$80) e( `/ N8 C5 Y# h
STA $A001 ;启用SRAM6 O* K7 E( B- d4 ]) H+ e, `
PHA
A1 e1 u, D0 |0 b0 D! u TXA
9 e7 N& u* C9 f; _8 }! E PHA
; A# c) \/ g% ^) n1 D! j1 I LDX #$00
. R( F# s# d3 N0 s* nDATACOPY: ;数据复制
$ I9 n0 `3 G) n" X- O6 Y LDA $8100,X; q8 [( x* @2 R
STA $7200,X
: ^& Q; Y3 [+ X/ O8 _6 x INX
! D' P: S- f9 x% F3 \ CPX #$00 ?# c5 O/ b. _
BNE DATACOPY) e) F3 A2 X% z5 Y9 H+ N6 g4 O
PLA/ P0 \2 `( {# l) I8 V
TAX
& B, Y; P" Y( G2 H! R' i PLA, q0 ?, G' u, T% O4 v
RTS
& r# X) E- \2 ~4 x% z N2 c/ o! `5 m
.ORG $CD9B ;跳转到转换的切页程序
3 r" Y( D; f" v* K9 r' ~! H; \: Y, N STA $706 h& ^# C& j# x H( [+ ^8 n8 Q
JSR $72009 o; U: _' \" N: s8 E
RTS
8 `2 q: E3 i5 J) n/ d5 r 2 U' E3 i! v3 Z( D5 `0 d) m# {
.ORG $7300
% ~6 e S) Q: w8 {" Q5 y( zM1_TO_M4: ;切页程序4 x) X* r1 {' z9 h; D$ G, Q
CPX #$00
! A" H+ c B" _# I+ {- F; m BEQ REG_SET6 l/ V. n4 V- s {1 W; \
CPX #$015 t) j4 j% P4 b" C% E
BEQ PPU_BANK_0000
( G: m2 f. T7 X6 S CPX #$02% l* _! V" p* K& E
BEQ PPU_BANK_1000
5 F, j8 C U) l9 | CPX #$03
- V7 D) y/ U8 ]0 L BEQ PRG_BANK
% w* o9 Z/ P* Q4 A! \8 g6 [1 tREG_SET:
. S. d$ }; ~# k5 G) r# |7 z STA $A0001 e0 c) I* i' C, ?. n* P+ w7 l
RTS2 {' p% @7 B+ u2 P3 S7 Y2 x
.ORG $7320, T3 }" Y" {2 i0 c i" H+ ]
PRG_BANK: ;PRG切页7 J! i( [( B& ?7 A: V& i9 I
PHA
, G& G$ K6 w B( Q. Y LDA #$06! g: {' L, f8 n% M% _% u
STA $8000
9 o P! ?; b) i& _3 E% e/ A6 @; i PLA
( N, j. g6 A e% B ASL
& j8 ?7 Z- m0 u: h7 l# g2 T6 O STA $8001* P) n% j% W- I# t
ORA #$01# x% H' \* v. X
PHA6 j' j) d h0 s% N. `) K
LDA #$07
1 x$ |% Z7 y, y1 k) ^. _) _3 A5 r" w STA $8000% c: }5 w* K# q& |8 T
PLA2 \9 T3 h6 Z; P$ E1 e; ?" k, }
STA $8001- I* \* h9 h! U
RTS) @6 l i" o5 L' Y7 ^
.ORG $7340: Z# Z. Q& }5 O
PPU_BANK_0000: ;精灵切页9 ^0 c5 R* A: ]6 t# J* m
PHA
8 N# a; p ^3 h2 N) O9 x4 U ASL
1 n1 J( D; I% U9 f ASL
. \* P* q2 l. Y2 y PHA
4 T' M$ v9 Z( b' I1 w3 c; _ w LDA #$00! i& V% Q8 H: O) Q
STA $80005 b7 ]+ y0 [9 ]9 Z Z" }+ d
PLA- y% F7 e$ i. Q# e$ w, M } U c
STA $8001
# {- X4 Z$ T" q; z0 P7 g) y& x5 p0 g ADC #$024 V, l- p* ^/ v. q- X, y a
PHA
7 m Q: l0 J3 v* r1 I: C2 G LDA #$01
; H r' T' b+ C STA $8000
. K" P# P2 b+ p( u2 \; W PLA, Z& N# m! |. ^* |+ }
STA $80016 ^% a K3 o0 j, q' D
PLA
+ @# l/ E1 N8 j: d RTS) `/ e( G" w! X* U
9 @ _+ N$ y+ A* o& Q" u
.ORG $7360
: F9 j/ u# x# K D R" JPPU_BANK_1000: ;背景切页
( u: F" |% A) Q- g k) S PHA9 C, a* m4 O9 H7 `
ASL4 G- P' Q2 ]; @& z! t8 U% U1 q
ASL
% `0 C/ @" H# ]+ P PHA6 \- l) [" Z/ a/ D. n- W
LDA #$02
8 O: f! w6 ?# D STA $8000
/ T- a# q& V8 P2 Z g7 E3 A PLA. ]8 g$ X, I* x% A# H
STA $80012 D. n+ | {6 E3 T8 s/ `7 t, d
ADC #$010 i$ V1 M4 r+ T" x* r' S
PHA
) L) c6 Q6 h$ r9 w( A LDA #$03
3 \! u( o: T, N7 w STA $8000
7 q) [8 m: X7 E4 Y PLA
2 X" a2 T( z- k& Z/ n STA $8001$ G0 K+ x4 e8 `5 w& Q7 @+ ?
ADC #$016 m$ m5 ^# C z3 V0 `
PHA
: W% o- R+ {( W/ j LDA #$04! c8 v' N1 ^- S# W2 Z/ n
STA $8000
$ Z; f7 S a) z, f PLA W, a9 J- m* n; G
STA $8001
0 _ W \+ p1 S% g' X ADC #$014 E; o" z9 z8 D
PHA
1 F4 s* |8 U$ H4 \' C LDA #$05
9 ~) V& i/ C) N' s5 [- w STA $80000 J5 H) U5 i) R* t! h/ P+ e
PLA6 G' J# v$ ^4 s; {
STA $8001+ z, F& h: [0 b, s/ g E# o
PLA8 E4 y, E5 Y5 B1 m7 G3 g
RTS
/ P, D; N8 F( ^/ I5 b+ B( l& A5 ]" D2 A& A% E( x E
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|