|
|
;[FC][最终任务mapper1切页程序]/ v0 B; `' ]1 N% S H
.ORG $CD9B! \0 |( |7 `2 H# ~
BANK_START:9 G( }" |& M0 e/ k3 j. w9 M) ^! j
STA $70
& r% ]8 s: a% e0 v+ l" m8 u3 I TXA0 ^- `1 ^6 p7 s4 Q/ }' [
ASL. Q( j- s8 m( J
TAX
/ ^( t- j5 @; R. P% ^# j# B1 [PORT_SET:" S% `5 a1 k1 n0 v2 o
LDA BANK_DATA,X
- m5 D- `9 y" O9 v( {, t* Z STA $6E
7 Q4 l+ j3 v$ |+ j6 V LDA $CDB8,X
6 t5 ?8 S( M! f0 A8 A STA $6F
9 F9 q$ T" y" e& d0 p0 T5 t LDY #$00; \7 o+ z, E. @1 q2 D8 i8 v
LDX #$05' L- M' |6 o" z* I1 F3 m
LDA $701 j9 K4 U5 o6 S: f
PORT_WRITE:
f; @0 r7 y/ { STA ($6E),Y) l G" ~5 A. W9 b8 s/ e- a
LSR" @8 q! ^. |. f, w/ z( F
DEX
) O1 @# q0 s$ P. \! g BNE PORT_WRITE6 C3 Q e T/ [5 j5 ?
RTS
# r- t3 K( d u: Z y! U$ F ( J' p& T9 l% U+ }' n0 I8 o0 G
$ b1 G. }: P8 G; f2 }. M% p- m8 X
BANK_DATA:
9 X( p7 u; t3 ?3 R% n .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF( S6 T i! \8 M
: S$ G9 h! R1 W
! n9 m; W0 q) R. ]$ w, K9 B
;[FC][最终任务mapper1转mapper4切页程序]
" p; w2 r, S$ y" d+ m8 L2 d, } .ORG $BFD2 ;初始化跳转' ], C/ O- f: |. y8 Q0 _
JSR $FFC0
8 E# h5 E5 ^6 O
% f2 _) D+ ~. K7 p6 o* X3 d. g) v. {9 Z6 ?' \
.ORG $FFC0 ;切页6 L3 d+ J; L; J, [
LDA #$06
$ w8 f p- p) G+ i STA $8000
7 c# z ^( Z# ?7 h& W- x LDA #$0E0 W4 t& }9 P& I3 E; P' K
STA $8001
9 K& L% E5 O7 U) }/ T JSR $8000
/ |3 T$ f3 j( R4 N: ]2 J2 I; | RTS
0 i7 T* b# F0 V+ p3 K7 o
. d. _* m+ Y% b. O% ~% e1 o; b2 v .ORG $8000 ;数据复制
0 k0 P/ |! V! y2 n8 t( I1 @ LDA #$80
' T' H( O6 X# o' ~9 ~5 P; g# f STA $A001 ;启用SRAM+ t# H- D9 E. x! d: i5 i
PHA4 [+ z6 u' I; e* U9 g! h) x
TXA
2 o/ f6 A: [" t2 s, [ PHA
" c; t7 g. _+ t# D3 R+ _: U* ` LDX #$00
% i, J3 C2 f6 S; y+ p1 ADATACOPY: ;数据复制; J" O T3 J- a! @- H; w. M
LDA $8100,X6 m B) Q k) y: j/ K1 D
STA $7200,X
, o% u# T+ j. ]3 u, x INX- s4 Y$ g# p0 ^6 C0 D& W
CPX #$00& j$ \% B. ~1 s
BNE DATACOPY! ]; A- o9 Q. c' g7 @
PLA
A" ^- o# N t; N/ l8 h. q2 g) M TAX% r6 q0 J8 x7 a4 K1 b
PLA
1 t( K+ k7 Q7 d7 h5 }1 T RTS
: t% d( n2 [+ {5 ?" u . F0 _! D1 \' S' G
.ORG $CD9B ;跳转到转换的切页程序4 H. Q2 B( d4 H- S
STA $706 M$ \* t6 W/ C- a+ L6 n- j
JSR $7200
1 `! d, k# a W RTS7 n R3 B2 M$ ?+ Z6 _
' H$ t# T4 f. [7 Z .ORG $7300
- u ~3 G9 }0 A( M7 XM1_TO_M4: ;切页程序
( X# @/ x ?( q* r! e CPX #$00
# M. _; z+ t4 R3 K BEQ REG_SET1 V* k/ W( B0 U5 E& K0 y8 Z* F! }
CPX #$01+ g1 j$ i$ C* v& P3 C) [" ]8 `+ C( ^/ O
BEQ PPU_BANK_0000
6 }- l6 _3 L3 a1 ]4 J8 j3 Z7 D s/ [7 K CPX #$025 J! [/ P* t0 S: i9 h* V5 y+ i: D
BEQ PPU_BANK_1000
# V9 r. J$ q# h ~# M" X CPX #$03
- x! P1 b: M' |. I3 X- ` BEQ PRG_BANK4 K# O) a4 Z' _& Z) R; b M5 F
REG_SET:
" W5 u' A+ M% W& {; N, j" [# f STA $A000
5 }# M$ {$ v% ?6 z. W, K$ j& n RTS3 ~1 }! H$ y2 z) i
.ORG $7320
2 L' g% n X) K! T# V/ qPRG_BANK: ;PRG切页
, Z* k6 ~3 L6 _2 y1 y: o3 u" q, W PHA, q5 D X% u) T2 h
LDA #$06
$ d+ a' x7 ? I2 C% X1 k STA $8000$ m( J x& \ G5 Q6 R3 E" [
PLA
' `+ p0 k5 y# ^2 U8 P ASL
4 s8 _, z: \& o" y8 _3 _% o STA $8001
2 V R4 c* n T! v$ a: [ ORA #$01
' J+ w, t6 [3 V _ PHA" R- n- A1 M% a# y: H
LDA #$07
( e8 T/ B" e0 S% N7 M3 v9 O% B STA $8000
, C+ w! G- Y- L5 i: ^2 c6 ` PLA: y6 [7 ]1 p/ R
STA $8001
( [8 }/ J+ `6 b' Q RTS& ]4 b& z4 `: Y+ {7 u P* `
.ORG $73407 r- b0 P, Q7 p
PPU_BANK_0000: ;精灵切页. M8 R' l. c- l% D7 M
PHA
5 W4 m% v' J; z& w/ F) A ASL
$ a) H; ^% b" @! \) ^/ D ASL' Z, @" G) I h; R C1 R
PHA
6 d5 ]: F: O4 ^& a1 { LDA #$00
2 Y1 r! Q9 a5 L0 s' x- x a STA $8000
* i, k: m( m3 t PLA1 l9 ? l" X8 {6 `6 O: u
STA $8001' K- Q! T* x1 X" b
ADC #$022 b3 T8 E/ h- K" d7 G5 l r
PHA, r1 {4 ]7 B5 F S* ~0 E
LDA #$01
8 [) l0 k9 }2 X. t! `6 y STA $8000$ i+ {. C4 G8 f3 I6 s
PLA0 c3 ]: `. n8 |- V0 V+ a2 p
STA $8001$ i S& [, I$ P- m# w0 m- [4 i
PLA
& e# F/ K8 |: R3 ]1 v RTS
8 }: v& R- p3 u5 Y3 Z! A- n+ z
* o O* W; ~# ^9 q5 ? H! a/ J1 D .ORG $7360! w2 A) m# i" ` q( u) O7 D* b
PPU_BANK_1000: ;背景切页0 ?! B/ N; u8 c& v8 Z+ E
PHA
4 F; ^. Z0 F4 g! H! C ASL
/ W& J2 a, u q+ @6 o0 H ASL
& j6 L) k4 g8 k2 E7 \* V* S1 m PHA
! B- H9 |3 f% I) f LDA #$02( z; G% g! b, V7 O
STA $80007 ~( ^& E, z# f; |& k! Z- J, y
PLA
% a6 V. w S P8 O STA $80017 r, x$ Z7 o% F: w% q9 a
ADC #$01# {, m3 |6 D* }
PHA
5 S: i( u) H: Q9 B* d LDA #$03
, ]( Z8 ~7 D" _6 U. U$ ?4 k STA $80003 E2 r! o5 j8 A7 a
PLA
r1 m2 y6 I) g2 B. A/ G STA $8001; q' Q. o# P7 n9 Z" n5 [' t
ADC #$01( ?! n) Y% ?2 Q8 O3 }
PHA
; B9 n. D0 t& {7 w LDA #$04$ l! q* d: p" ?9 ^' s$ W" I- E
STA $80003 d- y' u. Q- P0 o( f0 s
PLA& B6 a* J8 ]6 Z& k4 ~6 |2 b" O/ g
STA $80015 @4 k9 j8 }% n& P5 [
ADC #$01" ~" a, a3 `1 A8 C! P1 S# N
PHA. V; q" R2 }& m- X) [# g+ ]
LDA #$05/ d4 o) I2 j" \- h; q0 x9 }
STA $8000* X4 N; P! ?0 b9 C' V
PLA
) x) G: l5 t5 Z* B# u STA $80010 ~" |* q: K* {# E
PLA0 ]& K( w* O3 ]. I. X/ N5 i* q
RTS( X0 }0 w5 O' c
# O5 M' h: @5 c D" j
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|