|
|
;[FC][最终任务mapper1切页程序]
3 C! k: `" L; y' Z7 h' N( ? .ORG $CD9B! X' e) q) R. Q3 F! d
BANK_START:
5 R. ]2 V6 M' t. j* D( G3 j6 W% N STA $70* Q: a/ Q" ~ Y' y
TXA" H& D0 k. C0 i
ASL
# ?0 G, @# [5 M. y2 a TAX
% S0 V: w3 i! b" w3 G& c5 e, ~PORT_SET:- U, B) ]% r% M3 D) c2 Q+ h+ }
LDA BANK_DATA,X" D3 S$ R1 L. ~3 `
STA $6E
; ^& F3 ~2 Z0 p* P LDA $CDB8,X
2 Q6 C, r6 m) _/ X STA $6F( B( R9 ]+ ?2 J. G3 K! ~, t% R+ m
LDY #$00( o! \2 I8 ~7 O) h0 b9 y
LDX #$05& m0 A$ W% w7 K' ]- _" g
LDA $70
, d# `2 `2 _! X0 {3 OPORT_WRITE:
& @2 E: L* ?/ `) o: D; N$ W STA ($6E),Y; ?. g L8 { R% W
LSR
7 N; F& B. R/ A7 t& _$ B7 x DEX
+ p* b5 ~4 A( c3 e3 M2 l BNE PORT_WRITE
0 ?( R% D0 d' _* v: q% I RTS
6 J4 R5 }# ?6 `4 I1 K% \9 u ; R3 g2 Z% p& I4 F. e
; \) c) [1 U1 N) wBANK_DATA:
% C8 x1 B6 d) H: `3 n+ F- M$ D- P( E .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
% O7 @3 x; E% v, M0 y+ T" W3 I # k7 s, y5 W2 J( l" f
' R0 j/ J' _% I( h7 T; `1 G6 B
;[FC][最终任务mapper1转mapper4切页程序]
- {1 D, g M. L( R8 ?0 e .ORG $BFD2 ;初始化跳转
+ J3 _% w( X, H JSR $FFC0- z" f5 n$ {) @
+ Q7 i! T+ q2 n8 ^& O" G
% N+ q2 c1 C6 t# a; K" H1 |! e .ORG $FFC0 ;切页) R. }: r) n3 R7 O/ m6 s
LDA #$06
; t* x5 M7 y8 Q. h/ g STA $8000
" b5 K1 y9 Q- u' |" ~4 C LDA #$0E8 |) m* k! s3 U/ ?6 y( C
STA $8001
2 U/ B0 T4 k/ @3 W" { JSR $8000
% O1 } i7 l6 G4 k5 J& s RTS
8 t0 i- W+ p/ h
6 A3 I q" W* H0 |+ _ .ORG $8000 ;数据复制
D$ X, R# [. ] f: K7 W0 [7 X+ ` LDA #$802 A) j0 p' a: E4 z. F
STA $A001 ;启用SRAM+ D+ R1 G2 i. B, _. ^9 n( F4 ~$ `
PHA
- _! {3 h* s/ k1 q; J TXA4 [ x0 h/ \) t) T' P. Z0 g( l
PHA) P' [5 p* q1 ?# U5 Q; s
LDX #$002 l! ? X7 W, o: b4 ^
DATACOPY: ;数据复制
2 R' m9 p' M' Y7 g' B. M LDA $8100,X
. l' i8 Y6 Y; f6 K; B& K STA $7200,X
% ]& t- n; \, ?; X, h* o+ V" I INX
* F- W+ }# u% v CPX #$00; `" `' \$ T$ p' E* h" g, F) i
BNE DATACOPY
8 z6 p; W. D7 `+ T7 O7 H PLA
) D, {' T% l7 d TAX0 @% C. V8 y) Q+ w
PLA
2 u; y' H/ }# k5 U% w3 ]7 B RTS/ S; W, h2 p8 ]" [" z p O+ D
( h& o6 Y# f0 T# { .ORG $CD9B ;跳转到转换的切页程序
b" ~2 `. s8 h$ T( ?1 | STA $70
3 n3 q* w( e) j8 N- K JSR $7200
* P- u5 E, r" Q2 _, F h RTS
& H: J1 L/ }6 b- X: ^ ; D& g( z6 ~( Z3 I
.ORG $7300% _0 o- _# B9 X% A, O/ r
M1_TO_M4: ;切页程序9 i' t" B9 d3 C6 ]3 W2 t, F
CPX #$00
6 m' w+ ?* a) s BEQ REG_SET4 c7 j# `! ^' v0 O( e1 w
CPX #$01: _) V/ @. O1 M" B
BEQ PPU_BANK_0000
" Z/ f$ M7 K ~# Q" L( A1 t CPX #$02
' j! [% o) w8 }* v# i BEQ PPU_BANK_1000
+ C5 D: _' k9 Q! N* |% l CPX #$03% Q( l/ e" {: _8 }. a$ @3 G
BEQ PRG_BANK
; H& o! T. ?7 I4 `8 H1 Z% G- c; {; DREG_SET:) X2 N; }/ d, R4 q- W/ A1 A% Z! H
STA $A000
$ E( o* U( I1 {4 ?, ] RTS O- K; T& M* {! }
.ORG $73208 f* T; {1 O- ~; H
PRG_BANK: ;PRG切页3 A% I6 b1 B5 ` ^
PHA) L* h7 ~8 D. {* n+ k
LDA #$06, E. g d/ L4 x
STA $8000) @! Y6 ]+ ^8 c& q; _
PLA+ X; e2 [) }. c
ASL
3 M) G" N. N! J STA $8001
; I) N7 g. k: u( \. h ORA #$01
$ ]8 ~0 s- x" S2 C9 N& l7 v& J PHA
7 g' w# r0 H# i" A LDA #$076 p5 r( @5 f# X
STA $8000
4 P/ s5 m( X' v3 r- l1 {% i- f( B7 K4 o PLA; A2 k# i) ?9 s' o: `, e4 V9 I$ Y
STA $8001
; [& E! `1 ^! t7 f. z0 N1 V* i* ~ RTS
* ~! C& @$ w$ x5 o! ? .ORG $7340
! `. |, d; l6 G6 HPPU_BANK_0000: ;精灵切页
i: {* k& W, d! z- Y PHA
. e( B6 N1 S1 Q; T6 a ASL3 ]: Z9 b7 D2 z5 j' N- _
ASL' m& C9 f/ Z5 m- ]) _& \/ c9 w
PHA
( i. p, @9 G6 I LDA #$00
# S9 X) Z3 |) J/ J STA $8000; w5 Q Q5 {- D" x/ ~* X+ K
PLA; ^- P. q& D6 u9 Z5 y( Y
STA $8001
* N1 D% D! V3 T7 c, K1 o& z ADC #$027 a6 E( Z! \$ ? ?4 b0 V
PHA
! }3 U+ t7 k W! W8 m# c LDA #$01
' T% @+ Y- `# x8 M6 t STA $8000
0 o" V. E9 r3 S! R3 N6 O* l, j1 K6 F PLA
* X; M1 T3 @, l1 S, ~- v STA $8001
: e7 q- g& J4 T! K PLA
# a1 M) _2 b9 l3 D RTS
9 w- A5 B# a- v% `* w- I$ M! `- H8 s
" Z5 \( w4 j& M& M, q W .ORG $73608 I5 R/ J: K9 z
PPU_BANK_1000: ;背景切页/ A* k8 B( j. l4 M& `
PHA/ m( s. c2 J4 c& D, e
ASL
- n' R; ` H+ _2 C3 I& Q, R% l ASL
% E/ Y1 @1 n0 e4 K; c/ C PHA
# F, [0 Z" z# b LDA #$02
' g1 U& Q3 y _. F, R STA $8000
. R7 W& b. ~& o1 Q& I7 y, ~ PLA
U# G7 ~; g O9 q4 W STA $8001/ z& q$ x5 Q( S( Y* K2 Y
ADC #$01( @5 A/ W9 A4 J+ ^5 r' B4 `6 n
PHA
2 `- ^8 F' U; w/ G _: ?/ L LDA #$031 \, k* `* a% ^7 |' i/ a
STA $8000% e4 H7 R) M+ \) {( a0 M2 h7 w
PLA
4 Z" T3 y1 G, c' j3 \* |. d2 e STA $80016 D$ j: J3 Z! o3 O
ADC #$018 J2 t- w. {3 L- \6 e! k
PHA1 ?- G1 R" l) A$ ~% Y7 }( r/ Z
LDA #$04
4 k( a2 v& z$ Z- G STA $8000# f. y- [9 c3 }5 b" _" G
PLA" u8 ~% h5 S- [3 W) ^* t, M2 y
STA $8001
2 R$ O# m( N' }1 h- O2 s- D ADC #$01
5 y5 ~. q" Q3 ]/ j+ }0 t& n6 o PHA
3 X3 f7 e. N3 v! T9 V LDA #$055 q% P( D X8 Q- H( m+ V
STA $8000$ @0 J5 s1 S; |) d6 K! q; l) [
PLA
+ v. ~: e$ r; h/ o6 y. G; W" T, n STA $8001, t( X' S( m+ I- x4 R5 F* [7 O
PLA
3 E% ~4 I* j4 n$ s RTS7 ?; O' [8 |) F1 e$ M8 k
" y4 U" \5 ?: b3 ~ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|