|
|
;[FC][最终任务mapper1切页程序]5 h+ N( B7 H3 C9 c9 D# ^
.ORG $CD9B
: \9 `) n) a/ H! T/ l* bBANK_START:/ @4 l1 d8 [1 g+ D. G6 U! T
STA $70+ x$ s" Q0 C( |. X3 s
TXA8 l6 S) Z( I, Q# k& Q
ASL
) `9 m4 F. l5 `1 Z5 U" ^5 H$ M+ v3 m TAX' ?4 [. b8 }6 O8 I
PORT_SET:
8 ~/ U* G3 o! K4 N LDA BANK_DATA,X! O, O6 }4 W2 V. r+ ^
STA $6E/ u2 e6 L/ T# q* P* |
LDA $CDB8,X2 }4 _1 e V( g7 \* k' j
STA $6F
) `" P; U& A2 T( j; O" y LDY #$00
7 \& G; S3 F) K! `- z6 I; P LDX #$05
5 ^2 [. _2 t {" ^ LDA $70
4 p8 o5 K) {' M4 APORT_WRITE:# D8 N7 s/ D j. m; u2 A* o
STA ($6E),Y& d$ W+ B7 f. U9 b; ?: `
LSR
5 H7 Q. h& G8 V DEX7 F" |, _5 [# y9 [: o' w
BNE PORT_WRITE6 I& Z, _+ C# I! V: c7 t
RTS
4 p8 ^& q9 i0 i
* n, F% ^6 c4 t6 i9 Y 3 t2 H8 P4 S1 n) j$ V5 {# K, {; d
BANK_DATA:
9 U( U5 Q: S w7 J .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
. Y4 }- b) _% `
1 p. f: r5 [( B* F9 _
9 D) K; E8 q U. x5 I;[FC][最终任务mapper1转mapper4切页程序]
7 g# }; P# m; s [$ ~ .ORG $BFD2 ;初始化跳转5 A" |/ e2 n0 }5 j" t4 C+ F7 F
JSR $FFC0
3 @* N' S4 v- s( A7 e
' n. B3 m* d. C% F3 n, s
1 _" x6 m1 S8 m" a .ORG $FFC0 ;切页
H+ W h3 G/ M0 M" L4 q LDA #$06, V9 N2 O3 U0 L. q
STA $80002 p; s1 g/ e8 t u/ Z
LDA #$0E( z# V$ v- G* j [
STA $8001
. o6 P% j+ p6 b, u5 [ JSR $8000
, d+ w4 E$ S; _" D0 z; s RTS 3 U- \* Y- G1 S. t
+ g- I+ B% |/ x/ H
.ORG $8000 ;数据复制 b$ i; O! I5 K6 B$ `4 m9 C+ _
LDA #$80
( A C& C6 G" M1 M6 L; f5 F STA $A001 ;启用SRAM
) X4 C' T+ a) a$ X+ E PHA0 W- i. K, o* ~ \1 n
TXA
- m; P5 R! L, Q+ l# | PHA
! H1 F1 J+ q/ |+ \/ z LDX #$00
& _+ t) d! ~: X/ s2 h8 L( s; e& LDATACOPY: ;数据复制
) u+ B1 i/ n+ s- c6 P LDA $8100,X3 s D. c6 [0 g9 K# P
STA $7200,X- q" b( S1 I2 J0 ?7 l% V6 U q
INX0 `6 R" s- O, ]' q T- r0 S; ^
CPX #$00
- s5 c t `2 a% x; k2 y BNE DATACOPY m; V1 b" ~ m( @5 o$ a
PLA+ e P& o3 M% C' R! u0 D' f1 {
TAX
* B9 z* ]# z( J* Q8 A9 r+ { PLA, ]& J% W9 L& ^
RTS
5 k" j, L! X* v! ?+ ]- A 1 ~$ |" Z' v2 T" t) L; o8 a
.ORG $CD9B ;跳转到转换的切页程序; _+ r! e- u" V, ^% H! T( e
STA $70. k# ?. s: @1 A( J" w% k
JSR $7200
! [4 O0 K! c8 X5 b, j, D RTS" f' h( M) g% o6 C o) `: z% k
: e6 I Q& c0 m$ ^
.ORG $73001 x0 n, a, n5 f* q, E" u
M1_TO_M4: ;切页程序
5 Q2 u. C. s- j* b' W- [2 @4 G7 P$ P CPX #$008 X1 V7 L, {) C a
BEQ REG_SET0 p+ R* R7 C2 R0 i2 c
CPX #$01
" C' Y% o" Z3 j6 M7 L' t BEQ PPU_BANK_0000
+ X9 }" S3 w( Z CPX #$02, y0 A2 f, F4 D
BEQ PPU_BANK_1000 q: P. F5 E& Q+ G, ?. U
CPX #$03
6 y6 ~, D( h# U0 C BEQ PRG_BANK
- K) N$ f2 ~+ H7 |, A' Y2 [REG_SET:
* B# i$ L: s' ~+ f- d/ j: [+ O STA $A000
+ r! w. e3 S: ^! o" k' ? RTS6 B9 X$ |1 g3 `0 d/ B
.ORG $7320) P# n( L, |, R) ?: s2 }
PRG_BANK: ;PRG切页
% ~$ t4 `, h: N( y4 r$ T PHA
6 u n3 N+ X& w& A" | LDA #$06
- ^3 w# Z3 h) } STA $8000: `" d9 A+ v( H$ U) q6 C( U
PLA* \0 m2 p8 f( D, g& p
ASL4 i( v: \" o$ A/ z$ k% H/ _
STA $8001/ Y& i- M j0 j' j" F9 R" F5 M+ \
ORA #$01
7 b& @5 V; T) K3 V PHA4 J" m4 c2 L) O! |
LDA #$07
# d7 |5 o9 ~: T& }/ v5 H, D STA $8000
) v; N2 T9 f; Q# W9 c( D PLA
4 R* L# E, d/ A- M5 W. N5 h) h STA $8001
& |) x8 ~& v( R; T7 c* ~ RTS: R) @# B: f- J7 E/ ]
.ORG $7340% @ c' ~& U' } F8 C
PPU_BANK_0000: ;精灵切页; Q, `) q2 O( k( N3 c2 u/ h
PHA) }( Z3 J' s: O) c0 K7 ]( j% ~
ASL/ U1 M+ ~, W6 V& @$ q
ASL4 ?( }. ]: Q+ ^4 X
PHA0 M6 y8 s! Q! Y6 [1 x6 \
LDA #$00* U: y# y5 J+ o- j# D) L7 k6 [" b
STA $8000
2 T3 j# A) [2 I9 V! ~# ~# E2 i PLA5 ~8 t) j& i" M6 K% p
STA $80012 R0 _9 f# K; l' Q& x% v
ADC #$02+ H, b1 b3 p) F5 e
PHA; N( o, u& t/ w& L, i: `- J" l: U
LDA #$01. I/ H @: O, I$ z+ t1 T6 ~4 d
STA $8000
4 A& P8 g$ B! I* O% g PLA
* z1 h8 u ^0 A3 Q" E/ q# F STA $8001
2 e" i+ d! n8 f# T PLA
7 B5 I" W* k/ f" H' d: J RTS3 N* f, F) @+ c. _
' H- u' M' f! G$ B: _; n- k, |
.ORG $73600 S- ], G4 b* M
PPU_BANK_1000: ;背景切页
6 d+ k( F, {/ @# l1 K( _ PHA- D+ W6 a4 r8 D* h
ASL
! C# P( _/ j% E% ? ASL9 ^% l2 a+ E; V6 P( ]
PHA, `* W2 k, v8 Z
LDA #$02
4 _5 q; N+ J; j A" \; L STA $8000
8 \% M2 t( m' @8 V) K PLA
9 d; u$ ~$ ~& g STA $8001* g# I7 ?: w9 u2 l. a( `
ADC #$017 Y4 ~0 b+ w% v; n: B! V0 t
PHA! A1 o+ r' |* |6 r2 _
LDA #$03
" G7 k4 x. a2 N STA $8000 v5 a7 _$ [% |0 ~9 \" A
PLA; b0 ?, W9 W& c6 g' b; w8 O% `
STA $8001" W! T% p; N5 T% j/ t
ADC #$01" `% L5 z/ t6 K5 ]2 P! f
PHA
8 s" W g1 @: K2 b+ U0 |$ Q LDA #$04: o! Q! h8 z; n4 c
STA $80006 q! J1 k! R6 Y1 n# h2 o1 f
PLA" R3 r$ H8 F7 P% T4 E- X5 {
STA $8001
( R/ H# p1 V0 d5 B- x. Y: W ADC #$01
- b& U9 Y% Q" D- z2 B PHA
" }* e+ I! m7 W1 @. c( K# ]% { LDA #$05
4 a2 f9 B4 m3 j' A# t STA $8000% X! O M. N4 ~, ]
PLA
- s* t. P7 U+ W+ l' [ STA $8001% v& ?7 e- |7 H: |" s
PLA3 t1 B: c X4 a1 v
RTS, V- j) I+ i! q; V- d
& v1 ^1 l4 d, F p |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|