|
|
;[FC][最终任务mapper1切页程序]; l; K4 `. b) X# D5 e
.ORG $CD9B
3 l4 s4 |/ R1 S, k. @3 }) w8 a* ^BANK_START:
1 d- y" {' ?9 H8 \" V5 U. {3 l) y STA $70
2 x& E- {' Y0 x) b TXA
" n: B% r* b6 t. A6 {/ L ASL' }$ O1 T; G/ }' R
TAX) N) T0 K+ Z' }
PORT_SET:7 H! c8 B) I! ^3 N7 o6 f, H
LDA BANK_DATA,X% |/ P, P" ^$ o9 C
STA $6E
% ^6 N2 U! W, z LDA $CDB8,X
( G4 ~; R* j6 U STA $6F; X0 l. X/ T& N
LDY #$00
3 I& q6 B( u+ G' ^/ n9 P LDX #$05
' Z' h& I. L! z* \, |" q Q$ S LDA $70
3 ~2 `9 O0 A! V8 d4 qPORT_WRITE:
# y3 m9 C: [' h, G* f0 P) e0 c STA ($6E),Y$ g& G" L* f, q, q5 H
LSR
; @7 T F8 c4 n9 } DEX
5 A8 J! W% H. l, F7 p BNE PORT_WRITE
% e8 f( _8 S" r# _3 ~ RTS
! J" y- _( s% e% Z& r3 g0 C0 p) J0 y m - m& `( i' p$ V$ _( [4 e
* r5 b3 S" E" P8 cBANK_DATA:
' N( n8 P% ]1 S .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
0 j: V+ \, K* p0 Z/ R 7 Y0 e/ m! {- j J* d, J
, |3 l- K. n- K3 T
;[FC][最终任务mapper1转mapper4切页程序]
- k( O0 T( H" S3 S% ~2 i .ORG $BFD2 ;初始化跳转$ v& Q2 \4 E- L
JSR $FFC0" H4 [7 L h1 E! T
l- e* c, I9 b6 w* Q
- J s/ O' v4 W) d
.ORG $FFC0 ;切页
+ K9 S1 C, m, M7 @; N LDA #$06
* h# D; O: O& J5 m& {6 J9 m STA $8000
: T: N2 O( r' e) Q& V+ A LDA #$0E5 y& c9 F3 o4 N2 X' m1 F% k4 p
STA $80015 T) q: w, A3 p1 d
JSR $8000. v- J) R- i% j" P' a
RTS
% J, g) {: D$ j: c
2 i8 D" t; z9 M1 U( | .ORG $8000 ;数据复制
5 H% @: C( o$ A7 R LDA #$80
- j3 o' g: Z" i STA $A001 ;启用SRAM/ \2 G, M6 B6 u& r# W3 |/ t& y$ A
PHA1 G% V. Z# l8 D2 p
TXA
% S% Z' s/ @2 ]% Y& s2 T PHA
8 N* _8 j. x; g' J LDX #$00; w$ W! g5 F9 `, [4 _3 X
DATACOPY: ;数据复制
7 v Z+ i# X. F1 y8 i/ T5 M LDA $8100,X
7 b; b- [& B' f" {# r STA $7200,X
: |# H* u7 E. B" _: j/ n R8 l INX( j* U/ S& u% e) b
CPX #$00
- E2 Y/ ]5 b/ ?8 R& @ BNE DATACOPY
: S/ \4 z' @1 W" @% v5 R PLA
* L! F# f- F3 H TAX- F9 k! n: k9 z& c2 E b6 I/ A
PLA
7 Z) n+ ~! @" B( c RTS
' D: Y( l- l. ~8 p# b. d2 C , N* ], U! v- c- y' K- p
.ORG $CD9B ;跳转到转换的切页程序
, D |9 ?/ G" M9 s; W* x STA $70
! \/ E0 f9 Z1 b( i+ |( q JSR $7200 q5 J* a! ?* `2 L( X# x
RTS2 l3 x& _: M, V. }8 @
0 K+ G8 @6 b. u- Y( u9 C5 T
.ORG $7300
; c; G f7 A( `" z7 H4 V/ _M1_TO_M4: ;切页程序: C* Q" k- B- e9 S2 J+ w B8 S
CPX #$00
& o( t s, N5 G* _' ~( ~. L BEQ REG_SET/ v9 k0 g4 e2 o& v& o& f. c* F
CPX #$01
, M- _1 d$ t1 }' e; ~7 e$ C: U/ u) e BEQ PPU_BANK_0000
% O8 ?! h% B, f CPX #$02
( S0 f& x! y1 X6 h' e( f BEQ PPU_BANK_1000
: Y' |1 y0 {7 { CPX #$032 l" `! Y7 @6 f; n. [! w- \
BEQ PRG_BANK# g/ @5 I/ [( y; P7 i+ o. M u) K
REG_SET:- u$ R) Y/ M' r4 E3 j* I X E
STA $A000
8 f+ k2 A J+ _ v. |; P RTS
! `" Z( ?, m0 U# B k } .ORG $73209 Y, X% ?; Q3 B& [
PRG_BANK: ;PRG切页
3 M# u) i! t1 `$ H' Q5 x9 [" L PHA+ S, j6 I! h. q, N& v0 w
LDA #$06
5 N6 O1 n- i2 f5 X& u* H) L( Q: i STA $8000
( c7 T+ V2 s, i2 `/ h PLA
7 h* q' e6 ^( W# w3 I ASL
2 C' ]$ p4 G. O/ { N; J STA $80010 k8 Q" F# Z5 o, P
ORA #$01! j$ Z" k: X9 }6 M
PHA
) ]6 L. W ?% N; j" n& w LDA #$07
& H, O7 |& ?; z- I7 F( W0 N STA $8000+ x4 `8 | Y$ u7 X
PLA
. L% Y" f, R/ ?( y% B; f4 b" ~ STA $8001
6 v7 a/ L# M) q RTS
# l" D5 ~) z+ K& ~3 H9 j .ORG $7340; P, t0 c8 ~; l% k/ ~
PPU_BANK_0000: ;精灵切页
# k7 E3 H8 U% i5 w# B PHA
3 a$ z, `! V6 [, F% [ ASL
8 o9 \5 e$ d# t1 i* y* g ASL( Q& E' O# f6 U5 [7 J! S
PHA
0 F* j# [. r- f/ n( ] LDA #$009 V/ Z, o( j9 q: V' S) b
STA $8000
, x B7 o+ ]; j2 ~ d' u PLA
9 ^* ~$ Z( n# M STA $8001
1 f7 v3 _) q3 L4 M) f& B) n2 ^ ADC #$02
7 }6 ? V2 N# E1 S PHA
# W( o5 Y" f- f8 t& k LDA #$01
r( m; ^7 q/ `7 x% t$ A3 z STA $80006 S" c, B1 m/ P, k
PLA; J8 ]3 B. P& g* `- z) b g$ o
STA $8001* n' O5 ?# t! U3 k9 O$ c
PLA& Q9 |% E* D. U' M9 _+ z
RTS0 O2 E' m w5 l3 c2 u
: ]) q3 S$ f5 G5 u7 K3 p
.ORG $7360
4 z$ s- M3 |8 SPPU_BANK_1000: ;背景切页
# T, }2 Z2 F$ Y5 l5 s$ c' Q PHA. r6 ]- E0 ]% o0 J# ^/ |; `
ASL; L# g( g; C, q5 E7 \4 u6 r2 c' e7 K
ASL
; F- x' Y, }# t5 W PHA
- A0 S' V& v, V7 J LDA #$02
8 |8 i, ^6 t) i5 Q, H STA $8000( Y' J3 K W! z* g8 c, k" l3 F( {
PLA z0 X, x e5 i2 q
STA $8001% g P+ Q. L8 J& R ?
ADC #$01; [2 c& B- k$ M( N
PHA! U. K; z7 n" l% v1 {
LDA #$03. i, c* S }4 U& G) M D% p
STA $8000
. t; w' R( T% ~, t- R6 o PLA! J# O- _3 j: ?: J2 [- e5 [& K
STA $8001
; f' R# N5 r6 o0 r+ C ADC #$01
; i9 u" g% W8 r! |2 Y, U# d+ w PHA/ \' a* W% }' o* W
LDA #$04
7 |2 r( t" w7 [8 p9 K$ C- d. K STA $80004 F: z! U* s1 M( W4 o# R1 n
PLA/ z, t9 v9 A5 K5 E5 T* u& E8 k
STA $80014 v) A3 X/ b* L3 q
ADC #$01
) `8 U& K8 q0 Y( u$ ]$ X7 i PHA
- P& O8 ~( B6 t2 a2 P" e' J LDA #$05
: C w' C- E3 b9 J) x2 H0 I STA $8000! S! T& m7 D: j) H+ p/ c
PLA
# O( e( c4 U( U; H! e3 f STA $80012 p: J* a" W6 y) p1 |$ c
PLA
* f% g4 j" A' s8 a RTS1 Z" f" D2 e5 Z$ ^/ i# [
4 ?9 N! j% V' m. e3 T+ \% }3 L( V
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|