|
|
;[FC][最终任务mapper1切页程序]
% {/ d) `/ u# P! d4 S. g2 R .ORG $CD9B
0 \- C+ [; h2 W* F# q. s% r7 @BANK_START:9 v* |: O; A/ [3 K- D$ G7 P& \
STA $70
X8 L8 ]3 v, E) M2 F# }3 z TXA# k3 }7 R6 ~' y) K
ASL
* _, ~& x: S- N. @# p/ A y TAX9 i' d6 B. j, Y* p: c, \ [$ t* i
PORT_SET:0 s% \+ v v' \) n4 M" A2 F0 b
LDA BANK_DATA,X. G. K4 Z2 N1 I' ?+ O; A
STA $6E
4 u& P! E0 |3 G2 _9 N1 J LDA $CDB8,X& n7 `6 T2 w0 B; {7 z. k
STA $6F
+ G6 |' J+ |+ [% R6 L' g+ Y LDY #$00
0 T, M6 h& l9 W LDX #$05* q L+ t9 d8 o! E6 x
LDA $70
7 y$ A# x4 O2 j) f1 C" TPORT_WRITE:
' S5 n4 q! v2 a5 f; V) i STA ($6E),Y; X0 G/ k- P. d; i6 i( V
LSR9 x6 |2 S7 A4 Q1 D% Q$ v0 a$ A
DEX
, ?- P3 ~# _7 r/ c5 L& q BNE PORT_WRITE
& D& `$ A4 J5 d' p! q! i RTS8 S7 @- C$ l" J) Q$ q
: V' w4 Y6 ^/ ^7 I) B% P & P: ^8 w# t! N" H+ j: ^' F
BANK_DATA:
9 O6 h/ L/ `0 P: T9 W: C$ \7 E$ t! O5 \ .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
2 }* l$ l2 n2 F # V5 ]4 r1 y# C; H3 O
6 a1 l I; Z2 E p2 J$ i;[FC][最终任务mapper1转mapper4切页程序]
9 ~' P& o8 S* l6 M* m! A6 a* s: u/ ~ .ORG $BFD2 ;初始化跳转
% M# }" o( R& B b- ^ F JSR $FFC0
. j, e% g% @. b; w
: y5 F C: u4 C3 [! `0 x
' j9 \' E; j& M7 I( k: F3 j; y .ORG $FFC0 ;切页3 y: X+ g9 P2 k! n- C& n4 Y
LDA #$06
7 Z: G# g- o, u; Q0 B4 x4 U STA $8000; W+ c* w' W- e0 c2 |5 l4 W' Y. p
LDA #$0E& o+ m: k# X* E [
STA $8001
+ k) M; b7 B$ ^! Y4 E( e( M3 r JSR $8000
& L5 c/ j- a _. ^. K RTS
9 a8 {; Z3 l4 {) q3 m& }( W
. P! f! u& c$ h, R% _( B: [ .ORG $8000 ;数据复制
+ i: h1 a7 z) T5 @9 U9 ^! i LDA #$80* w7 b( P$ z H- p6 ]/ f; w, j
STA $A001 ;启用SRAM' J3 ^+ I4 G( j
PHA
6 X- X- z0 [ l" o( S4 z @ TXA
6 i4 G- W/ Z; ^* N PHA
& ?- Y: I# W* W) Q3 } LDX #$00
4 y- m' @; X' O1 v" }$ s( x' r1 E4 zDATACOPY: ;数据复制
`7 A) ^6 A' o& }1 ~ LDA $8100,X7 V A$ U- `/ e @2 V
STA $7200,X
: V( z J* j3 p. c INX; P4 T7 L; D& f `
CPX #$00
1 o; L2 M" n% G3 u! ^ BNE DATACOPY: P( S5 W( F6 b
PLA
, Z" O# B6 w3 y Z TAX
9 ~( m& M3 _+ k4 ?( n PLA
) d6 k; c2 f) o# O7 i# W RTS
2 N0 `9 G$ s9 q4 [# u
: W* T2 B& N2 ?' `. y .ORG $CD9B ;跳转到转换的切页程序
1 m7 N( T" B! `" y1 h STA $70
: X9 F/ P4 v, S& F' ~( ` Q" p JSR $7200
- W3 A5 n' l* B2 i- I& v RTS
8 q8 M3 a9 D# }+ g. D& Y ' J0 e& d! z/ A* V7 i
.ORG $7300
: `( q( `: U7 L- C% N( l6 [M1_TO_M4: ;切页程序
2 L6 e' P3 i1 t0 `- t) q J$ B CPX #$008 e" R* |; e0 ?/ d/ X
BEQ REG_SET6 \2 O& y# B6 R: p
CPX #$01
8 b5 d4 f Z& ]8 T- I; e/ ] BEQ PPU_BANK_0000/ g. c _, P/ h3 u& f" G/ ~# E
CPX #$02: c) O# B% ?; N5 T: @. s; I' M
BEQ PPU_BANK_1000% w0 `! b z2 ^# y1 {+ ^
CPX #$03' o4 Q( y0 B, w4 w' @, d" E" G( A) R9 j
BEQ PRG_BANK
, N6 @1 Q6 I; O1 J" T6 M, E" q6 M. zREG_SET:
. n0 f$ t; Z- T STA $A0009 Y' Y( X& f. f
RTS
- U5 R( I6 Y* @ .ORG $7320: D2 `7 @4 e* c8 n+ {4 n# q
PRG_BANK: ;PRG切页
2 R" H) j4 r: G2 Y- i! c" { PHA& J T+ _( b* [! H6 S
LDA #$069 ^ p! ]1 p+ a y$ U
STA $8000( s$ x$ H9 ]- Q% N
PLA
% E+ r. ^5 M! {* U* }" k+ O9 e& J ASL
& O+ G' y7 n% _( {9 D+ K STA $80015 b0 Y. `/ N( {$ P
ORA #$01
4 I* y J: \2 w8 X2 m+ {; f2 C PHA3 D9 J* Y1 N8 y7 a
LDA #$07
2 t9 ?# X6 N2 A; ]- r STA $8000
7 q8 X+ s) x3 i- x0 } ? PLA
; r* C1 `+ {5 n! |- @: c3 D9 q- m STA $8001, ?0 |) Y- C4 h9 _- F" W
RTS
) A0 O7 N2 g6 {5 _ .ORG $7340
8 A# O; z; L" c" DPPU_BANK_0000: ;精灵切页, q- H. Q$ O7 l+ O: C# N
PHA& Y7 r+ C; D# v) Z# G
ASL
3 m" G6 X! I. h! L& k O ASL
/ G& I1 V3 L5 Y8 X: z5 C' u PHA- `2 V$ Y1 h7 n
LDA #$001 L& u/ }5 q$ p
STA $8000% M9 H/ y6 R2 z; [
PLA
7 X% J/ U: K- @9 p, t0 A STA $8001/ h4 N. J0 ] X
ADC #$02
( e/ g: d- S7 [ PHA: V$ H8 g2 a; l. V7 x
LDA #$01
5 R( q9 f1 [9 W9 v& Z; k STA $8000% w# n- [6 k w3 w4 j) Y2 e3 m
PLA
9 I2 i; W3 T! Q* |& M+ g STA $8001: G* O# n/ }+ _1 A' \& Z
PLA
8 R! ^+ w# G! z- r" j% h/ O RTS
; L, E* A2 f, q2 f( F
4 n3 C4 p' U5 }$ M- t$ n# \ .ORG $7360
+ D; D/ R0 \, \6 VPPU_BANK_1000: ;背景切页
! R. c5 R' P, R PHA* C$ k3 l3 ` S& ?4 i- p+ k
ASL! j3 B7 q6 {+ Z" w& `$ n
ASL
! y( T4 V! o+ W& Z# @6 w PHA1 X6 T9 j4 \9 e! x b
LDA #$02. ]! G% n9 o$ Z& O$ T; [
STA $8000
e- y' e: e& @3 Q- k; v& f PLA
6 U( [' F$ w' q, P+ ]) a STA $8001" M# n) W* b; B4 r5 S" d
ADC #$01
. J, j# d: T6 ]" H) L PHA
/ p% Z& D2 ~$ ]3 p. [9 s LDA #$03
' P: I t# M9 c% @* i. H1 g STA $8000
- o5 M/ |+ q7 G9 u: n& W PLA
1 G4 b% y* p- L9 @, V% Z5 Y STA $8001
% e: y. j# `7 E' i) j ADC #$01
: L' e2 ^ Q# W# D PHA! y" q0 {' y3 J) b# {. J
LDA #$04
- h4 ?# b( r9 e$ J$ @. R& q8 Z+ m# C5 r STA $8000. p4 J& T$ Z' V* R" Y' e
PLA
4 Q2 p6 V7 M- y8 I STA $8001
5 P' }7 g/ B9 b: D3 X/ u ADC #$01
9 ~9 Z1 R# e/ c6 e; D& ]! x B* S# h PHA
# V/ `1 s9 Y# E) o* T LDA #$05 r& W% J$ m2 S& K. B8 t V
STA $8000
x1 N0 H. e I& ]- D( r {! `6 G PLA
0 v* q m$ R# U( X2 Y STA $80017 f( H, P; x# Q- Q% @
PLA$ A8 K7 v1 I; m; y
RTS6 u- N: M8 c/ o6 h5 }
6 E1 w& X6 K& Y& X
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|