|
|
;[FC][最终任务mapper1切页程序]
/ |+ x N! T/ F .ORG $CD9B; S& i: L# r, i! W% o+ }) o8 C: V
BANK_START:5 O- Y" m( T9 m1 b& u/ h
STA $70% E) }& Y0 y- _" {" P- H% m$ `
TXA
% A1 F0 M3 T* T$ A! ` ASL0 _6 M' ?9 j# Q' R
TAX
4 @- S. _0 z5 ?PORT_SET:
& H& G' v- P3 G LDA BANK_DATA,X
" g! H0 v$ I9 c# N, L STA $6E
! D' n0 ` z( T LDA $CDB8,X$ F( V$ O$ f( Y, c- Y) z4 Y
STA $6F
& _- S: K, a- \% q ~ LDY #$00
+ n% o; {1 p! j$ Y LDX #$05
$ s2 ?$ |; ?5 s R! q2 D% X f L* b LDA $70# E8 x) e, f& u( j- C2 ]1 c
PORT_WRITE:
' s! J* b* D( P/ i3 K STA ($6E),Y( n2 Z9 W3 F. e( Q) ?+ D e) B- x
LSR Z0 Q7 t: T7 G# B }
DEX
" [, a$ R/ b' I* ^ BNE PORT_WRITE! G1 h$ b$ I A; D
RTS
0 w5 D2 z: X, x7 e" b 1 v( z* U* n: M- Q3 `# w
5 V! y: X" {4 l' b1 u
BANK_DATA:
: X2 Z S! f/ D/ S( L6 u .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF+ |) m3 I- ] u6 `- j: }& }
( [. P$ X! {5 F! m6 P& `+ \6 Y! s
' {- ^! }- A" B' v7 m;[FC][最终任务mapper1转mapper4切页程序]. Y. s- ?1 v+ j8 g* |
.ORG $BFD2 ;初始化跳转
: I+ C6 u* ^0 m! {7 G JSR $FFC00 b' R1 S4 q! e
7 r! G5 u D9 P2 v3 Q! n% m7 J* e3 l4 c8 V" d
.ORG $FFC0 ;切页
# v% l! X- [% R$ p* q' t" m# ` LDA #$062 {- O- V4 w% h: a) Z/ b
STA $8000
5 ]/ {/ s6 j e- z+ z, A; X i LDA #$0E2 Y! ?0 \. U# }2 a) a9 B, \$ r; \
STA $8001- y9 ~# }% w+ I% r$ K
JSR $80006 g q- d& t& _ A5 ?# g
RTS / y' S9 n& Q: q+ }
% Z* Q1 N$ c' f1 p6 A. ~ B .ORG $8000 ;数据复制8 r: i4 { `! H4 x- t9 t9 \& J
LDA #$80
0 _* B2 p$ V4 N, O6 _# m3 w+ m STA $A001 ;启用SRAM
# Q- o5 ^0 N. W% f! f& j( F PHA
' ~& d) N ]* e+ ?8 a3 O TXA# o. W0 B1 q9 \, `. K
PHA
4 L& A2 k- @2 M( ^ LDX #$00
P# j) ^$ P- l6 `DATACOPY: ;数据复制! t) C" q# I ~# R
LDA $8100,X
% t2 c8 N) r3 u) a8 c STA $7200,X
( I0 _+ [9 V' O" R INX
2 N3 Z8 a+ n8 g6 G* |3 ^ CPX #$00
4 [* b7 u8 c) ~0 a( o BNE DATACOPY
) l0 F/ f* z/ Q8 e$ N% h9 o PLA2 h+ y' O: F) [. @3 }8 P
TAX
0 D9 w/ w% m: [ PLA1 {2 E6 ]" e4 B F; O
RTS
0 b, E$ k& R( a* P, E! |- u0 \5 D
' ~5 Q* C; a: |& o5 h2 Q5 E2 l" \ }$ a .ORG $CD9B ;跳转到转换的切页程序 R! ]/ J* |# `# H% `' W
STA $70
?6 @* W4 g1 P' \ JSR $7200
$ O, `2 J+ w4 t RTS
T+ O0 z2 |7 V; Y" T" h
; I3 ]0 F% x. G: q$ \ P- Q1 a& z9 w: R .ORG $73008 I- {, N9 z/ Y. n
M1_TO_M4: ;切页程序4 P4 |) F1 j. f8 P
CPX #$003 _/ Q. Q9 e$ H( _4 {( k
BEQ REG_SET
1 T) A+ \+ y2 I/ n) M" b- s CPX #$01
# Z. D! l1 R7 k' w* n BEQ PPU_BANK_0000
( o; ?1 W- Z) w/ v0 d7 ?- N# y( O CPX #$028 f4 o( T! x! w) ]* m# L+ c
BEQ PPU_BANK_10006 ^7 D1 h3 Z3 p7 n* i
CPX #$034 M# l" E# b2 h# Q8 P3 X# H
BEQ PRG_BANK1 j# W4 |+ N! [" ^" C% y
REG_SET:
0 s ~7 r7 j5 r: O W- S STA $A000
# R! V9 u6 R! \0 w RTS; ~+ @9 |" n$ ?6 I8 Z5 T
.ORG $7320
: m2 o0 ^7 n) ?& pPRG_BANK: ;PRG切页8 M9 X8 @: g2 }! h
PHA. @: T8 D. [! t9 p
LDA #$06- z# F" e2 f/ H5 A* l
STA $80007 @8 X1 x3 _+ R; u
PLA
# g: H& L2 \1 `/ d' Q ASL
- `/ T: O& L3 M1 P6 A. n7 o B STA $8001
% n. T% [# }3 `8 I+ a* R ORA #$01
+ z# |' s4 Z A. w2 k/ g PHA
+ g( T, t1 a1 t Q/ D' n: k LDA #$07
6 [7 h" u4 H$ @5 r/ `0 z STA $80001 {) n- }+ K( S
PLA
3 o0 X0 {" n& B1 j STA $8001! F( ?0 v: M% o( b% C2 H, H! I
RTS
4 A: q0 U2 V! V .ORG $7340& R+ w4 K, _ H- b7 L2 X5 G
PPU_BANK_0000: ;精灵切页
) e- n' v+ U+ T* Y/ q PHA
7 t9 X+ f2 F2 E- L6 G5 |8 X ASL
9 u. l( v1 `8 \5 T9 L- t ASL
2 W) R) K4 D) w$ W4 g- d PHA; }% Q+ s4 X/ U. T m/ S
LDA #$00
* X1 n0 Q0 f0 m7 p6 \' ^; L" C9 S) Z STA $8000
- T1 P$ |; C* [* j/ I; k PLA
: ?: R3 o y4 \: H5 I- @0 A4 T1 I STA $8001. q; k3 b" p! I1 M6 A4 I! \0 ^
ADC #$024 Z% n2 G! e- n# T o9 i: C
PHA
; x% X* n7 ]" M& e2 }0 ` LDA #$01' o8 C1 c+ [ b$ j
STA $80006 Y7 `! N! W( s) u
PLA
5 y6 Z% W- c' _; z# O* m) C( P STA $80013 l" z5 w1 W" ~* T/ g
PLA0 o5 d3 G: T" G, [" f4 O j3 [$ `
RTS0 L. q8 r. H1 D& ~2 R R
/ ` s0 e+ f9 u) ~
.ORG $7360
) @5 g, c( b' ^! }6 ^& j- TPPU_BANK_1000: ;背景切页
& r- I+ m+ M& m3 \, b PHA
}# o: e6 \2 k2 \% G4 o, { ASL
8 F$ a2 O, [- R1 _$ w ASL
( F" W5 T6 F9 {0 M- L& l PHA
# G/ { _$ g8 x( n3 O0 T LDA #$02
4 o8 s2 ~% m% y. p STA $80004 x# `# L. Z3 q) @, S, R# Y. N5 h
PLA n( W b8 D+ V( u ]+ T7 o; E5 Q
STA $8001
# |. N+ N* S: M; H* X ADC #$018 S/ C- ^+ O1 |. m* t# w0 t
PHA
7 u+ z" A+ H+ J+ Y( Q7 `( y! P c LDA #$03
0 ]1 H: @( {7 ~1 q$ ] STA $8000
- h( M5 S c2 p! ]6 W PLA6 [3 w; }, e3 I8 Q! R! o% k
STA $8001
6 `1 w% m9 X/ d6 d5 T ADC #$01, P6 J- g" M5 O5 a4 t
PHA
% T6 D4 T4 { T( \' M LDA #$04
+ F0 @7 v3 ^! i5 m7 P# z STA $8000
0 ]( v. U: N; B8 }8 p3 ` PLA
# H P. q1 Z6 Z4 S. I) a STA $8001
2 t8 w' s- H& J O7 G% a& b ADC #$01 i2 O; I, t( `% ~0 n6 r8 ?
PHA
2 E* P" L2 A0 e+ v LDA #$05
9 x4 U3 c8 D/ f STA $8000, j/ j9 J% Q: f3 j* f
PLA9 W: l7 U; u' D0 m$ x0 C J
STA $8001
6 ~+ X2 ~3 V; _7 H PLA
3 \) O8 [ T8 |) A) K! X RTS: ^7 P' H N M2 B# H
2 ~- ~" Z+ k- N8 r |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|