|
|
;[FC][最终任务mapper1切页程序]
* s8 W6 ?0 ^+ t# b% n% G .ORG $CD9B# N7 |* A) l3 w e1 T
BANK_START:! j" `) V6 D+ s/ ]5 B' Y
STA $70
+ e3 Y. K9 o8 N4 L. V* D; b TXA2 e' J; f. h5 p' \) O
ASL
6 l9 J* m7 Y; w) O2 ?$ Q- i- w TAX9 p m- w" k2 m' U8 K+ ?; k* a: X3 C
PORT_SET:
; r, E. n5 @/ h. }# a( N LDA BANK_DATA,X- O- |1 M# f+ H- K, M* {
STA $6E! [2 h; t' f3 B' Y# ?
LDA $CDB8,X2 {. B& G5 H! a" D1 H" p7 g
STA $6F
: Q6 t* m" ?! L8 c, F9 x. A LDY #$00, k9 N1 L/ L0 A3 o
LDX #$05
5 V, N5 b! z7 Y$ R LDA $70
% N- f# H) g; u% jPORT_WRITE:) V7 ?! V% c5 m9 _3 x7 W
STA ($6E),Y+ _* I, r6 @. l3 g8 j% ?! z
LSR* j4 m/ u) \7 p
DEX& z2 ^. r9 _! E2 I' T" o! W
BNE PORT_WRITE
( m0 x/ g9 V0 m RTS
0 D! U W% D# D Z" A : u4 i/ y9 u# X% u
`' r: l& F! i, k; W2 b+ Y+ L
BANK_DATA:1 n7 l) `. R" j
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF! ~* Z! A0 ^/ {* {
% M- m6 H- a- Q4 ~4 R- \
7 y1 _+ V* V. Q7 _;[FC][最终任务mapper1转mapper4切页程序]
+ C8 v, W- t1 b9 ?, | .ORG $BFD2 ;初始化跳转
( x& q3 I$ n8 w# O! { JSR $FFC0
+ w, u. D: O% `' _& V; g8 ?" P- [5 R" V: H' V' E$ A, q& B' |
* s7 X" x$ n1 u) l4 [- Z
.ORG $FFC0 ;切页" P1 [3 @4 f: L* t4 T. K
LDA #$06- L9 P' O6 Q1 W3 v N
STA $8000
9 H7 O h5 P* ]4 W3 R5 D LDA #$0E
) H- o) q s2 i m2 f9 L STA $8001! Z9 P& u% X/ h, E
JSR $8000% e+ I* ` {1 I5 K/ t
RTS
5 Y" F( ]- c4 J& t! M
( |" _9 q6 H+ m .ORG $8000 ;数据复制; T. ?4 E9 C- Z% w* r4 g% O/ O
LDA #$80. ~2 H% [. `: R, H* d" w
STA $A001 ;启用SRAM$ ]8 a( B) y& n- U5 l% z3 ]
PHA7 [) n: I) s' g8 m* Z% ]1 B
TXA+ U6 K9 s" K# S
PHA
$ S( @$ @# o3 X- _( r LDX #$00! w3 E9 z& h" z
DATACOPY: ;数据复制2 g* B( Q0 ?; n2 \ L) U* I2 r$ I
LDA $8100,X$ o* W, | [* h
STA $7200,X
0 i/ c" F) x* w& F, d# K INX
2 w! ~+ d2 S+ l7 X) j! g) _ CPX #$00+ U! V. k( ~, s* P9 C- z. u5 o
BNE DATACOPY
7 C" A- ]+ l* z; a* J PLA
0 z1 b$ h% M5 p TAX6 e* v, s) `5 V% r. N% S" l" v( l
PLA2 t) O) e, e6 t1 t. p8 b
RTS
& s( G/ \4 ~$ y$ a( R
5 X! f; N8 `$ f4 D .ORG $CD9B ;跳转到转换的切页程序0 B' H) [3 ?& m8 O
STA $70
( o' I: o( I/ [7 [! R4 Y1 f; A+ f JSR $7200
4 @" O( b, t" m+ r2 R RTS
* n M7 a8 `: e) s% _
$ F6 ]2 O9 B& S; O1 {5 E" g .ORG $7300. \; [; g; y0 v( T( L
M1_TO_M4: ;切页程序+ _& s$ q" C; i1 L' @9 m
CPX #$00
+ C: Y J! e/ n# ? BEQ REG_SET
1 b+ X& K9 t e7 g7 v4 F CPX #$01 n) V, W1 b6 H& @- O
BEQ PPU_BANK_0000! T3 N" N/ E3 U& L5 |
CPX #$02( Y9 C" |) {. e9 ^
BEQ PPU_BANK_10007 s- B# y* a( |, P7 d$ ~' _: u- K' t
CPX #$03
2 r, ^7 l0 t) O- w( x2 D6 n BEQ PRG_BANK
$ M, f! L: A" F* V7 }REG_SET:3 W, {7 H r' M( c9 q+ ^
STA $A000
9 u, J8 a! b1 j) L RTS
& w* b2 Z( A Z. l" P# j7 p* s" W .ORG $7320* ^7 }, j0 O9 z- N$ J8 L8 z+ E
PRG_BANK: ;PRG切页
+ N$ n! ]) k) m" W PHA
S/ p2 @5 H5 A6 ?6 j LDA #$06
4 g( [7 w9 V$ g. L+ t STA $8000: s1 x: _% Y; q, n4 D
PLA! E" E; g9 z+ |1 K8 }' z) \
ASL a7 k% \6 h& P
STA $8001
3 p. l: `& S' g z; o5 ~' x: ? ORA #$01, f. ]& q6 E1 I% D! K) N
PHA
1 \7 z1 d' E5 v0 B5 ]6 h LDA #$07! ~- J+ T2 Z T Q- i
STA $8000
8 J8 I) T) t! V2 ` PLA
8 V# {5 a1 Q; W ]" z8 p0 k STA $8001
- z m$ p- N' A RTS
* [6 `9 h' w* s) L3 P4 i- O: n5 Z .ORG $7340) A, E; C( I. _! n4 [
PPU_BANK_0000: ;精灵切页+ f2 W! ~$ S$ A) O
PHA: t- h- y/ ]# c
ASL
- F+ ?. ]/ y5 r+ J ASL
4 d7 e" v; f+ q% r. i* [ PHA* r- p# r, H" q) e
LDA #$006 l! t4 d6 D$ |2 A
STA $8000$ u4 ], `4 a% U- k1 B
PLA
a4 |- d( u Q p STA $8001
4 K* _" a* i9 ~+ O' I ADC #$02
. f) i% N9 M2 z9 J PHA
" R U5 }* G f B9 ?$ Q" x/ U LDA #$016 ?4 `4 ~+ B" k/ A( i+ j
STA $8000
2 S( H* U! l0 G; f& |6 q( l PLA
- _ R% D( i4 N7 o- t M STA $8001
+ P9 b+ B: h' `2 M PLA
, Y- n, Q+ _0 d4 o! Y: B5 s RTS
( F, N: Y* A+ p$ @& o 2 L7 R) l3 w4 O8 C; b7 w
.ORG $7360 D0 _8 L) \- \( X ^0 @3 ^
PPU_BANK_1000: ;背景切页7 ~& _* f6 ^. f2 X1 A
PHA" p! q x8 S( J: [5 s+ x
ASL; u8 d( I n: f) [/ z% S, X6 H
ASL8 t9 S. r: |8 R# o3 U
PHA& j# Y e: R9 m$ s4 P% f" S
LDA #$027 H* p! w) I1 T, t! f2 @
STA $80002 k) A0 B$ J* q$ b3 w2 ~
PLA
$ S0 c: A6 G; t- g7 r STA $8001" |/ ~2 e O L( ]' A/ v
ADC #$01* a0 I8 f1 X* R+ h- g
PHA
3 }$ n) G7 b, h A7 f; D LDA #$03& L- M# Q) U: j# ] v( B
STA $8000- o6 }, m- C2 y
PLA
2 J% |* r) w, Y3 s8 q STA $8001
+ N9 v: j6 k. l. ^' G5 Y ADC #$01
' P( j; [: `: @9 f& |6 b PHA5 q/ [3 o9 p3 J/ b3 a. a1 V
LDA #$04! x& p* `4 J+ v5 G7 u8 t
STA $8000) J" T( U) ^8 l/ J" S/ D- F
PLA8 I, \1 _0 G# B4 R3 M
STA $8001+ w2 Q' H7 _: x+ k
ADC #$01& n7 d7 {3 |& b, s, k4 l+ Q0 H
PHA E' h8 ?, Z, s& a" V- O; w
LDA #$05; M; a, }3 ^3 F/ w- w/ t
STA $8000
& `# p4 M3 V% V PLA
/ Y! n; W0 E3 A- E* q) t! l STA $8001. L! q8 ]1 G3 P2 W
PLA) O# {2 D# _2 e; K
RTS
* B9 {6 n2 J$ A
& M$ b6 Z- Z$ C# E |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|