|
|
;[FC][最终任务mapper1切页程序]
0 v3 Y {1 z) C% T0 D* | .ORG $CD9B
. [: i! l7 S" t+ f0 W! m0 VBANK_START:
! y( O# G, W$ N H, W. [; i STA $70
8 [- G: i, m" p. C5 u) ?1 u" J* q+ H TXA
) r- ~* P- h7 m2 [. y. M! v: C$ o ASL
1 _# K1 s+ J. q! t x% S2 q TAX
+ j7 g) m7 |% F# c9 LPORT_SET:4 a: B1 N( o/ p) y
LDA BANK_DATA,X
# W$ M7 c; u5 y" C STA $6E+ N) I3 d; y& w3 ?
LDA $CDB8,X
! [' Q. z' n8 T' [+ c; \- B STA $6F/ ~" q$ C/ ^. h9 e$ X4 Q C
LDY #$00
$ J5 r' t" l0 D# ?+ |! v4 X LDX #$05
% M0 V& w5 ~) K4 o( p4 O9 E$ G LDA $70! Q% a3 c! m7 Q# }3 O! c
PORT_WRITE:, S9 \9 }$ P X5 h" W4 r( R; [8 m
STA ($6E),Y& T( Z! Z3 s* J, O4 F, v$ U
LSR
; @8 S" E0 U8 A/ F, ^% u DEX: K8 \" p! z; z* F5 o9 z3 j- M
BNE PORT_WRITE! I# O0 M }" r) t3 A
RTS
: I: U, u. v+ | / J# F0 b& N- F8 z/ X- P
& l; t! m6 v& v' s# }+ I$ A! CBANK_DATA:
+ g& M' X3 W3 | .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF! J" X: z6 q3 @; J* o
. }" a# u5 C: L9 [, L
. g; q! q; K4 U% {& @# \9 V* S
;[FC][最终任务mapper1转mapper4切页程序]) _- a+ t' ]/ @, k! q6 ?4 w
.ORG $BFD2 ;初始化跳转
8 A4 R1 J; C$ ?: J# P( F JSR $FFC0. W. o, m, E5 m* v/ C$ ~! \0 @
. H# Y B2 q6 p* M3 _8 l7 ^; ~9 k. Z @& a$ x2 ?4 J! W
.ORG $FFC0 ;切页
% T5 _3 |7 u0 K" n H* a LDA #$063 b' Y8 o1 I1 L7 p4 t
STA $8000
1 ^2 c, q# m( T! H( p, ? LDA #$0E; z2 Z b" @# R2 j& ?* g
STA $8001, S% z& Q( N0 A4 k1 R0 ?. T. p
JSR $8000
# \2 q( y; E V- v: G( c) Q* D RTS
( {: z/ Q& [3 }# R 9 l/ V; O# y+ B- b y
.ORG $8000 ;数据复制6 M6 c: @. x' j" D# j t
LDA #$80
0 n8 f3 W; j6 l2 z STA $A001 ;启用SRAM7 \4 D0 n, q1 V3 b$ r
PHA. ]- |7 P7 w. C2 {8 D- @ N$ u
TXA
- z. J; [5 g1 b8 t4 H: r" Q PHA
3 Y, w# S$ l) _& h$ ? LDX #$00
* }8 w0 z0 X( d. Q6 M5 |( LDATACOPY: ;数据复制
0 ^3 E. l8 O- s( l$ s LDA $8100,X
& P0 d6 {' j1 l8 l STA $7200,X# v/ n9 L! ^7 F6 @7 I5 L0 s
INX- H. ?, V8 J- P4 a
CPX #$00
]6 [ I" Y4 f7 b* z) F& z: Y BNE DATACOPY3 ^2 e/ M8 S6 M! g; o
PLA
' u, c! Y7 x) @ TAX. y5 o: M! Z$ P* G
PLA
- X& w1 N8 m3 R RTS
% L, I4 ?7 K6 |" h7 S1 g1 q4 N q
+ j: y f* ~& ?, R .ORG $CD9B ;跳转到转换的切页程序. X. x3 `. t& R; b! ^! j; F
STA $70" C3 u' k8 \6 F" C8 }
JSR $7200$ J( Y6 d+ ^9 \
RTS
+ `* K# X% }' M% D- L8 l 8 ^ K. T1 [" y |
.ORG $73000 K' U2 ^1 @* [# \6 w1 g7 C# h
M1_TO_M4: ;切页程序; M; T, u9 R) n& X: t
CPX #$00$ J& o+ p1 M0 c& {' o( _
BEQ REG_SET
; \$ b0 Q; `! x6 W2 _ CPX #$01
+ f+ ~2 J$ H. ]% s% C BEQ PPU_BANK_0000. L' P/ B3 J# y+ }& r
CPX #$02
7 X+ H: Z9 R6 b' P5 P2 {7 G. U BEQ PPU_BANK_1000
0 x4 Y. _. W5 T; g$ W8 [" V) A1 P CPX #$03
5 ~7 b* L5 _- `& k: I' H9 m1 a+ @3 u BEQ PRG_BANK
) i- X0 P) v4 l# qREG_SET:
" L3 `9 c8 b: h* W2 o STA $A000- o h- I j6 l
RTS
. K( D; `9 u+ n% o .ORG $73203 T1 t* R ?2 y$ w/ n
PRG_BANK: ;PRG切页; M$ K* b' w6 z1 ]" e
PHA
7 i) V7 t, S) H9 H LDA #$06* ?, b$ p9 b0 i- i8 t4 H. Q4 f' T
STA $8000
8 p; D% z# k% J7 z! E5 R$ }! a: D PLA- q$ k+ w5 I& I1 J& N8 V
ASL
( V/ d' u" P1 [# ~" X STA $8001
Y; D, J3 g% y( d ORA #$01
' f2 Y! H4 [5 r: b; }) q( i: x PHA# E8 J5 O* R1 m, x
LDA #$07
- }& `' j G+ A, o( C: U STA $8000( w+ I- K- p& i0 ~9 G
PLA
0 C+ m& {, S, Z5 G# [$ V STA $8001
2 T# o) [ C/ l) X/ d8 l RTS3 H) f- D. @" g0 B0 ?
.ORG $7340% j5 G3 Z! N* _7 C$ l$ L2 y
PPU_BANK_0000: ;精灵切页% X/ z& G9 d* i" U" H
PHA
* }) L7 Y) r4 F* O0 z6 m8 H ASL M9 U. a5 i! E8 I
ASL% V% Q- q5 M9 i& V. `5 T1 N" V
PHA" _7 \+ C; Q7 W1 @8 M0 B
LDA #$00
0 d b' L3 e" P' b# t+ Q& F STA $80009 l" D- M& h$ v/ q/ c- `
PLA9 v9 g g$ g! A# V* @
STA $8001
+ u1 N( R" E- }9 ` ADC #$024 F1 z) e: p- v* V) ?) a8 S2 p* X+ d& q" H
PHA
4 J) u- G0 k5 _: c& U LDA #$01
% J e( c0 M& D+ B) j STA $8000" r9 V( E" z4 o2 R# \3 A
PLA: X8 Z) t, B0 e2 p2 ?" w" a: z( w
STA $8001! M# F6 G0 x6 D6 q
PLA( v5 ^% I. s! t- F3 s; ?4 I
RTS. y0 L6 f5 G+ y: y- P2 Z
. q% m7 @6 Q5 C .ORG $7360
- {7 m! c: M6 f* xPPU_BANK_1000: ;背景切页4 E% e& B5 G& [! D. d8 y
PHA
+ c0 n: \) B9 E, A2 N ASL
" m& {2 `9 u; r/ M1 u ASL
+ F) D& \; e. T/ l4 l4 f PHA4 Q) ~) C( X# U$ \) V* L3 U
LDA #$02
, Q! A% e: f( i1 b2 r! m r STA $8000
0 q2 s( R# ] }; {$ z) B PLA
6 n4 i1 r. [3 S* V" }! V' q STA $8001
- K' g* a9 d5 l+ U# @- H ADC #$01
6 _/ A2 y" E/ P1 ] PHA
/ ?3 ~; x. K" e" f LDA #$03: P* V0 f& ~2 ~- y( }
STA $8000/ E* s1 S" }# O# ]- W
PLA( C6 f2 {$ O# e4 a
STA $8001( R1 z$ K% h! L# C/ m
ADC #$016 L, m- k8 ^7 U; C) ^0 n: S& S0 U
PHA
/ O2 U7 n2 y% o# M2 F& b LDA #$043 `$ b( H8 b( a3 U
STA $8000- g' V# k4 q& y) o, }1 j5 m7 ?
PLA5 m2 e0 r/ x- T) N% E e9 L& I5 E
STA $8001
! S) k: Z2 A3 _2 G" x ADC #$01
& n3 k4 H4 w& {8 K9 I3 l PHA
8 E/ X" V e" n LDA #$05+ `3 `0 ? |) @
STA $8000! J0 @( O1 Z8 D' }1 n
PLA: p& b8 d% x4 y0 Y$ U) t. u5 t8 A) J
STA $80017 q5 V/ x( M+ [5 [- I7 V+ _
PLA7 g! A0 N ~; j% ]' y+ g H I
RTS
_9 x3 |$ X% c' t7 k. ~* O" x+ e9 |. a1 o* k# d8 O& Z
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|