|
|
;[FC][最终任务mapper1切页程序]
* @3 s& n$ v+ ~! P7 }9 N3 d .ORG $CD9B+ A! D! i+ R+ ^: j! W+ D
BANK_START:2 l [ C3 r# P0 o' g5 S
STA $70) L% [! r n9 {
TXA# I' C( C/ Y$ p$ w R
ASL- G8 K4 Z% u) u7 T: z( E# [
TAX4 }" C7 k+ a P* N; J+ [& `8 X
PORT_SET:- \( E4 D5 u* t. u
LDA BANK_DATA,X
/ o" f3 |' \* |- P! e; H3 O STA $6E
' a. R: X! E7 P. j LDA $CDB8,X
$ M& a$ j. j+ o& @ STA $6F* g- A* N5 j8 e+ q
LDY #$00
; s- h+ ]& M; C% N- h. @ LDX #$05* s" w+ l: J. L/ g) G- f
LDA $70/ [& C7 P7 M: |; K* k
PORT_WRITE:
& _% J" a e4 @# h STA ($6E),Y
7 U4 \2 U, c) [& z! j4 H/ i LSR
4 L+ p Z6 c" C' C: u& R7 c DEX# I3 o2 G4 S; U% _- y7 f* i
BNE PORT_WRITE* N/ W: Z$ T s
RTS
& a; `1 p# A. D& R: Z
* J8 e0 r( ?3 n& i/ A7 L i: i
8 `4 F/ f; l+ b! C+ W& [, _BANK_DATA:! d+ D D- i- e- U
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
7 i2 j$ g$ e, Z6 z1 B$ g $ U b" n2 r: B* Z9 A1 M
. ?- t0 v" W! r8 q7 g
;[FC][最终任务mapper1转mapper4切页程序]
- {; d( e% u1 p3 W# V' ?4 U7 D3 ^ .ORG $BFD2 ;初始化跳转
6 j5 q5 y/ I4 N. Q3 `+ }4 P2 G JSR $FFC0
7 h/ Y: l; o( `6 Z0 ~, j! Q3 k$ j0 g3 V: \
8 S' _1 F' n, Z5 w4 F2 P, |
.ORG $FFC0 ;切页% j! G9 I3 I+ l* v! D
LDA #$063 K9 ^& X+ r' {5 E8 h
STA $80001 t/ a9 T# n& ]- f7 A% ~
LDA #$0E2 z1 o3 R. n; S% A U- j
STA $8001
; b7 v/ w" |& N, L$ E4 _ JSR $8000$ e& }; ]% e; l, u# H7 ~; F
RTS
) N- e8 Z' ? U; ^) q 4 C5 e" V1 d8 W+ q @8 L
.ORG $8000 ;数据复制
0 {5 y* F" _! z, ? LDA #$80! R8 W1 a1 X8 g7 m# g1 b
STA $A001 ;启用SRAM
! B) e4 ?9 k8 f2 O' p PHA# R0 X9 D) |3 I, G, l" ~, _+ @9 z
TXA4 x6 _/ s3 H( Z) z, U' U P/ T% H, U
PHA: k3 @5 w6 O0 I4 |) Q0 w" a' j. I
LDX #$00
( f1 ?/ _) Y) w; B* D" o2 r: Q6 W8 IDATACOPY: ;数据复制$ F6 H& a0 K) A: I: }+ P
LDA $8100,X( Y, ^# Q y- h" \8 G. J
STA $7200,X% y7 W9 f0 C1 t! g! R! {4 [* a
INX+ s7 W* O8 l4 @! u/ a& F
CPX #$00- U& b% S" H" S: ^: {, q
BNE DATACOPY/ z& T8 R6 ^# ~( E) J
PLA% F4 p; J* W h4 A0 @* f
TAX
4 ~, C% R5 ?3 y* }, G PLA
& p; f# V" f" f: \/ u RTS
' M" j. k* s$ C" R5 p; e1 r, B " e. S- J# w+ u% t
.ORG $CD9B ;跳转到转换的切页程序- I8 X+ D6 f- [ L
STA $70
, [3 D5 j7 w; r9 p JSR $7200
! ?" k( m+ t% e$ V' H; b0 h5 R RTS( W9 h- E k/ I
. D9 x c/ i8 y5 x' C1 l' q .ORG $7300+ K" f& S8 L7 |# k( Y
M1_TO_M4: ;切页程序) `. _( r8 L* ^
CPX #$00; Z/ c4 N5 \/ R
BEQ REG_SET5 I& q6 D. ~/ @* Y3 |1 U
CPX #$01
( C1 K( C5 l8 Y8 @% W) @5 d BEQ PPU_BANK_0000% @5 U$ I0 H) w/ p& V( C
CPX #$029 c. C) d) e" ]1 B/ L
BEQ PPU_BANK_1000
9 i P; L; y6 d: ` CPX #$03/ g+ S/ Q) ?# S) ~" L0 Y
BEQ PRG_BANK
, D- |% x J A/ {REG_SET:9 h2 O+ t2 j" u) b& |0 X' a. r& T
STA $A000
/ b+ L! T4 O1 a8 m' b9 ? RTS
8 ?0 w) Y8 v+ X6 l9 p9 v8 k .ORG $7320$ k0 F8 k$ ~# w0 {3 k5 P
PRG_BANK: ;PRG切页
2 S9 M( C7 a- [' I% ?: L- D4 z PHA1 ?( N" l) x* Z, s5 }9 ^
LDA #$06
' R! d V4 t& ~$ ~ STA $8000
; ]8 e' A8 a0 X5 ^ PLA* X7 J7 S& i% R4 ~
ASL
! {% g% C: C8 F5 N9 P7 F! N/ x, i STA $80012 a1 h3 h- m' p2 h
ORA #$01
( I& T$ a9 e) [- g/ V PHA
/ u# n. I7 _8 A" Q LDA #$07
- w+ m: M6 t2 z( [# a+ d Q STA $8000
1 F' S3 K) ^& R& f- ]( w" [ PLA4 Q7 s8 O/ q5 [1 w A( E
STA $80018 F. U8 ]* I4 s& Y/ a, H, B; q
RTS
$ e8 a I8 G' q2 v2 @$ } .ORG $7340/ E: U* w. D3 D, p q1 b
PPU_BANK_0000: ;精灵切页! u. Y/ i! Y4 q9 x
PHA; k* Q+ l# q( J% t; I
ASL
' r- f" `$ ^. [7 B8 n! V. i2 L ASL/ h/ M5 X4 e ^8 f8 X# {
PHA. x2 }/ |6 \3 e4 ?& ^" l7 x
LDA #$000 G7 D |# }/ _$ I" N( |) d
STA $8000
2 ?4 U- X' i+ X w PLA
/ Z8 C! V' m. a STA $8001. m6 G( V7 k4 }* F
ADC #$029 q1 j, z* A1 K7 v3 m
PHA
3 Z6 ^& a% L. l LDA #$01( [, J3 ?, n) b
STA $8000
5 J, A: F1 Q' l PLA
+ C' S- H3 j) x STA $8001, ]1 X! W6 A; s$ F3 b. [; X6 D
PLA
; {7 G. H6 {6 Z( l4 n* K" Q- m RTS
8 z9 h2 J& G: D& m
. p; G) T, c/ A. h .ORG $7360
1 c. ~9 M) _% i3 Y4 R3 iPPU_BANK_1000: ;背景切页: q% a, I& W' T v8 T1 n/ p
PHA) o" ?( P" N3 [/ _) A& I) e
ASL
+ A/ e+ j$ G/ d2 W ASL5 g5 P& j* l7 }
PHA
! f: `3 M. i. a0 V0 ^+ U( S LDA #$025 l6 g1 b7 [- ?+ }
STA $8000% o0 g) ]( } J+ c8 J9 m
PLA
0 T7 t6 F+ d# V STA $8001
" a- b% L0 l, l- I- @, k# M) }" t ADC #$01
$ V$ a; Y! ~9 {# L/ y4 Q+ H PHA- Z2 C4 w- k8 F* ` x, B
LDA #$03
0 j( Y$ z _( A, Y( @2 g$ x STA $8000( ^. \- m x# |
PLA
5 W7 [" W( A7 J9 n" y* K& V STA $80014 k9 ~$ l" l, {" O
ADC #$01/ T- N" N1 r& m! C P+ S7 V
PHA
( m' _' Q" w8 A* X LDA #$047 j2 c# L: p# z
STA $80000 h$ X$ a1 f5 ^4 P
PLA
- y; k+ p, U& |6 l* a8 w STA $80010 W5 T$ G0 l% s% [( k
ADC #$01. o# F' s- ]) g
PHA/ G; j {$ m( i( v1 U4 N C/ T
LDA #$05/ U( R/ x9 i/ b
STA $8000
. A. ^& Z5 ]5 |3 [, M2 s; B PLA/ f6 u* f- C( W m: v* U
STA $8001
2 D1 _2 H7 |6 p, I PLA# z% K. U5 j Z/ e; ]8 j6 v
RTS: r" T. j2 F. z! I
, c1 k# p- g" @$ f! B# v. i |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|