|
|
;[FC][最终任务mapper1切页程序]
9 l# V6 V9 Y' |" Z8 w' S .ORG $CD9B; j6 D- m9 W' j n8 K2 p" q$ v1 J
BANK_START:
6 d0 X# c9 B8 l. E4 u3 O STA $70
' G- y% p1 Y @9 ] TXA
: c3 U+ x# X( L6 Q6 [8 @4 j ASL% C ^1 A4 C+ b7 A% G) Z
TAX
8 p, _. O1 L1 a# T! D6 iPORT_SET:
/ q# F& H5 T" i, N LDA BANK_DATA,X( x: {1 H8 w; Y/ @. _3 Q
STA $6E8 l4 ?: W. {' D0 d; N7 o
LDA $CDB8,X) r3 Z" @2 W0 I) ^6 T
STA $6F
/ N, T) P7 w1 W" Y LDY #$00
6 s3 M4 W" ^1 a( c* L3 f! U; }0 z LDX #$05+ i+ b. W: W8 `* \
LDA $709 X$ e' U# I0 ^+ z8 H. H5 z
PORT_WRITE:
5 f* A2 X0 I7 m* l* J0 }7 B STA ($6E),Y4 |7 x: g: I9 T4 p! U! ^7 \
LSR
! L" m3 h+ Y& { DEX& N4 E( ?, {% O
BNE PORT_WRITE
" S* W0 q! X4 P! a$ ` RTS7 Y) g' K( }/ ?
' G& p( o. d) i2 l& ?
. ^% l" W) L! b* [$ k' M7 q/ r( Y6 ]; _2 tBANK_DATA:
; P0 X& o0 h" m0 \& J( O .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF9 d# a. |8 v( h. e
% d/ K; L' ] n* h* l
1 T. m' ^" j: Z6 Z H( o;[FC][最终任务mapper1转mapper4切页程序]
6 c0 ~+ h3 c$ M g .ORG $BFD2 ;初始化跳转
; Y0 F1 J& U6 k+ @ JSR $FFC0" j @& f* u9 C$ Y' i# a- p
2 {+ u! D# v0 p! }" v; x) \- b4 [' [ T5 o" b2 n: E
.ORG $FFC0 ;切页1 `1 P a4 ?) A3 D2 z
LDA #$06
, N1 o, y2 H/ u* @7 D7 J0 V5 ~ STA $8000# t2 u6 o& A3 q/ v0 r$ i) b
LDA #$0E, B: c: a; W' _+ w3 N8 W4 c
STA $8001
5 \! z" e0 J" [! C o JSR $8000
( X/ N+ m0 e; e9 v: A0 k RTS
! i) r1 q, f+ y
) a7 F5 i1 p& b, v4 B3 p/ | w$ X .ORG $8000 ;数据复制* K# A, [( J# M$ C( b* S% a
LDA #$80, |% I( `: u. r' R% O% _
STA $A001 ;启用SRAM- s S+ c- A T1 {
PHA
% d8 \: a* Q; ` TXA
: r$ B7 `( [$ | PHA; ]/ ^( e6 U* }/ w \
LDX #$00
# v" ]2 A# }/ S6 s, oDATACOPY: ;数据复制( I! _# n |* R3 H& g" I% M8 ^
LDA $8100,X
* v' |3 Q6 M! {2 j, M g! v1 ]# e9 G! |0 A STA $7200,X
' C6 C0 Y/ { C% I+ k) O INX2 h ?0 X9 w- v; k5 q( c$ M
CPX #$00
9 V$ V; c( ]( a; X: o' C! B% i BNE DATACOPY
( s3 q5 W( [$ _, u* }+ ? PLA
& H. O$ n8 t; ^* F4 \ TAX
" P6 n' s3 q4 ` PLA S- H) b8 I5 ]; d. B
RTS
# L9 s) l. @, ^$ B! Q7 K
: U* G* B9 e6 I" E7 o) v .ORG $CD9B ;跳转到转换的切页程序/ U: u4 b! F6 m) T7 _
STA $70
c6 o; U% c3 |- R0 } JSR $72008 }0 p, K9 \. ^( `/ ?* K# R# h, o
RTS
5 R6 Z7 G0 ^5 E0 O' v. j
4 v8 Q$ t" K& p+ s/ D .ORG $7300
# K8 W/ _6 ^. F K7 OM1_TO_M4: ;切页程序1 t; R5 ~' V0 H/ i" l: y. k
CPX #$001 m( W0 p6 }/ l7 E0 f h
BEQ REG_SET
4 W: [# S# {' t/ l CPX #$016 Q6 F( N4 [# ?
BEQ PPU_BANK_0000$ E$ i6 [2 B& [+ k/ ^
CPX #$02+ V6 `& Z9 x8 `# I( B
BEQ PPU_BANK_1000+ B( I* K a" B
CPX #$03! C& Z" G- _3 U% [- p
BEQ PRG_BANK; h. x) l3 I( M# D2 Q7 F
REG_SET:
1 H" E( s0 c) g: q7 { STA $A0006 C: c$ ` ?1 S4 A# a+ O
RTS5 q" {& O2 M4 X8 [5 @
.ORG $7320
* f6 q3 V3 c6 k5 w. N" N, QPRG_BANK: ;PRG切页" Z' S8 M6 `1 d- \1 M/ Q8 J( H
PHA0 B4 B1 O k" g2 K5 i
LDA #$06' X8 I/ R: T: ?1 q9 \+ S
STA $8000
2 p- w' r8 C' F$ D" z' h6 G PLA3 _7 N( \; `% P( u3 N$ W
ASL
, ? E* N. r' F5 X, ?) l2 T STA $8001 Y+ u$ h8 Q$ r* ]
ORA #$01
; U/ u$ R( @. V$ u/ q/ _ PHA3 X) S( D" {+ O$ R# D6 O
LDA #$07& M& b# \: J8 l
STA $8000
/ s7 R9 t+ L8 o0 s% t PLA9 N# ]7 G& q9 }2 x$ `7 h; {
STA $8001: _" b! y, l3 @) ?9 w
RTS
" n; J' V7 @& `" A9 ~0 Q* D' q, Y& V .ORG $7340! M4 V/ r p4 z' g% Y& @, G0 \
PPU_BANK_0000: ;精灵切页
1 p" x' j+ {9 X# x# A; \( i2 f PHA
( N" m* Z2 T2 M: P8 x, r# M ASL
! C2 a) ]2 F7 U, P8 q3 k ASL
2 Q: y7 r3 x1 [ z! ` PHA
% c! b9 m" P3 Q. [ LDA #$00
, ]6 g. R, i8 ^' o; r, Z: }0 u. B STA $8000
2 b6 R0 q& d) U" n/ k PLA
% P7 H+ r3 F/ I7 d STA $8001
$ W; U) a) e! m ADC #$02
8 B: F8 n. v% Z PHA8 |9 C# u, A' Q9 g! y
LDA #$01- a; h: V: V, A4 a+ \* h/ B7 v/ l0 l
STA $8000
) F/ x. ?3 p# U' q$ v$ I0 _ PLA4 I5 f$ E" n# I) W3 g2 a) M* D
STA $8001
$ U1 d% |. Q4 ~+ B z PLA
1 B1 W7 M% O) B RTS
! F! {$ g7 i# o
) w o- Z2 ]5 u .ORG $7360
3 I" M) }/ @5 s) M4 C) h# b) ePPU_BANK_1000: ;背景切页
7 e$ w9 s0 f O PHA
# E N' T# Q: |2 g ASL
& D* i5 G; _" Z m# L8 w ASL
$ m: b" B% c ^" k; H PHA
& K' @* h) d- X2 h4 r LDA #$02
6 W% q: P1 J4 ~/ V. t" M STA $8000$ N2 f) N5 j$ u; E' r
PLA
0 o3 w! W+ p' c5 u STA $8001
1 C- n% O$ j# u8 E8 X ADC #$01
: J. M* g, |7 S. R* m3 ]! w1 b PHA1 r2 A5 `3 d# x9 ?4 G1 P
LDA #$03# O6 B1 g6 ` V9 G+ ]" r8 w' g; u
STA $8000
7 G/ y+ {7 c7 a5 c% U/ X PLA
7 N Y9 C1 y( U8 N% Y) [1 v' j5 \+ R STA $80010 Y G& `/ W+ @2 z& ^
ADC #$01
9 i& h* y# s( ^* C PHA- A8 f; q9 c/ [9 v5 V& }
LDA #$04
3 q1 l# B( e: _/ J STA $8000
3 x: s6 D& O3 B PLA
: r' R) {2 \ | l+ T$ m% f2 l STA $8001
9 k& f( `' m. J6 K ADC #$01( r+ j9 d3 W" R7 z/ F `' \
PHA: p+ p' K$ X. r4 O
LDA #$057 y( r! Z' v2 s' T: k6 S9 |" P
STA $8000
5 [, x6 S$ K* w" e) Z PLA5 i8 L) [- ?, d$ f4 g- R' [
STA $8001
- k8 S1 ~0 \- X- h! o PLA
# w* ?. c5 c a: d" H7 Q' g, W RTS7 ^) g: I% Q( a4 g
Y2 g; Q p9 [: F5 C
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|