|
;[FC][最终任务mapper1切页程序]
0 S' c0 l& K! s; [" k, M, N7 Z7 Y .ORG $CD9B2 s% f; y$ W& B4 |8 X; g' p: c
BANK_START:6 E" y6 }3 C5 G4 O/ I! X
STA $70
, b# W: ] M- V7 p% H6 b TXA
; b/ t! v0 _* A) x" x ASL+ J( E8 T5 x& R
TAX
# Q2 L3 K* x0 u# A T- }2 nPORT_SET:: x7 k% e" d% ]2 V# d* W0 o; g3 l c
LDA BANK_DATA,X
* N% X" _% n, G" d; H STA $6E& m. r, P! q/ e* Z& i# J
LDA $CDB8,X
8 Q6 j7 K. r. {. o8 g% G# I STA $6F
! P N. b$ q9 v. U7 d# Y; d LDY #$00
2 v# Z7 J$ t3 @ LDX #$055 p3 u7 X9 D9 I; i
LDA $70( S/ { p9 _" I+ d, P) ^8 c) A
PORT_WRITE:
1 j0 d0 e' C# {/ N( o: A STA ($6E),Y
8 @' I3 y! @5 Z' p! _/ m LSR
: _+ f# `6 ?$ d DEX
- P3 a5 j$ E* c. l BNE PORT_WRITE3 W/ J# D- U( m s* w' ~
RTS
! E" y5 t+ o4 f! G
7 e5 o, C* J3 d( }! _4 n1 O# I + j) T1 I4 T4 |6 {6 V2 ?
BANK_DATA:
$ A) M, H2 o$ y4 ]3 D0 o1 ]9 U .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF0 m2 N; y* Y5 l. w9 {
% X1 \+ Y$ \) a5 j' \
$ m6 J. F# S6 \; i4 D+ H2 \# R0 m;[FC][最终任务mapper1转mapper4切页程序]! z y* c1 X6 N7 _) N; e: L
.ORG $BFD2 ;初始化跳转
+ H% C! N' W1 C* o% I0 ` JSR $FFC0
# a2 ~1 e3 D# C$ I5 q- v- v
' J2 d3 T3 E4 _. m [
j$ p" V0 C; {, }1 B1 ?% \ .ORG $FFC0 ;切页/ a2 P, H$ |0 Q9 J4 _
LDA #$06
/ v/ S) r' ?6 M STA $8000- h' l f9 Q$ s5 h U
LDA #$0E$ _) z6 B$ `/ ?! S' t; A2 ?
STA $8001; G2 A7 e3 g2 W2 v
JSR $8000# D4 U. `7 M2 f: T8 e+ t( m: \
RTS 9 l6 o% z4 k* H7 I- O1 q
& ]. N9 Q3 h- T$ r% t, J
.ORG $8000 ;数据复制3 t( [5 ]0 y' b; K
LDA #$80
" x {! k3 R* _ STA $A001 ;启用SRAM* W1 E5 Q4 H' B( P! v
PHA% r# N% c# ?9 w" q
TXA
; ] s$ k" P4 R( ? PHA1 U3 h" M! p9 ]
LDX #$00
5 c4 S& ?0 l. Q' U% HDATACOPY: ;数据复制
T/ ?- P( R8 {# M LDA $8100,X
# Z4 W" s+ s# D3 p3 D( j STA $7200,X5 ^' F5 _) ?9 c+ f6 t0 f
INX
g& H! p# F$ G/ G1 g9 K' d CPX #$00$ C. M% j8 B7 `" q4 S
BNE DATACOPY
7 g% A$ y& L2 j% I r3 c PLA7 F% M. u# G+ I% J. d F ]
TAX0 o k9 V3 g l' @6 V% M- Y
PLA8 K, `+ \6 ^% d
RTS' b6 ^7 [ Y3 s7 S* G
. Q* ]0 `2 d4 u+ o c .ORG $CD9B ;跳转到转换的切页程序2 ?' X; o) s5 M, N% y, V& u+ l5 K
STA $70
# p3 s: q/ t' Y3 _9 ] JSR $72001 v9 e/ S8 m5 E
RTS
: I5 c$ ?" T+ g/ e4 _7 |# K 3 C% n* Q( V- [
.ORG $7300
+ W% y6 A0 p/ m7 A2 {M1_TO_M4: ;切页程序
# D% a* n* @7 g1 k CPX #$00( l5 j3 W5 I* u; b7 D
BEQ REG_SET9 l/ a6 ~2 V; G8 i( O |
CPX #$01' \- C& t# L+ _ i5 ?
BEQ PPU_BANK_0000 A) J5 T# I6 T# D& m
CPX #$02' L) f9 a- l- o9 F4 S
BEQ PPU_BANK_1000
2 \8 I1 v* e* d! } CPX #$03" {1 j9 B8 M+ h; }" j
BEQ PRG_BANK
. x4 j; D! A: }6 c9 ~/ lREG_SET:1 e9 Z$ {: b- P2 w
STA $A0001 N5 P% T! L6 |4 i# \6 G3 ~
RTS% Y7 z* L7 l) b u- g" e+ Q4 u
.ORG $73205 j& d# z9 ?3 R
PRG_BANK: ;PRG切页
6 d6 F" a# |5 q3 J- P, X# z: O! M3 a PHA
4 S* \ z# U; D; f6 E LDA #$06
+ \' A6 x: |7 R, [) J STA $8000' P3 k0 i1 e; L9 w2 N: T
PLA3 H. C7 a6 w0 J
ASL" [. R+ n4 e. V& ]& a) c
STA $8001& f Y# J# E; U. n8 J* Q6 h D9 b7 B
ORA #$01/ u9 d3 w' u9 G# i
PHA$ V( z" U% I9 w7 z0 o& L C
LDA #$075 U h9 i0 b8 M( D8 j- ^) X
STA $8000
4 e, ?/ A+ [- v8 A PLA
$ j& f! A4 o+ J6 z STA $8001 w1 n8 e7 |, l! B, I- A
RTS8 \! q0 N/ U8 w* I0 g% a2 n
.ORG $7340, k& s4 b! A& } A ^. N* u
PPU_BANK_0000: ;精灵切页 a2 {7 a7 I m9 Q/ M( r! B4 K4 @
PHA
c Y% U |3 T' p6 y ASL
" _# W, q7 t6 o- ]5 Y4 D+ W) w ASL
. m3 c6 z# m. Y8 B7 r0 I6 T! _ PHA
T; X0 F0 M3 P8 y: \. O' z2 N* f$ h3 J LDA #$00) e" g8 `6 Q$ q
STA $8000 V% w" I; L# L6 m* a* W
PLA
( R" L: i) z* t4 o5 J% t STA $80018 P9 g& N2 t- b9 g9 \9 i6 {! h4 N
ADC #$023 `! a U' S0 M0 ]& P# z
PHA
7 z7 t n6 X# @ LDA #$01
4 O% S0 Y7 j. u( ~2 K STA $8000
/ f5 P- H+ {. p3 r/ L PLA" R7 y, j( q m! u
STA $8001
) j" C6 v4 R! J$ ^ PLA
3 e3 w- @: i3 B) S! M2 O) Q RTS) `& ^% E7 i) M G: ~# J
- d- u+ b0 I) Z# ^, i4 ]/ Y .ORG $73604 P( K; r( Y2 c0 n# c4 V
PPU_BANK_1000: ;背景切页$ z O/ q$ L# V7 t; ?
PHA6 X7 h0 Q/ Y0 I! i
ASL7 f/ h& |9 l' _7 z+ J3 t3 P
ASL
; L% \% E9 E) \+ X PHA
- l* l' V% Q- f( X% q8 o/ n1 L' X LDA #$02
# Q' m* B0 d* [) ] STA $8000/ @, {% l0 f7 E# w2 P) h3 s
PLA
) C- x! M; ]! h9 L Q STA $8001 Z- S- k d+ D. N% L! ?
ADC #$01
$ H* F4 L9 | c3 e PHA7 S& p1 Z2 @2 A y) j
LDA #$03
) C3 h2 N0 g7 t" C3 E5 A STA $8000
- m5 T6 l% `" R2 l9 w3 D PLA: o6 a M% s: } o8 p. k4 {
STA $80010 y, r5 N, o% n2 n1 l
ADC #$019 ]( R' V2 B! \& f6 e
PHA0 V7 t9 `+ c5 K% G' V6 N
LDA #$04
# D, W. E% b0 r1 t STA $8000
4 X0 _6 r9 G3 ^% q PLA0 g, b6 J- o- P2 k' l( G9 e! }
STA $8001
6 q% f( h9 x9 y$ n m7 O. s ADC #$01
' {( i& s' u. y- ?$ { PHA
) U, Q, C) Z0 Y LDA #$05
3 |7 B) E3 N6 b& k3 _ X STA $8000
) H7 a( |+ b+ v# A! A PLA, r8 o) K _% ?9 D
STA $8001
; E @$ ^) W* f# p$ j% J: l PLA) I0 ?* }( k1 K, \" P2 B3 a8 n, m, ^
RTS4 R% l* V2 \8 F3 K: \7 K" D
6 u+ b1 K; f5 R1 V7 L3 D |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|