|
|
;[FC][最终任务mapper1切页程序]+ J; s. I8 A" f
.ORG $CD9B
' G3 w( V9 C9 V$ \( D! \# y1 ~BANK_START:% Y* k. \; \) M& N
STA $70
' Y6 v, L9 K( G3 x1 @5 d9 K TXA
" z9 u( ^; z4 }: X ASL
4 L% S7 W0 G1 m5 V4 @ TAX
n% g8 B; O3 t z0 @: ]6 ~PORT_SET:4 z0 ]3 C! L' E* X1 K
LDA BANK_DATA,X
$ V! B2 ^4 a# B- m2 l4 E STA $6E
4 Q: ?. g" v2 R) U; g! ` LDA $CDB8,X. Q$ z, |5 p5 _- Y
STA $6F5 A3 q# H3 W/ k0 g
LDY #$008 \8 U* b( e4 C5 v. A- w9 e# n( q0 R7 P
LDX #$05. J1 @" N" o& X$ O
LDA $70
% g' I( c7 ~% {, F! OPORT_WRITE:
, G2 ?0 I' l9 w8 ? h; Y# S STA ($6E),Y& H% W) N2 ]6 }8 L6 P& b9 e! L% x% v
LSR* y3 [+ r' w' H" G7 Z
DEX
/ E/ ~; X, H0 W. y! _7 G BNE PORT_WRITE
* G2 k$ J3 G* P) W: D RTS
/ G! M+ |, q9 J' S$ } 9 D( `2 |+ J0 F
- ?/ q C/ T4 @# ?
BANK_DATA:( a+ ]" J) e& ?8 X L: z
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF; j# J+ C% F \
/ ^: n2 {+ {7 t
1 u0 d/ ], j, q;[FC][最终任务mapper1转mapper4切页程序], d$ r/ ]. f$ m. `0 S0 U- P( \8 z
.ORG $BFD2 ;初始化跳转
( K; n) _5 x3 \' _4 L% }& B K JSR $FFC0
6 a0 L2 I/ B1 q. q+ A$ V0 w; q
3 [' y& g8 O% p0 q% `( @
; |5 L9 n! p4 `3 ~7 t& r .ORG $FFC0 ;切页
, e$ `4 O, W2 \ LDA #$06
5 ]. l' W. F# c( q& }; @0 A, M STA $8000
; o' l/ L& ] S- s; k" \1 f0 O, N4 w7 e LDA #$0E1 g9 \1 j8 H" W$ U; A: k% f
STA $8001
/ ~. T6 |. c# Z* n, Z, U JSR $8000
4 O5 r+ b5 O) ]) x RTS 3 G# }9 I3 g/ m
$ Z) [4 M4 `7 T .ORG $8000 ;数据复制
, f) I4 A. \: ?, x1 A$ J4 F LDA #$80
# C. |5 K; ~7 n+ m* t STA $A001 ;启用SRAM8 K) M1 V+ ^4 r% Y; `( H
PHA
/ o& ?* H: |% q9 u6 r TXA
( }2 n* ~6 g% ~ PHA$ b! x& T. R+ ~
LDX #$00& q' W" T3 N# K% [1 P" }
DATACOPY: ;数据复制
9 s8 }5 Q4 W2 G0 F2 Y' O LDA $8100,X, C6 _; X/ u4 S. J. C
STA $7200,X
! |# u0 J2 N) c1 P# N* a* r INX
) g( f3 f' Z8 P* v" j/ k: ? CPX #$00) |1 ^) y. s& @
BNE DATACOPY6 u$ {' H( k1 q* F# [ z# s
PLA
, h9 C( R% t4 K# \5 O% M TAX
# p! v% c$ U. E! ^' L+ x- B. A) Q! m PLA
1 r. l0 r( i4 N0 x' l/ W RTS
: a- D7 \, l4 ]( n ~& F0 C' P
* \2 U% K' b4 I' B4 F4 G8 @ .ORG $CD9B ;跳转到转换的切页程序
: K3 I; ?2 c% C# {' y STA $70
* G6 n* s. a" y7 m1 j JSR $7200' A! p, K' L4 C
RTS% e9 \! C5 M- T
& j+ K" H- k" E& P3 X .ORG $7300! s2 Z, ?* o; }8 ?' ]' C. ^, C
M1_TO_M4: ;切页程序
9 }, a/ i m" P7 d5 E- P. L' u1 v CPX #$00
+ c# \! M7 y. T/ o5 v: E1 {! O BEQ REG_SET" i& V" ]+ i V8 g. ]% m
CPX #$01
' r4 ]. a3 U; C' c BEQ PPU_BANK_0000" v! j+ f/ u/ U7 k, o3 {
CPX #$026 R2 d- E0 ^; R; i
BEQ PPU_BANK_10000 q: }6 i+ p8 O# T" ~$ J
CPX #$03; b ?/ Y" J" s; n" H
BEQ PRG_BANK( Z) c) _ q' W( q+ o. R w
REG_SET:3 h' G4 ?6 J6 l; Q$ `4 K
STA $A000
8 t; o3 ^0 Q, t( }$ s RTS" p, G6 m+ \" ~& l
.ORG $7320! N5 ?' J; f5 l$ \
PRG_BANK: ;PRG切页- c: h) n9 }" d! D' ]0 x. L
PHA* M% b s, s7 D4 F P8 I
LDA #$06
1 A }2 _+ |5 F/ q STA $8000. i2 B/ C) Q, b0 [4 @. d0 h; J
PLA
* _% p0 x3 L$ [, P; s* W ASL
& q* |9 w1 w2 H, ~ STA $80019 f6 O6 T$ J( n3 d/ A# ^
ORA #$01. y }6 o' d- h4 t1 D
PHA( Z8 S* e! x& s( g4 J) H; \0 I0 ^
LDA #$07( b, |4 _1 P" m% ` g4 y; i
STA $8000
# c3 _) b9 b4 f3 O3 t" S- [, [ PLA6 Z0 l9 T, f4 ~& Z2 l
STA $80016 d/ n0 Q* c2 A
RTS0 i% S6 @' Y6 R
.ORG $7340! Y. _. I- y* \+ T9 S/ d
PPU_BANK_0000: ;精灵切页2 ?8 E3 ~! c) F+ c9 V# ^
PHA4 p$ n) |! c: S' N( ^; l L
ASL2 g' f! g k7 s' E% H: {; z7 X, r
ASL5 x4 T, O# b) `' ^. C: T
PHA
" L7 s" V$ }+ b7 E$ T LDA #$00
1 q( R4 n+ q4 K6 K+ k1 K STA $8000
p" V7 ~( n9 f, H+ I% B4 E* \# k PLA$ J6 C& Q+ N% t' ~
STA $8001& V" o; v: D; \' [" H! N1 Z
ADC #$02
8 w) ~3 H" n2 p a+ l/ T PHA
; G3 P2 t6 Q, @- t LDA #$01
9 r6 u) O4 u# l8 R( R% s' _9 i STA $8000
! I8 d% t$ g) m4 r d PLA
8 d! a* m9 F. |" I$ _' n STA $8001
5 T$ A3 n2 }6 l- s, L PLA+ O# ^6 v, q3 ?6 n
RTS
* e, K! H3 Y }; [5 c/ m ~) P- E - Z1 a9 i. H8 @4 a* A. o( U2 o
.ORG $7360& O/ }+ z9 T& g. [
PPU_BANK_1000: ;背景切页3 h' f4 M$ w! u
PHA
1 W- d o% U8 b ASL
% D* m8 j) x8 A ASL" z: O' j. ^* m+ \) n- q" D
PHA, G( G" v, Z# X0 s
LDA #$027 f* \6 Q" N5 `
STA $8000* y7 V3 [) c1 I" x- l
PLA
. k" E' o- m( K" z STA $8001
, |0 \4 `( ]* j ADC #$01
$ ?" e) V( c2 [ PHA9 l: c7 [ X$ I L! ^% k! L
LDA #$03. d( }" v2 u$ g$ T
STA $8000
9 R' `2 M% B: R1 Z: M PLA! K# Z- d) V) J$ n) d
STA $8001
( T: G9 `1 I b. D: h ADC #$01
4 l0 F& Y. }' E& L& l PHA
" E( I1 ^ M6 m, ? LDA #$04
$ N4 s; Y, z4 w4 g/ U4 T/ O STA $8000
4 Y9 C s8 q( N7 v$ J5 @' P2 F+ K PLA3 z" L9 X& E& r
STA $8001
: d9 z% j# N8 d( P' D% i9 K: S ADC #$01
2 A! o; t, G% l! t" T9 @1 h) W* I6 D PHA s9 _: S3 w2 j
LDA #$050 C f6 W* o6 B) z; _
STA $8000
7 k0 c2 C& G: u# m& i: f PLA% J! R5 @, W% I# k/ a" W: O9 i
STA $8001
9 H# L, J. Y1 t/ e- _( [* X PLA
# K1 D4 b+ R% _" r+ b RTS
1 k. M: s$ C# t+ {; u# g. Q! m7 \. g9 @8 ~8 ?: F' C( y7 G
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|