|
;[FC][最终任务mapper1切页程序]
. w4 }8 a- ]. J .ORG $CD9B
2 [4 H+ U' \& Z' XBANK_START:7 R/ e; O' M* i5 `8 |
STA $702 y! _( k) `! n
TXA
9 r8 d( \ ~8 ]. @ ASL3 F: a& @4 t3 C" l& e
TAX
/ N! \( O2 z6 y) |/ s7 x1 y& xPORT_SET:
" U# } I' Y& i2 ~ Y, F8 ` LDA BANK_DATA,X
' I6 n7 d4 {$ d/ S STA $6E
2 n- e. [7 i. [! F- g1 B2 e& Z LDA $CDB8,X
5 k6 t P# |/ ]/ a- z/ N STA $6F
8 G. N1 [2 t4 w- f" P" @ LDY #$00
: t5 c3 i# Y0 w! G4 l" h7 z LDX #$05' j# t1 v0 T3 u h
LDA $70" B/ V# r/ _' I$ p, \2 g
PORT_WRITE:1 f8 D4 _9 {6 v& F9 b( ]
STA ($6E),Y( y) z& q* r4 v6 v f; ]' Q
LSR
0 s) Q! |* Q2 J6 i) T DEX
- c l' L3 @! `& b9 K, o BNE PORT_WRITE
4 t; d" q; ~8 Y) {) T RTS; x3 }8 I% k- I$ J. Z/ E
* X; s, R" }" s' p+ y
, @! z Z2 b8 W6 m. NBANK_DATA:) \ \1 Y4 x5 a) p) i
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF- m0 a' e; J* W& K; H. N
" n! m Z4 D5 ?# z* u! D, v p) V
z, w& w; P0 S
;[FC][最终任务mapper1转mapper4切页程序]
1 d5 k# q, k/ ]4 h1 D .ORG $BFD2 ;初始化跳转
# l9 ]/ I7 z9 _) S JSR $FFC07 |+ K( n8 {; f3 f# J3 P
8 g; R9 o& F4 h- }4 k
5 R% x! A* G2 b/ a$ n5 W
.ORG $FFC0 ;切页
; U6 ~8 r0 F% T8 Z: x3 f LDA #$06
/ R `8 k4 r' J R" M STA $8000
, d! q% O- Y& J; G LDA #$0E
! c2 b4 A$ I3 ~/ i& [ STA $8001
; v1 F- J4 _$ j) U' `. k3 `9 U JSR $8000
8 X# `) c. G" d: _ RTS
- `; r! @- N, n: ]$ F s0 L a 0 m! G. f& j7 e3 p: u: J, t* \' z
.ORG $8000 ;数据复制
% d6 E. j: {" R0 m) T- \ LDA #$80
N/ i/ G' `! q% |# s$ H* K. f% S STA $A001 ;启用SRAM& ~2 ?) T& ~# r% E* W
PHA
* [+ v( |( x( U0 i- Y# U, V9 o# y. x TXA
2 M+ a! s, G1 B K. e0 L: D PHA
% Q. x3 e" l m0 P+ e( i; V; e LDX #$00
& G4 K/ {3 w1 c. k( L# KDATACOPY: ;数据复制
! {0 l7 u8 R' y5 |" f, ~# M1 W LDA $8100,X
( |) a& l9 l% B) a$ e STA $7200,X( L+ {# Z4 H) a) Y8 P* U
INX) ^, U2 |5 H+ r4 H5 v3 f) j
CPX #$00
5 O. a; ]; j f BNE DATACOPY
3 n$ F, ]- Q6 S% s9 ~ PLA
- {- ^& }7 w t% p8 }2 d TAX# R' A0 {" E! y' y6 _% M; a
PLA- J1 A( y) y9 O* k9 Y j! `# @& p/ q
RTS$ s0 p: ^" d0 }' o
1 y( m# U7 R* K! @
.ORG $CD9B ;跳转到转换的切页程序9 L# q: ~ y7 j
STA $70
, a! s1 O+ s6 ^! V6 y: F* O JSR $7200. K) x/ V7 p0 K- B0 E8 I& c6 B
RTS) {5 P# L( d& G
9 T" D" ]2 E8 S. b& M$ t+ B
.ORG $7300
5 Y4 W9 d4 m. L3 LM1_TO_M4: ;切页程序) m% t8 y1 I m9 _# e7 v
CPX #$00
1 c. h3 f9 r) U5 P4 U BEQ REG_SET3 _; t1 _* `+ c* m
CPX #$01, ^) V' D& l6 T
BEQ PPU_BANK_0000- i- h$ D. h% |' H8 w# p
CPX #$02
) D/ g" ?6 Z! z' j# b BEQ PPU_BANK_1000* Y5 }; E; B3 A+ X# \6 j' S
CPX #$03! A" J9 ]7 E4 ^# L5 F. z1 E; y
BEQ PRG_BANK
' q5 g1 A& ], sREG_SET:$ |3 N: H- O& e2 ?
STA $A000
( z/ s" I* o9 ]: f0 O+ K RTS8 g( U+ c; I" K) L) {: e7 o
.ORG $73204 }1 m# s, x- W7 X4 _+ v
PRG_BANK: ;PRG切页- ]- \" ~1 W- v9 \
PHA
- p- X( s9 `! G9 j& w, A LDA #$06! a3 Z4 \& n) B: e" ^2 s, g% E1 b7 [
STA $8000+ s. Z/ z0 Q/ \ ?+ V& K4 ]- V
PLA, `0 Z! o* R% @9 G' T' E
ASL
" P3 Z: D! I3 \* t( [ STA $8001
3 n+ G$ Y, q, S" E# X: P$ A ORA #$01
6 K# a2 z [9 I. w8 \( W! c PHA
# ]6 f7 H0 q& J: S% q6 O LDA #$07& L7 R- r( B6 l7 N6 j! N$ @6 O
STA $8000! d9 W. B6 Y8 Q, t3 g1 E
PLA
/ m3 F- |# ^: q$ A, r- h0 ^- _ STA $80011 D$ t) a8 V% p# }$ L. ^" G
RTS% m/ V& y; ~: F7 W5 j
.ORG $7340
/ p6 V' K* k: n1 dPPU_BANK_0000: ;精灵切页
6 c" M) l* W& f4 b, C PHA
6 O/ ^1 K$ p4 K( `* N; s ASL
8 F0 A# c, I& ?/ R8 x! |: E2 B/ c ASL8 z, y# A; H( n, o
PHA* z B8 B0 i J/ a7 S/ Q; B
LDA #$00" ^/ ]" U$ I1 z* Q3 p2 K- C6 [
STA $8000
4 A& n& `/ S0 f! E0 I) [8 a PLA
' D3 v7 T) K$ ~& `0 u2 W STA $8001
4 U3 S; N) ^4 i3 z1 p ADC #$02
8 J* N6 B& r! E- x PHA+ a; |1 R; I; L1 [, X
LDA #$01
$ f! x) ]1 P. _0 L STA $8000
N& H8 h4 z4 T PLA
; f! L( k$ Y& O( m8 x STA $8001! k1 W* ~8 A0 x* F5 u1 Q" ~6 U
PLA) X) V$ m6 F0 d2 l
RTS h3 ^4 S! c# D5 I, y( p
6 `8 w0 ] I) U9 I: u
.ORG $7360
! j# i' L! g% wPPU_BANK_1000: ;背景切页6 t+ E1 r" \" |: N/ R( D' C. i
PHA4 b' }5 Y9 x3 E8 a! S2 W, v
ASL
3 x4 ]/ x9 e+ p) j, ~ ASL, {; B' s) N: Y& n1 i- J* w
PHA) Z; k7 ]* X. M7 G9 f& E
LDA #$02
* g4 j; O2 E6 j2 m4 b. A2 K STA $8000
8 x2 V& k, s6 b3 r: { PLA- ^! I+ V4 p. C- ?0 Z1 ?8 q6 I& |/ T
STA $8001# d% @ x8 }+ O/ Y: m5 b; @
ADC #$01
7 ]# j* k9 `( @# V# w/ v PHA
7 u% c- T- M2 h" X( Z v LDA #$03
" R5 i8 q% m. p3 c/ t9 L STA $8000
3 j: W. g. Q) \& z/ J PLA% J' W+ l- | U0 J$ o: j
STA $8001; e# x# V$ ]" Y1 N P' V/ e' J1 L
ADC #$01& y4 H, ^5 {% s, h" n
PHA
, r2 _; @% K& h' s+ W LDA #$044 z3 Z& R/ P& F' W
STA $8000; f0 o) h* }2 \ ]$ C7 V" s+ N
PLA: \, ~/ r, p7 F8 n) y2 p0 _
STA $80011 Z- f6 |, ^5 z6 O, a0 W Z, E
ADC #$01; {2 \' \* t$ ^* z$ X! s
PHA/ V) R/ A P* l
LDA #$05
$ U- U6 V: A% q" {0 ^" f4 a9 a$ R STA $80003 @4 P. M# h% N3 t
PLA5 f7 X: |. W m
STA $8001
- ?2 s/ V# L4 n; _) s PLA
" S9 d% b1 C) v RTS
* X* o' N' u1 n4 T+ O$ @& `) m5 \( C0 X$ \# H/ b
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|