|
;[FC][最终任务mapper1切页程序] _# d3 J' I7 I# h. B( v9 ^) ~+ [
.ORG $CD9B
b/ C' b" U; b' J/ w$ MBANK_START:6 Z/ k( D7 p+ N" H9 r" h- f4 t+ T, \
STA $701 |0 A) e1 ^& _* S! u, w7 N
TXA
$ x+ j. z h6 f) @9 P( q) H. Z ASL
# [( P0 P i6 l' d* A TAX- F7 w8 b/ J8 ?) Q5 W6 m
PORT_SET:) _( E! N+ U+ u9 E# ~
LDA BANK_DATA,X7 O% Z( Z/ q# a( Q+ j! J* [! Y
STA $6E; g" g- z. X5 z. C/ P' D
LDA $CDB8,X
) ?6 a- }0 p" z3 T$ d: N* t- b STA $6F
: u& ~0 V1 C, z: G+ i" u+ f LDY #$007 K8 w$ z {. ]* I
LDX #$05
! C! X: b( z; K LDA $70
$ k6 f0 ^4 `0 @PORT_WRITE:: \ A' D/ ?/ W: w" |, |# l
STA ($6E),Y5 z" x- \( w9 m% y2 F
LSR# h) i# Z4 `2 l. G! O
DEX
' U" j/ a5 W$ G. `9 C% I5 X: {# [% A BNE PORT_WRITE
6 }6 o5 O- J9 n! Y! z RTS! o0 @! d; e& N9 H+ h E
1 l4 ~ E4 z0 k9 t6 s/ A! _2 V 1 s( }" s, d, c; T/ z$ D3 T
BANK_DATA:- w. @8 Z- Z# _
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
- D* s a) A' o! Y8 L; I$ n % M+ W/ X. S3 E n1 ~
+ ^0 h& N ^9 E
;[FC][最终任务mapper1转mapper4切页程序]. T q& W! ^5 D6 G7 z/ ?5 |
.ORG $BFD2 ;初始化跳转% _4 a4 a9 M1 `' i6 l% A0 ^
JSR $FFC0
: ~8 b5 y9 `8 V$ Q) H, D, E% D& y! l! ?& f4 K+ L
2 l/ t0 o4 K5 V$ d3 G9 p .ORG $FFC0 ;切页8 U. K8 T' a( g( t1 D
LDA #$06
4 Z& x" T/ y& Z STA $8000
6 a2 i1 t" t5 N* q% m9 _5 j LDA #$0E
& D; l9 @1 W' o! a. i ?* o STA $8001
' h# A9 Q/ l6 f; u- J- B x0 S5 S JSR $8000
1 W& A+ j: `* h: Y2 J+ o, u RTS / M, G8 R1 z h" H) y$ ^3 x( Q
& C8 X# o* \5 J
.ORG $8000 ;数据复制
, @3 }. [5 A \* X/ F% p2 j LDA #$80
0 X* C% A" W2 n0 {; i! W- F STA $A001 ;启用SRAM% ~1 L' e( i+ \7 K* g
PHA
+ o% ?' t: R7 F2 E3 @* D% I9 W3 b TXA
) ]+ y n: U/ L. w PHA# O$ o+ f2 N( w: K1 Y6 k
LDX #$00
O4 y1 @- ]) C9 x# u5 I, Z2 j$ J# kDATACOPY: ;数据复制) k) @! h+ _, u ^
LDA $8100,X% K U9 ?6 Q+ I' m
STA $7200,X: ]7 r9 P2 t4 i$ D' w2 h1 n# ^
INX. A9 ~6 B( x3 r" [9 C
CPX #$00: Y9 E; U0 r5 y, a8 o- v( d
BNE DATACOPY
, W7 M! f" i) W+ f! ^) m PLA/ t3 C; O! L. j3 r' d% _/ c7 ~
TAX
/ c" h* S! J) N" | PLA
; W& S" f; ?2 p( U8 W4 g/ g RTS" R% Q q& e4 ^! M! g) i- B9 H
! T% F! p; C& l. J4 k% K5 y+ y# T
.ORG $CD9B ;跳转到转换的切页程序
7 Z; l% A9 v( C! O" B5 d5 ^ STA $70
; ]$ z0 X5 W; R/ H/ w JSR $7200
& c7 ?( V+ A6 V8 A8 s7 h; u$ P) S RTS- R, x7 n) Z- [0 f: u# O6 E- E
* w ?! b6 t) ~9 D% @) S& r6 ^ .ORG $7300; n5 X- Y$ i4 z; j3 g9 j
M1_TO_M4: ;切页程序
0 e1 M- D4 H& s8 J% m/ g3 B9 r CPX #$00
* b5 z. S/ |; L' v BEQ REG_SET) z4 N7 ^; ~/ i
CPX #$01
" O" l* P; u3 |- K BEQ PPU_BANK_00004 e# l8 m6 \ I w$ i0 a, r2 @
CPX #$02
0 | T o9 T( O5 y BEQ PPU_BANK_1000) e( `; k4 A: T8 h7 f+ F
CPX #$03; ?! O6 |* h5 z% `
BEQ PRG_BANK6 d' E6 h3 S( i$ c8 x& c
REG_SET:
! z3 `4 ^% L9 Q+ _/ x* V+ g STA $A000
' o& y% x# s$ v2 |' x RTS+ f( g% H+ D- E0 V9 b5 W7 h# F
.ORG $7320
/ W% ]/ o: j) V" E* Y( DPRG_BANK: ;PRG切页
+ @- w0 t0 c! p/ g8 F) t- ` PHA" J" t; N% }* V6 m- t6 B3 ]
LDA #$06
8 A! p# V3 n- O STA $8000! E" v8 w' R5 t ]5 [! |) T
PLA% j O5 V: `( [
ASL
& n3 Z4 e, H) U4 \& v9 p STA $8001/ a: ?, v% X$ t
ORA #$01
5 @# {6 B! B: R- R1 W. Q PHA+ V7 K6 X" p5 @: A) ?: ?
LDA #$07
2 ^# t) S6 e: r# p STA $8000
% l2 b( ^5 D+ Q0 M PLA
) X! u6 `: ?& U* M8 a STA $8001" n/ ]$ o( O4 e N0 t$ B0 [& }6 f
RTS4 m9 P/ B0 O/ k
.ORG $7340: N3 n ~5 p3 u
PPU_BANK_0000: ;精灵切页
9 y- ~, _5 {1 R; b PHA) l7 [) o$ d/ N0 Q. \+ D- O% v
ASL6 Y v# C8 j3 V8 a1 A2 [
ASL2 e: N/ N+ H( h
PHA
9 Q7 \1 E1 I! g5 M LDA #$009 H$ a; [& P+ Z) v. j4 G
STA $8000; P3 ~; u* W9 {4 a; l
PLA
! L5 E! T" N4 g: A% n# ~9 [+ g; T STA $8001
; q# k5 d4 }3 t ADC #$021 B$ A# h$ J. N' Q& s# t: R
PHA
! J; W! N9 L; V. e LDA #$01
; J6 ]; t. @2 ?* j- @" i* W$ t% b STA $8000
4 b, N0 [3 Z# \, f PLA
' B9 g! F1 B0 Q" h7 _ STA $8001$ d% @" [- g, Y" W" ?
PLA
( V: S; ^) o. K, y: F RTS4 S' h1 }% p& h G1 g2 T
3 ? n( [' P5 v3 r .ORG $7360
. k2 S: F/ z6 o# O8 sPPU_BANK_1000: ;背景切页/ W7 W! |; ]* b# h6 w. V+ I
PHA
+ U) C' u0 C6 f$ K+ p0 p ASL/ J( T7 Q% {# X3 c
ASL) E7 Z, k1 d$ `" h
PHA
7 g, ~9 [- J7 f0 o9 R2 i4 _ LDA #$02
- R6 ?: ]$ u1 g& o STA $8000, E% h% C, k( q& s$ V( {; K S0 N
PLA
4 y% i9 y# W# f6 J x3 U8 t2 { STA $8001
( H e$ b. D' | B! {$ R ADC #$01
! J0 a5 v3 l) r6 P PHA# X. k# Y& _; p
LDA #$03
) @3 U/ [9 [3 {6 ] P) I. O1 E STA $8000
) v6 u9 ]: E9 Q& [( V( i/ ` PLA
% C' v# a& u- m, t. { STA $8001" a4 y% `* e, D5 _. F" ~; D1 @. o4 |1 n/ ^; O
ADC #$01( B' q1 [6 t4 l% [+ V
PHA" ]6 U8 v- O2 J/ @* y
LDA #$04
$ U, t6 S1 }5 X+ A STA $8000
8 n g' J0 |+ z% _- \# m; S PLA
- n) Q, V7 w+ `3 |, X) O0 r* M STA $8001& j( s7 a4 R1 l3 l* f; @
ADC #$01" J1 k. k& h T! V% e
PHA0 b5 u% \ D; ]7 N* q
LDA #$05
% }5 Y9 b- Q$ u1 N& M/ X STA $8000
8 W2 w: f' G \) R9 d4 i PLA1 C/ l2 ?' l: i- P& K
STA $8001
8 e' E T/ ]2 c8 e. q1 _ PLA5 o/ i. t$ h5 z1 T& z( p
RTS
6 ]* D2 ~5 o$ y' ]! t
8 ?+ ~" p ~! ]! O9 W) [6 {( l |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|