|
|
;[FC][最终任务mapper1切页程序]
/ r( Z4 W( V2 O! I+ H .ORG $CD9B
4 z* m4 E X, g; d8 M2 PBANK_START:! q0 J w: T. K% o! \: C( E6 E
STA $70& l4 a9 H* \" e$ Z: d9 i* G/ @# [$ T
TXA
' i6 C2 p9 T3 v% z1 Y# c6 ` ASL6 Z1 [1 {; t! X- `: c' w+ H
TAX* f& g# N8 j& N6 Y
PORT_SET:
$ z2 O% \. f' w: S. S8 a: \. u LDA BANK_DATA,X
) g9 P6 N1 u2 b STA $6E
; J. b% T" w9 y$ ~; f LDA $CDB8,X' H, E4 h- r$ |/ R- U6 w( M# g
STA $6F
% t4 i6 B2 g$ Y; Y/ c$ P2 ? LDY #$00; _" a$ _( B) e0 w% I2 _: G
LDX #$05
' j5 L/ D( I8 k9 n- i9 F$ L3 T LDA $70" g6 b3 E& F7 q, [* ^" \2 ^% E
PORT_WRITE:
, o* ^, Q ]1 o1 i6 G) k STA ($6E),Y
) ^( G5 P& g& P B LSR
& p. \$ A- C4 R' R DEX) \5 [, _3 }4 V* K: V
BNE PORT_WRITE' Y/ U$ Y9 x9 J0 f0 v3 X
RTS
A& R1 p/ x5 ?! e* X# X # S7 Z, l7 _+ [4 R/ M
/ f. ?$ x- k$ W0 k/ W$ i' kBANK_DATA:/ s% ]# \) W9 k% \0 h
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF8 H& |% d; h5 o4 ?$ y
% B, d; ~" p' w# c) H( y3 ] : I \. L& H2 ~9 g; W, L, c
;[FC][最终任务mapper1转mapper4切页程序]7 j5 L z* }9 t5 H/ k1 _" Q
.ORG $BFD2 ;初始化跳转
+ l& `& m3 V/ {6 F* S JSR $FFC00 \/ \ H1 i L6 U# r5 O
' V; v) d( ~; T0 K4 I4 e4 o+ t: v4 @( j; T2 h
.ORG $FFC0 ;切页
7 O( @7 @" G9 d) C" t LDA #$06
* D9 f* \8 ]/ N9 ~& j STA $8000* D$ d" D( u% b2 e
LDA #$0E
; c% a" u- v/ U STA $8001
6 w p: o3 J$ N* [8 I9 Y) m, z JSR $8000
/ ^$ e4 l# Z& O i+ S5 x RTS + h7 v W" W- a4 p5 J
/ C6 D) T7 S# N7 g) _2 k7 l5 a4 y
.ORG $8000 ;数据复制! k7 b0 m- {9 o# ?1 v' ^7 |
LDA #$80
# K. \) P0 h2 t# o7 H STA $A001 ;启用SRAM- V8 B4 O( [- H r+ }$ _' _
PHA
5 U* q( ?! D7 c" o# g. K TXA" J. c ~/ K1 s. c: k5 Y- @2 M8 p
PHA
$ z6 c9 }) F5 n- B LDX #$00
& E' \% @) E6 z- H" S2 I# WDATACOPY: ;数据复制
0 x2 z3 B2 X' Q LDA $8100,X' r" Y3 N8 k+ n. K/ j2 Y4 g9 p' k9 R
STA $7200,X1 y7 e2 Q( I% w
INX
\: a/ l7 e% B/ a1 Y, S CPX #$000 d% t/ C6 t" l' e. k
BNE DATACOPY. `7 }5 \: h6 a4 d$ ]6 h, h0 f
PLA, O5 Y! Z4 N! [: N; C
TAX
0 m- A8 D# ^2 v n% N8 I( d# f PLA
3 |; U) T: T, l7 S1 M$ M) o* b RTS
4 R7 s' v, H6 J4 J 9 B6 O7 a& V+ _: T
.ORG $CD9B ;跳转到转换的切页程序 x3 ^; i y0 }! q \0 Q+ S4 v* o
STA $70
! A! N/ B9 n( h/ b6 K6 h JSR $7200
3 Y; M& z9 x) s' W# t4 i1 K RTS% ^% g) ~: q: x( v
0 F K5 R/ n( Y% a# z .ORG $7300* t" w5 M, [& \9 d
M1_TO_M4: ;切页程序
/ e( |6 L* p* M- q+ Y9 X) x: I f CPX #$00
" c& W" X+ O3 d2 ? BEQ REG_SET' P; I9 z$ e! J# j2 K
CPX #$01
; X5 c+ m. h6 @- ^ BEQ PPU_BANK_0000
8 Q( Z$ Q; K# l i CPX #$02
' I2 i. L7 ]% M" t BEQ PPU_BANK_10007 c% i, m" z3 A% o: o$ i
CPX #$03
% \- u2 o9 }; [+ b BEQ PRG_BANK
$ m' C1 |& w% o' p p% LREG_SET:% e$ H. M3 O& [, _) l. P
STA $A0008 v8 i5 m- a8 O/ U, z
RTS: l8 |! c- A( m# ~, r
.ORG $7320$ v9 q$ x% v/ q1 W& L6 I0 p
PRG_BANK: ;PRG切页+ W3 ?: |1 N h$ I% w# Q) A
PHA$ |1 y! R' d( k
LDA #$06
, u9 q% ?; U+ }, ], N STA $8000
: R U) m* T: X PLA
1 L3 m0 l6 f: W# F& b ASL4 w# `+ E( @+ Y
STA $8001; C* m( K& j9 [6 E2 z) v
ORA #$018 k# G( b1 Y5 y
PHA
0 G! h" s* V; V, K8 p) e3 ? LDA #$07' t: m$ M0 Y, K, i: q1 T
STA $8000
' i& v; R. Z( R6 K PLA0 S9 M6 U0 c/ C5 D% u2 r
STA $8001( Y! K$ E1 q7 ~6 N$ Y+ l
RTS
5 x/ x2 D# |, F' i .ORG $73406 Q3 j. n8 a$ ]6 x" `% v( D
PPU_BANK_0000: ;精灵切页2 @2 l' m+ D, A) j- b% d/ }8 \
PHA
# L; r# o) r+ B" r- j! t1 e ASL# l: I$ ~) J# K
ASL
, u+ d2 \& \9 P, @ PHA
2 ]& g' b' z d5 Y9 d2 A: B8 e3 z LDA #$00
' ^6 [" g0 n1 l# t1 u STA $8000/ U$ ^2 }! w4 N5 W( d
PLA: i" V- | [/ c A
STA $8001
z3 n! x: R* O3 y: h ADC #$023 P5 X: B Y0 e f* q; B n
PHA; F; p& g* |3 C! C/ ]
LDA #$01
" m9 ?) g. h, `2 g+ t2 u2 O7 j STA $8000
6 S1 d, z' ^" j( { PLA* O; ^3 i+ m/ g% q5 q6 F
STA $8001( H. O# G1 Q$ g# e5 Z) L
PLA# [0 B& g' h1 K0 \
RTS
, w- D2 Y+ p; x/ t
5 S+ D1 e6 W a+ t6 o! w/ @5 i .ORG $7360
" P+ \: p# L" z, I! C9 lPPU_BANK_1000: ;背景切页
. ~ H, |1 j! g$ A) M7 B PHA( Q# [( \$ F P
ASL
/ b i! Z# A: X7 s2 P- y) T+ Y, N ASL
6 z+ @6 W# ^; J7 D& u3 M9 ? PHA
. f- O; l; X6 e4 s; K# x LDA #$02! K [ D g, A3 r8 h
STA $8000
$ s1 A% y" I. s: b9 c! ?" j7 V PLA
0 D+ x7 y/ q# V* A) B STA $8001
' W M" G6 F O+ r3 J; n ADC #$01
; e! o7 A' `9 _& @ PHA
4 d2 A" ]5 c5 S, P. b LDA #$034 L0 T; G* N; M6 z
STA $8000
3 h0 E# q5 n' N! l" [; l- h0 z PLA
8 E! ]/ d3 r% ~0 C1 v& h7 H2 n STA $8001
/ E8 X" k4 i# T5 ~2 ~ ADC #$01" E4 ~1 J. u& K5 r# l
PHA
( X1 S5 p. I! B7 }5 ] LDA #$04
6 Q5 m, q' _2 ~3 Q8 Y% e STA $80003 ^/ K8 y1 R" ^1 J. i' \
PLA
( m6 j( C3 G: G, F STA $80017 w9 }" L$ a: ^2 U0 V' J
ADC #$013 c$ [% w9 Z5 w* @: T; [
PHA0 f: y' F" g# U# u/ ?
LDA #$05: p6 b) s( A( _8 A$ y g
STA $80003 h% e' D1 k' c8 i
PLA }4 E) B, V2 U/ s* h! m
STA $8001
4 e4 D j5 u; ~ PLA
4 M1 X% a7 ]- N& m& f8 G RTS
! Y. o& T. c, H- L, C R9 B! R" [/ ~
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|