|
|
;[FC][最终任务mapper1切页程序]
7 j% H$ q7 X% G' _ .ORG $CD9B9 B9 u% v; c0 R: i8 H% S c
BANK_START:. i+ r+ C4 ~% ?0 A+ ~/ U+ N
STA $70
0 f& [4 }( T: F8 R/ m TXA
" b. j/ x; h6 w5 o ASL
; s9 \& ]% T: _& H6 m1 y1 A TAX& ~4 U. |' a& b: A
PORT_SET:
" l( y" ^7 y$ @3 m, { LDA BANK_DATA,X( O% D: \ e8 y8 ?2 t
STA $6E7 G# k' `- H0 X5 e$ n. Y4 i$ _
LDA $CDB8,X
/ v/ [! x/ k" R7 k4 h/ @ STA $6F) Y7 F7 x# T, Q9 h# _
LDY #$00 R C8 B9 p4 H' v/ w; J0 ]
LDX #$05$ Q: W4 K y: K) I
LDA $70, Q" Z: V l3 b; ?4 v
PORT_WRITE:& E; N+ H! U& ^7 J) ^! \% E
STA ($6E),Y
/ m. B2 b+ }/ n8 [* { LSR
$ @2 U- S7 u) H3 }0 |/ [ DEX" Q& G* B5 N+ K/ g
BNE PORT_WRITE
& J& c4 G$ @0 J) q RTS5 M7 @& X/ d7 R s1 l! u
& H4 p+ W2 p' I1 k; G + k0 ]4 [) p' b
BANK_DATA:# p. F# C, h- q8 `: b+ }$ n
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
* u% u) R. Y3 {9 f+ m$ X1 {/ o2 j* p
) L' n* E" L5 h. ?6 K
& u% k2 b4 b4 Z6 f& Q3 t" m0 T$ H;[FC][最终任务mapper1转mapper4切页程序]
, I+ U( o! z$ P9 Y- D) Q! o .ORG $BFD2 ;初始化跳转 [) d8 {: n Y7 n3 `9 \
JSR $FFC0( z' A u" E5 g4 O- Q8 T* u
3 a1 y* `5 U, G* b" R# k `& _
6 C' x# r7 x: j. }2 E T
.ORG $FFC0 ;切页 D: `1 y) k( v8 M
LDA #$06
& i& R* }: ?# H STA $8000( x5 z$ P; k7 q$ `" k9 I
LDA #$0E- W" m1 V3 m$ R9 \5 U( b0 B
STA $8001. C6 j! I$ J6 M- M
JSR $8000
9 D" U2 |- G# B) S RTS 5 }) ?& H4 p- z7 ~9 p) f, {- E) _* l
0 e5 X' M0 n7 o% i& _" ?5 n .ORG $8000 ;数据复制/ d. I$ N& ^7 P; C# h6 J
LDA #$80) c/ _' i$ w1 a
STA $A001 ;启用SRAM1 T, ~3 r; D( E- M
PHA9 v, M/ c7 T$ W
TXA
5 ?. v& l7 {1 _# O0 z" N$ ] PHA8 ?( i& p0 }" x" v1 m8 _
LDX #$00
! W5 b/ j7 ]- K J( KDATACOPY: ;数据复制6 \5 B! c$ K$ J; H
LDA $8100,X
% ?( y; r% E! t, G0 q STA $7200,X* ]8 a% C) t! L- r( w
INX! O7 ^0 L) x6 G# |5 h( f
CPX #$00
4 O' Q g" \5 }+ h5 _6 }0 S/ } BNE DATACOPY: ]/ m7 K1 p. c5 I0 a# ]
PLA! H0 I* y6 ^& _2 V! { [
TAX
. q+ p( B# Z; s( Q2 T' w PLA
. X# i B# w- @ RTS& l% R/ Z2 m" F* F8 m$ r; q/ G% |
4 {) K- V* X5 J" M6 ^7 V
.ORG $CD9B ;跳转到转换的切页程序* q: e6 \ y, g& s
STA $70, m& ?! S# O( V" a( u- U
JSR $7200# o j% Z/ k, _& T S
RTS
6 K5 ^5 T* I! W! G
( w' l6 {2 F3 S% i6 H .ORG $73004 `5 R, E; }: O1 r
M1_TO_M4: ;切页程序
; o$ R- ]/ ^2 X. ~5 |6 t1 G CPX #$000 J- [1 `; \" h$ F: a! o
BEQ REG_SET
) f5 q1 h6 A! ]) y6 ?. E% F& U CPX #$01! d$ x4 w* ^7 R) I: j
BEQ PPU_BANK_00007 m3 N6 [7 N) [: i! |% H
CPX #$02. ^5 {. d- X% B5 K t
BEQ PPU_BANK_1000/ K. m, _9 s' d8 _/ j/ r9 d
CPX #$03
% T0 `! @5 M! h* e# ]3 v7 S BEQ PRG_BANK9 s3 H. ~8 ^6 { J2 r) A0 J5 Y
REG_SET:4 z5 M4 y5 k' E5 M" W; {
STA $A000! e# N( m5 w4 [ j9 \
RTS
/ Y, D T. {. V: n .ORG $7320
6 I! k! ~4 w# I' i' f/ ?9 i9 IPRG_BANK: ;PRG切页" @" ]0 E" n* p) _& i
PHA
: O1 y! k8 Z& b' r LDA #$06
1 d/ a7 d* w% D! {" ]& S4 Z( ~ STA $80007 l8 c k" U8 ?9 C) l8 t
PLA" \; Z# V. ^5 V; u
ASL" i; O% Q$ o! D
STA $8001, D( C y. c2 T$ V5 X- K
ORA #$01
* q( {. D& T4 x, Z: p PHA4 G- w. S; W5 U* e1 b. _
LDA #$07
$ m3 G) J& ^9 }5 [7 U, o STA $8000: V/ P* j3 N. p$ ` i
PLA
, I& B+ M+ J2 g5 ~1 h, [ STA $80010 w. Y* v* [2 r" W+ r2 o
RTS
0 z* `* j: l: ]' [6 V( u6 }0 c .ORG $7340
$ v* J7 h" S3 i2 j. ^# APPU_BANK_0000: ;精灵切页
* H: E) g' f# u: u( L/ N' [ PHA
) j3 H6 R0 Y7 T ASL/ G4 b3 x h! ]9 z
ASL
& d" O2 a6 U9 O PHA$ X6 g/ _# M. U: V8 `9 n @) w
LDA #$00
( U/ J$ s* W, O7 @5 T5 ? STA $8000
Y3 \" P) i$ X8 P% a6 ^ PLA
- ~0 M( y) E5 ~/ A+ Y9 ] STA $80018 e0 e' O3 Q$ C" _! e# U# I$ a8 q
ADC #$022 B9 b# J! n% G" g6 [9 ]' i
PHA0 e" F( A/ j e; c7 K) ]- ?/ p4 Y1 _
LDA #$01
, _9 e$ r5 F4 G9 |: u% G+ \" F STA $8000
5 L- U( }9 u0 U) c; {& M4 Q PLA
+ b6 o R- a" S R u$ v: P STA $8001( y" x. N3 O/ X% W
PLA
& f& i, W8 {6 y7 l RTS
3 b- v, d Q) W" H8 Z" q 2 w/ X9 ~7 ]) Z. ]
.ORG $7360
6 ^2 ^; J# f/ [8 dPPU_BANK_1000: ;背景切页7 u7 j9 U% Q' X J5 \: D; g0 }
PHA
6 s5 B) _" m) [9 j ASL* U) \" U5 _: Z& \
ASL
% u; p: s% m; Q# v; M PHA
9 z6 u V, y2 D LDA #$02% M2 |9 f- }0 p! U" D
STA $8000" j/ k0 Q y# Y6 t1 y
PLA# i( V# K* d2 A; g7 [+ G. F' M
STA $8001
/ M$ @$ [$ f0 a& H ADC #$01
4 s* {* C2 Y" P3 u/ | PHA
5 {' e6 }0 G& G3 j LDA #$03
4 V; o3 M2 l3 [" ^& d STA $8000 b4 w7 T; `) M5 k. f
PLA
+ i+ z4 ^0 M* c3 u STA $8001+ l, N6 N _* g, z) u
ADC #$01
. F! z6 O$ K- v5 O8 {5 A4 { PHA
* C# e$ n2 }0 W, ?5 }) H LDA #$04/ A% w2 ^' z6 q) d! ?6 x
STA $8000
; |' I' v/ U# j0 F, b PLA
/ d9 ^3 m0 N' g+ [; d+ G/ ?' U6 G STA $80019 C! K6 w, W% M: ` [
ADC #$01
; d' w2 q- ?& t$ N' c- _ PHA
. }1 J4 a& e, ]) E% _% [% s LDA #$05
. a6 D5 d8 P/ X0 U; y! S STA $8000
$ { Y7 O' ]' ?& M$ g! {* f# x PLA6 ^, b2 l5 K8 t
STA $8001* ~6 n( j! l2 a& b8 ~% p9 k
PLA: U2 l# B, e" D {) T9 @
RTS A) r* O& z/ ?0 o7 Z% B3 X
, }! C) {; j { E* t1 x1 ~
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|