|
|
;[FC][最终任务mapper1切页程序]
4 E- E- }6 z/ m8 R .ORG $CD9B% s: ]+ Q5 E9 o2 n
BANK_START:, Q. e" P, h" [% G: ^
STA $70
1 `4 _# o0 _/ q3 ?3 W9 C) n TXA
$ [* f5 m+ p( X: e M3 P7 A# p ASL
4 B7 K5 S" e) ~' }' L ^ TAX0 \4 q/ _4 o ?1 ^5 a. s: w
PORT_SET:6 O* J3 t- D; v/ h2 u
LDA BANK_DATA,X @) Z. V/ N! {9 k
STA $6E; U7 S( ?$ {- r$ _ s0 G) e1 f
LDA $CDB8,X( R1 f4 R! f+ c) g& U0 j
STA $6F, S" T l# z- R) s; L. _* K( [
LDY #$00$ W, a/ u( d1 v2 A9 {' _
LDX #$05
! x7 }" F; R; k LDA $70
, h0 J" ?: ?# B% R' o# p, b; APORT_WRITE:( H9 y8 S8 s3 U: n) l2 X/ \
STA ($6E),Y
6 ^6 W" f' Y8 d& C* e LSR
3 o( H! N( P Z: e3 g& a DEX
% `3 W. g, W) ~7 \; ~ BNE PORT_WRITE; d4 m. R j( q! x
RTS
% n6 q/ [5 u! M& ^3 Z " i1 \9 m' i2 L; l6 U+ E9 q
. B Y0 W+ e5 W: Z z5 B$ m. gBANK_DATA:
, P0 f6 j6 p9 ?( l7 { .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF7 [+ K* ~8 s# b M' r& ^
# u- U4 F) w" l: l1 V% l5 ]1 v4 `
+ S$ \! ?9 R! V1 ~4 O, V7 H- s;[FC][最终任务mapper1转mapper4切页程序]
4 A* A G2 I4 I# W; R. S/ H4 T' E, o .ORG $BFD2 ;初始化跳转% {- Y' c8 c% I
JSR $FFC0
2 Y# E- L5 r* O$ g' s0 d- p3 d) l; p* n8 {
( b, f& v0 I* ]7 c% x# C .ORG $FFC0 ;切页
- A0 t/ C' X8 F7 [% k8 W6 K LDA #$06
# z1 q: {) P/ Q2 M7 r3 q STA $80002 O2 H# u! U# J3 E
LDA #$0E* R: \5 b3 r# e
STA $8001% W& O- n |5 ?8 `6 \$ U+ w1 z
JSR $8000$ }1 @: E4 \( f; q/ n H+ O
RTS 6 @* o# J. g2 t: U
8 Q, K/ l4 r$ p# i: d. R5 X .ORG $8000 ;数据复制, F8 e2 P+ W4 D3 d* u n( m6 s
LDA #$80/ J; ]4 b6 ^5 b8 G4 |+ ]' N. t
STA $A001 ;启用SRAM
: F( Z9 Z/ E1 j3 E) ~' T PHA |5 P# W6 q% U3 K4 f% j5 C
TXA
3 V9 O! G) d: p PHA
+ a U" `( c# { LDX #$00( `3 Q) F$ ^! q/ A M! u
DATACOPY: ;数据复制9 A/ B, ~8 C/ T( a- s0 w. `
LDA $8100,X8 }5 T6 P4 P2 X- ~
STA $7200,X; r: f8 C9 B; f
INX7 y. D. q7 M* t) O( C% B. \, U
CPX #$002 {5 y; M+ |6 t: q! T" e
BNE DATACOPY
( J+ H! l) v5 |$ Z PLA0 a' ~* I: r1 x/ h5 }* C- u
TAX
5 R$ `' r% N- E0 N4 y PLA! w4 ~8 P/ X" H; O
RTS; y8 Y7 v" ^6 u' c. T! @
$ Y% `! r! u' R; Z2 m4 q .ORG $CD9B ;跳转到转换的切页程序( A3 B1 A) e& V3 J
STA $70
6 m5 t3 C" m3 Y: l' \: K JSR $7200
3 I( |+ e( i7 C2 Q3 M W RTS
0 u' \% S$ A- Y- ]* ?3 `! \ ; B4 m0 ~4 D+ {: e1 \
.ORG $7300
$ }/ `$ O7 X! e' h6 [M1_TO_M4: ;切页程序
$ R8 V0 d- R2 e$ u" {+ M CPX #$00
: n+ I: R' C3 c, r6 k5 B" c BEQ REG_SET; s" e+ r# o2 K8 |
CPX #$011 I- u& [; B3 T0 X% ~2 D/ Y
BEQ PPU_BANK_0000
# [ R$ V2 U# I& \ CPX #$020 S3 ?* O+ R7 c: n; R1 k. d5 c0 Q
BEQ PPU_BANK_1000( [9 e7 O8 m4 v/ i- ]" ^- u
CPX #$03
- k0 \" {7 C3 ]; Z, ?8 t, |# ^- D BEQ PRG_BANK
) K. C, M6 Z1 q1 _6 z5 lREG_SET:
6 s4 N1 \) j9 Y4 D9 r+ y0 B STA $A000$ w7 Z2 }7 I4 {, t" h. o
RTS$ I. C, M1 B4 J0 V+ G7 F4 V: f
.ORG $7320
F" v$ v d' `& M, W& aPRG_BANK: ;PRG切页. d. C; x2 t* y7 a
PHA/ J4 ~% E0 O3 y" Y5 J5 Q
LDA #$060 P$ ^5 O, m5 |
STA $8000, K: n7 | A C2 Y
PLA
/ Q! k- j W2 m( j ASL* O. Q1 V* H9 s* T( O8 z7 s' l# p
STA $80018 A( L$ k3 X" a- \5 _/ t" Z
ORA #$01! C- @8 M: X3 a5 C' T: J
PHA7 f- t4 d3 p) W0 [2 b
LDA #$078 W/ y$ }$ ~/ [/ Q7 B
STA $8000
/ I: {8 \$ N, ^ PLA
+ z! O4 l5 x% T6 W STA $8001
# q9 c; |- D9 Z" h& F) v1 m0 k RTS7 F4 I" A- ]) h; |, @3 X" d
.ORG $7340; H( p# Q e9 r5 f2 x2 V7 [6 T4 b
PPU_BANK_0000: ;精灵切页6 y$ f. M. r/ a/ X' {$ I
PHA6 R, r% [- q; I/ Q
ASL+ y: Y6 R. v9 X
ASL ?& K& [7 N" m; e+ V9 s# \6 M. ~1 B
PHA1 s5 T" q% q7 C8 n3 r
LDA #$00
! m0 M) g3 ]0 c- V2 [3 o q, \ STA $8000 T7 k$ q" i, b- ]7 j+ w1 u
PLA
6 y8 W, }2 e) A5 @ STA $8001" s: d- E1 k$ ^' R' ^# ^" Q8 L
ADC #$022 o. L3 A0 Z* S
PHA6 J1 y2 E5 _& p/ D7 M( Z+ \
LDA #$01
/ I) K3 ]2 w7 I$ d) a STA $8000
! ^$ |0 |1 w6 k1 Q0 `! Z PLA7 {* t' O; `7 B- u1 G( J" a
STA $8001/ }) f! @2 j6 R
PLA
- ^3 }( b, J$ n1 }" x y7 b RTS' g& i9 L1 B' Z: @& g% _
% g! A: ^- x) I8 E/ Z0 M
.ORG $7360# Z* p/ f) U- M* N3 @- B
PPU_BANK_1000: ;背景切页5 l5 O; t2 J/ W6 A, }
PHA, C: |" F# L2 u8 J$ Q
ASL* l2 v6 I& E5 B8 L9 \. f/ q7 L- }
ASL
; f$ m9 V8 w9 s0 L PHA
w' {; m3 m. @/ C7 k3 H0 m7 x1 c! m LDA #$02
- R8 `! m! [3 R$ X/ s, m+ ] STA $8000
3 z7 x- H5 S' v0 l PLA
( X' ]9 G: ?, L; c$ P6 L, e STA $8001
4 k; J$ D6 c5 q. _' } ADC #$01
. c+ V# f; \: x$ a7 t; ] PHA
! \2 a4 _9 f5 j3 l' k2 n5 b LDA #$03
( ?3 Q- d8 x* o, N STA $8000
* Q- y; N5 c- A, H/ D8 E PLA
K K* n! e6 Q STA $8001
) h, H: a- L8 e ADC #$017 k) I4 ]1 o7 ?! R9 O
PHA
3 ?* K9 }' V. S/ N4 T! N LDA #$040 }6 n5 d% N L% ]) |
STA $80000 d. Z4 A: \6 C0 G0 s# k. _7 O
PLA
/ k- L& f0 [2 X& y- e8 ] STA $8001, {3 H( M6 V5 h8 |7 S: W
ADC #$01
. E6 u- Y5 }) r! x PHA3 D A m% p/ k% [: i2 V" E
LDA #$054 c% z8 N3 m; ~
STA $80007 Z$ o- U% ]) ?4 w3 n" d0 x
PLA
- ?% o" ~- J* g STA $8001- w2 s) a" @' ~4 P! E4 X4 }
PLA8 g' E( _9 ~" `. B% @3 c( H8 V
RTS
E9 V' e7 X- g i9 f; n5 {
# m, H/ H* g7 r: i1 ?* ]: Y( p# I |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|