|
|
;[FC][最终任务mapper1切页程序]( x+ `# V7 S( Z7 F" Y& x' y
.ORG $CD9B
4 G1 o' b$ F7 J- O9 K6 TBANK_START:
4 Y8 r) S+ W5 C2 t STA $70
! R$ E9 M! w' E TXA
$ W7 I1 W9 ]$ W9 B8 ? ASL
. a( h5 g' c a- k( t2 S TAX
3 ?& V0 V' @, h% k! r4 C q0 \PORT_SET:
' O/ F/ w9 u; [; C* G LDA BANK_DATA,X
, y; {' j7 j1 Q! F0 j STA $6E
# p; r) k. }1 P$ E5 T9 \ LDA $CDB8,X! ?" W+ U: I2 E8 Z" x
STA $6F* t9 s' N2 l; O8 ~# w) W" v
LDY #$00; n* j" ^' r5 g$ Q/ M
LDX #$055 E! [- ?5 \. x, y0 v
LDA $70# |% S$ \- M& X# k
PORT_WRITE:
3 C5 a3 H6 l4 r! e" F1 | STA ($6E),Y
7 ?4 s: M+ @ d LSR9 \1 L* z( N% ~. R1 X
DEX$ U5 a; ~ K. u/ U8 w; G
BNE PORT_WRITE
- ^- r: ]9 D$ r: e/ B1 k/ B RTS% e Z, m% X' \- t1 I
3 S# ?' r2 i' `* B+ N& C. }! r; K$ M
4 D* t. J8 q+ l: `8 K9 ^
BANK_DATA:) {7 G- ]7 L; ~9 s
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
- s! d+ b, h3 Z ) q6 z) X2 F5 y
8 k" e% Z% x7 w# s4 D: q;[FC][最终任务mapper1转mapper4切页程序]
# ^3 I. H& F6 @8 g. | .ORG $BFD2 ;初始化跳转# ?/ J9 l, {% j* C- r8 M3 V" y
JSR $FFC0
1 c4 U* j! s7 W4 w0 R7 Z& y8 R. A
! Q. f( k, |, H/ W; D- R
.ORG $FFC0 ;切页0 f2 M) N5 S& J' c$ i
LDA #$06
" u6 e' J9 P9 r STA $8000' l/ p3 R ?. B
LDA #$0E
* Y. b. ]" g" A( y STA $8001. \4 Z: A1 Z) l# B
JSR $8000
1 {+ D2 l' u+ v. l' e RTS ( `- `8 f& D. L+ [
, x ^* K9 b- y& l* T+ `
.ORG $8000 ;数据复制
" b" V, Z. U' I) j. i& Z LDA #$801 x' [5 C# y3 a7 x( y
STA $A001 ;启用SRAM' `# d6 U% {6 {) C& D9 n: s
PHA) C c! w& b4 [5 ?& h# a# D
TXA. ?" O; J. ?# w8 Z* a6 G
PHA3 U( J3 S4 d! m/ ]: D+ d
LDX #$00' l- h# o$ I( b' }5 j$ D
DATACOPY: ;数据复制" y8 \- m8 o. O: S* ?4 p
LDA $8100,X
8 l. W Y, T# ^: i. A5 A7 t% _ STA $7200,X
7 X# J/ ]6 D2 l' X# O( P INX
, W' b* v% F% i" [ CPX #$00
& W! o: _6 ^* g" X' J' j( A BNE DATACOPY
( A+ \) i. G$ S7 M- h; c3 X PLA1 W; y; }8 k. |) K H. P) {( o
TAX$ P4 \- d5 Z' `' ^6 H3 D \
PLA$ L) m" V' G* a8 G# ~
RTS5 c7 \; b1 r4 d: a
$ A3 H; @# e& ^! n5 h
.ORG $CD9B ;跳转到转换的切页程序& y: q" [1 N$ w# H
STA $70# Y0 {. R' D' [9 ?1 R7 Z
JSR $7200. ~3 n. \7 I( K; V8 B; i; Q
RTS5 o& P2 f& L& q0 ?3 L2 g+ T! `
7 R) L2 Q9 D5 Z8 y: l$ l! t$ W .ORG $7300' Z; ?; K! G. t) K) C \2 V
M1_TO_M4: ;切页程序% |* W2 I/ ?& f+ G
CPX #$00 K( s; e7 l* u5 `: |
BEQ REG_SET. {, F: ~- Y0 Q' ~+ w8 A
CPX #$01( e! Y% [; _' g& `+ B6 P
BEQ PPU_BANK_0000
+ X' ?3 h# b1 X) ?3 G CPX #$02
" v: ^" M8 c! y( U) z BEQ PPU_BANK_10008 v) U- B$ p# b, s
CPX #$031 F$ k: D! P* d1 ?! X
BEQ PRG_BANK/ b6 j }; v0 Y, a2 P+ X
REG_SET:
" g: ~" k6 K& ~# O0 A1 e/ Q STA $A000$ ?; f0 s, y: W+ w+ X1 }# u
RTS1 e1 g/ d& L; p9 y M0 S
.ORG $7320
H; L, Q* m3 d3 g, u, iPRG_BANK: ;PRG切页& B R: s7 {0 X. P- a4 R
PHA
0 J) q! p: `) U- p7 U LDA #$06$ ?% u6 X1 n8 g0 a, h! \. W
STA $8000
2 z$ L: m* o0 ]+ d; Z- [7 D PLA
+ t" O: A: H# J ASL
4 w* s, `; Y" f+ }" \; }4 E! J" K STA $8001
6 s, T0 o3 c8 `' x: ~, @ ORA #$01$ ^! ]" ^( c% t& {# {# m
PHA
5 L- D/ F- }3 X# H* K1 q LDA #$07: N' G5 u3 l/ z2 f" O! ?7 U4 o
STA $80000 H6 X) N& |, ^
PLA- k, Y& Z+ C% M0 k5 \$ v
STA $8001
9 T: @3 @, ^/ | k RTS- B' |( r c) L
.ORG $7340
$ m) E1 }' G# T% L( ~! b* s' y1 GPPU_BANK_0000: ;精灵切页
' J; p- ?2 _# _4 [5 U$ a PHA! F5 z% ~4 n- S+ V) f
ASL8 Z) c3 K; n& b; {8 P
ASL
( ?6 L- T' Y! |" Y$ s PHA( L. H6 E: c; z. a; s( P
LDA #$006 F# e2 l2 r& P' u
STA $8000' w1 [ h9 e! T7 \& s/ K' Z7 J) r. N
PLA4 s. F) R; q1 `2 f; T2 K) g1 }1 U
STA $80019 W' a- D; o$ u5 T1 V
ADC #$02
8 L; n1 u: p! A# ~ PHA6 a7 l) c3 Z Y& r- K8 M
LDA #$01
9 _3 S+ `# A+ i7 r( N1 H D STA $8000! r' W, y4 Z/ @
PLA
9 \$ Z1 U3 {9 v3 s STA $8001
# D. e5 ~. [1 v/ U1 ?3 q PLA6 L# f+ |: z% C
RTS7 j8 b1 i/ D6 {7 s0 \7 H
! r9 l V$ J; U: U$ S9 S
.ORG $7360
/ a3 r# j3 m* FPPU_BANK_1000: ;背景切页# E/ j' c! X1 Z) a0 P4 a
PHA3 j5 e/ S, T7 ]$ U3 L+ H- e
ASL; n3 e+ ?- a: H1 b5 A: c
ASL% \1 c: z6 ^ `, z0 T" b% B1 g
PHA7 K, s T( g8 ?# ~* o
LDA #$02* X9 N6 e# z1 N5 E
STA $8000
) _, ^( j$ r8 \# B. m PLA
0 r% w/ C% o" e* Y& _0 ^; G& T STA $8001
7 k+ e( A/ z' q7 T ADC #$01
' ~% q$ }* e) E8 B' Y PHA6 O4 ?* I' c8 H# z0 z: U+ `
LDA #$03: D9 _8 g1 m* O9 O& x
STA $8000
1 F3 \9 |# Y" A$ d4 P d PLA/ Y9 P6 [4 I9 n- z
STA $80014 m+ {' ?) e' L0 [" C+ {7 {& _ {( E, ?
ADC #$017 y0 f. |+ V1 m# ~* _( r+ s
PHA
8 c) m- I7 I. U4 g! `% d, B LDA #$04
* A9 M! r: s. H) @) V# R STA $8000, T4 U, l8 `' y- |) {
PLA+ |3 W' I* l& l- h4 i/ n" }
STA $8001
& F" K/ N, c0 Z+ o) `9 |6 P$ E ADC #$01
: P! {5 }2 S. h* B6 [7 W8 Y PHA( v! w3 S+ b/ _
LDA #$050 m, T. { Q2 w) b2 x' q
STA $8000
' r9 Q$ v" A5 | PLA |, J7 f' _) ?6 ^1 Y4 K1 ?5 }
STA $8001
4 @3 T& H" k& A! y! | O PLA% T# P4 |/ H' k: W3 d' I& b
RTS3 u- m, W4 r( \4 z- e
/ X3 K0 \+ g0 h7 w* t9 ?! [( ? |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|