|
|
;[FC][最终任务mapper1切页程序]
& V% B- P4 D. X: ~ h0 c .ORG $CD9B
) E( M7 L$ w v& n' WBANK_START:
- ]# a5 y! N& b: G1 ^8 ] STA $70
- G( I& j# k. q! P' M% L7 W5 ~/ y TXA
! C' h# f* @9 _9 R; b ASL+ M% e' I; Q6 W* l* N+ y$ h1 x; m
TAX! n7 F) w1 n; R& B1 J( L
PORT_SET:5 p) p Q* \* V: j2 }
LDA BANK_DATA,X
7 e: i, @ }* ]# Y7 G/ J STA $6E+ v$ q! t$ ]5 S! D
LDA $CDB8,X' w, c4 Y/ b @5 U7 b. E
STA $6F% n' N5 M; r/ a
LDY #$00. Z0 ^" n! M/ g, A
LDX #$05
( E9 F8 f& W4 E& [ LDA $709 a( N7 {5 z. y, m7 }( f& n; ^* }" l
PORT_WRITE:
0 P+ ~% C5 L! ^' ]1 E STA ($6E),Y8 N3 j! q7 G& g# m! v% Q
LSR, Z0 D) ]/ f5 D2 a$ W! y
DEX. `5 W' g, K3 w$ Y$ @1 Y
BNE PORT_WRITE9 k1 p' `& F9 t- w8 | v+ R) z- ~' d
RTS
* \8 u0 S! l7 _6 w0 H, T 3 I" T' J+ \) `, c2 P- S/ ~
8 G& q2 {8 q6 ^! @6 B
BANK_DATA:$ Z$ k$ ^0 O" H8 c! f
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
5 D# s% W' A1 ]$ ~
8 }" H( M7 o! N, V
t' `( K+ l: h;[FC][最终任务mapper1转mapper4切页程序]$ y9 ?* m8 W. K$ c) F
.ORG $BFD2 ;初始化跳转: f7 s9 G" j1 L
JSR $FFC0' W- |# J3 u8 j5 B7 B, y
" N) ~7 N U( @; H. V2 e" x
( F. A, C& J* l' |* w( m .ORG $FFC0 ;切页
( Y* M7 y8 n$ D$ e5 E4 X LDA #$060 V/ G8 V/ L4 ^9 l( ]
STA $8000
0 c4 `0 w* [; b LDA #$0E
; e: a! Y! A z# S; F STA $80019 _0 ]( b0 r( W8 Q- U" Y& G
JSR $80002 G. c& Q7 m6 Y! i5 ] z: O
RTS & f( w" o" E$ [+ w% p
/ Q' t P6 e5 _: H8 G, s$ C5 \ .ORG $8000 ;数据复制! Z f' |& a# m- q& ~4 b
LDA #$80
w, l+ a L8 }( O' g+ z STA $A001 ;启用SRAM; c/ _4 i% s- `% I
PHA- \! q8 z+ B! s1 H
TXA
- j3 h: W, s+ M _ PHA3 `0 \5 q" G' |9 K2 T/ \5 ~
LDX #$00
! p7 d1 H) l6 E8 a G; ^& u# K. ZDATACOPY: ;数据复制) }" Z; ]* N9 z* V/ q8 r2 c7 m4 @
LDA $8100,X0 y, u4 L7 g; U5 a* M4 g- I& F
STA $7200,X
0 L9 y+ b+ Z. s INX
, r' [! Z1 B& p6 m CPX #$00
% @! A5 c4 x& m' h" d" i: P/ x# p BNE DATACOPY
4 O6 c$ i3 n/ [/ K. ^7 S' Y5 h0 o PLA
1 m* s3 ^4 D0 Q h TAX3 R$ J8 w. p% x# N$ k) O6 z
PLA
6 v0 g0 w# W! [0 U! R# K0 j# H$ ~ RTS
* d8 L! H1 ~( F, i6 N9 ?1 S : q4 H7 M* c0 G
.ORG $CD9B ;跳转到转换的切页程序% ^, n( z4 r* S' Q# b( H
STA $70
6 O: z$ r7 u0 U' Z, p: q- X$ C JSR $7200
5 X! i' V) R' f% E' U$ y RTS
$ W8 E8 F! `$ N2 a ( T, |3 U( g$ n% x9 |
.ORG $7300
I8 s1 }" p A7 M. j+ B: tM1_TO_M4: ;切页程序
% d6 K4 F# H: J, w; m9 G CPX #$00
5 B$ W% _1 o+ z* g BEQ REG_SET' F4 d4 h- d/ B) M _$ X) z
CPX #$01
" I0 B( G0 \1 h. {2 g& F* Y& K3 @2 |8 p BEQ PPU_BANK_0000& \: p3 q7 \4 S2 o+ ~* l
CPX #$02) D) R- p3 {% a3 A& V0 |8 b
BEQ PPU_BANK_1000, K, R: H2 |) q5 h9 ] m; d0 U
CPX #$03
/ x8 M; h R3 ~+ i! y, v% [ W. j BEQ PRG_BANK
# p, \. _* j Q" @( E: tREG_SET:. b: t( W2 y/ x, q* M# g/ s G
STA $A0001 B9 |% G, u) b% G; w- i9 D0 ?
RTS1 o) e W) X2 v
.ORG $7320( e: S8 G% U' s+ v) t% l& m9 q
PRG_BANK: ;PRG切页- _1 m; d6 n* N
PHA4 t# w* p# c8 e r# a0 i+ Y: L
LDA #$06
: _7 Q; ^0 f) o$ C0 o# h. M7 | STA $8000" u* M4 I* p7 _- h& y& b
PLA1 Q4 P9 y3 m3 S" v0 t4 Z
ASL8 p) N3 D3 T/ U0 H4 v5 c1 l) V
STA $8001, M+ U! [, \5 e* X. g1 c8 l0 e
ORA #$01
3 D: I4 f+ X$ w; M% P* ?2 U PHA
- t. N8 g$ a% q2 w5 U LDA #$07
. F; k# u4 T/ A/ \- c STA $8000( x0 A6 t7 t0 i1 C0 q, g
PLA
4 N* i- S3 c4 ?' C STA $80012 {+ o( M0 G% o; y, z
RTS
7 _) }% Z+ G6 o/ [ .ORG $7340
4 H# D7 R2 Z% G+ ~$ GPPU_BANK_0000: ;精灵切页
& N3 f7 }# n2 g2 s, ~% {( a( C6 }' p PHA8 ^- x: A+ w! e
ASL
3 ]6 S3 p# p* b! t6 l0 \4 p ASL L' N7 C" R, ~* `1 U
PHA r) {0 c' N5 j! Q
LDA #$00
7 ~, Y, A: \- o4 f$ _/ y STA $8000% V: c- i5 m* G! u0 H/ X
PLA n% _' R: C+ z0 Q( [7 e" E+ o, V7 f' ?
STA $80019 J: R6 E) J2 _7 m
ADC #$02
9 R8 u, g$ o1 N PHA
7 [5 ?8 ~) q3 K4 m) h LDA #$01
/ D u6 g( \. T, G" r STA $8000' g6 q. m* Y2 j7 V, }
PLA$ r; i0 Y- `5 h( M/ b0 D
STA $80011 w& D8 h* ^/ f0 M/ ~
PLA
* x- a% u& i. v! ]/ x RTS: _# k8 ] w9 V, z! G' E% a
& J4 E s4 u0 U7 z
.ORG $7360
8 D: {1 @+ D, {. WPPU_BANK_1000: ;背景切页 Y5 Z- C) c* F& [
PHA' w p2 A' C3 L1 O6 H$ H7 }& p: @6 H
ASL
3 N( |# |; i2 \, C ASL
4 v1 L& f+ g$ r3 [ PHA4 C+ c+ b7 \2 f; A4 [
LDA #$02
" \- r; r! s. R8 e STA $8000
3 t+ I: Y, ~1 t/ l: Z# V& o PLA3 |! T/ d& h) L8 l: X. c
STA $8001( x5 k }0 E; S" D9 U
ADC #$01
; Y4 {7 z$ c. t1 W PHA7 K! t$ u; w3 l) ?
LDA #$03' S4 s: ]$ {/ K/ u: A* q9 e7 O
STA $8000
7 g" X: V5 I0 h7 U PLA5 n7 k( a" M2 T. U4 a5 m( E
STA $80014 J& \" I5 J' \1 C, o
ADC #$01* x2 n: C' _( E8 k- M+ j7 q% c ~
PHA/ H5 @5 P$ O' {8 B( c' o9 @
LDA #$04, r, f, ~- x! w% m6 R, s, D' T
STA $8000
V+ H* ?) `* F, C' G PLA4 b, x# @; _4 ?# |. O1 ?
STA $8001
; Y6 R$ ? |4 |2 Z4 n- T9 q' [, g% r, X ADC #$015 w1 M% P" P( _# D {1 _/ t0 |; j4 j
PHA( {, h! [; B6 |, y: {
LDA #$05" |; t, q* \& E; D& k
STA $8000
4 V# C2 [0 p) m PLA
@. l3 p/ @0 { ` STA $80019 R F4 Q4 m1 s/ v
PLA6 u$ Q; e, Q% J) F; [5 Y2 u
RTS
) E0 m4 u9 F3 g7 s9 @9 _7 j6 H% B: m1 M4 [: \6 t3 o+ [
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|