|
|
;[FC][最终任务mapper1切页程序]
0 @3 ]* D5 O8 c3 U3 J$ T0 { .ORG $CD9B
" q& Y$ v( M# DBANK_START:" E2 q k: E) j; |
STA $70/ B3 n% d; h5 J" h0 a7 ^
TXA
& Z% p9 ^5 s, M9 H8 Q ASL
/ a& w+ t( B2 E5 A. G- { TAX6 h# A% S. A+ a1 L
PORT_SET:3 F# {- H I! G8 y9 v& O/ f% c
LDA BANK_DATA,X
8 ~3 W5 u W# x3 |4 H+ j STA $6E
R5 h2 L( T: K/ | LDA $CDB8,X
- |& ~2 c* ?: M( I0 A8 z" r& O STA $6F
# I; X" V% V1 [% H5 s% h LDY #$00
3 Z5 p; X! I- f) H& \ LDX #$05
% \( d* a! x# o: {% m1 s LDA $70
0 w; q' G& V ]* x3 z+ qPORT_WRITE:8 K8 c& [: a3 J3 e. k4 I
STA ($6E),Y; U& ?) _" F! P# u
LSR
6 x. l$ F( }# y' V: b DEX( c% u$ R/ N* x$ }" X9 o8 C3 [1 k
BNE PORT_WRITE
) Y$ f' c b/ j* z) B RTS
6 N$ r- s1 K/ k: r
# Q+ P& \# n% V+ I5 M8 b0 V) y. W
5 e7 j2 W0 z: w9 f$ h. i$ gBANK_DATA:/ H) E3 ~2 B& Z
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF6 ]9 L8 P e0 ~) E
7 r4 p6 x% R* p
- y i9 k% r: A+ Q4 t% U+ `;[FC][最终任务mapper1转mapper4切页程序]
! g. x- K! o Z/ V7 L .ORG $BFD2 ;初始化跳转
" k- q3 W. g# L7 g# g JSR $FFC0; u; y# I+ u, L+ `
c$ \( B- E" x) `* F) P/ N' C6 w c
4 |. N+ S b7 U# D& l3 J, h .ORG $FFC0 ;切页7 d8 X$ K1 a0 m+ q, S$ ^
LDA #$06
$ L# L' i3 ~' M* g3 G# | STA $8000* i) f0 ]8 E) R g) Q5 E
LDA #$0E- h. F1 G' x& O( b
STA $8001& [# l# X$ L6 r$ w: `% U
JSR $8000+ B3 G) |, v9 ^% F- x
RTS
1 A* s$ r! }' h5 g+ Z0 Y0 h( [3 @ ; [% m9 l$ D6 I+ a& |4 W8 }* b
.ORG $8000 ;数据复制" y! @/ L$ T" @1 w
LDA #$80: J" e$ o& _: f, C) k
STA $A001 ;启用SRAM
' ] Y( \2 E) j; [$ l PHA0 `, _' Y4 I: c, i3 C
TXA
2 G3 p4 V" Q1 r. ]0 v2 z# d2 r8 ]9 J PHA4 M/ `' U9 o8 i& a. m' L7 D
LDX #$00
: B0 Q/ T9 p- a1 `, JDATACOPY: ;数据复制6 ^+ J5 Y9 K: M: M
LDA $8100,X7 r. f7 W8 H% `7 h7 S. W
STA $7200,X8 U* f& s* ]1 x8 V
INX
9 v% D% w7 E/ M. J# {' x: v CPX #$002 f* L2 n% |# j% G9 x8 M
BNE DATACOPY; `; Y( F3 N" W
PLA
, A. }5 g+ r j TAX
- { Y9 t, | I: z% \ PLA
5 H6 _2 ]8 M" p1 k R* b RTS& t9 E8 J ^: o, w
' Q4 t' y. q- l& I- [8 o6 `; J+ S .ORG $CD9B ;跳转到转换的切页程序
8 e" e' S. O7 v8 F: U STA $704 ]% D( [3 ?8 P0 G/ f
JSR $7200
+ Q5 k% u# Q2 g5 k% ?& X RTS; l- t; O) }. w' C' Z) _
. ~3 t9 a4 t5 N" r: x' ?6 v .ORG $7300
$ F; \; |9 `1 |; t- F' F) U/ C% {( OM1_TO_M4: ;切页程序
+ x5 m0 W0 e" G8 J: Q% q* \" U1 { CPX #$00$ r! J, n5 k. l8 c1 q8 ?, \6 N
BEQ REG_SET: L# P: [8 w1 X( L, y" D
CPX #$014 ?' g4 _5 A3 c1 M1 g
BEQ PPU_BANK_0000
# ]1 t' @8 [, ]1 i8 }. W/ C/ o CPX #$02
" H8 v1 f1 @: _ BEQ PPU_BANK_1000+ y8 A$ T) R. L- x1 o# N% ?0 j
CPX #$03
% O% h' l- i4 I# F2 k BEQ PRG_BANK2 r9 a; F/ T$ o$ ?: t
REG_SET:1 T4 |+ @9 e1 f* s; }0 K% J$ c
STA $A000/ Y G% F4 ^, a* @2 Q S4 T8 v
RTS: T* l% _! ]: p/ i
.ORG $73208 L- T7 u% E* ^0 [0 I+ f2 o
PRG_BANK: ;PRG切页 E9 V% ^. a' U7 F
PHA
9 Q8 W& E2 j% i5 y LDA #$06. L8 S! J& q% D9 l) P& J
STA $80009 P$ n7 ~) E$ d9 F5 @
PLA
1 J; ^+ ?4 t8 C( {6 t4 s. M ASL
$ S$ H# o9 h( o. r Y STA $80019 v: f) `8 e# T: W/ v
ORA #$01
. }& D7 x: P' _) U: Y7 g- u0 h* f PHA
' a5 v5 a- k+ D+ l2 U& x LDA #$07
2 Q: ]2 c" ]0 y) o" C( D STA $8000
4 g a* G) n" D4 A" _9 M( a PLA- G. t) K# _. t& z
STA $8001
$ X0 Y2 n5 _+ p/ U5 e. s RTS3 h+ k6 o: }/ n0 y' p& ?
.ORG $7340 h! I# r2 i9 z2 g& w( g
PPU_BANK_0000: ;精灵切页
3 j- D/ ^) f% e2 N+ P& j0 C$ B' m PHA0 B$ ~% z4 c8 D- A
ASL
: I3 U8 s% b# R+ t1 \ ASL
7 c) o- ~3 y! m" M R- p9 K+ V PHA+ }# k" M6 c7 ]! P9 Q4 i
LDA #$00
+ `' e+ d# ^# O" p$ f# o& z) t STA $8000
, y/ ^+ K6 R; I9 x% t2 S9 Y PLA
# v& x" B, O+ K6 @% ^ STA $8001
9 O' P9 ?9 G' s$ t) k ADC #$02, I' V# J9 N. u; V1 }
PHA& w% E7 b5 C2 q
LDA #$01
/ | I* J# r" A; e5 G" x5 F STA $8000& q5 L" ?5 Z c
PLA
& [+ g) ~; [' o7 t5 m" v STA $8001& k8 h. D) L0 d! e1 J7 B9 h' [
PLA
* ~/ K: C4 n$ L7 _ RTS
3 |2 f8 p( x) n & Z3 V6 z1 P$ ~+ U R) f2 }
.ORG $73605 f# z/ R/ R" I! `+ d5 l5 C
PPU_BANK_1000: ;背景切页
. G3 d% X# j' w# T# d PHA- ?7 E4 T q) k* i2 D
ASL
% v- X0 M( m4 r- X5 I& A" ? ASL: i, Y0 f+ `7 Y- m _: \5 d
PHA% L# N0 [) D) C# {) \2 t
LDA #$02, ~' g1 A. U9 D: q8 n
STA $8000
+ m) v' v* l: y PLA( h/ S( L# E) P
STA $8001) w. W6 Q4 |( i
ADC #$01
. g* E# }% L+ G PHA
2 F3 X1 W3 e) `2 | LDA #$038 g$ b; n& k8 h* `( }
STA $8000
/ [ c0 c7 l7 r1 r9 y PLA' s4 l: C* @0 ], [! g2 K9 {
STA $8001/ v% ^5 O2 l' k4 j3 u' ?
ADC #$01
+ ?. X& N$ m/ ~1 k2 T; E PHA: \* e% f* h* r G& u4 x9 t
LDA #$04
* E; m4 l6 u7 c q" ]+ d STA $80006 o* m7 Z( t! C6 t$ Y& C- f1 I
PLA3 x; n. w6 e% X$ V, j1 {# T
STA $8001
) _: L; |! i3 r& t1 U2 E: _ ADC #$013 A' d( z$ ^4 D% O: p6 l1 U! i* @
PHA
+ S9 D1 z* ]; q3 E |9 M LDA #$05
: s8 P5 A3 F+ F) c# T8 e# H. r STA $8000
( D8 a+ [6 @# o. z, l; F% V: N9 A PLA% A+ v/ y6 }7 w8 g# h: \" H- [
STA $8001
" j& [" Q& M$ _4 E: b7 e PLA
( t `3 `) Q+ O- y; e RTS
, s& }+ W( c$ u! e. d. u4 ?# t+ n2 v. N( S6 ]+ l5 I# s" Y
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|