|
|
;[FC][最终任务mapper1切页程序]) V( v5 W# x0 O$ ?* S: g) n
.ORG $CD9B- r$ Z% a9 v) z8 n5 E, \# R) |0 R
BANK_START:0 j1 ^# B2 J1 e7 m- T+ E# Q
STA $703 T6 D) C; V' W9 n' U
TXA
; \ N1 A+ w( W* O" N& k( _& h ASL) _* v. ^: T N l6 X$ a. p
TAX
. o b. u6 L) Z" V2 d! F$ ZPORT_SET:9 [ f8 K- U1 v3 q( B
LDA BANK_DATA,X1 D* u+ F! O# Z5 |! h
STA $6E7 Y9 M. V5 Z/ z& q X5 I( N
LDA $CDB8,X) v$ p" J- S7 H& ~
STA $6F
( X* @9 y7 }0 b% [5 ? LDY #$00- P+ ^+ p0 }, _' `
LDX #$05' G5 s6 x) `/ P: R- S! M
LDA $70
- _# d: C& c3 A x9 R6 l! P! APORT_WRITE:- W' D8 D* X7 D+ G1 V* ]! ?
STA ($6E),Y
4 ]) D: f% E" \8 x, ~2 R LSR
9 S# A" o2 D+ m- _; B( f3 E DEX3 z9 y! h" a9 p; r8 {, d
BNE PORT_WRITE
; e3 A# j. I' f0 n RTS
" X2 C; V+ a0 Z. M, r
; p2 Q( w: w! r4 J5 G
8 E. t6 i- Q+ ?# W+ cBANK_DATA:
4 {% S, h& G( L1 D .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
0 |% L9 t; v) ], J$ e! T 0 s4 g- B/ Y \
4 P' P8 M g* R8 o+ K# ?;[FC][最终任务mapper1转mapper4切页程序]
- g, @5 u, `% B5 B) j .ORG $BFD2 ;初始化跳转
" J: y7 D9 B- r$ A0 n6 S5 t% A JSR $FFC0
# |" Z+ B: o7 A8 }+ A
2 d3 L0 n x: U
8 T# _; ?) X9 K .ORG $FFC0 ;切页
, O1 x1 g; W$ H, D1 z7 |3 {- s LDA #$06
( j3 ~: Z, V; z8 V2 ^0 E STA $8000
/ b' S; A; B, ?' |$ G! [* ] LDA #$0E
8 a. j. x3 e) j# x+ {+ i" s STA $8001( @! X8 h7 ~/ I+ i
JSR $8000
( ]6 L+ S, f2 |7 b' A- Q1 g$ F RTS 5 m3 H3 a+ r4 U. p5 l6 X
& C% \2 \. z# E. Y5 ^
.ORG $8000 ;数据复制
4 Y. J0 O& O3 i LDA #$80
- m9 x- k& M- r% y/ L6 { STA $A001 ;启用SRAM! a, L, R& C0 U1 [% U; e8 i5 \: F
PHA! a4 `6 C3 L0 h3 [
TXA m) G* G5 ^* X( {1 k$ F7 z5 D
PHA& \+ j! `- u: n- T( q4 y* ]
LDX #$00
& R( o3 C) f; ? C( vDATACOPY: ;数据复制; e7 g3 w$ ]' m1 L: r, a# i
LDA $8100,X8 n L& b. m- Q
STA $7200,X. W1 ^) Y8 N# T# a$ I e& T" k
INX
. E' ~( {, I' b) H# p( S% ^6 ] CPX #$00
1 S. J" d- ^1 @$ ~" T BNE DATACOPY/ n5 r9 B& Z! J. H
PLA% f- \& z! n3 K7 i m, ^
TAX0 Z' j- [' Y1 _* C
PLA
4 k, m/ J: |/ k4 ?" ? RTS5 p. x) W1 ]. x) V
* l; E% B3 i% i+ _! t
.ORG $CD9B ;跳转到转换的切页程序9 j; _3 j) G: F% ^9 u
STA $70, d3 ~" Y5 Y6 W; ^
JSR $72006 {- w l2 t# L* ^4 W# g4 q% |
RTS
% k# ~& W% u( B- H7 | & A4 f2 U1 e8 a8 B& P- S4 ]* g
.ORG $73009 a. \1 T3 F8 N9 F- f
M1_TO_M4: ;切页程序
7 D7 @3 y9 h2 q) ]0 V5 E7 E, v CPX #$00
, K' d% |/ U# l( _) l- v/ @ BEQ REG_SET
1 u/ w1 W2 n8 i3 B. y2 s9 F4 N CPX #$012 ?' R6 a# ~$ m4 i% w; Y f. \
BEQ PPU_BANK_0000
4 }7 p, L0 U* G1 ]5 A" v3 } CPX #$02
3 _$ i: A- i" a& ?4 Q BEQ PPU_BANK_10003 _0 C1 [( @. E" R" _. G0 @% u, {
CPX #$03
; k$ V- T* n. h BEQ PRG_BANK: M4 B5 `1 ]+ Y4 f3 m
REG_SET:
) E, t+ E" l; \- l STA $A000
* a+ T3 K& b" s |% ~$ R9 { RTS
3 W% b7 w% F/ S4 S# V9 Z: O5 y .ORG $7320- a! h) |1 c: b+ W
PRG_BANK: ;PRG切页
2 b, q* r6 E% a' e4 D8 M! r PHA( G& Q9 m4 ]. S
LDA #$06" N! U1 b3 h$ e# I4 {# B
STA $8000* j* ?7 w6 r U, d1 d- K/ z5 x: m
PLA
' |5 `5 c* r8 o1 ^; c5 {( i ASL7 `- @/ q4 h7 r3 }% S
STA $8001
" X2 ]+ D; @4 V1 F ORA #$01
6 |+ {( d" g/ k% p1 J PHA
7 @! [! `0 W/ ~1 x* j0 W LDA #$07% A3 @5 s) e8 W
STA $8000: r& h4 X1 D |
PLA
# D7 o- {8 j- }1 o) E6 D STA $8001
- }7 d7 A: }6 V2 o$ a, |: l RTS
- M: k" R7 _( m4 P2 m' | .ORG $73405 A& ]$ L8 [5 }" P4 G
PPU_BANK_0000: ;精灵切页
2 J; t+ L+ T0 B/ T' k PHA
- a/ A9 N$ o8 x2 e ASL T S0 M, R4 w- S$ u+ \. m
ASL
9 D ~" m2 s7 F2 [6 q PHA @. p7 l' L% U: x$ ?8 |
LDA #$00$ @- j6 O: }! D
STA $8000
. Q# o& x7 y2 x# n PLA
& n( p2 N0 \$ L7 y( {5 R STA $8001
* P5 ^' e1 F8 u/ p ADC #$02' ?9 x P$ g3 {: D
PHA
/ D( @. H$ y+ E$ w' I LDA #$01
3 [: p; X3 O$ R% i n STA $80002 _8 r2 |9 S( r, p
PLA
; e3 p$ v% [" Z+ S STA $8001$ G+ d' Q% C( t( b( n. J$ W7 B
PLA
: u6 ~8 u: u6 z RTS* A) ]. [) G1 C1 S b; j% }
6 K0 p$ d. @0 D5 S4 U. u
.ORG $7360
. i* ` X! d+ f( U+ b* K5 n0 oPPU_BANK_1000: ;背景切页: M+ s5 n+ S5 K. D- p
PHA" [/ v- P5 ~4 L0 T
ASL8 L, b; q; I0 K0 ` ^* M$ |
ASL
& m+ K- I# f1 S% D1 |' k; C PHA- k4 q+ y* l: X6 k+ T* W% y$ }
LDA #$02
8 C% h' ^9 ~6 x; p9 v; H" t! V STA $8000
) o1 o# k' n4 M+ S* n4 ? PLA& S% L$ b' x0 h c. X9 D w
STA $8001; [ R" o: w: c; w; ~3 }
ADC #$01- A7 W+ }$ a* \) a# h
PHA
+ A3 h, Y' Q3 ~) t- i0 C; }/ l LDA #$039 f1 Y, Y- g; M; d; L9 O& S
STA $8000" r! | L9 x# S7 W/ F& z
PLA
) ^+ Y, l3 k s9 n$ r3 S5 D STA $8001
: z& G* m* Q$ d: _( M2 s3 } ADC #$016 {! f/ [* R/ \% a$ V
PHA
7 ~$ B M* M0 o( ~ w LDA #$046 o/ Y+ m! Z& p" f
STA $8000+ p( M$ N7 y3 o! [6 g7 E& t
PLA
5 R9 N2 A' h, Q STA $8001: j$ t$ ]% m# m0 W0 ~ _1 N
ADC #$01
4 w+ e5 l! w$ u9 Y7 |+ @ PHA% c! r7 E M3 U3 T$ P" L
LDA #$05
8 N b% t0 y4 E+ O: k1 g# Q STA $80003 w2 g1 E/ C6 j4 s% _# j
PLA' i) C) ]% D" a: n
STA $80016 R1 e4 I+ w/ B' A% J) C4 V
PLA
! l% \7 @; L" i- V RTS
' r5 G! H+ [5 G' O7 W* ^$ \+ t$ d9 s1 K1 ?' l8 P
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|