|
;[FC][最终任务mapper1切页程序]0 P. ~' f j" l
.ORG $CD9B
* P. Y: S) W' dBANK_START:
$ j3 k) ^7 }1 |$ g" H% u7 V STA $70
. Z' Z% [9 z+ k* b3 e- C1 G TXA
6 x5 y0 U6 b1 k# D* L8 L2 S f ASL' a+ b' H2 r7 ^" L0 o3 H
TAX
# t/ B% ^" ]8 l% ^- n/ kPORT_SET: f! h5 n7 C) q1 F! |6 w4 q: T
LDA BANK_DATA,X X A1 i0 O; a: q0 a% E7 h
STA $6E
! q* h1 i- ]! s LDA $CDB8,X; w2 H9 E# Z/ f) V
STA $6F) q/ Y3 C8 g/ }& W# S
LDY #$00/ G7 C a. t! C7 n
LDX #$059 {" z/ Y0 T* v1 G' [
LDA $70
& Q4 F- h% X( K: u8 V, a( dPORT_WRITE:0 L6 L$ B4 ?1 r
STA ($6E),Y
# B/ |& P! @* c$ c( r6 E1 {* y' U LSR
1 q7 a: }- i4 p- j! O) S DEX
' B% p% C( w" m4 w+ q) ] BNE PORT_WRITE
L E# y+ C$ Z. F* v* Y9 Z! l RTS
2 C3 g/ P. O! |3 f3 o5 G3 @ $ A/ X( A9 z0 w
# I; e- }3 a+ V8 T7 y4 }- C
BANK_DATA:
) G& w* v$ N3 \4 O: z& [ .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
% i' b \1 Y0 v# i2 m6 m / z5 V& C5 U5 v) O- \: R+ A6 b w
9 K9 K4 ?1 L Y* ]8 x( W
;[FC][最终任务mapper1转mapper4切页程序]
8 p3 j2 {$ i, { .ORG $BFD2 ;初始化跳转
# p8 _/ A% l) E; L$ t, J3 ~4 ` JSR $FFC0 R$ A# @- t% [4 Y* S! d* z; R
, C+ C$ O6 X$ f& D
* m0 v+ C& o) |+ K .ORG $FFC0 ;切页
& A6 W! ^* j; V; ~$ T LDA #$064 V3 j3 z5 Z l8 h
STA $8000
. r" T2 U* P2 s8 _- n6 R" T% ~% i LDA #$0E- M4 [4 z% V, n+ @; ~4 V9 _
STA $8001
' ~+ M3 p4 U9 }4 i5 J JSR $8000/ N! C! _0 m2 s/ C t! P3 }% s
RTS
% ~5 T+ z1 ]+ i) z. `( n, L! u
8 \7 w7 \) W3 D- v D9 o0 q .ORG $8000 ;数据复制% \8 R4 P; \1 ]& P
LDA #$808 {6 M, S$ h- o X7 G8 z
STA $A001 ;启用SRAM! {* }- Y x6 g: M+ c2 b% h' A
PHA& e) N" {. T \. G. W. p
TXA9 A( e: A5 _* S. H+ ~
PHA
' W) m$ m7 |; M1 W LDX #$00
) K1 w- T% Y. g6 `7 rDATACOPY: ;数据复制
, } b3 l% T3 I T+ J1 J LDA $8100,X
( z0 \* K) {* R7 i$ T STA $7200,X2 |! ]- b- ]3 e2 G$ z0 ]
INX4 C/ } r' V; W" P5 T* D& |* x
CPX #$00. R& R8 E& ~9 _2 E* M, g, M
BNE DATACOPY5 @+ U0 @5 F, _4 {: \9 B" s
PLA( z; M* p% Q$ O) ~* ]) s
TAX! X; L& o9 B) s. P7 {" E7 l
PLA
3 p3 } J& ]% [, X2 K6 U RTS$ V: U# H* r% U5 w# W' v) Q6 w
4 a3 n- W4 @! ?: z! ? .ORG $CD9B ;跳转到转换的切页程序: }) d& i$ e* Q* M8 I
STA $70! F0 Z+ s- q5 e7 f8 {5 l
JSR $7200 j( A6 ^' ^ }+ y
RTS+ {' _& {- D# x4 H8 ?6 n
" i; _, @9 @) g .ORG $73005 u1 i# Q* a; m8 g" C- l& I
M1_TO_M4: ;切页程序
! w0 G* \% X1 \& B# K b6 m+ H- K CPX #$00
. a# v/ P3 N8 E4 U' P$ t BEQ REG_SET6 @% E1 [+ R4 Y3 T, V- ]
CPX #$01
: w. c. s6 y, [- p, x- R BEQ PPU_BANK_00003 a n; T! v7 Z7 D X7 v, T* r
CPX #$02
8 J! G" a. P+ u" B2 [& B9 L7 r BEQ PPU_BANK_10006 I# r" o( k8 _7 t) f( Z) T+ x: x2 Z
CPX #$032 \! N: r6 J* B
BEQ PRG_BANK7 x9 d. U' q" [" Z" W
REG_SET:
$ G( ]" O3 i9 z) R' ~0 ^! M STA $A000! I# j) H! O8 }4 g% ^) J t
RTS' i8 T/ i% B1 _+ m
.ORG $73209 }. I' x; ~8 k$ \
PRG_BANK: ;PRG切页" C. H* N o7 Z
PHA: K1 x' h8 E: {! q& Y
LDA #$06! D7 C6 x h4 m2 o( Z
STA $80007 u' X( d1 @1 s8 e
PLA8 t) v9 b2 w6 T
ASL; H; v3 b+ C7 U& Q
STA $8001+ d8 X/ J" {* T z
ORA #$01+ a, q" V# L. o# @! a7 \
PHA
: d, n% S: ]7 X. f0 d/ I: \ LDA #$07
: O5 u1 I* ]& M3 Y/ P, R/ g" W STA $8000
, D) Z/ ~0 i( I/ s2 W8 M t, K PLA7 s7 g" n1 X+ l3 A
STA $8001
# A- V8 `1 |) _ K( r# N% X RTS
7 V$ v" `6 ~8 d3 a+ O1 R$ v: h .ORG $7340
9 K+ t# R, u8 q/ m. Z" `PPU_BANK_0000: ;精灵切页
/ \3 i4 J- d. Y; l S& H PHA& T7 i" Y# {4 \
ASL* N3 w! u2 A6 Q8 ]2 k0 R( P
ASL
; J2 e& ~ Y# u Y$ m- Q PHA
3 b u4 ^, C" z: K, I LDA #$00
$ _4 H0 h% r# ~% Z: E6 r, j' a STA $8000; T$ B; Q2 ~, m
PLA; d( l( T/ d' L! }: L
STA $8001
; N3 H4 {2 y) W9 @ ADC #$02
& Y2 o* P8 f, B D" w! z PHA
. a# {" w( ]4 Y% g. f( R/ k LDA #$012 V: b/ q- A Q* K
STA $8000$ G- o2 b& f) F. C. u4 A
PLA
+ E6 v/ J* S$ G- \1 U3 I3 x STA $8001
% @# \5 w$ B8 G8 b! _% f; G PLA
$ s g) O+ G$ ^! _8 e9 a RTS. G; i! Q U1 S5 t, W$ M$ H
+ o4 t& i* t1 c# p4 I .ORG $7360
. k! k! R5 D7 LPPU_BANK_1000: ;背景切页
: W( S. `2 y* h, u% X PHA e% [1 B" ?5 b& r
ASL3 n( P2 l0 n4 B4 O. a
ASL7 I: m3 Z4 Z9 k+ i4 f/ P
PHA
& j/ i9 }) W" w P LDA #$023 b0 E/ d* E; z8 W" ~$ A$ U
STA $8000
) ~2 [6 M5 u2 B$ Q8 `2 q PLA# e/ e6 ]$ J8 o+ G, g& y7 @% t: g$ I
STA $8001- }# Z) ] G g( o* g
ADC #$01
, ]. r9 Z( h( L9 ?9 u PHA4 b/ I5 B( @0 w' Z2 l- ^
LDA #$03' J9 H# Z' d# w! _" h5 t/ ?2 Z/ ?
STA $8000
, Y& d* {- x8 Z1 X* {% Q) V PLA. W4 ^( A0 {0 E5 [$ X) [- z+ Y Q
STA $8001
- ~3 j) }: B0 a' } ADC #$01
7 r* J) w3 \8 j& Q( ^ PHA: T: Z" X1 [2 Y. N! D' y9 ^2 }2 c0 x4 ~
LDA #$04+ M! R& \- \' [; l& u4 a( ]
STA $8000" _2 `2 e: s; ~1 a) b9 |
PLA$ C) ~1 c/ M3 b" t0 Q
STA $8001) V& j9 R7 u2 y( W6 J2 x- |9 n
ADC #$01
) S( r$ K0 S( _& w4 l PHA3 ^" S9 g0 q8 ^
LDA #$05' ]& a. D m9 D w1 ] q
STA $8000
6 }* ~7 |% [) m9 {( X. r PLA
- }; f1 u( U' V" k" ~9 x STA $8001# c ?: J! j) g& a2 t" e( ^! O
PLA
5 O6 ~: ]( \* A, Y RTS
4 A/ l- W* @& W# }
6 n( p! C, ?+ h& j |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|