|
|
;[FC][最终任务mapper1切页程序]
3 Y+ x( C) v3 S. P7 |. o .ORG $CD9B
9 T# M% H k) M. O! WBANK_START: G6 x, e! e6 t* o0 Q/ N
STA $70) b; N% l. G- Q% q9 B
TXA
/ O5 l+ O$ e. F. s2 b ASL
8 l: i8 p0 C; v2 y7 N. |! k TAX
( N# P, s! F0 Q4 w' O) ?1 W% c0 @! E- NPORT_SET:
: Z4 X7 ~& G8 G! R- A; @ LDA BANK_DATA,X8 j3 d1 Q# {/ b# W( d
STA $6E$ Y7 M+ n3 t. o; d6 e
LDA $CDB8,X
% q! z" h- |: Y3 J# B1 H STA $6F5 U4 F. d$ } ~8 \1 p: z
LDY #$00$ p6 a# l4 d5 L V7 A
LDX #$05
3 j! n1 S6 N; n4 R! f/ E LDA $70
1 G, C( C. V( T& k) Y0 }) kPORT_WRITE:7 Z* K7 I4 G" @" V5 p2 s
STA ($6E),Y
z5 t! Q" b- T7 Y* F LSR X* ^; y( |) D# c: e- A K U
DEX; G) C6 ?$ z8 p8 ?, j
BNE PORT_WRITE# J9 K9 d; Y" G# }" z) o" j, C/ t
RTS
, R+ A! D. M5 i( P+ J
, V7 t: _7 H" A5 ?: G
( c7 S4 ~8 O6 R& Q) iBANK_DATA:
, p0 U( x4 T( w2 l .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF- b7 p, u" N( |3 e. k
6 x5 S1 |! u4 D
5 h+ p- q" f5 d2 K7 T6 T2 }* F: T7 k8 h;[FC][最终任务mapper1转mapper4切页程序]0 {) s6 D2 J- w! }
.ORG $BFD2 ;初始化跳转
8 D& Q" N0 d3 n/ r. D JSR $FFC0
4 f9 h V, l# o1 d7 Z( f) [5 a& E" J2 w% S7 R+ ^% y
0 L5 H$ x8 A5 l- n" i .ORG $FFC0 ;切页6 r: a2 l1 V' U1 |
LDA #$06! F: t D1 q* Z9 ~, \) F
STA $8000
$ a9 s4 g, }# {& z. r2 | LDA #$0E) _% @% Z% h, M+ A- X8 N) L9 m) x
STA $8001, D: X$ {% w* B
JSR $8000
( V; {$ S6 C% r! K RTS
6 y+ W% E% G# l7 O9 |% m, C
" o( L+ }/ Z' y. \ .ORG $8000 ;数据复制* u4 O1 ^, e, j( y% J
LDA #$803 D" J% r( n7 s: `$ O0 C9 S( @8 p
STA $A001 ;启用SRAM
4 d) a p! q& | PHA
& l9 R; _- M: H3 C TXA
% Y% T) P L2 ?+ _) m PHA2 j( z6 E( t( Z* ?. E7 V
LDX #$00+ g0 i$ J: ]% S" _% _! E& p
DATACOPY: ;数据复制; x6 G4 W$ k0 Y6 S1 v0 ^6 [
LDA $8100,X0 q6 w- J( @. k# n# C4 j
STA $7200,X
5 t1 `+ D8 f; Z INX
% J; D! k5 a. J# T6 b- J3 A CPX #$00
! @4 Q" [8 p0 u% _3 K' U BNE DATACOPY/ H+ p" n, M6 ]! k
PLA' y/ ]5 G! v( n" @
TAX
9 F2 o% P( D! f- f PLA
" {% [8 J( n6 r7 D RTS
$ }7 A/ h4 j2 \7 Q
1 m0 l5 s1 b0 m; I) R .ORG $CD9B ;跳转到转换的切页程序
) H! ~8 z ^1 q# |6 i STA $702 M# I, C! y4 H
JSR $7200* `# Y' G- X! y2 \
RTS- ?2 \+ Y0 y9 U- A+ `/ C
$ Z# ^. f7 \8 t! }% i( f
.ORG $7300
: D- E" R+ I, P$ c/ MM1_TO_M4: ;切页程序
; T2 E! p1 D. k2 ^( ` CPX #$00, E% j4 h; U: Z. ~7 b$ P
BEQ REG_SET
( l' w2 Q7 _. U9 [' h2 S+ d CPX #$01
9 ~; Z7 ^* D9 r4 s: C% C7 C2 ~ BEQ PPU_BANK_0000
) b: t7 w7 i7 q4 D( \* b CPX #$02
# @2 V6 G* j# F# B/ q* w: F BEQ PPU_BANK_1000% Y4 A3 z! e" O& a. p" k; ?6 @% I
CPX #$03
! ~ f4 y, z x* D Z" p1 _5 q2 J BEQ PRG_BANK. O7 c& w' W. X% B# ~
REG_SET:- p2 Y7 \; _- W" ^. X3 z
STA $A000
# L% `% U, F6 X RTS
+ q3 w! r; Y/ e' a+ Y- z .ORG $7320
0 k$ _, b+ E2 h- J3 IPRG_BANK: ;PRG切页$ h" }7 a. A* g3 S/ g8 E
PHA7 g M3 @( {* }+ D& _
LDA #$069 x# N0 R1 H* H# r$ y) ~
STA $8000* s h% `( `6 n4 O
PLA
+ z3 h$ W m4 K2 E1 Q' B ASL
" q3 C; C8 g, {3 A STA $8001
* r6 d5 Z5 {- U$ M( s9 |' Y ORA #$01
1 g' O8 y" x- v( `( n' K PHA
1 e7 {) }9 v$ j. c# g LDA #$07# E1 b/ X. [- J/ g6 g
STA $8000
# P& a, u" E1 ~4 |% L7 @9 R( M6 |/ h8 b PLA# ^: a0 U8 q1 g
STA $8001
2 Q8 |9 V9 j/ A& [; B R1 C RTS
: j7 q1 Y0 W5 i .ORG $7340
/ y! J( m: P9 @+ j7 R: sPPU_BANK_0000: ;精灵切页! I- t0 H8 P+ t
PHA8 V% ]; N# k$ p
ASL
$ J9 H4 q9 ~6 Q4 P! ~ ASL
9 h, P- g( M3 M! M! T7 q PHA: L: P" F" R k& ?- i: {+ Z
LDA #$000 L7 G7 N" m( s) U& g9 W
STA $8000: T/ b: t3 w6 l9 E
PLA1 j' P: _# k& A/ U
STA $8001+ l& x4 i2 h* ]6 l
ADC #$02. E# W$ J; |2 y3 g, S; J$ u' ~
PHA
. s: x+ M, a6 [3 U8 L LDA #$017 C& o: q- R1 Q
STA $8000: L: X! [, ~8 e4 M8 N' P0 j
PLA
5 h5 J! G( C) C' v1 z STA $8001, P! i3 {& v) P7 \. x: A. U: X
PLA
% c% P# i6 T5 s, h3 g$ j RTS" ^6 H s2 E6 [
) R. ]" z {9 ? .ORG $7360# a0 b3 Z% O5 O2 Y) e3 [
PPU_BANK_1000: ;背景切页
# B* ]) Z8 o9 F, F4 I( j; ~1 g, { PHA
7 h0 i4 a' r& i5 N! j6 [! K ASL$ M+ J3 K: m* C+ q4 J7 o
ASL9 x: Y- T7 Q1 b
PHA
& p1 G7 {2 P) a/ n LDA #$02
% `6 \# U8 \4 u6 ?! o STA $8000
9 x1 K4 ? j0 C1 R5 l. o PLA( |7 [: {/ e$ I0 z* H5 R
STA $8001 Q1 u! T/ ^9 Q } A5 W. @
ADC #$01
; U( a9 R/ a& Q2 O PHA
" e) }# O; \6 M+ _1 H4 K LDA #$03
a" T( @" s6 m: d( Z1 n T) | STA $8000
P( U% f ^1 \$ F5 D2 S& n PLA6 F5 A( S# H7 T0 u4 p
STA $8001
7 O# @7 o6 K; n+ o ADC #$01
6 _. |1 [6 J3 G PHA
7 q7 ]% }$ x' _0 J4 F- z4 y8 w LDA #$04
. h8 z5 E C% m- y) Y+ _( c STA $8000
+ F9 Q3 L% } J* B: A e PLA
2 n: u H) P7 Z! k; E9 c STA $8001
1 T# l3 g: C) A# b ADC #$01
+ {, M! H2 z% } PHA
# m! {! U# n F) h1 j N; B LDA #$05 `0 N/ K+ w' a/ g
STA $80005 Z4 p1 Y2 r/ b
PLA" e1 @ ?* W3 y) m
STA $8001
+ x6 {& f- b- p7 s PLA
, q2 x9 h" x) S* H RTS. Z9 H3 d$ u( j& F0 a
0 h5 O$ k) V) C) i1 w |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|