|
|
;[FC][最终任务mapper1切页程序]
3 f& b" f& V0 I- ` .ORG $CD9B$ N! G( ]$ B& I5 D( u8 h" M
BANK_START:* w) e5 n6 Z+ i' V
STA $70
5 N# J( Y( h' [& @ TXA
- I2 L3 Y$ z [4 t; F$ r ASL
8 @. e+ N/ O; Z6 |# \ TAX( C! K4 c F0 U. T9 D( z0 q5 a
PORT_SET:3 ?3 @8 a5 a6 K9 `% ?
LDA BANK_DATA,X
( y. ^6 ]2 ^* [; V STA $6E
. A( H) z+ Z) k0 d6 M LDA $CDB8,X5 {0 [, ~9 N E3 _2 p8 m# @
STA $6F
4 j. {+ I0 X% S9 X- W/ H, n LDY #$00$ k6 h" u R2 n$ H
LDX #$05
% w( p5 {. D" W/ t* V6 E4 ? LDA $70
: ~. P; k: y: ~9 oPORT_WRITE:3 o1 w0 t0 l$ J1 m+ I! r( m+ ^ N
STA ($6E),Y1 u, ^0 Y: U9 @# c0 s
LSR Z: A; |8 e- E+ A8 E4 p8 Y
DEX( P; I/ t: p' Z# I7 }; @
BNE PORT_WRITE
J; n9 T, i1 x, q) G RTS; s9 p) Q D5 L
0 y, H& Q( K2 e
) T5 ~/ E7 S0 s' }BANK_DATA:# s q L: F: I. M6 W7 L, K
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF) Y/ l+ W; x0 n1 V9 z/ Y2 S9 V
8 n5 F$ A# J5 |" F+ c 8 C) T) J# P5 j* i( b4 S# A
;[FC][最终任务mapper1转mapper4切页程序]
+ k- ^' i, Q* R6 q) S6 D: O .ORG $BFD2 ;初始化跳转
`! e8 @5 F4 N- u5 T, H* I! z) ] JSR $FFC08 M% E% z% H" O; Y- v
3 E, T6 u" o3 |; Y& \( m; E( w/ U6 n- ?7 J7 R
.ORG $FFC0 ;切页2 N3 b3 t6 m- T5 I" [/ `
LDA #$063 B1 n0 [% n" k6 V$ |- {$ N
STA $8000
: f1 T, A* i: I) M+ V1 @3 g- E LDA #$0E9 j6 w0 q: z4 L, P
STA $8001
& ^# x4 D u$ d JSR $8000 x, ?6 C& m' X2 k" d; u0 ?
RTS
8 a3 w+ x1 ~6 l" R + P9 N1 b* x: Q! |' }1 N3 c; R
.ORG $8000 ;数据复制
2 p* u% V2 M& R, {5 B4 Z% \ LDA #$80 \" C5 m4 L6 y$ D# {
STA $A001 ;启用SRAM: }3 D" ]' y, }* v
PHA! [6 f/ K3 R: ^. H
TXA
H% H7 v% Q% W* G* }2 ~, A9 u PHA2 ~5 z7 x# U }7 Z/ e( w
LDX #$00$ K k$ \; @# d- Y" X: n- f
DATACOPY: ;数据复制
1 b/ ^1 _' t0 L: ?+ _- ^ LDA $8100,X0 R- Q3 f) v& j7 R' Y
STA $7200,X( ?& d& K; A, r( W/ _8 s
INX
& g; p& l$ x/ b7 b) O6 u" j$ r/ d& S CPX #$00
0 p1 o9 Q- r! d. K& w. v8 g# C BNE DATACOPY
5 i, s' o5 K' b2 z) C- B0 Z PLA0 ?1 D1 B) E8 Q# W
TAX
! }7 a8 a3 r! [* C+ q- K" U9 X PLA
! N- n+ p2 r! A RTS2 ]; Q# h4 p' v$ A
9 s* e3 u5 C+ K: L# Z7 \% z0 m .ORG $CD9B ;跳转到转换的切页程序
7 f( g, S1 B) L3 k STA $70/ y% S) A! Q( p- n/ j
JSR $7200# z9 G3 p% O% D/ y5 V% ?, P# V% `
RTS
/ r5 {( u9 d& S$ }
5 |3 e9 W6 W9 H$ z3 h! |" ` .ORG $7300
/ Q8 [! a- S& W7 k: pM1_TO_M4: ;切页程序! [# X1 L- L9 r# |# C
CPX #$00 T& V2 B0 n+ X/ I4 e0 D
BEQ REG_SET
+ m4 Q/ U3 o2 g9 N3 P CPX #$01
7 R0 v, J, v( a BEQ PPU_BANK_0000
2 D# T2 y' N J: E, A CPX #$02
A2 {0 g+ d6 k* M7 O+ { BEQ PPU_BANK_10004 |' O" V6 ~1 |& }5 F# Q+ N2 F
CPX #$03
: Q* e8 E. A1 s. N4 j BEQ PRG_BANK
6 N) H. Y( u+ i. X+ t3 KREG_SET:
& ]4 i* i5 q2 b1 `) t! q* ? STA $A0005 \1 }+ q' ~' z. v3 x
RTS
: B, k8 H3 ~3 _ .ORG $7320
- F- k( D( _) W) A5 z6 }PRG_BANK: ;PRG切页
3 H0 i/ _4 x0 [9 v7 p PHA2 h2 @( J& o' q) N' U8 y k6 @8 r
LDA #$064 ^- ^9 A( G# m# \
STA $8000
" x( }# S% l( k$ T PLA
# r6 W M( Q* T5 |: T2 d ASL
& K# h+ Q) ~' j9 r4 ], U d STA $8001& j% x4 i3 X$ A& X: Y/ V" [
ORA #$016 f# v2 a9 P2 `5 J; U& I5 a+ [
PHA8 c$ F; S% q: `8 Q1 ^
LDA #$07
; [. B5 B0 Q- L STA $80000 Y7 f; N7 ~5 K4 v
PLA
$ S2 e+ H9 E7 s- ` STA $8001
: b5 M) |- B, M) A6 q# X! E) C RTS
, [: d& M6 y9 W3 Q Q .ORG $73404 x, T" a% o8 P% P+ R6 i ~0 [
PPU_BANK_0000: ;精灵切页1 m- e( j" s1 t' m' s: E& {! K
PHA" E% R, q( ^# G+ K$ B9 Q
ASL
" t; `+ c9 O9 ?/ v2 f+ f( m ASL
" L- F: x- y" Q6 i PHA! q4 D/ p( z1 ~! { E9 ~- T
LDA #$00
$ L- E. S% W f' C+ v7 B" \" _0 L STA $8000' T& K% y' ^- E7 P
PLA
- e; I: A8 u7 v, J STA $8001) m, ^; X2 X! F+ z, {$ m
ADC #$02
# k6 M1 K& d0 g% y0 n. Y PHA" I$ l9 T" ^9 _' b
LDA #$01: n* f' m& c0 q/ }& _
STA $8000
6 G' z1 q* u/ Q PLA% p0 x0 D7 H: ~
STA $8001# M# S, T4 ^; \ v9 H: S- G8 R
PLA
7 p V6 y8 A, a9 U! \2 | RTS+ s9 R6 T0 l! o' q5 c
' v s# z! k, R0 J+ x! z .ORG $7360, w. Y2 G4 s! d( z
PPU_BANK_1000: ;背景切页
+ N6 i- J# G4 c" H PHA W. W( O1 B# W: W* s$ s4 S! v( [
ASL
, \ `& ]' h& q* f$ ] ASL
: `9 S/ K% _3 H5 ]$ u PHA- N- T2 @4 J+ |1 s
LDA #$02( b- \$ }$ Y. _0 r2 V
STA $8000
: j i1 }9 l7 X9 L$ n5 l9 S4 n PLA
4 d4 \; ?# I2 P- o STA $8001
" ~4 ?' t8 k2 ~ _; R" G ADC #$01
! F9 W/ C8 w$ Q) g" _; c6 n3 ^ PHA
' C* G ], w2 M6 }7 X8 D# T6 u LDA #$03
' \( F2 h3 g( @! U& [' y STA $8000& U, a$ T! v7 u3 f0 u! B
PLA
: [# R& x5 U P6 Q$ L! E0 D( z3 o STA $8001
5 ?: U& _1 \. s# a. B. P ADC #$01
- }3 o0 p* o4 j" k0 r3 D$ h' D PHA8 C. l0 J0 N: w( V* x2 \- j
LDA #$04) v6 z7 O+ U3 D7 E
STA $8000
2 M, z0 a) ]4 K* j8 o2 r PLA
6 w, [; {7 r a3 r- D STA $8001) P; s' ]9 K8 I( Y3 r
ADC #$01
2 @: K2 f- |0 s8 b$ v2 y) y+ @; v PHA
& ^! p" x! s& t* t1 |5 T2 _ LDA #$05
# Y7 X( J$ q3 [6 Y6 q STA $8000
' o6 n& u4 r3 p3 k- D PLA4 y5 T$ E3 L# e8 K
STA $80019 U8 y0 m+ Z! Z3 q/ q
PLA
" ~/ j# C+ U, s* F( z6 Y RTS
! ?( I- G ]) d6 U D+ G; @" i
" \8 G- Y# b9 c& Z( T8 A |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|