|
|
;[FC][最终任务mapper1切页程序]9 F6 |( Y- h4 k9 d
.ORG $CD9B9 R) n) C! D; [2 ]
BANK_START:1 H; Z6 l: h6 {2 {- z# h" z2 W
STA $70/ p5 w4 o8 ^6 R3 I9 `' g
TXA
+ j5 @& R9 Q7 x/ ~, E) U ASL1 l# E2 h; Z p/ q: u0 O3 ^
TAX5 e5 n* y. R. Z5 H
PORT_SET:
$ S! V8 H- ]( m, A LDA BANK_DATA,X7 K6 t$ n/ r# M+ m {9 z& z
STA $6E
1 R! J) q4 H- \& m0 v; x+ C. T LDA $CDB8,X
9 A' i- }/ X6 c% c STA $6F/ A/ z- q. M+ e* o2 F! P
LDY #$00
4 C( [4 w/ l4 [; ] LDX #$05$ g4 h4 B& B# g* _
LDA $70/ @2 u" `5 q( \# x* R
PORT_WRITE:
1 H/ C- H0 e0 Y2 Y STA ($6E),Y8 t: m7 q& `: t+ V2 g% M0 @
LSR
' b+ T9 S; [: S! [% a% p5 V DEX
f6 V0 L6 x6 _ BNE PORT_WRITE
' E* G) `2 \$ j& u/ \ RTS3 Z- Q1 X) C9 F% C" C# g
. N, A' p6 A% x. B6 B % t7 M$ }# b% U3 E: p, c
BANK_DATA:# \: A, H* K/ ^+ S! X) V a6 w
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
3 E$ {. z3 B, y9 B! l, Y. m
, f; i9 x8 B& G' V
. _3 N% p+ O' ^;[FC][最终任务mapper1转mapper4切页程序]3 O- ~) B9 B; }1 S9 G/ z! E( B6 o
.ORG $BFD2 ;初始化跳转
) b/ G4 o3 l g1 R# X# N+ H" q JSR $FFC0
6 T# O8 C" H7 W) @9 G
6 t5 R3 N) F! d
- c1 j+ D+ U& s& ^ .ORG $FFC0 ;切页
) r$ ^, y: g$ @' J4 D4 O" v$ | LDA #$066 R1 J& Y7 h" }/ d& o- d" \0 Q
STA $8000+ f+ ~5 _& r& M- F) ?& l/ m
LDA #$0E
9 K" _2 h( w1 n) Y, P# [, i+ j STA $8001
( o; {3 Q+ O6 C s6 N) j7 w- c w JSR $8000
7 ` Y. ?. H; T) d RTS 8 r4 k* m9 O, d$ \+ ~: S
; ]; w5 ~. |# d" W, j
.ORG $8000 ;数据复制
4 n1 c6 x5 k8 J$ }* ~4 ^+ j5 ? LDA #$80
9 ~& c* w x/ Z" e4 S$ I+ L STA $A001 ;启用SRAM1 l0 D$ N2 G( n' f% h
PHA; R3 F) q9 k& B& s
TXA) B9 W( P) \( P# g
PHA* m& y, V A4 l, q
LDX #$00
( k- t2 v0 p7 H0 o, U0 L. _DATACOPY: ;数据复制% k: s0 V3 ?" i; f( R% N
LDA $8100,X
2 M- x9 F' J- K" \ STA $7200,X
$ S0 ]! ^. ] D( e4 H; w INX+ {5 f( b5 |/ P+ z# A" |% R% M6 A
CPX #$00
; n/ s5 J1 e3 u) [4 K BNE DATACOPY
; E+ G* M9 b" F! S2 N# d5 q3 ` PLA
) S4 N: X% N; t2 u7 ? D TAX" ]% ^9 A- X5 {+ V, K
PLA7 b2 L0 b/ F/ N2 v! k4 ]: J* H1 J/ A
RTS" V; m; \7 P( N8 C
5 k# T. U7 _+ G3 _+ n. G$ @0 P .ORG $CD9B ;跳转到转换的切页程序
) p9 x+ E# j9 f' B STA $70/ `/ J! V* ~+ U2 w8 f
JSR $7200
4 [7 N+ v) {6 X, T& ]' f RTS( D$ q, z; M/ V, A7 `' p' M7 D
. }. P! [& e; o) p. f4 z/ n .ORG $7300
, D# n) O- m# } s# e R7 yM1_TO_M4: ;切页程序
# O% n, ^0 I7 r3 e2 Y$ u CPX #$00( a* q9 T: d/ H' s% j: u) n$ [9 o
BEQ REG_SET
% n/ }9 w; r* i/ w2 S7 Y7 e CPX #$017 V l9 `! R: _" r: B( v, _5 {; m2 k
BEQ PPU_BANK_0000, u9 l8 m. n- x8 ^, `. S# j# C
CPX #$02- a5 h S2 h* f4 F
BEQ PPU_BANK_10008 k1 I* E- G2 }" K; i
CPX #$03& j! ^6 u b0 _9 E9 J* V
BEQ PRG_BANK/ s* R; _3 r& S$ c, q2 l8 i
REG_SET:
# M& m0 N9 s; r4 j4 ]$ J, w STA $A000$ O# C7 L: P6 s
RTS# v7 ?. _) t7 b4 C5 n9 M
.ORG $7320
, D7 K+ c+ C; ]+ ~7 }4 u S8 JPRG_BANK: ;PRG切页" d- g' @. C; l" e* e( J, n! _
PHA j3 W2 |/ f8 [$ ^3 Y
LDA #$06' t# H" G9 S3 y; K' s' N
STA $8000
" `- c0 M1 f3 P! w$ u2 E! o PLA
0 \5 U! ^* g3 {% X9 y) U ASL
# W+ T5 u0 m; C! o% _; e' Q1 w STA $8001
! k! D' a# ?" Q" \1 m( c# W' T ORA #$01
+ M/ P$ n! v0 f. W! C PHA) E- W u. S1 Q/ N
LDA #$07! C+ ]) A9 c8 e0 K0 s$ u
STA $8000! V, u3 J! Y* ^5 p
PLA
/ B+ d/ E) z+ l' H; z STA $8001
% w, X3 |; i3 m, ]9 ^9 E7 k RTS
2 o+ `7 S& v. s1 c/ S* p9 ` .ORG $7340
% b+ |/ W: W5 e3 q( oPPU_BANK_0000: ;精灵切页
" ?* Q- M; |. ?1 w. H8 [ PHA$ h+ v' H" p5 U0 V2 @
ASL! Z8 W& \* u: I+ S& `8 v
ASL
# i' M4 R( `8 J3 g$ n; Z) N PHA
1 A8 W) K0 A4 k% B6 ~& p LDA #$004 p! r8 q' ?/ B: S2 N8 ]
STA $8000) ~9 {5 v& \' K' x! C, ^6 S
PLA' ^6 n: g# z% k0 T8 W& e
STA $80014 \4 L+ I+ o0 d
ADC #$02
& ~$ F- N7 D. r( ~( R PHA
/ w$ J7 k4 g- |0 H( ` G; e& K; w' ] LDA #$01 b7 I8 \9 N6 }+ h& \9 U. S; S
STA $8000
- u. U5 T8 {( A0 E* N PLA5 d0 _; J6 X; A! P( y% c i4 }
STA $8001
: H: V. v9 C4 r5 l9 b PLA+ a3 `, [ q; o4 T6 u
RTS
+ W) \+ g. P; d" D5 S* L6 ^+ f7 S 9 K9 Y* E7 P- `9 q O
.ORG $7360
4 g6 B3 X; h9 ?4 {+ [6 t0 |, NPPU_BANK_1000: ;背景切页! s! d w* m: _$ e- H
PHA
- w6 u" K) Y+ l" g ASL8 {; Q/ {. o% p7 P0 Z) o
ASL
1 Y& c# r, \: `$ X' g8 y PHA
) t$ u- j& E5 z/ H# I LDA #$02# U' s* l0 B" I3 X4 i& ?- } [
STA $8000. \; R0 `5 q B) r
PLA! Q4 r. Z# A( z6 w) U. @2 d
STA $8001
0 O9 \2 y4 ]) |! M1 p% z ADC #$019 Q; `4 s1 @- d3 x1 X% e# O' X3 l
PHA
4 M1 M5 p; Z, v8 Q9 W( Y6 Z1 d7 c% ^ LDA #$032 t' t9 [ Q2 }* ~
STA $80000 V# m: R' P: t( n" a- l* ?
PLA
- i; f) S, V* A; I& j' u4 E! t4 E; x STA $8001* }0 i' m7 ~2 X7 J
ADC #$01
3 O6 m1 L% S' R' L PHA
/ S% u# I2 n5 `5 p& Z! t LDA #$04
5 w) E9 {% B9 r% k STA $8000! J5 p. R3 s6 |: ]
PLA, K! D, [( k% E
STA $8001
% N5 I, p- A* Y ADC #$01 f- h$ I5 o: l! I
PHA
4 X5 \, Z0 y1 g: H# G$ g9 p LDA #$057 L ^4 k4 O' G$ P& g7 K7 t
STA $8000) e9 a( G: W6 Q) l {$ N4 y
PLA
4 d" J( o8 [+ M$ Y7 P/ @* Q1 R STA $8001+ |: O. I! v T' O7 s1 B
PLA# W0 z4 K+ n& c/ l
RTS- z, j0 o. @. q9 k q& u
8 `6 t6 s, A) P |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|