|
|
;[FC][最终任务mapper1切页程序]
1 U/ s: @# z$ S5 t2 m1 V2 f: P .ORG $CD9B
/ L' A% n. N1 L8 R; p' p. \+ n9 KBANK_START:
) ~! }' x9 A& A$ c. H STA $70; @% }' L8 B- f5 {4 `" i. \# f
TXA
2 k- w3 N) D0 S3 b7 v; R: b ASL
4 N6 k: I3 p( u* D' k4 b- m$ Z TAX! b$ B: _! `* |9 i
PORT_SET:( c/ ?9 |5 x% P! D$ v
LDA BANK_DATA,X
8 k' V# E k% A2 [+ X( i% e: A STA $6E1 L" b0 w3 X. A; E6 A2 X! ~* M, X
LDA $CDB8,X% b5 P; A0 c, E8 f
STA $6F; n# T2 E" c; e$ X2 Q
LDY #$00& Z5 C+ s3 l: n- B- O' L+ Q7 A
LDX #$053 Y0 n8 L# I3 W" s0 J6 V- {
LDA $70" ^9 }' k, x |. D" {* k
PORT_WRITE:
) D/ r [+ M9 p1 A! T0 P9 D STA ($6E),Y
. I7 j5 v5 E( Q9 ?% F" Q& \0 x LSR7 i7 {5 y0 _# p+ T+ s7 w) z% U6 n8 J/ |
DEX9 L; C" O. K$ A
BNE PORT_WRITE
/ Y2 n0 W* [3 o [: i8 I RTS- ?; c; _2 e& k4 q8 B5 U+ D7 K/ M
7 M* M+ v; J f4 N, f# W; F! I- i
/ V% h& r. d+ d% s" ZBANK_DATA:
5 ? Q1 L6 e ^3 _* q5 x .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF/ d9 P h0 i; x
; g1 ` |( E3 D2 q: A D
7 t, B9 {, m5 [8 }+ _3 \) L, A;[FC][最终任务mapper1转mapper4切页程序]: w2 z3 c/ n2 ?. R$ Z9 w' v
.ORG $BFD2 ;初始化跳转0 Y. U- F$ m4 `" e0 ]/ J; r
JSR $FFC0
' Q$ r7 ?) _7 V; t4 d
8 Z/ R( h# P& Y, y( W
* y0 c- Y$ e$ c$ I+ |; c$ o J .ORG $FFC0 ;切页: }6 g* C J0 b; i! \( d; X
LDA #$06
* ?1 |, ?9 r1 m1 f STA $8000
' h6 V1 f& g$ G7 ]* f! @/ d; z# @- v LDA #$0E
9 a; Z3 z2 f0 P; a STA $8001# D% K" s# i; w+ K
JSR $8000
9 ^4 R0 c* p( O; H. u0 R/ h/ a RTS d3 d# r: E' h7 A
. o/ M4 p8 c0 M% T
.ORG $8000 ;数据复制) \8 P+ U) v4 @8 v/ q$ |9 L# V
LDA #$80* z B2 \/ ~. O" ~
STA $A001 ;启用SRAM
; ]2 \) }3 t3 c1 G! W ]% A PHA
- e% u# I' q: Z+ l$ C/ N6 J, z TXA( i: l4 f- F- v& [2 h
PHA; N7 {* p; d: g0 J7 X
LDX #$00. h1 I, _) Z8 ]8 A& o& g
DATACOPY: ;数据复制' b `, Q: c- m8 R
LDA $8100,X
: W5 G% s I( ]! f' b( M) r/ _ STA $7200,X
; _0 o! u, K& }& K$ y: V INX
5 h+ _' j- m) x5 `5 d4 r" d& ] CPX #$000 \, P- F; X0 M9 {
BNE DATACOPY9 C; d1 D& T# C" j% v
PLA5 a$ @$ {/ w' c8 ^! J! H
TAX2 `/ ?! x6 `0 |: @5 b3 d
PLA
. i- s0 ~! z) x0 i RTS3 v9 _2 W" T, e, J9 p& O! R
8 p" x( [( r0 z/ W2 _
.ORG $CD9B ;跳转到转换的切页程序4 A+ l4 W: n8 {) T6 i' E
STA $70
! D: O2 g$ b$ [4 f) d JSR $7200% V8 g0 `% T( A6 L8 L# E
RTS7 [8 I6 f0 `# R+ W' ?
- P" |" A% O1 U5 D+ r- s .ORG $7300
3 |- D$ R3 \: ~, A* PM1_TO_M4: ;切页程序5 G: K' s* R3 B9 p+ M2 L. O
CPX #$00 D) A$ [% X) u- e3 \) [ \, j
BEQ REG_SET
( U) H+ [# y) L% F% ?: O5 z CPX #$01# ?, u3 h) Z9 k; n" k
BEQ PPU_BANK_00009 V, p2 s/ v3 K: F1 a( r0 I$ @
CPX #$02
3 R( L5 X. a7 j$ L. N# R" a( D BEQ PPU_BANK_1000! H' l4 n4 w" Y
CPX #$03
3 o6 z$ |. }! d: w% q! s1 x3 f Q: } BEQ PRG_BANK
- g) K, h6 a/ w& Y7 n- h$ B& G) oREG_SET:1 t' y- ]: S3 d
STA $A000* u2 ], M8 l1 D7 R3 L, B
RTS2 h, f6 O/ Q2 a9 i% a8 ?
.ORG $7320; d, R( h7 J( O8 \6 `8 z- o2 f
PRG_BANK: ;PRG切页+ e+ }2 y W7 m x, k9 w7 X; P
PHA
- [: N4 T) F1 a I LDA #$06; Z d4 z" n# |0 E
STA $8000
$ a3 Z, B8 ~; ] l3 Z- s PLA9 M+ I4 W. S) @/ Y9 |1 F
ASL
3 \9 h) {$ e4 I6 \" U0 C; n/ R STA $8001
: c* y. _5 I$ Z( Z! |! |' Z8 M ORA #$01
' z3 A- D' h# H( `7 j1 S3 g3 K2 O) \ PHA
5 x+ M- D# L7 B5 o) G; ~1 J LDA #$07 b, W' P. I; i1 s1 \
STA $80001 g$ }* `! j1 d8 m$ F
PLA
8 f9 z9 x# t( J5 s9 P STA $8001
: o* y- R$ I4 u RTS0 F8 ~4 t! ?, \$ t% d0 g
.ORG $7340
# w5 Y3 e; |6 B/ HPPU_BANK_0000: ;精灵切页
: \$ t8 R: a* C5 I9 [ PHA! {( E% W: P; G- _
ASL8 m1 p' P, u3 {& A
ASL( a2 e- I9 t6 {$ r( K* Z8 r& ] h
PHA
/ n! l1 W3 v a LDA #$00
) |3 G& c) o: k5 ?3 k STA $8000 R5 E3 t0 Z3 x" m0 k
PLA$ i$ V2 O3 M5 o' e4 ^3 e/ N
STA $8001# {8 G% {3 i; t0 S" S0 W
ADC #$024 A' y4 {+ y# A2 ] ?
PHA1 R: _% S/ X: i2 D
LDA #$01
5 G; T3 G3 u, s- Q2 M' G STA $80008 q( F2 o! g4 C. S: U, U$ v
PLA
8 k6 Q! K$ W, G+ r8 ` STA $8001
+ k d. c* F* U8 N$ k PLA& g; T! l( t' V+ r5 J3 y
RTS' b& p4 }" M+ ?! t
! ~' ~3 j" [: X3 T .ORG $7360
" W: L) A c$ `( I: gPPU_BANK_1000: ;背景切页
/ W# J# e0 Q( X* [& I PHA3 t8 w( @- q' s! L, I3 V% T
ASL) u* l4 }7 N, \2 e
ASL
, ]8 h6 l* K+ S4 W' m PHA* |, [- r/ _9 O& s# ~
LDA #$02
/ C+ E! a% ]$ p2 u) R STA $80009 R$ T4 @$ |, I7 ~& L' T# F) U4 O' r
PLA
$ Z* [% u- M$ [* c STA $8001
& ^8 d0 z) p) l: c ADC #$01
! j+ l) q- e& s5 s2 j PHA
2 g5 v' \/ j1 p6 L8 E( B/ {: i: } LDA #$034 e1 c9 U: y2 `! L
STA $8000
5 ~! V3 f; E/ ~5 ^7 B; t PLA
$ T; V2 p2 o: |% B STA $8001
6 }8 V: |1 x0 C: Z) i( u ADC #$017 v8 p# A- w6 b2 E3 G$ d
PHA
* r+ U9 N$ ?! M2 G0 V2 Z LDA #$047 B7 k9 d- ~& Z' ?/ G6 O/ ?
STA $8000$ m9 a2 ^; }0 B8 B
PLA. f S- K( X7 n f* e
STA $8001
7 W" r: Y& }; N) s! Y6 W" I ADC #$01
. H4 }# w/ A( @, o) r; X) N PHA! K3 L* p( J# B0 R5 Q9 R5 `4 w/ s7 s2 h4 D
LDA #$051 @1 B% f7 |7 A5 I0 g
STA $8000/ x. j0 Z! P; [- q% i
PLA T* o F6 t3 Q3 @
STA $80011 l( A( z- p2 V% R% K' ?4 r% K
PLA4 F8 f' a3 J& |7 w" c! P; R
RTS
8 N! ?8 H1 I7 V. h4 u% p
; I+ X! e1 N; G/ ?5 } |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|