|
|
;[FC][最终任务mapper1切页程序]
' o! t! S, M1 H2 |; C5 z .ORG $CD9B
$ V: j: I5 o5 J" e: ~- HBANK_START:
2 Z6 S- U+ b* z1 {) J STA $70
, \& G r0 [9 O- E% o TXA/ f0 |, Z, d3 Z" n9 ]0 ?
ASL
" o1 W- e5 G @ TAX
0 u5 J- ^6 l* lPORT_SET:+ F& |/ d/ g" L; Y' Z6 v w
LDA BANK_DATA,X
; M( T% T1 u/ O! K4 \0 y) g/ E STA $6E s' u( P; P9 k: X. P
LDA $CDB8,X& ?& @ i( L2 A* D( ]
STA $6F
/ W9 M6 ]) u2 |6 M9 S+ j: g) `8 R+ M LDY #$002 R% D) D0 u9 A- @
LDX #$05
7 {! _. Z; V2 Q/ `" S. N& ~ LDA $704 O5 D I( I8 ?9 V+ C
PORT_WRITE:$ ]0 F8 B# A" D
STA ($6E),Y
8 G! X0 M8 \7 T( z* w' M4 ]$ }+ H* K LSR
$ M$ G6 y' {' f0 h5 E DEX
! f, s5 d4 i, d5 U+ k BNE PORT_WRITE
5 h/ g& H6 z& x0 s9 J2 Q/ b1 L0 B RTS
0 C, b6 ?4 | k, W' F' q4 w" Z: c : v9 k9 q& d5 V& V+ }/ @, }
+ i4 o: Q" z: @ w" PBANK_DATA:
0 Z7 l w d6 Q, ? .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF+ x1 [6 W, @$ I
& r0 i* C2 i# b& e7 g
9 |7 ?% |- s8 O" j; j9 ~$ X. ~;[FC][最终任务mapper1转mapper4切页程序]
/ d. ^( w M& i. H/ R- W8 j .ORG $BFD2 ;初始化跳转+ U$ k" e- E8 D# I- Z
JSR $FFC02 n* V1 \% k# X9 }# F0 S
+ W- W4 f3 ~; a, q: F+ R3 l9 @
0 F4 n2 F% d, s0 J .ORG $FFC0 ;切页
/ m9 d" ]/ ?% N, Y- _ LDA #$06
, W+ y7 E% q5 { @ STA $8000
' M' o' L6 L# n0 O- z LDA #$0E, {* @1 P T [3 |# U- l; i% G
STA $8001
3 s/ X% ^* y: _( P JSR $8000+ x- b: x* e0 d% o- C. A
RTS
4 h2 e! w8 _6 L% Z ^" N) F. E$ p5 Y" \- Q+ p
.ORG $8000 ;数据复制- n) E' D+ ~% c. V2 @" o0 z! m c' \
LDA #$80
6 l8 m7 k9 i* ^3 ` STA $A001 ;启用SRAM7 X3 [1 X8 C" g: A, b
PHA5 }% j$ {6 b @* P$ F6 K' I( x
TXA; c( |2 I7 p/ _( A7 \. R
PHA
2 B" E5 \$ e* @, ]3 ~ P LDX #$00# x" m7 X" L$ e3 N
DATACOPY: ;数据复制9 @, ]# d0 X7 u/ {. L
LDA $8100,X7 g0 T7 C I- j |, S
STA $7200,X
0 V2 M- l: E! c3 \ INX
2 ]8 ^1 D4 g$ U2 @" E CPX #$00
+ o4 `8 u8 ~% e! t: ?# @. j BNE DATACOPY
8 e1 @5 I/ z( ?' g" T& w PLA
d( S& ?7 z3 Q" ], o: l TAX
7 k- R( {4 Z4 Y1 k PLA
, ?7 L' I) _" @, z3 w RTS
( H! y( s# d2 Z7 Y9 g / ~ z% ?8 E) ~4 i
.ORG $CD9B ;跳转到转换的切页程序
( [( ]4 v1 P* v% e& K* G+ n a% g STA $70
3 i+ M( e+ Z3 q3 k) g3 f JSR $7200
0 {! I5 f0 c4 z0 a" f5 w: A RTS4 W" x; E3 S" H( o% b1 U' k
q# h3 j* s O
.ORG $7300
( e( R: N- D: {; _1 y) KM1_TO_M4: ;切页程序
& w2 [9 u& Q+ z5 E9 C5 x CPX #$00* n' u; p: T" ^+ `/ _- D" W
BEQ REG_SET+ }. p, g: S+ o) Q$ c7 U
CPX #$01$ i- K3 S( e2 E4 I% s. H% ^
BEQ PPU_BANK_0000
9 y# Y' P- ], x" T. k. @0 s CPX #$02 ~8 h4 g0 W9 o( a
BEQ PPU_BANK_10007 q% b7 @5 \, {: H
CPX #$035 J h: F$ \& \% m$ F. R
BEQ PRG_BANK! I- x+ t# Y. s. R
REG_SET:
' o- k+ `& X& t" x+ h, t1 G U1 h STA $A0004 L: m$ f v$ K
RTS
# O7 ~4 a# N4 b .ORG $7320
c1 \. j3 e9 _! Y/ r7 b% P% `PRG_BANK: ;PRG切页* c+ Z+ {; F: l9 J( z3 m% u8 M) F
PHA! z% U) |7 G5 S. L2 c8 I
LDA #$06) `* s6 ~8 b9 l! j9 m/ v
STA $8000
$ @" F5 V* m3 j. q/ k PLA! I. \) Z$ Y- j- f- o
ASL% k' T! \5 N3 P' [, S; w
STA $8001
- l f4 m" u: D' Y ORA #$01! v4 D4 F: F; ^3 [( R6 q, M
PHA/ D3 i! r" A$ J! C
LDA #$07
+ U5 V0 S" f2 {" b) s STA $8000
+ O0 v; ]% t( V) y PLA, @3 x+ M6 ^1 ^5 ]+ b
STA $8001# {$ T9 B% B4 _+ E5 D. b
RTS1 K. o' a+ h% t4 U. |
.ORG $7340+ i# Y( h* Q8 M/ z
PPU_BANK_0000: ;精灵切页
, t; N) f# b1 n9 O PHA
( B) N, X$ ~ ?- {3 K; N9 ]8 R ASL$ f( b6 _4 ]: o% o S
ASL
3 ^9 m) F* w( r# }0 }/ J PHA& V5 F6 c; N% F k' Y; f
LDA #$00" K* W7 Z' t, v. \) Q. Z4 d; S% m
STA $8000
8 z$ k( n Z# r% Y# J PLA$ H" i$ I% m9 N$ `0 I! U
STA $8001 B# h. v, w8 K6 y% A7 {
ADC #$02
" X" ^# i3 Z% S5 A7 V6 \0 o2 S PHA( _9 Z' I6 K5 _
LDA #$01
& K# m) I3 p" B$ o- A' a4 o STA $8000
+ d( N9 T, ~5 ]# a$ T PLA+ Z1 A: Y# j2 e' b* P) @
STA $80013 `2 A5 A3 C6 W
PLA
* A A& |4 s! p s0 c' H RTS
" X6 U8 f' _6 U/ e- `5 K0 w 7 Z5 s3 L" M# X5 l7 k& l9 ~
.ORG $7360
6 y9 n/ O: _* m: k7 h( |PPU_BANK_1000: ;背景切页
( K. ^% i! f5 F PHA
! s5 [; a) S: m: J ASL- d) N+ d: K$ |% p! v
ASL
# Q7 c! V; S2 P; g4 Z PHA
! ]! }6 v4 H' h; j+ e/ L8 q LDA #$02
& F4 _2 I6 G# v4 f a* j STA $8000" [- L8 j6 ^2 O- G' ~% o
PLA
. Q' N9 a" y* q$ ]! `2 W STA $8001
+ I$ @* }6 f' v( r6 m; [5 v9 n ADC #$019 a& W1 @; \) E" x: ~; v
PHA
% t& X5 |. ?4 s# J LDA #$03# z# R7 n" x/ f
STA $8000' y& z- C5 }" }0 p6 \5 t
PLA5 }+ t* W. L; ^% P- o* e/ K$ K
STA $8001
3 Y ~3 h' w+ j ADC #$01" ?7 X' Z' t o3 b4 J
PHA6 M- o" c$ a! S
LDA #$04; |- u. D4 q, ]8 i/ ~
STA $8000
4 i) ?2 J" \: M9 [1 t PLA9 c5 s% `( W, S' `
STA $8001
9 y# c7 O4 X: N1 w1 H: v$ T5 H5 n ADC #$01
7 ~7 z5 s: M1 i3 J PHA
& `2 m1 P- y, D3 g LDA #$05
3 V# Z5 F: K' ?3 l) s$ s" H/ a! k STA $8000
+ x# e D- n7 x# z& H PLA/ S1 X) K, ?) V" c. H$ Z; I
STA $8001/ s: s5 n+ c# u( t
PLA
7 ?5 u' N0 t: y& R; y' b$ y: b& c RTS$ ]% O0 w! c& J! Y# N2 P
% o1 V. r! M6 D( M9 z |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|