|
|
;[FC][最终任务mapper1切页程序]+ O- O4 P3 r# `) H
.ORG $CD9B
& v# ]! P, X5 V6 @9 W* {BANK_START:
# _. a6 Z- N# G- j$ @9 `, R6 f STA $70
' a) l5 |; I$ A6 B& U) R TXA
& x$ P3 }8 l% Y; E, P# V6 J5 | ASL* O. y8 H+ x1 b2 h
TAX) U% Y1 H7 B% J2 k
PORT_SET:
8 [5 A, A+ A% l, M# l% s: j LDA BANK_DATA,X
! o1 [9 k, k) |2 j, h STA $6E6 e$ g. |- L& M' H7 Z; x1 g, S
LDA $CDB8,X
5 `; @+ E. u4 D0 J0 ]% ^9 O9 z STA $6F
7 `' m" _2 r/ V& z% D LDY #$00
# g- ~ ~+ K: p3 T& t5 d LDX #$05- q0 u+ Y$ _6 R N$ B- \9 W0 ~- {
LDA $70' V2 ?9 q' o f7 e* E! v5 n
PORT_WRITE:
9 L7 ^. _/ e9 h( Z, Q# m3 M STA ($6E),Y
8 D5 A- U- ?3 b, w, f3 T# q) h LSR6 g e R2 {3 {4 P
DEX
) c' q" N* s( B' q2 T* w; F BNE PORT_WRITE
+ B1 `3 A0 Z# F3 H2 O! H RTS
! q- N0 n, I" E; f4 Z5 A " \3 F/ s, r: C
, I. A5 H2 ^3 g2 [8 Q& \
BANK_DATA:
3 `8 [& L& i3 W( b6 n6 ]/ H3 j .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF7 i5 u1 _' M$ o) z8 A6 C4 }- L
8 w) F6 M, \' U 9 _3 h2 s8 p5 M2 l
;[FC][最终任务mapper1转mapper4切页程序]" S$ `1 S" n" @. O
.ORG $BFD2 ;初始化跳转( Y8 M5 ^% j% r' |
JSR $FFC0
3 B, s3 W1 z, o. n" O& s
( D- h9 c# a) I* ^' k9 m& r/ U+ p7 ~
.ORG $FFC0 ;切页1 Z d- [( u# r
LDA #$064 F1 l5 x8 K( z4 v2 K( {
STA $8000& @; J, T' P" |; ?
LDA #$0E* N7 _8 k4 _0 {6 J/ ^5 S: ^/ d
STA $8001
+ i! ^3 o/ @8 C: N5 {% c JSR $80002 b* c1 A; V) L5 Y& ^
RTS $ u: K2 j8 k, m y' [
* e: [9 w) C" n+ {% V% _( ~ .ORG $8000 ;数据复制
/ T+ m! \( E3 p LDA #$80$ j% y2 K' I6 d4 ~2 B6 O3 v
STA $A001 ;启用SRAM8 Z' @ N7 C% R# L( v/ b8 c6 |1 w
PHA% V' {& G! b4 T/ G2 ~$ e
TXA
+ L% k3 d, |" H1 n l PHA3 E* {/ `4 g1 D, ?. \0 H( O* y+ a* u# m
LDX #$002 N1 n% j+ h: Q+ G
DATACOPY: ;数据复制
( x+ z. U! Q6 v, P+ E0 N LDA $8100,X- L+ Y- b& U+ b8 _2 S
STA $7200,X, M! z4 z6 {8 J
INX% t" e. L; |2 z/ c8 A1 C! X, F/ `
CPX #$004 k$ i/ ]! D( d) w( B
BNE DATACOPY
, [1 y1 m0 K2 d% m- d4 |" r9 s PLA. h% k; a4 d; P) F5 \0 ~
TAX: x8 [: S( m% s2 c7 {6 u& F
PLA7 U4 S. n+ H; \8 w3 P _1 i ?
RTS* Y9 z5 p8 E* V; E4 G
2 e% E! z! }6 w, y! d .ORG $CD9B ;跳转到转换的切页程序! M& }6 @6 ]9 [4 i: U# K! Z
STA $70# T. O4 X; T \9 U- H/ P
JSR $7200( N5 K+ g9 c0 p# I! U/ g& i2 i" p
RTS$ Q+ h& _' q2 D, d/ t
" Z% _' _! N5 b1 C, m6 @/ i
.ORG $7300
' X5 F: M& n* ~. I& _3 ]8 MM1_TO_M4: ;切页程序2 T9 s( S+ Z$ K% P6 B. |- L
CPX #$00) H- M( {) @+ D, s2 ?/ j/ j% u6 R
BEQ REG_SET, z3 E" p% l ]0 Z+ Y- Z& I
CPX #$01
# |4 K Z2 B' C5 d BEQ PPU_BANK_0000# T9 B. }! V) v. S& E7 e
CPX #$02
3 A# ?, O5 `# ?, t BEQ PPU_BANK_1000
! O: ]# i8 H" M9 Y* j: K6 ` CPX #$03
h% T7 C; d9 O BEQ PRG_BANK
% S# C. _# ~( bREG_SET:
% d: n6 n0 Q( d2 Y& ? a STA $A000
5 X4 T1 Q8 T8 f) c q, n* d RTS7 ]9 V4 D8 _1 r- ~8 i3 A
.ORG $7320; b! v& z0 n. [0 W0 \9 C
PRG_BANK: ;PRG切页; Y$ e* Z- F3 _" F" Z; G' a: p% f
PHA
, t) @$ @' }) c" f* _% q% O LDA #$06! b$ z6 A" {8 w; A/ K
STA $8000# ~. e- h/ ^7 S
PLA
7 K+ w3 C, r5 b$ D ASL
2 \) E. }8 a8 n+ ^' G0 u' U! M STA $80011 X, c7 w3 G+ J) ~2 M& n: p4 `7 x
ORA #$01
3 j2 j; }* D# l1 `' }4 L" A PHA
; ?6 L- j/ P+ o8 {5 v# ] LDA #$077 B& x% [" \* q" S
STA $8000
]. K8 o' X& a _2 h PLA
, T; C$ m. P4 U( n/ W: F' M$ A5 \5 Z STA $8001
0 I& n9 ?" R" S/ f* V2 T& a RTS
) c2 [% \$ U! R .ORG $7340
1 k9 g* s. V8 s/ G; N) h, }/ D" | XPPU_BANK_0000: ;精灵切页$ m2 n- m# {0 s5 Y! i" J
PHA2 D b, @8 q9 P. y0 e" E
ASL
, P8 b) Y$ K6 A- k ASL4 ?6 J* D8 e6 K
PHA
5 ^8 x0 i y( g( v# C9 \7 h; {) G& d4 m LDA #$00
4 `0 x* x( ]; P8 F) [/ u* R STA $8000& C6 P, K& S' T9 N1 K
PLA
3 V$ m4 O% R& E3 Z3 Q STA $80013 y! g" u, a) r& C
ADC #$02
+ h) a# k' p1 |! H, v9 e! r4 P9 G PHA- {, G; n7 M$ n6 t, g
LDA #$01
5 @2 j4 [9 U, E6 M3 a3 s) l STA $80003 c8 n9 k9 U g9 a+ S0 i5 r
PLA3 I+ m4 _* e) {% y7 _& ~
STA $8001
1 o2 k) p6 K* i5 r% X4 s4 k$ X PLA
T" j/ h5 Y) i2 I9 e/ b: Z RTS
% v' j6 h6 S0 a3 M3 b
" P! a3 g% l- b1 L! _9 V8 P .ORG $7360
! `% O" i& }) v" C5 SPPU_BANK_1000: ;背景切页) P7 j9 A0 {! l
PHA( {! u2 r. |9 T# t9 p9 P- g8 D. m9 [
ASL
3 K1 e, f) L" t0 K9 h3 q9 y' \5 B0 X ASL: a' ]) B9 Q( o5 ]* X- |
PHA5 c8 r( \* l( d# l, r
LDA #$02; X% Y$ L5 A3 ^* K/ _
STA $8000
. J0 ?) E- z4 g9 E" H( O( ^ PLA0 w9 l1 e" B2 ~( ^& W- {
STA $80019 u+ B3 x# u- f5 Q
ADC #$01
/ M! q) C% Q* ?- ]" z PHA# w$ O# o7 s0 T7 l7 u/ m1 \
LDA #$03
3 f/ p$ s$ x) N1 }: [ STA $8000
! ]4 y( l3 v3 x0 v4 Q0 j1 X' O PLA3 S0 x% O, j! }' ^
STA $8001
3 E- r- v$ r ~# r) q4 Y8 N2 B4 z+ Y ADC #$01) B( A e4 s, }0 J
PHA
, Z# |; B9 l7 H9 @2 u8 _ LDA #$04) a; q, j) r, u# y2 F8 u7 o
STA $8000# p) e" G) S7 e* a6 l- X0 Q1 U
PLA& L. Y8 y. t8 Q& N
STA $8001
. n! Z9 M2 [9 U$ H8 U2 u( Y ADC #$01
: q3 X, k" K/ x% _, c+ ~ PHA
7 A: {) R, `) s; h9 B6 ? LDA #$05
! U) Q( b: I4 r STA $80008 x' ?, U3 N* S" u- d; j
PLA0 e6 Y# E, ?- s2 m$ n8 e$ R3 c
STA $8001
% C* |: u9 f. D PLA, V3 o' S2 S4 `7 ?3 P
RTS; l8 s3 e; A" B
! Z [& E- X, {3 c9 F5 _
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|