|
|
;[FC][最终任务mapper1切页程序]
/ m) z. W2 S6 P- f* f; Y .ORG $CD9B( K7 v: n! L/ A* b [
BANK_START:& L, \- _) y7 L: e* K, Y0 X* E
STA $70
0 J+ }9 J5 ^& S% ^ TXA
1 h3 Z0 i% c2 E# a p1 s ASL
5 r+ h& F2 P( I3 l TAX
# `9 ~. {" K% R xPORT_SET:3 C! P* j5 k2 U F% K5 a! ?
LDA BANK_DATA,X
- @6 ~' d7 u% c- R, W STA $6E
( ]* R# i+ Q8 H+ i& ]4 ?7 @ LDA $CDB8,X9 J# G0 x' B/ r
STA $6F8 a# {( G9 x/ S x4 s
LDY #$00' Y! T/ S% g/ [: H& N2 C. C
LDX #$05: X: }9 {1 ^+ X: [) Q- A- B
LDA $70! F/ t* S' c' \/ \# I0 }& m( _
PORT_WRITE:
9 o X6 y% I! M1 w: L7 S( }1 G5 } STA ($6E),Y
; T' k i1 ^' z9 z2 w LSR
4 k3 P# b' `) O" O7 W; i4 h0 i DEX V* ]8 ?6 t+ B+ M" Z
BNE PORT_WRITE$ R& y3 f1 Z; R1 E) j+ b/ H1 z
RTS
: ` _* J; b7 r" w2 Z$ z o- ~( g c, t
/ Q( M4 m' w! FBANK_DATA:# W+ Z# c$ K+ `. b- z$ Z3 h! j
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
" n# X* c; w; }/ k5 p. A8 a
" m* O2 t9 _3 B. e" \ 3 l6 f" m2 F8 n8 B8 T$ b( m
;[FC][最终任务mapper1转mapper4切页程序]& b8 i5 c: E, j9 c* U$ Z4 `
.ORG $BFD2 ;初始化跳转
. ~: s$ u+ ]% Y/ o' v+ o- e* l1 N E/ C6 G JSR $FFC0. r5 F: T, y% I2 C
5 T: ?& ^, Z( B$ p* ^
: Y, O, s1 ?7 ~8 y5 G$ Z .ORG $FFC0 ;切页; j9 X! p* J' w' _7 b8 N0 X" ^
LDA #$06/ r9 N1 J- v! s/ u
STA $8000+ z7 H6 n* i7 F; v
LDA #$0E
8 S6 _3 n2 h) L STA $8001
: ]) z9 t9 M) l6 u2 h( d8 d, k% c JSR $8000+ m' k% A/ p6 X8 C$ t! ^* w
RTS J- j% i, j6 i& H- Y
: F, f5 r& d. e4 U .ORG $8000 ;数据复制$ y2 [* l# J3 G2 a" b
LDA #$80
L# k* ]6 i+ y1 Y. {2 d STA $A001 ;启用SRAM
: G- B) o. B% Q6 u PHA, E% b2 i! q' x4 U4 \0 e* D
TXA, D' u4 s5 h% b( h* f: ]
PHA
* ?( Y; n7 V2 O7 N LDX #$00
& `# b1 N; k t. xDATACOPY: ;数据复制" k1 t5 Q# Q+ f/ O2 q
LDA $8100,X" m7 r- f2 A3 v8 L5 E
STA $7200,X5 `$ e# C+ T4 h
INX3 m" `, L: ?5 G8 K# O% @
CPX #$001 W- ~0 o8 V+ T# F; ?% V3 v
BNE DATACOPY2 w( G8 p, [* q& y# \
PLA
( J" m# J: v- K- c: X5 J5 M! t- ~3 @ TAX
* B+ n' k8 S5 p5 Y- R5 p PLA+ T% N8 b" z: e# T! ]4 b
RTS
9 W- t2 m: X; y
; {+ s+ {0 _: G" l% v1 d; i .ORG $CD9B ;跳转到转换的切页程序' B7 N3 V$ ]0 y
STA $70 d. X3 m5 y' Q& Y0 F
JSR $7200
! |8 E+ d6 |3 M$ S RTS0 _- x3 p3 N7 |) g+ K% L
- ]- D6 p, h, l( {" U
.ORG $7300
9 Q x9 D- W1 B2 b. l/ @$ I3 K* tM1_TO_M4: ;切页程序
& B1 u4 q, m8 j( x CPX #$00
3 M: F* N k; [' g3 j BEQ REG_SET
$ N4 {" j D5 [! Q; S A CPX #$01
/ ^7 }/ ^1 r' |) ^9 z BEQ PPU_BANK_0000* B9 s8 ?: i) h5 k. q
CPX #$02
; _& R: C9 c3 g' O5 N BEQ PPU_BANK_10002 `6 E3 v. ]1 Z9 ~- f0 U9 c
CPX #$03# p# k/ u% l3 V: P+ n
BEQ PRG_BANK
$ a/ K0 \9 h) K u/ M; [REG_SET:
/ Q2 }6 x) s5 U: ~7 b STA $A0004 P; d+ a; R ~
RTS, }" n: F$ J" j' Q6 V$ N m
.ORG $7320; Y" j' V5 j( L
PRG_BANK: ;PRG切页+ U6 u2 P8 e! V4 s5 L1 M" A
PHA5 u4 W- x4 j* x4 j
LDA #$06
8 o" ~2 G0 }$ E9 g. J STA $8000# z' g: e( q8 \) |: G! l! S7 k
PLA. X2 d8 m: E8 n8 O! a% J
ASL
0 u4 Z; G5 i- j% E STA $80012 S8 _0 ]" V; B8 f6 S5 m
ORA #$01
( s# s6 s7 k6 F7 ?3 x( |) Q4 k PHA
+ K) `; Y8 f9 U3 C& J; m LDA #$07, u) g2 V1 q$ K* C9 h L
STA $8000. ~7 y/ w4 ^: ^5 k* e
PLA- d0 i/ l0 x4 T/ ^" D
STA $8001
9 ^, T* G+ i/ N4 A* @$ ~ RTS
8 l: v9 _( U! R- N8 ^5 {0 H* ^ .ORG $7340
5 K! I3 V+ d, b* S/ Y6 oPPU_BANK_0000: ;精灵切页( l# C; T9 G1 }: Y5 @( S
PHA `9 I5 m4 t1 S9 \3 f' j/ D; O6 v
ASL7 c, D* y+ I1 C6 ?
ASL* q8 z) q4 n" J/ \
PHA+ F* C3 P- w4 d( e* i' a" h
LDA #$00
& |* y& S0 c' Q* A STA $8000
2 S$ m* `8 x8 o5 L0 p PLA' m+ D0 y8 r& o% D8 ^8 p& ]) x
STA $8001
1 ]; S$ w( M$ a, I" q& F7 A ADC #$02$ _! m! Q6 D. [0 p. Y& C8 x& Q# e
PHA
( E3 _" |$ c/ g8 Q0 V LDA #$01
3 r0 J2 C1 K6 I* U# l' ] STA $8000! u' W4 x# U, w6 ?
PLA$ }7 J( V, t4 R0 f0 ]3 ]/ |; H8 `
STA $8001" n" E7 w+ l% ^( T
PLA f7 _* r/ ^8 V$ p; `
RTS& O3 x, L2 N1 I" a) F" I
* }/ U: {% b& W# l .ORG $73606 P5 T0 |+ l! X; F) u
PPU_BANK_1000: ;背景切页
& p: r2 a( [) D3 w4 e; g PHA
. z& Q. g: U: C' w+ ]9 x ASL
. e5 _! u! w" N# `1 X- p) \* \ ASL
* ]: W& d2 w5 s) Z, H, d$ B2 Q PHA
+ ^. r4 y& a! C, `$ P3 A8 n4 M) _ LDA #$02
6 I# y7 p) H4 R w STA $8000+ O7 ~# g0 ~- m+ s3 z- y; x9 \
PLA
. y% F+ P/ `0 ^- w STA $8001$ ^1 c/ l7 L) i Q E. H
ADC #$01. p( a8 A* q/ p0 n
PHA
* \2 ^7 r) | ~9 S0 U2 I LDA #$03
' Q* o' A5 R! O9 l: N' {5 } STA $8000* o5 N' a% t$ q( g$ g+ b" Z6 M
PLA4 \7 W! o5 D: q1 S/ K7 L
STA $80010 l, I; B- X$ S' N& `- S( `
ADC #$01% T* b* w' b5 @. a8 U$ t* ^& `! h
PHA, y4 ^5 I- N( ^
LDA #$04
$ t2 N# N* R D X' B STA $8000
) n% \5 Z3 |- d Z PLA
1 Z2 s' E+ T* X8 V STA $8001
R5 h" m. b7 j ADC #$010 \' m$ F1 C9 @5 A$ t; S
PHA6 A2 e$ A+ z) g; {( f( e# d
LDA #$05, v4 o- y' W+ @) i' |
STA $8000
1 K2 ]3 N; Z! I, Y2 C# P. ? PLA# ~- L% M2 z" y$ b! n
STA $8001
! K8 W$ b j( `5 a# J PLA# e! g; t5 T& e7 ?$ i, E
RTS
, m" L3 l4 D# t% N/ ~! N) K3 J4 Q3 Q; ?# }( U) n3 `
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|