|
|
;[FC][最终任务mapper1切页程序]
U! y9 } @" X! \9 K: c .ORG $CD9B
B6 T3 `# w7 v( ?" Y- V2 `& NBANK_START:% e6 k0 Z" ?* F9 s3 S
STA $702 U" h1 b9 L. x7 l- [" c) P2 H
TXA
3 W* ^3 Z$ ?1 e( D, {' w ASL
' o1 ]/ C. D# j* k, T TAX
7 x( `1 A( S! q3 _$ cPORT_SET:- j/ [& w: h, ]1 V, f( o
LDA BANK_DATA,X
' n# v8 S& L5 L( s( [ STA $6E
2 B5 I4 M, S7 V9 z5 Z LDA $CDB8,X; i) J. Y( b+ I
STA $6F
$ }. L2 Y7 e7 c8 u3 ~- i LDY #$00 M* H6 o' a. \; v3 E
LDX #$05
" B% ~4 Q! u% V: [, o: i! Y7 b LDA $70* c2 C7 P3 a. U+ Z; J5 J
PORT_WRITE:
9 g9 E: ^2 r& O& q K# Q) h STA ($6E),Y# M: {4 _+ `; e. n. y" K% X6 {
LSR
: }/ A3 `( M) D/ W. n( E/ Q$ Q DEX
; G: B( U. H) U0 [$ f BNE PORT_WRITE
+ Q) P, I5 Z/ Q: q RTS
% Q3 p+ n+ [+ { ( o9 T; X5 _/ H& Z7 P
) D( Q0 [1 |; K: Z/ {
BANK_DATA:, `; }' k+ ?8 G, ]1 |' K. D
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
, J2 ~% j$ A" h- d
6 \4 C& h& P" J ! ]/ y' f) i# |- t
;[FC][最终任务mapper1转mapper4切页程序]
9 Q1 j+ W0 O' [4 [7 c1 y7 z3 [ .ORG $BFD2 ;初始化跳转' P9 L ]8 \# M, I8 R+ D
JSR $FFC04 E6 v5 |- J' ~$ V0 [" W6 b+ j7 ~
" _9 ]. e' l1 ~. J+ { X6 u G+ b$ X0 X! b. Q# x1 r3 d
.ORG $FFC0 ;切页
0 \5 _1 V. ~ S, s; w* k N' `3 K! c" C LDA #$06
" _/ C% I) J% I3 k9 d# X) } STA $80009 z1 Z f; S+ e0 N) D
LDA #$0E# n3 ]- V, u( H2 }+ Q# V5 F! D
STA $8001' [# `: a( ]$ [" d. D+ Y; g
JSR $8000
( i+ b2 e' ~9 V( O/ \1 c) n RTS
/ y" |9 b+ N0 J0 a
0 L0 N' H+ x& r% z, S .ORG $8000 ;数据复制
5 P5 Y/ k& p; g8 S LDA #$80
4 z, @( j: @- l6 U4 ~ STA $A001 ;启用SRAM( E* I* q. V4 o2 {
PHA
- `. `7 l" p3 H TXA
' y* {% C3 t7 s) I+ z PHA
5 B7 K4 k) |% Q' C LDX #$00
+ y/ p6 x# O" ]7 `/ ?DATACOPY: ;数据复制8 A- g. h( G( L x8 e1 d( e7 s
LDA $8100,X
# Z$ R/ F# k. N& @$ f STA $7200,X1 g+ S5 i+ o, [! Q7 c9 p
INX
0 ~+ n3 `4 J( c CPX #$00/ c5 m( ?1 |+ w; a1 l. e
BNE DATACOPY
/ W8 c! V1 `6 \6 o PLA/ E9 w ^+ [9 N+ z2 m1 f- x# w
TAX
- d5 a" q( Y2 j: V4 q# c* M, X PLA
* i3 e( P5 `# |5 E# s7 x RTS' t+ K2 H; A+ e1 \" G2 ^; i# r
# \9 b( l% c" W$ V& v .ORG $CD9B ;跳转到转换的切页程序; C2 e$ V7 X) Z& U6 q, I! M" P
STA $701 }' E4 D9 N' m# `- G
JSR $7200
% y L, f! W3 W3 A+ Q5 ~ RTS6 i S" Z( @" ?* O8 ?
4 s# h" n7 {* H( _) A .ORG $73000 T/ F- u% i1 j& T% i$ Q, g
M1_TO_M4: ;切页程序
- T! r* |' H9 {. p1 h% j CPX #$00: @1 h3 x+ ~) M) X
BEQ REG_SET
2 n% N0 N5 k- B CPX #$01
, e: o8 I6 L3 o- o1 p- M% V, v3 q8 u BEQ PPU_BANK_00007 G! y( K# E. A: m w9 T
CPX #$02; }" S* _% s' l( |; i$ X+ ^
BEQ PPU_BANK_10000 Z: j1 V* j8 s7 F" R
CPX #$03. F! X' T" P: l6 O$ H
BEQ PRG_BANK) y0 j* n0 j c/ P; g2 Q
REG_SET:: U3 u: N$ T( M% `
STA $A000
2 A# Y8 O8 C( X( h RTS
) d* k! O% A% F2 Z) c .ORG $7320- F. Z; a0 G! s. ~
PRG_BANK: ;PRG切页6 \$ b. t& ~# e6 ]; q1 ~
PHA
) @4 i3 S9 R4 K LDA #$06
) a R5 Z! [+ R5 S2 O$ {0 G) }, P STA $80008 @) |- e' j1 g% H7 c8 I
PLA- N- k* C; Z: x0 o
ASL
; ~3 ^% y8 g; G& g9 G2 u7 _" j3 P) T STA $8001* K9 _# j, M5 Y# Y9 O
ORA #$01
% D" q/ o4 l4 P# M* | PHA. J4 P5 w p: n+ [& U8 y) `5 H/ i
LDA #$07% ~! f( h) V, a' K" X8 L+ P
STA $8000+ V* [7 ?; t" t. T. A3 v8 n
PLA
/ S H9 @; N) ~2 H+ j STA $8001
/ Y9 O4 ?3 }1 I2 a RTS9 g& }9 ]" }; y
.ORG $73402 a2 D* E0 O* v: D; W2 p
PPU_BANK_0000: ;精灵切页. `. t, k4 |- _$ f9 G
PHA% G0 v) B% @$ {! w& e) k' L
ASL, J9 w$ r- Z1 T" Z1 n
ASL
0 F% o. P: n0 ~ F PHA
' A: | g$ J; ?4 E+ \2 ~ LDA #$00! S3 j; ^! z) h- p
STA $80008 a/ E' g& Y7 X. @5 W. Z4 T( g9 c
PLA3 v- A: P- @8 t2 g& Y3 `
STA $8001" G0 J7 T$ q/ t0 \ L" @# z
ADC #$028 K, Z3 f" O* M
PHA
( |* P1 G- I2 T2 X LDA #$01& j7 p" y1 v1 ?% s
STA $8000
|- o( X* x+ v/ o7 y) l+ R( { PLA
, J* X' z4 N. T. r STA $80015 P- c3 Z4 Y4 @5 D
PLA2 R( f- C+ {( s- s
RTS
# T. P& x( @3 ~9 a7 @8 W% M
) C" P! O( E+ m. A7 o: f .ORG $7360( L& R3 W' ^% ?* C
PPU_BANK_1000: ;背景切页
3 [6 ^; G- `) U. _* v7 D PHA
9 @! k* Z+ t* E. F @* t ASL
+ t1 T- U+ F3 q. ] V3 k ASL
# o2 S& C/ A. f O6 l* i4 q PHA
. n2 |3 z, c8 Q( ^ t, N+ C. Q LDA #$02# ~; k& c a2 A2 m2 o5 o2 \
STA $8000
( Q3 x0 c9 b* `5 L( e p$ O PLA4 k2 W' n& z7 @1 I, C/ |. R
STA $8001
# P3 n) ?$ _7 Y4 ?5 a" u ADC #$01
' @$ S" @ ^# X3 N& ?9 u PHA1 L( t+ }* b( V% [/ U
LDA #$03
2 K( ^4 D' d- u. u6 [6 l, l STA $8000
4 H0 y; d6 w7 B! o7 P! b PLA7 E- w2 X$ m5 q( M6 |
STA $8001- D2 s2 G# a, J7 ^
ADC #$01
; D7 K V6 l3 ]" F$ K. P3 X4 h PHA# B" Z+ ?$ l1 r' q
LDA #$047 J3 d" Y# ]3 U3 Q+ {
STA $8000
# K9 I! H! e- Y. S2 R. t4 a: u PLA
. j* S, W$ `" ?4 U1 _# Z3 Y6 q STA $8001$ x( C" z, K& z- Q& x
ADC #$01, y! m" d. d+ T: E' z' K4 m
PHA
7 f6 ^9 @" Z2 F) N0 m0 t LDA #$05. R& ]4 k9 i3 h
STA $8000
" m( w7 e5 b# w$ O PLA7 \ M. q; `+ U; v
STA $8001
2 e9 h$ ]: p2 p. J& B2 a \0 m PLA
" v$ g. j3 a# D O( F0 s. F: } M RTS
) f: h, B1 { H! c; b! M E" e# I& G, _% l6 r& z2 ^
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|