|
|
;[FC][最终任务mapper1切页程序]
2 i* W) W4 }- ^& Z$ U .ORG $CD9B
- R/ T$ H' Y0 |1 R; qBANK_START:
' i3 x2 h* ]- k1 [, W+ t6 L" G STA $70! L8 S$ v5 i, O! g
TXA* p& T4 C( U9 T# @7 ?) ^) `# L
ASL
* L& |" x& F' o" x/ g. I- x2 I TAX4 @8 g a6 X0 B- q
PORT_SET:
! X; K4 n5 S4 |- F4 P; a \$ H LDA BANK_DATA,X3 W2 U8 Z6 N t2 Y$ N6 Z$ H6 e
STA $6E
$ s6 K# T% d* R8 _% M LDA $CDB8,X# g% U4 f- Q2 J6 E% S2 S) D
STA $6F
: z a9 B2 k, F \0 D0 o9 p6 X LDY #$00
0 _) `% @! K9 D @/ i1 [+ G m _ LDX #$05
( H, r, n2 T" D% S/ U6 G LDA $70
0 n6 Q8 `( O7 d* QPORT_WRITE:
4 u% v. X8 ]! x+ y$ Q L2 O STA ($6E),Y1 c( p7 F3 r% D
LSR
6 h0 S' V7 @) z6 P1 g: X DEX: X( I; C7 M( k1 ?0 d
BNE PORT_WRITE3 ^9 R2 d) ^* w5 j' y6 e
RTS
8 \2 r6 }1 P" E
3 J# w( ?2 V0 n - K2 o$ g: A* k5 O
BANK_DATA:2 A3 L* d) {0 [7 P
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF" G" } ?# I; h1 |. } ]
9 p6 C! \. R! K7 S6 e- l5 Z , j- g/ I- H7 i5 l: B, S9 N
;[FC][最终任务mapper1转mapper4切页程序]
# R) F+ x9 ]9 `9 X$ X7 Y .ORG $BFD2 ;初始化跳转
# l, S3 e$ \4 S+ n2 Q JSR $FFC0
- [( k1 W8 E6 I: E" ?, S, C9 u
3 ^1 J: T/ Q+ p' ?4 E3 S0 J0 E8 P( Y$ M5 C, E* ~6 j; u- q; E9 n% Z
.ORG $FFC0 ;切页4 D# u* ]5 @, [9 n+ v
LDA #$06
8 z% n( V3 n6 L' ~) k STA $8000% g! {9 P5 Z. }8 k6 g" b
LDA #$0E
! H; _ R6 P) c( o( g& r% U, u, W STA $8001
0 j# g, s9 h% F( n' R9 x JSR $8000- ~5 @$ B, T1 r6 m( N. S. A5 Z6 b
RTS + H5 g/ b& o2 F# Z# Y, O# I% U: H$ L
b) H7 t2 u/ k9 _" r5 \. F .ORG $8000 ;数据复制6 O& N/ E b O
LDA #$80
b. L( h' }4 B1 Q4 _0 I f STA $A001 ;启用SRAM
4 @; W1 N2 {( |5 g2 O- ?8 t* P PHA0 Q. G4 F1 x$ c7 _- _3 w
TXA P& ~! w( g* P+ p ?) l
PHA6 D' K: H1 [- X: h ^' g1 Q/ ?
LDX #$00
; R' d' O- j3 P4 ^3 B; XDATACOPY: ;数据复制
, s! d. v$ \5 z6 L LDA $8100,X
2 R! ]7 I1 _ g5 N: c STA $7200,X
: |1 `- a5 P" B) N INX6 k& m$ |3 C2 L2 c6 u
CPX #$00- Y, Z0 a8 y" k8 ]& o
BNE DATACOPY
% t& {0 j6 e- h PLA7 W9 D* W& F( h; n4 d! m
TAX4 F0 G* D( |7 p7 Y) q+ [
PLA
0 M) Q! V- N+ ?) T- I/ G( G. o RTS9 [. y0 v! F2 I) T9 G' Q! n
/ [' A1 n; Y! [1 f" |1 ~& Z .ORG $CD9B ;跳转到转换的切页程序6 Z b: T8 \9 M
STA $70) w: x6 r2 J% _% r' } y
JSR $72004 |0 ?# r& u7 \4 R
RTS
- O. p7 T: } {$ l; Z9 Q' i0 ^
& i3 c2 v: B7 v& W d+ G( B; D, N .ORG $7300' f5 E/ y" [& @( A- q
M1_TO_M4: ;切页程序
+ s5 b! I) S6 a( z: H+ S: o9 j CPX #$00
+ O7 t2 W a3 H- B" c, p BEQ REG_SET4 p; D& o9 T. }6 }5 L7 c1 i% {
CPX #$012 b- ` b' {0 l! Z: z7 d1 e0 |
BEQ PPU_BANK_0000; T9 D. s3 T+ j6 F- g( G
CPX #$02, I) L+ ^7 e2 P- A
BEQ PPU_BANK_1000
9 K& s* Y/ f F# W3 o5 `+ R+ s- X, M CPX #$03
+ r4 i, ~/ M4 X BEQ PRG_BANK, }7 ~% d. E3 G
REG_SET:. p/ Y% @2 X( _0 y0 l
STA $A000
Q) K$ k+ @! W RTS
& ?: E6 Y$ S8 _5 f: G0 \1 c! t .ORG $7320, g/ o5 J. g. \
PRG_BANK: ;PRG切页
: ` o: ~% ^0 X, E! ` PHA; d ~# ?- `1 V
LDA #$06
( h1 |$ C% N, \) i! T4 R STA $8000
' ^% r+ Q$ f- a4 h PLA
# e, u& X- v* X+ _# @ ASL H" Z: I( K& M7 S8 w2 Q! T# B
STA $8001 A0 V/ N# U$ Z
ORA #$01
0 ~6 g0 `; j8 Y7 a5 t0 k/ I1 Q PHA
& ]0 N* O t, l6 F LDA #$07/ q1 w8 I: }$ Q
STA $80000 b% s; k: O9 R$ d, L! z5 V2 g
PLA: b. q/ x3 i% \$ W5 k7 w
STA $8001
* u# i/ }3 F7 ~ n. g RTS; _! S) _& p# p: h+ ^" {1 W
.ORG $73400 ]$ \- A% `8 K/ m* V- H
PPU_BANK_0000: ;精灵切页( a# I# d" U: N, c1 U% b
PHA& w/ _& P5 b: a$ I$ b7 _# i& z0 s
ASL* r8 G5 k( p6 k
ASL
+ c! a$ y& Z% S4 T$ C8 L b o PHA
: n% |+ G5 a( i: a0 s2 l& B/ q LDA #$00! L h; t7 n* {
STA $80003 l) B2 r. Y8 ?8 g
PLA
7 i8 P4 `7 `+ j( B5 W( w/ [ STA $8001
% H6 S0 F( |) K5 A# K, ?0 W n8 C ADC #$02/ L% ?$ H5 b% C7 u
PHA
, S, C. P( V7 ?) w5 K, f LDA #$01
# U- D$ B3 d5 w5 d STA $8000 w& O3 S; V5 C% l" A
PLA+ G, f( i: j0 r9 G# x5 @
STA $8001
& k) x$ ]8 m4 D PLA0 X" e+ E6 |2 e3 K7 ~) |4 g
RTS
' T5 J3 c5 K7 g. c1 L8 ~6 W; D % I' t6 P9 w$ `# P: W, w5 T& T
.ORG $7360) R& [1 T1 B/ S3 d# i/ v
PPU_BANK_1000: ;背景切页8 t* A, o: n$ ]% Z
PHA
4 V: r5 g- b) e3 j0 d! u+ _ ASL$ v: Z+ v& d, v. F4 g9 R9 Y/ }
ASL
/ W$ ^7 U% @5 Y PHA
# q/ b5 n% j% L3 E' ? LDA #$02
1 F* y% c. X0 k0 T6 O S9 d& } STA $8000+ v3 a* P. J7 ~) S
PLA
+ ? F1 r }9 U# m$ ?4 I* x: R STA $8001
# S2 B- Y( J) w ADC #$01
, f0 I0 H j5 i( B* A PHA
+ e+ [* W, b( X$ o9 s# ? LDA #$03
; n! \& X3 a; @9 B& O3 _ STA $8000: s7 M' T9 v% t% @: R+ K
PLA
, C' v4 Y" ?+ k+ ^& v STA $8001! [2 J' A+ a/ z$ x0 ]* |. }
ADC #$01
0 u, Y- [9 X4 m" d6 C PHA1 u+ T" f2 [' j1 P) ]
LDA #$041 t( M1 V# U2 m$ O S! \
STA $8000
2 ]1 E, S# D" Z PLA
& u J2 D' m) m/ a STA $8001 Q( }/ s) e( o( O
ADC #$01! Q& B8 t G$ s7 h# u X
PHA
' L' |4 c" l4 _- j" \* Q LDA #$05
7 _5 W" C6 o n% ^$ B STA $8000
' z( Q K; H5 R3 e PLA3 D/ _4 S4 F9 m# C/ t
STA $8001
$ Z( R8 c5 r% W2 v ~- A# C$ F PLA
- N% q9 A- o5 V1 U. ^5 j" d0 N$ z! g RTS9 f; K4 X1 y }" c2 p( [
+ B* z( c0 ~$ ?6 g |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|