|
|
;[FC][最终任务mapper1切页程序]8 L3 _7 Y' s* I6 T
.ORG $CD9B. R- w k, B4 A& r& y5 b
BANK_START:
; _, f' m; }$ f) U# e6 o STA $70* i/ S0 K) t) v7 q, D/ K! T
TXA9 N2 V8 f8 `7 q/ i9 p' q! y
ASL
. ^( E; A+ C6 a7 A: |. M/ { TAX+ e: p# ?& L. I
PORT_SET:
% Z& x6 w# w. a2 a( s- n+ N7 P LDA BANK_DATA,X
8 e6 {1 I X% n1 [% P( c$ \6 l STA $6E
" g/ n2 c/ I, g' g7 d* [, r LDA $CDB8,X0 b7 `5 D0 t) F4 a7 y0 v4 H
STA $6F4 Y* J- C4 G( G
LDY #$009 p8 T8 I3 P0 C7 e1 b& t) V" R
LDX #$05
3 M# R2 z- ?/ S$ [ LDA $70
& M2 U7 z }6 _9 Z2 v; JPORT_WRITE:
" c/ P: J# q' U STA ($6E),Y
! t C9 H: e7 V LSR6 }2 |+ M+ }/ e; t6 @5 J3 I
DEX
) I4 g$ z; y/ n* J7 E BNE PORT_WRITE$ E1 K0 I( K; }6 f
RTS9 m$ z3 p4 |' {- v) k& U7 }) Q
0 _9 e& h6 {" L , K$ Q; S, n4 a2 k2 y; O
BANK_DATA:
( u) a: O$ `& l3 X! i7 U .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
1 T( f9 @5 s3 B" S* g0 D. @" {
: b5 `+ R }; |* o4 P2 k : Z- j; i2 e3 E ~- H' B% _# c
;[FC][最终任务mapper1转mapper4切页程序]" }7 q! Q1 W' ?5 h
.ORG $BFD2 ;初始化跳转! d8 e Y, z% @3 L0 o4 m
JSR $FFC05 P7 \" Y9 Y8 w# C
% [; i* a) }" W. \7 [) U( A8 [( t9 s8 z$ J+ n+ S" n
.ORG $FFC0 ;切页
" @/ N; B }) o2 Z. P# z LDA #$069 b1 l) L0 v( _" z
STA $80006 H1 h/ W7 @2 W1 s; a1 h8 d e
LDA #$0E. x5 W# Q, @: O! \& J
STA $8001% i' t6 n3 Q4 d8 _1 p
JSR $8000
$ z5 _# E, }; M+ r7 }0 L RTS 3 y9 z9 f8 Q: v0 x) Z
4 \* S3 ~' L* H: X( Q+ x7 c .ORG $8000 ;数据复制; H. Y8 ]1 U& x8 e
LDA #$80$ I1 n' U. W/ D" ]' k$ j% x- G) l
STA $A001 ;启用SRAM
6 [; r- y1 k& a7 b, v PHA
7 ^' @$ l+ ?6 T y- J TXA
# {3 W3 N k' @. x) Q# f PHA1 Y0 d1 q* {1 S% C: ~; l Y/ f
LDX #$00; I6 l3 y0 j) @# x3 g0 r
DATACOPY: ;数据复制
/ S! M1 K! W& k$ x( p( t1 u3 g0 o LDA $8100,X2 F( A c: c; e( N$ {* c6 N- P
STA $7200,X
& d; ^; L3 V T5 J INX; D; q Z9 c+ o P& N* N8 @9 p3 {4 F
CPX #$00) F% o% ?& n* O7 t7 }1 m0 m6 {" r
BNE DATACOPY: A& d' `$ T7 N6 |% |+ G
PLA0 }, o3 d8 q/ G$ y
TAX
$ L4 G7 k4 H% F8 |; a PLA
5 }+ C0 m1 J! W0 V RTS
M$ S% d2 ~7 h9 L# n1 V 1 m% p+ n! Y! U8 R0 \" ^1 O
.ORG $CD9B ;跳转到转换的切页程序4 i. j( I7 T/ L; o- r
STA $70# O! L; v+ |, Q$ i( u
JSR $7200
~: b, e4 {7 n7 J( q RTS
0 K3 J0 l$ t' u, R7 C9 M* Q" V# L . A. A% e1 m5 C. {
.ORG $7300( \* u" l& T' e# h' J+ |
M1_TO_M4: ;切页程序
& W9 v9 I. T I& T1 l3 D ^ CPX #$00- }1 P/ I9 O8 n; P6 [& ^9 F O p' { }
BEQ REG_SET
% y& ^, {7 H3 o% ]' p" X CPX #$01* s. O* V0 w) o: Z( A
BEQ PPU_BANK_0000
) c, m( c" z9 p/ v) W' v2 W CPX #$02
: c' l" I; R6 U: f' L BEQ PPU_BANK_1000
. r8 a: {3 R. w8 q9 Y* P CPX #$03
' e6 J1 x2 c5 [0 g) k BEQ PRG_BANK9 w' ~2 Z2 }' H( P; t' t( I
REG_SET:
0 K. t$ ]- J% B6 w T# C9 x STA $A000# L/ M/ J* F+ f8 L7 l; ]
RTS% I+ }; n% N# z
.ORG $7320
& x4 z6 r2 l y5 SPRG_BANK: ;PRG切页
- Y: V( ?0 a0 Y) }* b PHA# X7 u' ^. `6 w5 R5 O" Z
LDA #$06
! Z8 Z- ^. I: o) X; O- G( n STA $8000
$ t. o6 x0 A" h% P PLA5 ?! O2 N2 n6 N$ M2 s8 {+ U. l% S
ASL1 G* P) O7 [3 L9 N
STA $8001
& g/ y/ O- v/ ~ p! U ORA #$019 Z" P) m/ e. G: P8 i; V, Z
PHA
5 }% S0 l1 l# k) W- q LDA #$07# C: _5 [3 h! C. Y: \
STA $80002 M* w& t/ C8 e9 e! e
PLA
& I8 o `1 U/ x% o E STA $8001/ f1 R7 M/ o5 C9 i, b) j; K
RTS
4 H. }2 h& r* G/ V: d2 q .ORG $7340# N" ^4 s* R7 P' G8 M: v+ n+ ?
PPU_BANK_0000: ;精灵切页
5 G! a0 o" K4 n& J+ t% J2 B5 ? PHA
+ _5 Z1 |6 ]) P }! Q k ASL- l, Q3 v; G' Y9 E& O4 ?; J) R% `. ?! F
ASL, ?% W0 U8 G; P
PHA6 t( }1 m6 |" V$ s* N
LDA #$00
: V$ e* o o9 e% S0 D STA $8000
( @- W/ ~; S/ a5 S; P PLA0 U1 u, H9 i" T. P
STA $8001
* C/ h* @' h- q ADC #$02
* | S9 j/ q9 u: M3 \! K( c PHA: }, i/ l! b8 k5 L& P. `
LDA #$01
; h6 B) }- X- T STA $8000
+ \$ w, d5 p0 X6 p' _ } PLA
' W! [1 H8 K" v( P STA $8001
0 k( |4 r' H( G N9 k/ { PLA" O& s: @! N1 q: D
RTS
3 f. Y4 C' ~' } N K" l* O
3 k; a% g0 i7 S .ORG $7360
+ }! x' ]3 U5 [! f+ H# OPPU_BANK_1000: ;背景切页
$ d9 J0 A# _- J; @& M1 T- q PHA
& P/ C7 T5 r3 |1 _ ASL7 k3 W7 ~2 T# \5 M
ASL% y' \1 z! m1 H6 Y. q& D
PHA7 T+ V$ r. w! R8 H y, O6 {1 m
LDA #$02
/ ~3 t+ k+ T8 `2 ^( ~# J STA $8000) Z! l) T4 P# z6 q
PLA/ X- V2 N4 {' }: n6 T: R% I
STA $8001
% N, g' H& C8 V" B7 T ADC #$01
, [' n/ X, ^' @0 g. _1 d PHA
6 y+ d+ k4 }& p' |% I B LDA #$03
1 T' g/ r9 Z! m } STA $8000
2 o4 c1 r4 R; Z$ p PLA3 _( C. _* Z- q; G/ H
STA $8001
5 u* j0 H$ N2 |0 U' x ADC #$01
- x, e% ]+ {' j7 y PHA
# v U0 S$ K* y" k LDA #$04$ m- w& p* `' L7 g/ x4 ]; F
STA $80005 s' x" G# c/ F$ A/ o! h' m
PLA! b2 Q5 R7 z% B$ b3 N2 [0 I0 C/ B
STA $80016 f0 f1 p$ A8 j+ S& F+ D" C
ADC #$01# D$ X+ O M& m5 }6 e6 X3 B& k
PHA- b8 X4 O( T* h8 \ i8 @6 L
LDA #$05
4 x# q& s6 S; s( N. R1 `) Y( | STA $80009 }6 ]+ o0 g$ j
PLA( ?" b6 a: B' I/ g- V
STA $8001
: i2 X B, K3 q+ S" v+ Q PLA) `3 Q& M @; L. G
RTS. \! j8 ?0 d! ~1 L2 ~
" @: I; i% k' W% W3 l |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|