|
|
;[FC][最终任务mapper1切页程序]9 L1 X r/ B0 z K W
.ORG $CD9B3 \+ v: p& B8 `2 p) d
BANK_START:
. q, x- F0 L0 w* k/ W4 ] STA $70
; w$ _, Z5 E/ r TXA
7 q9 x$ Y3 U& D7 y I Q% b2 E ASL% f4 P+ E2 @$ H/ h6 |! F& [$ q! L* _
TAX& E1 D4 C9 T7 N1 P, p* Z
PORT_SET:- z+ V* [- [& y d6 {. N
LDA BANK_DATA,X) Y2 m( C# R% [
STA $6E
. ^0 u* Q) A F+ I0 O! t LDA $CDB8,X
5 T1 A- P) E/ ^: r STA $6F
+ m% E+ d |8 I; `+ | LDY #$00
" I3 q! y9 k$ N; g) a9 f: G n% E: @ LDX #$05: H+ w" m" s% l6 Y& r2 _
LDA $70/ ^4 l# }8 Q8 F5 }/ A
PORT_WRITE:) s0 J$ K9 ~4 p
STA ($6E),Y
! O3 j D- e8 Y# H9 o9 p7 a( ~" a$ U LSR
$ | y7 p$ \9 K7 Q1 } DEX
5 x" l2 k1 N! c: Q BNE PORT_WRITE
4 q* U8 i* _ j9 v, w RTS
. y2 P3 j' E8 Q
( t7 @6 a! E& s! y
5 y9 w1 v+ e, s* k: EBANK_DATA:& u; d0 [4 W: s; t: U1 N! i t
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF0 R1 D5 u7 r1 K0 k/ W/ {) O
% p2 R3 v% E5 B7 o) ~, W( Z# w
, ~# @$ X1 x6 Y/ C;[FC][最终任务mapper1转mapper4切页程序] A* W* i5 H M3 d- S0 i" t3 C5 h' T
.ORG $BFD2 ;初始化跳转7 s2 o6 u$ ~! H+ z- x
JSR $FFC0
$ D F6 k0 W: ^) n7 S0 B- I* @5 |+ b. H
2 y. n: R* w* c! F .ORG $FFC0 ;切页
, W+ t+ S$ a) t3 Y; e LDA #$06
& F9 _5 g8 Q n# D% X: n- \ STA $8000 D' M+ |, W4 Z$ W* H
LDA #$0E: T, a) d5 D( n* X
STA $80017 i2 V1 q; \& b5 W
JSR $80002 `: J* I5 |: x0 x: x( x
RTS
4 ?) x% E) S' t4 U; r8 J& F) u- F! {
. b8 ]$ _+ s# j/ [5 n! H .ORG $8000 ;数据复制
8 i0 V. u5 H4 a3 j$ R LDA #$80
2 U7 @5 a5 M" D, e% Y STA $A001 ;启用SRAM, E% f4 \) ]: S! G
PHA* ~, Z# g8 b8 F1 w4 I' r% l- D* H
TXA
3 [/ e) E$ R0 X A/ b PHA
/ w. i, ^6 x7 }; p/ N1 b LDX #$00/ _ |, Q$ ?; y$ @6 ?8 u1 N# V
DATACOPY: ;数据复制( i9 |- m2 b L4 ~* D4 y
LDA $8100,X; J, R( P3 Q1 ^3 e8 u$ g6 R& z
STA $7200,X
# [5 x7 p- Q' x7 N3 y INX% j# i3 A1 `0 T7 T2 o
CPX #$00
5 Z, b7 N9 ?, e4 }! l BNE DATACOPY$ D& D: i; m0 S0 |( }5 ]1 q% h
PLA, C U( a- _5 S; m+ n+ L1 N
TAX7 _! `" j5 C$ P3 s
PLA- U2 l. l8 A# b
RTS) R! e9 }5 Z8 l4 F& g
# v/ [6 c; T; Q* w3 b4 b) R& I( h2 k
.ORG $CD9B ;跳转到转换的切页程序
0 d7 ]# U$ I0 v9 [- S STA $707 z- X0 j* w; ~% \4 |" y
JSR $7200
9 }! Y+ i$ w5 K* c RTS1 _3 g& O: Q8 n. H1 R$ c. ]
. L m$ ]( E$ J .ORG $7300
% e* S- U5 b% v8 WM1_TO_M4: ;切页程序2 A% |3 Q! F% o- R; x3 _
CPX #$00/ F& T, u& R4 l$ @3 X' r0 T6 Q
BEQ REG_SET4 J5 Y2 |; B p7 {
CPX #$01# [$ d1 w# W, B# D5 W- e
BEQ PPU_BANK_0000
) ?# U, j% M+ O9 ^8 _$ r) m CPX #$02; A9 `2 j$ l+ O
BEQ PPU_BANK_1000
5 P7 Z0 U* j, u; v. o1 t CPX #$03 O. q; u6 B h2 l
BEQ PRG_BANK% n) p8 d/ N7 p0 A; V
REG_SET:
! I: K: X8 u% f& Y; t2 A STA $A000
( y) @2 ?( H6 J RTS8 _( P: @& k5 S# q' C
.ORG $7320/ K* C' x e( y. [0 Z0 M
PRG_BANK: ;PRG切页
, v" R ]% c2 B6 g1 D8 Y PHA
& u2 }( y" Z4 z3 {' i LDA #$066 Q4 N* V. |8 [0 V" _" v3 b
STA $8000 J- ~+ x4 @ l9 _- y$ z v* e
PLA
: [# W# k$ H! F" O: U3 x' y3 H) a& X ASL) Y9 h q* J1 k x- p0 v
STA $8001
1 ]' q* ^8 w6 e; W5 H% H ORA #$01
; O8 B- W1 M$ q( U5 a- A PHA
3 v, U$ ?' N* l2 S. J+ ~ LDA #$07
& D/ u# \$ B8 m" D5 t: ]8 B o STA $8000
3 J, k0 ~4 n4 [* I. ~ PLA" h- \: i6 t4 s* P9 I9 V! T
STA $8001
6 ]' l4 T& Y- S7 Y' q6 b' N( |8 F RTS- V3 Q/ m1 l( k
.ORG $7340
- U0 H2 G' l1 a: E, B( H% yPPU_BANK_0000: ;精灵切页: {) k' A! K& ]. `. @3 B" }
PHA
6 V/ Y) D0 j% f ASL9 T! i! @5 i7 Y$ P4 @" `
ASL
5 h0 K! j% p3 j7 E) j9 D3 \# P PHA
0 l: r7 t0 e2 Y LDA #$00
4 U2 I' D& c. S. C4 H8 @! h STA $8000
% h8 T& a4 k* P4 M7 ^9 _ PLA
1 Z' M4 @ a( n% r& E STA $8001
6 M+ c- j+ l; y7 M0 Z ADC #$027 N5 u' D- x5 B; B# Q
PHA
% m. _1 [: t6 u, m$ `2 l LDA #$01
% t7 Q1 j# n% d7 M( F STA $8000. x' |3 I9 X8 D5 P F
PLA
5 T4 k% _- _! S; w9 t STA $8001- O. D, j+ K3 K) n* W" _+ C8 Q. z6 s
PLA6 s+ R, P' Q/ |, y4 ^' m
RTS/ b5 U, c. m1 F0 T
& t( j6 x1 m/ h4 R- ~( W, ?. P .ORG $7360
0 S" T0 |% o6 yPPU_BANK_1000: ;背景切页
! S$ x4 t7 v" H c* x PHA \1 L% ^* _- S) ~% V" }6 r
ASL
4 @6 k& k1 {& M ASL
7 n: }# `+ C/ ~ f PHA
: x' I0 w% @2 J" @5 N9 V) z LDA #$025 h# A' E% Z8 K% B8 m- @
STA $8000
# g4 H$ W* \8 d+ A" ] PLA7 w- E+ P3 ~- Z
STA $8001
6 Q" G- P r6 ? ADC #$01: S6 m6 m9 h5 R1 D k: v' }! A5 x2 H, a5 K
PHA' B' n- I$ S; p* H" ? w- Z' g
LDA #$03
1 g+ h' a$ k" V5 R. E! ? n STA $8000
' N. @8 E+ a5 ^& P8 S' ~6 ` PLA
, E, Q' T9 O# G5 e7 p8 ]" m STA $8001/ q# t* C8 C( Y4 X) m0 B
ADC #$01' u: I/ i: H) C# s
PHA
( w! ?0 V5 m' Y4 z* V LDA #$04' K# L3 h6 [* `+ b* d5 w- Y. d/ }8 ~
STA $8000% d6 `' O2 \+ N) O4 {
PLA
" e/ T% X3 {+ Q* n% h S STA $80018 [; V* `7 `$ \* D- p- ^! h
ADC #$01
( ?& v- e% A( _ {+ \1 x. _2 H PHA5 c' [( N: d( V3 Z
LDA #$05- ~- N) E* i. x6 s$ g
STA $8000
; T$ b. |1 c) @* h* ?/ c PLA
' M/ [! n l% }4 L& E STA $8001: E, e; D% P, H" T- H
PLA
7 y9 q! n. |. p2 Q6 x' O RTS! {, x z9 J) i ]; y8 ~$ f" m6 m
, o2 I y/ U- \: i
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|