|
|
;[FC][最终任务mapper1切页程序]3 k; |/ @2 X: G/ ~2 P
.ORG $CD9B
f+ H4 _; i; w1 c+ @BANK_START:
/ S# i5 ?- S2 _1 h* I STA $703 O5 p( P+ [5 K+ B/ I5 t: v/ S
TXA4 y, Z! N3 I5 o# X' Y; u
ASL. p) x3 v( B) k C. r* k T% n' }
TAX
$ ^( \" G& S$ T. {9 F( G7 LPORT_SET:# @' A2 ]5 k* g/ _0 V8 s5 U
LDA BANK_DATA,X5 v# l2 _, i0 R8 }7 h
STA $6E
8 h) Q a, f2 J5 t% X% Z j LDA $CDB8,X; J( } b1 x7 l( h1 s% i& h
STA $6F+ _: W; N5 J6 k3 N6 n: B, s
LDY #$00) q$ K( f. W1 g! R# M; o' D) f2 C
LDX #$05' `+ ]* m* ~; ^$ K5 w8 z- x
LDA $70
2 l' d# D. I$ \7 A0 cPORT_WRITE:
( P5 q7 f5 c! ?+ [* u STA ($6E),Y
( M6 \: b. E. {0 b8 E9 u$ m LSR
% {& b' ~3 \/ M/ w7 h9 |9 r DEX
$ @' G x: _2 _9 k& [' ~ BNE PORT_WRITE- ?+ V2 T& I* \$ x6 B; _0 Y
RTS
. ~7 r G5 I7 ~ 8 t- _+ M$ _$ n f, h0 J
* R8 X S/ k8 \& E; DBANK_DATA:1 m+ B; v( d9 r6 T. V' |+ s
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF; p4 f6 C1 h6 T5 S: z- X
$ d2 c( x& q& F l4 y5 D# m+ j
q( D+ F Y. H" y* `7 F P* \
;[FC][最终任务mapper1转mapper4切页程序]
" X4 R0 ?( Y' q( ? J2 A% m% ~9 @ .ORG $BFD2 ;初始化跳转
) L* s7 s+ M0 P" r JSR $FFC02 u2 {% c8 g4 P4 F9 `8 f1 c+ `4 k$ M
4 Y+ b4 h+ f+ u- P6 k+ ], D
; k8 n( a) ~, G% o: O
.ORG $FFC0 ;切页
3 a3 G# m/ N {/ K `) I0 a1 R, y LDA #$06
. J# n' s6 C- K' Q& b3 N STA $8000# O/ p2 R5 u% T- B4 [
LDA #$0E" d0 `$ v" d1 }' z( N4 L! O; ~
STA $8001
9 y/ z# f6 L4 o7 w JSR $8000
: ^" H# w& @5 `# ]! y RTS
) r' r6 h2 @3 ^6 m' i. k9 y5 K 0 r* L7 k3 F+ Z7 Y% q$ t' Z% n
.ORG $8000 ;数据复制+ `$ R; N9 `6 C9 |4 `% z; ^
LDA #$80
9 D/ ]3 o5 ^! a( i0 g' M+ A( N- t STA $A001 ;启用SRAM0 q7 x: C" _5 g& J
PHA
) b# o6 S0 g3 B) q) X% O& Q( [0 ? TXA3 A7 h% M' v$ j
PHA2 w0 k8 |% G- |* [' |; Y
LDX #$00
/ b2 q8 I* w7 U3 O6 RDATACOPY: ;数据复制 [5 h7 Q% Z( A q4 s
LDA $8100,X) V" t# d( d! v) d1 E
STA $7200,X& D5 i% A) O2 Z* e* y* k# W8 r- F
INX
8 ~$ c4 n( p3 E% z1 X L- r CPX #$002 \- q$ T m8 ?* c& y
BNE DATACOPY9 h. W' [7 [( c" K' x3 c) V
PLA
& m! X: |6 h2 r TAX
# s: q. M/ l, _5 R' K! I5 j T PLA, ?9 E6 l, Y2 j# h% W0 q
RTS
4 U8 [4 C6 b, V! }
4 V6 b% @9 E8 `% Y& Y .ORG $CD9B ;跳转到转换的切页程序
. l6 Q8 |& g2 O8 ^4 @! B! B5 U STA $70: T1 U4 Y7 Z# c1 w1 x
JSR $72005 `' ^5 u8 F5 B5 d* q e9 r
RTS
+ {# Y, L# r7 J
6 m: C9 C" s( o0 f8 A- k .ORG $7300
7 z$ r2 E: `% `, p; p4 hM1_TO_M4: ;切页程序( [# A( q' m5 X' A$ W% \
CPX #$001 v$ M6 X" O4 H9 q" l/ \5 l
BEQ REG_SET& l; @7 h9 @/ H
CPX #$010 q& ]6 Q4 T" @6 B, m4 \
BEQ PPU_BANK_00002 V% `8 V; M1 m S$ J5 }
CPX #$02
2 n- G" r' c1 `0 ?7 Q6 X9 r BEQ PPU_BANK_1000
/ i( t' P. [+ L# u9 f CPX #$03
1 N. U) S' [: j! ] BEQ PRG_BANK: Z3 {; c- F3 F" y6 M
REG_SET:6 Z2 ]; h F5 r! j* V, }3 X
STA $A0004 E* R; G7 A* _. p
RTS
& L) G. ^' Q8 i6 s# I: R" X .ORG $7320
~% Y- c& }! s3 hPRG_BANK: ;PRG切页
" [+ x; k' G$ x6 H- ? n PHA
}( d7 a. ^7 N7 k2 E LDA #$06$ d9 h$ V) [6 W+ R
STA $8000
; g% j# ]( a3 Q1 ~ PLA+ d7 Q' \ u7 e, C3 j! B) h
ASL- w$ e+ T1 T# h& j. q5 v
STA $8001" E ]9 c' s4 O. [7 a: M
ORA #$01' G) R" |' @ \" w: C, {
PHA
% j$ H- @" U0 T8 S1 {2 F+ _6 B LDA #$07
7 b: d" T, P) \5 K4 M- ^$ p STA $80000 S& t$ p/ l( q+ i
PLA2 I/ P! f" Z9 @3 l! }' \, i% V
STA $80017 s' Y6 z( X3 S4 P3 s/ K" K* H w
RTS
" E) c/ q3 t8 P/ H& z; p .ORG $73402 k- `$ x& M% g' {6 P
PPU_BANK_0000: ;精灵切页
& v w8 X2 |: G* e6 v4 c9 o PHA
7 |6 E2 `' O$ Y" Y9 r, y# c9 G ASL
$ b& e8 q& j! Q, }3 ]9 |2 Y ASL
3 G/ o+ i, a# b+ F- ]/ a% r PHA$ x# n) B1 s) s8 q2 o! {
LDA #$00
9 q# s( B+ L: o: Z* J STA $80004 K- q+ c% m# V" Z" z* h d; Y8 n
PLA
0 y: U9 z+ n0 Z* n/ i STA $8001
3 F$ `3 d$ e4 F2 j( C8 j. d ADC #$02
, U L1 @& Q/ ^: |8 r# q. A PHA+ g/ l# V0 D, O3 W
LDA #$018 r, L* x% Z7 Q) R8 g) R1 R$ L% V
STA $8000
* R7 O# G$ [7 ` m6 L1 @* g PLA
( A& g( R, w9 [3 h" J) ` STA $8001
8 G9 e4 X l; L- k4 e$ [/ w PLA
1 Y2 V* w$ g( n. }2 \% K- n ^ RTS W% Y# g8 s3 ?) Z/ u0 p1 u5 f
* P; G+ v! c# O .ORG $7360
" C7 l0 ^0 p; r, X( K' K$ {, ]- ^PPU_BANK_1000: ;背景切页
1 I3 S# p! {/ r/ j PHA3 s. h6 `6 [& G' x2 S. B
ASL
1 P# V _2 Z6 X3 @; N ASL
4 R( X/ u5 {! b+ F o PHA3 H" f0 I- u& a0 h, o' m' C
LDA #$02& v5 `* G: q2 y; D3 w* B1 A9 ~
STA $8000
2 F2 H4 ~( b6 \' j PLA! F6 `# f. X) L" T( x, e. {; U
STA $8001
, q* E7 N" s6 P7 @- t: Q ADC #$01# ^, ~0 V- e5 q" w5 k! R |
PHA2 t: [* e' A4 j/ ~' |% n( u
LDA #$039 b1 T+ }( W5 g! w
STA $8000, W2 _# V7 s9 m A3 O7 i
PLA3 [. t- h. p) {. l
STA $8001
+ l" e$ m$ `; ?9 C ADC #$01
6 q9 {+ z& T& m6 Y# q, \ PHA0 O% f+ W/ U' x( u# g# t5 I
LDA #$04$ M7 u; Z; s5 [* w& Y9 p- O
STA $8000! o5 G5 Y7 C0 r4 C
PLA& J7 S, N+ M" ?5 ^8 x& r
STA $8001
. Q% Q+ t7 |! n+ k; ^8 q2 H: B ADC #$01
( g- B! \; t5 | ~8 ]. h% |1 [ PHA
" w" I9 Z, s$ c' x" s LDA #$05
2 z6 e e9 ]; H& P0 E: h# K% ^ L STA $8000( r! o1 r7 X3 Y/ L5 Z
PLA+ s4 j( q9 r b4 {
STA $80013 v- [' T8 P; p. F o8 {. @% u' @/ J
PLA
4 G6 O' q s5 _# Q RTS
, T+ P; b( z$ s v4 ]6 ]" W# A3 J" P/ L. H
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|