|
|
;[FC][最终任务mapper1切页程序]# \: t! S, f7 [' {- d) u2 n5 z
.ORG $CD9B6 F5 H x0 y+ F' j2 t
BANK_START:% z7 Y. B# @: t5 v; A* C5 m
STA $70
5 a c) E- q/ X( c9 ]8 Q TXA
* L7 q0 V# T: y5 i" a2 f& A& V ASL3 G% i$ M; @( u6 s# S5 x( B
TAX6 X' }7 z' C. G) R" c9 {( E* e7 ]
PORT_SET:
& l/ W* |, B5 H# F4 X# t LDA BANK_DATA,X
; R+ {8 m8 k- ?+ b1 T STA $6E
9 m- W" A. _8 C. T9 C M LDA $CDB8,X& ^- F5 w9 y) m# v. K3 S
STA $6F" I2 w5 F# R& I
LDY #$00$ w" z" {8 O5 I; h# q
LDX #$052 [# g7 t1 |. M
LDA $705 M" K" q4 M: [* o) r) X/ Z) @# S- l
PORT_WRITE:
: l) M' `2 m" u5 u R, V3 U$ E% ` STA ($6E),Y
7 U3 x/ E6 X5 ?. |5 A% G: z LSR
) G& D; l" @& A: L9 a/ j DEX$ J; b8 N5 P( ^4 ?; F
BNE PORT_WRITE
( X# {6 }5 k5 [4 H RTS% j( }" x- z6 Q: Q3 B
5 { F: `5 H& f$ H# w- t
, W( X/ l8 I% M- |7 K6 u" v" h! |* FBANK_DATA:& U7 T& {- Q4 N2 t, n
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF4 l/ E+ f1 ~; U
; P0 i) x o& {
0 |2 `( k7 _( \: P! ]. E;[FC][最终任务mapper1转mapper4切页程序]& D$ @ ^2 ~ O X
.ORG $BFD2 ;初始化跳转$ y- Z9 T& n4 O; g: L0 V( i& H
JSR $FFC0
+ |4 @4 E( ~$ |* W: K. x$ T+ x& b9 U1 U
2 ]+ l0 z0 [ J) d7 ?* B) J
.ORG $FFC0 ;切页: k# B2 w7 L7 s' H* B2 z
LDA #$065 \5 Y) m! h7 h% Z: Z( J
STA $8000
7 Z- z' q* W3 h. x H% { LDA #$0E$ y& D) t5 ]- e t1 B
STA $8001
, H8 Y/ M' v4 r/ z B' A8 T+ p JSR $8000
* L( R& f: v/ \$ H RTS : |6 t- u8 l% N: w
" N& j6 s7 d7 Y# S7 @; H .ORG $8000 ;数据复制" X1 J+ R0 c+ z3 F. ^" W8 @
LDA #$80
3 x( I `& m; v l: t- j STA $A001 ;启用SRAM( W2 }, f! Q5 n& V' F2 L
PHA
4 j% e1 P( ]3 x7 a1 F) y TXA9 z* ~3 m# a$ Z+ [
PHA
]5 @; U, Y! s$ P1 K$ m* l LDX #$00
$ q2 e }! ]- ]9 |5 y+ w1 e, uDATACOPY: ;数据复制3 b; A* M4 k/ Z q5 ~
LDA $8100,X
7 |& E S$ C6 x' O3 @ STA $7200,X
- J* b% p1 W) X& y INX
* ?# R7 o v$ [+ D4 s! g CPX #$00
" t$ [6 O% r% o. I BNE DATACOPY
, p/ M( e1 T" R* M2 b6 D PLA
# M! i0 J# {, I! t TAX4 L, P5 Q% u7 z; o6 a3 K
PLA
+ X, V/ X' r2 ^, [& n" D RTS/ r- T9 \; `! R
+ v- o4 B: f, d: v+ ^% g
.ORG $CD9B ;跳转到转换的切页程序
0 V1 w( l. w, r STA $70
q/ o4 M9 c- v; f S JSR $7200
3 j% C4 c8 w! J O: ^ q RTS7 ]- u: } T. P: C X) i7 \8 V. e
6 Q% D+ T8 t4 f$ K' [ .ORG $7300+ G2 i8 @- `" t8 s( i7 ?2 S2 ]
M1_TO_M4: ;切页程序
' R6 H( G J! H0 ? CPX #$00" r1 B+ M! W+ z
BEQ REG_SET# h. J: a+ [8 V) E" p, R u
CPX #$01' o8 W& L) ]* u. d+ _
BEQ PPU_BANK_0000
& j6 Q. |( n/ Q+ N/ D! \ CPX #$02
* V+ v6 b) m' X/ [ BEQ PPU_BANK_1000
; M1 Y5 Y( V* U* @2 F; V; z CPX #$039 V7 Q: p4 o: M6 j5 N
BEQ PRG_BANK5 \ t4 J4 h& Q/ u6 Z* V# f$ t
REG_SET:
. h) d1 u4 x& B: g! V STA $A000: }* N) g* B0 E- W9 d- D0 N, d
RTS
6 t: P/ O* w7 ~ .ORG $7320( r8 V; v& _# E @! L- o) A" s
PRG_BANK: ;PRG切页, k* i8 u+ B6 x
PHA. \; C9 k& r8 [9 e/ @$ y# U' j
LDA #$06
/ O B; l" k2 J. W7 {$ \ STA $80009 F( Y6 L) a9 Z- Q; d$ \$ }( |
PLA. S- b g3 g8 N$ w* _; P
ASL( ^$ Z+ r2 e: T, `& \9 w
STA $8001
: o4 G& N/ v! G% J J ORA #$01
& m& o- x) S) ? K6 ]+ n: E PHA
1 F2 w8 {( e* K5 m LDA #$07
% u. c( p9 A0 d8 w; a- N2 B) c STA $8000" A. |" S& S, y: `1 w. v' O' C
PLA
; V m" O: D( ]" _7 e: l; _ STA $8001
1 n" m. ?! a& P5 i7 M RTS
% ^ m5 g% w2 @) U6 K- h# b .ORG $7340
. N( P$ b; H# b; V4 I( y6 i' pPPU_BANK_0000: ;精灵切页- s3 l: t* x n0 r3 D$ G5 t! I
PHA
7 j) \$ [: k8 a5 J ASL
1 Y v* G+ e- r7 E* {; J8 d ASL @1 s: V" u: G5 B* b, G) J
PHA
9 D S. j. x% ^4 \ LDA #$004 a4 c9 p z4 e4 u7 U# S
STA $8000
: `$ {% N- ?7 z$ [: h e9 N PLA. B/ ^' I/ q! {* {9 F
STA $80011 A9 e( }; K: G& k q, R
ADC #$02
; @5 w' ^- c1 ^8 g. D PHA, A7 K$ [9 h9 p5 l# j* R' R
LDA #$019 Z. u' c3 j, A# G' ]
STA $80002 H/ H3 l1 m* P3 F
PLA
: i' r& M4 T% ~% s# Z5 e/ ? STA $8001
, J/ `8 C7 N3 m$ x, E PLA9 p6 A9 C, |5 `. w5 w/ x# z9 \7 C( B
RTS
9 h4 v- Z+ I7 }' f3 D3 ^3 K
0 i5 n4 P; `0 A% N& \ .ORG $7360
/ n% W3 D2 T. `: RPPU_BANK_1000: ;背景切页
8 c' b0 P- H" n) ~ X PHA: P/ Q2 l# U, N6 p. R, J
ASL+ u% x$ V$ T9 R
ASL
- K" t5 A. Y. ?6 q( F/ |3 E( R4 U PHA7 j! M& |4 L9 c/ q+ F& K7 V
LDA #$020 L {- W/ P& Q9 k/ J2 D
STA $8000
. c# P8 z8 ?/ V& K PLA; g5 ~3 v0 }# ?& I0 \& w$ z* X& y
STA $80010 U% D7 H' Q9 n3 \% q0 U
ADC #$01$ |- g2 h2 M4 ^
PHA, J! M2 m% C& C' y9 B
LDA #$03
, m% Q) P2 `5 C( z0 M% b3 o ? STA $80009 q, C& s$ M2 n' s: w
PLA j$ K: v3 w, A8 G, t3 a5 l) _
STA $8001
1 W& i# W/ z, p R& Z) e ADC #$01
" U: {$ O+ M$ ~. F T) e PHA
( {# d& x( L' P* j0 q LDA #$04" g" ?( X7 K% \
STA $8000
" M, P& w+ D+ N) v4 v$ T; D PLA
7 s# m9 h7 I" ]5 o7 a! ? STA $8001
4 a( `3 b! T. N$ p4 C6 {" `' Z+ D ADC #$01
) P) K& i. K) u' t; W) Z PHA
4 r8 ^7 W. A, A& l+ a LDA #$05
0 x* S! Y' y0 R+ t4 i STA $8000# B6 ], [. F1 j9 U M
PLA1 I! W2 ?6 m/ M4 E
STA $8001- K; ~# i) |% w) ^
PLA, W2 y8 F2 X3 b, m
RTS! A, a; D8 X0 T4 A& Q4 O
$ Z3 T# D4 ] S; O8 M o* `
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|