|
;[FC][最终任务mapper1切页程序]+ t" E7 _9 X5 ~0 r$ ?. Q! W8 o
.ORG $CD9B
% ]% }# L5 v# Y* O m+ h; \- i, MBANK_START:
: r; t" i- G+ w* E2 o) x STA $70
/ m, Q, ~2 i; Z/ M TXA
' C1 E, s9 m1 f* _0 M7 Z, o ASL
C5 J: w: h( o( u TAX" u6 |4 ~; @" Z2 l# B2 a. J/ f
PORT_SET:2 D1 I8 q$ W1 {% ] \2 ?
LDA BANK_DATA,X
6 T; ~) K! H1 u. Q0 |$ r5 ` STA $6E: v! l9 A5 ]* v! G
LDA $CDB8,X7 X4 F8 g" D3 p( q; h- R! y% D. ?
STA $6F
$ |4 t; d& G& y LDY #$00
- U U2 f8 j# U* i3 K! B LDX #$05# Y! C, E' n/ S G& f0 G9 c" u
LDA $70
N6 @- e, Z5 JPORT_WRITE:
z% V" r5 k" @ STA ($6E),Y
0 n$ m* k7 D; Y, W2 ~5 W% {+ e2 O LSR
4 h1 m, P6 h/ o DEX
+ N: W% l" C! {4 Y& r( w6 s9 t. q5 Z BNE PORT_WRITE
: m0 n9 d1 m& x9 `, x* ]/ W: ^ RTS) d. u0 Y. l7 P# d1 _* m- ~: y% X
0 V9 n; H' X0 A
8 m: d, K M( c2 v- ABANK_DATA:
1 V; v9 P) p0 g, \ .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
6 @( z9 z, H8 O3 h7 n 1 s7 w$ G% @8 v& M/ H
5 O+ k, S2 i8 k/ v;[FC][最终任务mapper1转mapper4切页程序]
: Z6 t/ X3 k0 v" [% V .ORG $BFD2 ;初始化跳转
6 M- x; U- P( v" z5 a7 W, j' d5 d JSR $FFC02 } E/ k! w4 L- u% U
. m6 e& k8 O! j( M9 U* e
4 s' F5 v. a. N% D. l* g
.ORG $FFC0 ;切页
: y5 z M# E6 V# o4 m- `& }1 ? LDA #$06# d5 j3 S6 l, g4 B1 ^! a
STA $80007 Z& ~! J) F' B
LDA #$0E
' F; Q% N6 B% D: C# Y6 ]1 W, ` STA $8001
; D+ c$ k6 h! L2 s) w8 ~ JSR $8000 }9 ^6 J" [" l. M
RTS
( `% I9 p6 Y5 P& v
% |1 P. d3 f3 N; ~8 N8 d .ORG $8000 ;数据复制
w+ f; s- A2 J" I8 Q6 ~ LDA #$80
2 F! }1 H! Q$ g, D$ l" m STA $A001 ;启用SRAM
( t) R1 s( a0 @! |; y: a. N s PHA- R+ w% H& J$ U
TXA5 U) Q5 u# m6 K" n2 Y
PHA
8 x P' R0 y+ L4 c& E3 [8 Y LDX #$00( N& @+ O' p$ w
DATACOPY: ;数据复制
" C. C/ \. y1 `7 C5 P. \& _ LDA $8100,X& Q+ O1 r! I+ P& ]6 p
STA $7200,X
8 R. I0 F/ l; \6 q) \. T( S INX
4 q6 w2 x; r( j- q4 u& r CPX #$00. k3 a4 D5 `7 G
BNE DATACOPY) `: h; }$ H- P5 I- x X7 M8 ^! z
PLA
& a0 N& w# y5 v, ^1 D TAX8 R; l4 W7 p; o6 q! Z
PLA5 S$ W/ Z' Q8 A- p! J8 W
RTS8 q8 m+ m# {7 I' \0 p. f( ?
, q& c8 t; d# f. e) a
.ORG $CD9B ;跳转到转换的切页程序
! ~ R; l' a! \9 X STA $70
6 X4 N7 T+ E9 c2 d9 x9 j2 P JSR $72005 x# V$ |2 \5 L3 E$ z1 E; v! ~
RTS
( c) E, U' J' [3 B; g' c' W
$ K1 Q+ B7 X, D4 a3 ?, @/ c .ORG $7300
5 g' V7 Z4 M. V: u2 eM1_TO_M4: ;切页程序
! ~/ v( } G5 e: N" F4 P8 I CPX #$00
8 S* m/ U5 ~' s) j BEQ REG_SET
( l4 A7 g! e+ N) ~' ? CPX #$01& n, w% b ~8 ]5 N0 }& Y- z
BEQ PPU_BANK_0000
8 D# G7 \9 g1 D0 N CPX #$02
; f3 ?" E, y! i t& _; A BEQ PPU_BANK_10004 B, y' o7 Y# h- Y0 p& `& Y( a6 D
CPX #$03
: h! f2 w: O. O3 M. w BEQ PRG_BANK/ G4 u0 O2 n% L
REG_SET:
9 ~3 l5 T l6 q7 T, K( z STA $A000! Z! F6 \# I+ Z( v/ F; g; R1 M
RTS
( Z& i G1 g' E# v .ORG $7320( g0 Q( Z5 k( A( l1 y* [% Y: g
PRG_BANK: ;PRG切页
: Z% V/ C# E; E* N) O PHA
( s) b% Q$ O/ G1 ]6 U LDA #$06
- Q. _3 z9 j' z' P" N7 X- a STA $8000* Z1 x2 N7 m0 `, ~2 {
PLA
! c0 _* j5 E. G& m7 h ASL
2 \' [# `4 I, g# h. R1 l STA $80019 z, T$ W7 m7 K6 G
ORA #$01
0 o0 [0 [9 E. g; p. Y% N PHA0 [$ e, F5 L. [& l* x
LDA #$07; @4 E* u" ~: v V0 u
STA $8000
0 D8 F Y" u) ` PLA3 o/ K# x5 q# a: w
STA $8001
' [0 u; v6 }0 `' H RTS& |2 Z: S7 a2 |1 y' S* T
.ORG $7340
& s% l9 h4 _" |0 oPPU_BANK_0000: ;精灵切页
+ m3 D% a- @8 `- Y$ q; H PHA
6 a0 ?# t+ t4 K; l) p' a ASL
2 p4 V) S2 h0 ^ ASL2 A! W2 M5 e# j& j
PHA
0 q) { o* P3 j! U2 P0 v LDA #$00
3 u2 v) i' c8 L8 Y8 ` STA $8000
2 E) Y* ]" D) o/ ] PLA% L+ l0 I/ I) N! F* [
STA $8001
l+ T' L9 M) P. e ADC #$025 E2 w2 {8 K/ B0 s2 C; A# l
PHA
5 E; J3 \! x, s% q# C LDA #$01
4 I- e d) {$ w STA $80001 y( K! V5 I5 U# Y
PLA* s8 ]( U: s3 B0 a+ Z! A( s
STA $8001
) J5 w" P1 I3 w PLA$ p: \8 J- A" ]& S/ r8 k
RTS
; Y M" `( x1 L; e1 M
& A9 M. M! B/ m" I' |: w' n8 ^ .ORG $7360) B) o& K( S: T4 T3 w
PPU_BANK_1000: ;背景切页5 K& j1 v) V9 l% M% |
PHA' n% }3 S5 N. w- v
ASL- P% X0 q% ^2 F3 I7 k
ASL" n; n" B) A# _5 z' Y1 w0 |
PHA& s2 |/ E# E- K8 f8 \& c
LDA #$02! T! G6 W* W$ n2 U% Q* t2 {* W
STA $8000
! L9 k) V9 H5 W5 F2 A PLA
' P4 x3 a6 Y6 y* U: B* q STA $8001
4 V/ l( E/ R- E5 G ADC #$01
& `9 @: n: s. n u3 G o PHA
0 s; Q+ `! ]# C* B- r5 _9 c LDA #$030 ^, x6 r; M ]* U5 J
STA $8000
' q( Y7 k; v+ Q" `, N PLA4 H# b& Q* Q/ c- K' x9 b$ y
STA $80011 u# }4 ]4 g* X* i! A
ADC #$011 G2 P) f* C, n$ @( b5 Y
PHA
$ U0 g6 V% h* B LDA #$048 \6 z0 N% I; |7 P& S
STA $80004 @2 y) A! P7 F7 L
PLA
. W3 G9 J1 x P5 R% l STA $80018 D4 }* Y4 L% m) T, ~1 a$ N
ADC #$01
' `6 B/ x; I( ^5 S: p' U6 S PHA3 Y: J$ G8 S t+ E
LDA #$05% [) M3 x, w9 E4 E
STA $8000
5 e3 f* E# y! t8 l0 F PLA
! x7 n% B" c! i. N) M$ {; @ STA $8001
! p* x) J; J: A# ] PLA! U( M$ Q$ s1 u! ?
RTS
' Q8 ~- @" n4 `4 p6 |8 h9 z! B2 p. Y8 u6 \' s
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|