|
|
;[FC][最终任务mapper1切页程序]6 d2 y. \* _. H+ M. @
.ORG $CD9B, u3 @( a5 O8 h- p$ g1 o% T h8 R
BANK_START:$ E) G1 f6 w* W, e* P9 f: o
STA $708 {( u/ n" N* d' [8 N) s
TXA
" `. g* s' J8 ?* g5 }, Q ASL
1 H* k: o& }- X4 x TAX/ G- C- I0 |' n
PORT_SET:8 _: L4 q: ?* ]4 q4 g( U
LDA BANK_DATA,X4 D G& ]2 c1 N( @* ^
STA $6E
8 T+ p. m4 C0 {$ e8 s LDA $CDB8,X; L% E1 w1 h/ v- X
STA $6F% A% b/ s$ U$ D$ w( o& g
LDY #$00
/ [9 `" Y8 M3 D3 Q. M: \0 s$ u LDX #$05( F& U. q! G p9 O
LDA $70
; N9 u1 r1 @% U1 D# w1 UPORT_WRITE:
# s( e( k- d0 K' I5 r STA ($6E),Y
0 _/ x( v$ L$ p LSR
2 }& k+ c( M. z7 r' y, e DEX
0 `5 n! a: H/ @! J4 Y% u0 ^4 s BNE PORT_WRITE
8 x, I; O- s) \3 M4 U RTS0 `2 X, u4 j. G6 @$ D% n
! Q# k* X3 B% f$ B
6 F1 Y1 b# D8 {/ v% s3 a1 b+ T( |BANK_DATA:% m/ I5 L- J7 @# N3 L2 H( V# P6 R
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
) s3 {) j8 i" B# F& N - s( _. i4 b# m* T6 `6 e
+ i' b5 e# v1 m& T/ i;[FC][最终任务mapper1转mapper4切页程序]5 p) K6 L5 m+ e
.ORG $BFD2 ;初始化跳转9 _/ V$ L) }$ ~0 U* O+ n+ S
JSR $FFC0
1 B! a4 D7 t' E( [3 s2 m& H+ F0 c8 f. V: v: D
4 C" y ]( n5 b/ {% a .ORG $FFC0 ;切页3 L' V8 f5 ~$ z' o3 s6 L. a6 F0 i
LDA #$06
5 `& @$ A E: u1 T7 E+ P STA $8000
8 c- ?- Y# X/ k4 g4 g LDA #$0E
0 A0 J0 M* d8 H! ^ STA $80010 O8 x" F4 v; o# r
JSR $8000! M( k6 o& J# Z
RTS
0 u3 d+ L8 |8 |0 a+ ?: W
. \) E4 q; R' G+ S .ORG $8000 ;数据复制% M2 I# j4 y3 F8 T. |: A$ y
LDA #$80
* r: }" r; e- Z# S) R) p7 `" ~. Z STA $A001 ;启用SRAM
( l2 q X5 F" @0 P PHA# Y& x/ y# d5 k- K8 X" { z2 X
TXA
7 m w6 _& a/ ^( G: n7 D PHA8 z2 m" y {8 y
LDX #$00
9 P; _) u4 l; q* v3 l( VDATACOPY: ;数据复制
; e3 e( k3 E9 U8 |8 s LDA $8100,X; P" q* m- z: P5 w J
STA $7200,X
: s3 C: T9 i; S! h INX+ D$ [+ E" R+ W+ j5 R( ?+ k
CPX #$00
6 |9 K" i0 w- S- n* d BNE DATACOPY
* b/ y; ?( `; a" u' T/ q6 p1 ~4 H PLA6 q6 ?' y6 B& k4 a: x. L6 n
TAX
% x0 C$ G1 y- j! q4 o, u PLA
4 _# a8 c) v/ ^ RTS
: C- l; D# P. Q8 n: a5 E+ e 4 P( e& _3 b! R# y4 r3 q; B
.ORG $CD9B ;跳转到转换的切页程序
; }8 D5 A; L+ |8 n/ M1 b i STA $70
7 P/ q$ U I, d% x/ b# x JSR $7200
# D" j/ [3 @$ P9 i, R5 }7 ~ RTS9 j" R9 i$ _! s2 ?
: |& u, v4 M! s' L9 g
.ORG $7300
' T X' t7 q& N+ B' KM1_TO_M4: ;切页程序
5 X" C% [7 c9 q+ v; C CPX #$00
! x- p9 \+ t2 H C* u7 H BEQ REG_SET
: ]) _2 {* b1 a7 | CPX #$01
g5 I8 T' @" d: w BEQ PPU_BANK_0000
7 x( |0 a3 V) D) U! D; e6 d CPX #$02: A* a( ^9 H" o2 Z0 p
BEQ PPU_BANK_1000
) D1 y: W3 [ A1 H: K5 w$ k CPX #$03
7 q; v; K0 A2 o' ?# h BEQ PRG_BANK) {3 q8 N0 Z: u1 a
REG_SET:
. G! ?" r& p" O& p0 b: G STA $A000
/ W G: f4 [) p1 \# ^, W8 f: k RTS4 z9 v' T ~/ }1 t: Z5 r# K
.ORG $7320" N" Z, J ^& a F* r1 s
PRG_BANK: ;PRG切页
$ X! n5 c7 y/ l1 Q6 z2 k PHA
5 K0 B3 H" o% M/ e4 y6 z LDA #$06
" X! R |! a2 r; v8 a) { STA $8000
, A# x7 m8 v" x, q2 z4 g# o( V PLA2 ^! y/ a& @# F
ASL
% B; f- F v9 R; x i+ ?6 }0 k STA $8001
0 p# H# k+ y+ F8 Z9 B$ N% q ORA #$01* n* Z* j8 w1 p" m2 ^% A
PHA$ P( X9 i+ a: _5 h
LDA #$077 v a: R- f. F9 B
STA $80000 t, ?% J# n' ^7 @. \
PLA( A' h/ o/ \9 g! Q
STA $8001
$ ?0 u8 F: T) Y( X/ X. A RTS
7 O! `5 j; ?" j. v& H6 z( ]0 E .ORG $7340' X) E% i& L8 U6 r- n5 h
PPU_BANK_0000: ;精灵切页7 h- g+ Z8 c& M/ S+ U
PHA
0 c* |& i# ?9 W7 F ASL
. y. S% I6 q! F+ S4 I* V( Z9 t ASL
4 U, ]% {& w9 E& B5 J PHA4 ^/ o# M5 M6 M2 r' y
LDA #$00+ ]* [ g9 W& J y$ N! q0 P9 I
STA $8000# P1 L0 x4 i* G( F8 V
PLA
5 ?# @5 C3 _* w% @6 [; E STA $8001
# I1 c. j6 i: X& ` ADC #$022 Z$ C2 s5 Y. N% s
PHA' j1 u" U, O5 }: g+ N; p! } u
LDA #$01
6 X2 l4 E/ F" ~2 k J2 N) d STA $80003 @, E3 M2 h) _) J9 z% i- s: J( O
PLA* x+ o1 ]# I( g7 b8 c/ e: s
STA $8001
& V+ t" c1 u" s( e$ z4 T PLA
4 f( t/ z3 r" k2 h, { RTS* o7 o, |! M; |$ `2 d- J% m
4 n7 N9 V7 ]1 X$ b( J, }- m .ORG $7360) w0 k$ L" H7 x- o# z
PPU_BANK_1000: ;背景切页6 r9 L' Q5 G5 X7 K; o9 Y' y" a3 L
PHA
* [" D) ~. L0 ` ASL
3 l( @/ F4 c/ |1 h/ u ASL
L" M0 K `9 P2 s4 L8 u- K4 O PHA; U$ D1 x p7 @7 X7 U
LDA #$021 H1 J: g9 g4 a3 x) {( h% J
STA $80002 y5 V' X" Y- A8 |( _) A3 v
PLA. t' o# c3 m6 Q# G; |& f
STA $8001* S$ v( c$ R: i3 ~6 k
ADC #$01
3 d7 Q4 r6 P, { PHA5 F( N' D( B% h- L3 x' t
LDA #$03
, R. q' Y ~. ~& c8 O STA $8000
. v. g1 }* d y/ A8 N PLA
4 w1 S/ g+ }4 D' V STA $8001
T* q3 w* ~: |0 l/ G6 I- J& s ADC #$010 _" W( i9 v! W* U2 k
PHA- f5 P# `& ?0 v, m2 W
LDA #$04
" n9 g% `8 w$ \% }! Y- z STA $8000
# I' c7 }2 r2 o7 r! c+ L- D PLA" \, @8 Y! S; }
STA $8001% I, A* B8 n+ r/ p7 V
ADC #$01
. b, ^1 j5 T7 l, r( }3 R/ F PHA3 H& F" R$ }/ c) ^. L
LDA #$059 C8 t; V+ D; Z' @0 \! h
STA $80009 Q$ ]! p6 g# ]- a3 |
PLA
; e2 ~- a- D F: n2 V# I STA $80015 @1 g( D; q/ Y, t3 O) _
PLA9 l% o3 P/ L9 s( h7 }( p: G; @
RTS% y. a3 `0 h* x9 k: p) ?3 g
7 j- G/ U D( s; ` k1 b6 B |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|