|
|
;[FC][最终任务mapper1切页程序]. i' j4 S, l! W3 V
.ORG $CD9B- s5 e" N2 ~% X
BANK_START:
( v3 }1 {, [- _+ a8 j% d& T0 i STA $70
# ?5 U0 q' T8 O7 m* J! I TXA
/ K+ W) D2 r Y3 f, A+ u ASL9 Q2 m# V3 S/ P
TAX4 X( @6 o! c3 P2 i% a
PORT_SET:! u2 H5 B7 e% n; C% i; Q; p
LDA BANK_DATA,X
* u b8 I6 M4 j/ { \7 R STA $6E
# K1 P6 @) q+ a: O& Y5 s LDA $CDB8,X
' h6 D- E9 G! S4 [ STA $6F
# k; h: \( p& P6 @ LDY #$00* v0 ^2 N$ Q1 {$ U+ [
LDX #$05
0 h! q8 N4 @( S8 W( C. m LDA $70
2 A7 [, Z$ L5 R# X# Y5 i9 TPORT_WRITE:
) P; n. T7 g( b+ C3 F STA ($6E),Y9 ]# I6 i1 L: U3 L- e; y
LSR* W0 y& P& R3 k+ C! ^% x. z
DEX
8 X, Z9 i3 D# K1 Q( s& w/ G$ } BNE PORT_WRITE' m9 C( D4 M+ W# K
RTS
5 d5 O: X! I0 L" v4 g4 }
: {; W3 l ^5 s3 s5 a$ n8 d
# a) g, f3 O7 W9 x& _5 rBANK_DATA:1 Q, i0 g& e) D c3 a7 W
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
u5 Q+ X4 p" g; P- C, G
5 {7 p9 P6 s! l5 F ! _8 |' H) X+ Q( V
;[FC][最终任务mapper1转mapper4切页程序]; k+ ]- f" j6 J' o4 C. L- z3 c% a/ Z
.ORG $BFD2 ;初始化跳转- f c5 |5 d2 V# ~, B$ g
JSR $FFC0
+ i' `! ] y O$ ~1 g) o
+ r" x+ ?$ v8 {3 C3 u6 S
. N1 |0 `* y$ i .ORG $FFC0 ;切页
' X: ?# r- z+ Q; K z5 P LDA #$06% p3 x9 v0 ?+ E, L/ I& \
STA $8000/ U, r3 a$ p6 Y3 \; N) C
LDA #$0E; F% H; q4 A0 t( _3 C# j' q4 C3 q
STA $8001
& ~# O1 @( H4 ~; I2 K/ I0 @* L" o& i JSR $8000
0 F+ \& d7 ]8 E6 M" l" q4 S7 e; e RTS ' \; m! L! R; N
5 A' ~* q% @+ n5 ^6 _ .ORG $8000 ;数据复制) [5 N9 N0 l$ [% k7 x& U# X [9 D
LDA #$80, `+ N1 p; w# _
STA $A001 ;启用SRAM9 C- T- y& u2 X! ~) T% o
PHA& W+ ?% N9 v3 N3 k: o1 m
TXA1 M; ~+ A1 @" o9 c! B3 ^
PHA
" ?4 v0 D4 {+ _, ]$ h; W1 C% V LDX #$00
1 x( ^$ P& {# s1 o' R2 sDATACOPY: ;数据复制2 S) Z: T6 N8 k6 @
LDA $8100,X3 e5 w+ n P* l
STA $7200,X7 F$ V' r! c& a' V+ ?' K7 t7 W+ C
INX
5 V2 C- f! W" u8 h3 L( i CPX #$00
' ^* ^) |: N L3 Z8 y" h x6 ^ BNE DATACOPY
8 Z$ z( F3 M4 a$ V" z7 l+ A7 U J PLA( b) i) {- Y6 D7 B0 ~
TAX
+ e4 L' A/ B6 }# R' e PLA) | r" B0 o7 D
RTS
* W& M E# Q' D: T4 t a7 \% W& r+ w1 G
; G/ U: D6 i! I( i .ORG $CD9B ;跳转到转换的切页程序- N) ]( E. S, K4 E8 Y5 V; o3 n
STA $70
) {2 a9 L/ x5 o JSR $72008 }0 A, e& }7 ?7 R
RTS5 ~& B% \2 A& d$ z# Q% P
% X& Z: ~" q% H: }! o2 K .ORG $7300
/ t3 I1 `5 H/ ^6 bM1_TO_M4: ;切页程序3 T+ k' x3 D5 f! r$ R7 J* M; N
CPX #$00& y; b6 o- G, n% {. I' M
BEQ REG_SET
% c, ?" W% G. i6 l7 G4 J CPX #$01
. z+ ]8 v* J# ^" y3 X BEQ PPU_BANK_0000
% E+ R1 O2 a% l7 K. o CPX #$02' B' W, n% d' C& u$ E
BEQ PPU_BANK_10009 R) n% o0 {2 F. s
CPX #$038 d$ b" H2 @$ v8 y& F3 \
BEQ PRG_BANK5 F6 o+ `) w/ `/ O0 b* r
REG_SET:
6 E/ d8 Z! ~# w2 J% U- c- ` STA $A000
3 r0 u' \ [. o! ] B RTS6 O( u2 R* p2 u5 i- K4 A+ D8 T
.ORG $7320
. c% t, ?+ t) H8 i5 |2 yPRG_BANK: ;PRG切页7 D$ ~1 o! T) f! J5 W3 | w/ g
PHA8 q f' v$ B# ]1 p5 t8 Y" z$ T* w: i
LDA #$06
/ x' u8 E8 @4 i0 \3 ?2 R( b STA $8000
* Y o; S- I, ^7 M3 B C ^6 Y PLA. A% M% i6 s, A5 J4 R
ASL
; B* F: d- s4 x" Q* I STA $80015 ~, m0 m) }1 |# S9 G8 I
ORA #$01( i3 P# Y) ~8 h7 I: ?4 p
PHA' Y9 L8 Y6 @$ B& E' N
LDA #$07 ~" f% p- w/ ~3 ?
STA $8000
) U" r# k2 J Q. X PLA
" ?4 b' \5 x* f0 a0 m/ f8 x STA $8001# O$ [* ^6 w5 f* X' c0 d; j/ B
RTS
" Y' [: Q, L$ C# u .ORG $7340
D: V5 e- ]! e2 l, e6 OPPU_BANK_0000: ;精灵切页, C8 B1 M: ?- }) ^( x% J1 ?
PHA4 F. F O0 A9 b! o. | r
ASL0 y4 ]8 _2 U9 v( q
ASL
) I9 f8 M2 N& T' K PHA; @) ]8 d4 H% l
LDA #$000 w$ o; y6 b* t/ n$ J: K) r5 D
STA $80007 a) \5 L, P3 [( l/ j0 P
PLA
2 \$ T9 u: b Z: O6 [- E& k9 B; | STA $8001
t# B% V. v/ _- Z0 Q0 s1 R9 w ADC #$02' j) b/ [9 \9 }2 N/ C, w
PHA
! ]' I; ? w- l# s1 m3 A LDA #$013 a& d, t9 ?3 B7 O. q1 @% _4 q' j
STA $8000
8 Z* k( P. p9 A, K PLA
4 A( i# @( B- O6 l STA $8001( i4 D7 C0 k( f4 \9 U
PLA
1 y# B) W1 b: O9 n! U RTS
- E+ d1 v- U- X0 R - ^& Y( m2 G. G4 b" r
.ORG $7360
; [, p% ~6 v: q: l- R/ I. tPPU_BANK_1000: ;背景切页
+ V6 w8 d, h- ]" i5 Q PHA4 w/ d* k$ }* k0 U; h/ F% K
ASL
2 |" h! V* a5 @7 r ASL# J8 D) _' F, C2 @# y' A
PHA: ]% N' W1 ?! t* l: {0 T+ F2 c4 a
LDA #$02' W* U9 ?, W3 Q' D5 k# h+ ]' y
STA $8000
9 A V& U. O. I9 a$ m' E5 o' ? PLA3 O! N& ~$ C( J
STA $8001
4 ^& T h1 k) y! U8 X: T ADC #$01
$ F3 J! V. \" q# v8 | PHA# I% I! N: D* E ]9 O# ?( P
LDA #$031 K0 y: O# q" s6 C* d( k
STA $8000
6 m) o* J' x3 S+ g; n% P- S+ x PLA e% ^6 @' G1 |5 b
STA $8001
6 w2 h7 c$ V! n+ ]& r ADC #$01% a c9 f) ]5 ]
PHA
: \, v6 `) N) Y; b. l3 y LDA #$04 e) d4 S3 v/ t
STA $8000+ S# g+ E( r) }8 V* U# [
PLA
% V u1 P5 h: h% N6 Y0 r. Y( ^+ a8 e STA $8001
- s/ b5 P+ o0 Y* N3 N$ |: V ADC #$01) T: D# P6 D1 _0 T# d( w& U2 R4 f
PHA
# T% Q' L* m7 j8 @ LDA #$05
5 P! I% F9 h! g' B1 R# s STA $8000- A8 r% ~1 m, C2 N
PLA3 l y; w* Z6 u! m- p( _$ @
STA $8001
! m7 K8 [" d0 j: U% I% B3 ~ PLA) R4 a3 r4 V/ {" s' J
RTS
) N K$ U1 ]$ b; I6 n8 j D( E% {' e; ~$ P* J6 S
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|