|
|
;[FC][最终任务mapper1切页程序]
( l/ Y2 q) D* K4 a1 l .ORG $CD9B1 J' C& }/ h$ U2 C
BANK_START:; }/ ]2 O1 Q- P! A
STA $70
7 D+ V0 A* N" n TXA p% z6 c: J; M+ d9 L2 m2 e
ASL6 k5 e0 t6 `3 Z% B3 b4 }
TAX
. U: \7 E+ q L: b. k7 tPORT_SET:/ t8 v2 n) b8 f+ _. m
LDA BANK_DATA,X
3 Z, L! M. z! \. x+ J n3 ^& M( x STA $6E* d: Y- G( q" x# X: N3 [# D# h
LDA $CDB8,X5 I; h: v1 Z0 f2 Z
STA $6F
2 d$ s; W# o. M$ l LDY #$001 ~4 N5 H0 V0 N1 T* E
LDX #$05
% V5 e( e& g. q: |) V LDA $70
! J% {7 _# ~; V5 W" t. uPORT_WRITE:
0 `( ~' I6 U$ P2 l9 n STA ($6E),Y! J% o" K8 o5 o8 {! o/ \5 O, v& ^$ [
LSR! j% ]3 ]% _% i8 D- W k7 a/ |
DEX
* v4 ^( W' {, ` BNE PORT_WRITE
. K. Z: w- ]& S% C& R2 w RTS
) c1 q- _( ^5 N7 v, R
8 Z4 m- I3 `) h 2 \8 f1 [2 j6 j. s4 Y
BANK_DATA:
- X G& ~$ @7 B6 N! a5 m .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF+ T6 \& g7 c6 V) ?8 ?6 L! I5 w
! X, q9 L) ~/ q# j
( y, d. l3 V8 ]% O3 A- T
;[FC][最终任务mapper1转mapper4切页程序]
4 [2 U) S' L: Y5 U .ORG $BFD2 ;初始化跳转
" A. O9 ]' f2 E JSR $FFC06 H8 p* o9 M+ V/ r" _7 v8 s
' D, h* ]' y2 ^8 a) ^* L. Y9 G8 ?- i% S' m- a1 K
.ORG $FFC0 ;切页! l/ Z4 j7 Q9 n5 Q, `' ^' b
LDA #$06
9 f7 b9 J% }! ?8 ^, l; v% P STA $8000
; Q2 Z0 x& b) S4 b+ m LDA #$0E; t: Z' ~9 k5 O9 O7 [
STA $8001. R8 S* a# q! M, y
JSR $8000# m0 }+ C. s( }" C: n# Y& R
RTS
* t% x' g0 h0 L7 N4 M' I ' V' \5 ^# K! J' L" w1 p. U' }. h' [
.ORG $8000 ;数据复制5 G) f* v+ B( b7 P9 V- N. ?' ]
LDA #$807 J( w5 N) m" N% q s8 g
STA $A001 ;启用SRAM
9 G3 ^( U( ]5 n$ A o) h, k- A' R PHA( X- e# d( M5 O, C* t
TXA
7 x: q* Q/ f) j6 G( a# @ PHA
9 C9 n9 T$ ~# J$ X$ k7 f LDX #$00
" m& ~" J6 [8 g) Q( [DATACOPY: ;数据复制
B A3 e4 t o7 M1 L LDA $8100,X. t. `2 P5 s* {
STA $7200,X& R9 `' h6 E+ y: e2 r' I$ P
INX
9 N% h" B$ x5 B8 A CPX #$00) x& V( B" E5 U& r6 |# q3 O3 f
BNE DATACOPY
- G3 ^% I, t* M3 ~5 X PLA
! _# q: B- A) Y: \- x TAX' x2 R* j$ \& A) |
PLA
1 Z8 p! K& r' a RTS
# F: y) j3 C! a/ v; B3 P) z
* b& e; N1 T& Y7 m& b# o. W5 I .ORG $CD9B ;跳转到转换的切页程序
# O5 p. `! Y+ O T5 N$ g STA $70
$ A* [5 {, z) l4 ~' Q Q7 i JSR $7200 W1 Q5 c$ ?3 d X0 Z
RTS
' ?3 a: G8 C5 S* ^. K U
- M" @# t4 G' }2 d .ORG $7300$ c8 M' e2 I0 S& r& K, s4 p% M8 }
M1_TO_M4: ;切页程序
x1 L" J! \ G a& u) g CPX #$00
( _* J# [1 r* u, u+ J BEQ REG_SET
- Q, G, A, T# c: \) { CPX #$01% Z& ?% p7 i3 _! n% M
BEQ PPU_BANK_0000- q; x f7 c/ T( O. K4 c/ V
CPX #$02# }0 H! }5 {/ q m
BEQ PPU_BANK_1000" E8 i) f3 ]! q# b ]/ p e
CPX #$032 R8 e1 m, Y2 F6 Q. l
BEQ PRG_BANK
6 s7 d5 v; p. s1 ^' r6 d n$ gREG_SET:
$ w( q* ]* {9 `: S STA $A000
2 W7 f. V4 q+ u0 A2 I* G RTS* z( E+ Y X/ W
.ORG $73205 p) }$ `# y, q1 `: Q' E
PRG_BANK: ;PRG切页
8 r, I6 C) X: ?7 x( U PHA6 r1 }7 u4 F) r+ Q6 B; t
LDA #$06" k- A3 t* J9 ]
STA $8000; C: O6 g* s/ O) Y
PLA X5 ?2 U' |9 l! n7 y
ASL+ h+ |2 E1 ^" X% w$ _
STA $80016 C8 L( g% u4 P
ORA #$01
& ]7 Q t( a) _5 g+ ] PHA
2 ^/ ?- }4 E8 X! x" D1 K, q1 m; B LDA #$07
2 o3 ^2 n- l h% S: z3 J: y STA $8000
) n9 C6 R2 m6 A! A* i PLA
; \8 Z& _- M6 v1 p* v7 W6 _ STA $8001
" C4 m1 f$ H- b0 f c( o' r RTS
2 x* S0 \' v4 q# H7 | .ORG $7340
+ `) T3 H1 R9 G* j1 c$ _PPU_BANK_0000: ;精灵切页
9 A/ |( n$ \2 {& b& F4 C J PHA
# e' O; r3 R/ o* l ASL
8 { H2 Z. T. y6 @! U ASL
5 @ z; |4 Z6 u) n PHA
- J0 B3 Y; ?+ D0 X6 I& O* H4 b" T LDA #$00
9 G: E% z/ P8 t) L8 \ STA $8000
3 w) s8 Y% s Y3 {" [ PLA
% p- {( Z" X/ |7 P5 ]. d5 v STA $8001+ N0 b2 j! _7 h$ P8 M Q& H
ADC #$02
4 _, g _* R& U; g5 B* m* ~ PHA/ n/ d/ O g: |3 Z m
LDA #$01
6 `' _; p9 R/ _4 ? STA $80000 Y' X* w, a% M a' }
PLA5 g/ Y- b8 V5 y
STA $80016 T: j, w V( Q- Q! I
PLA& }( E7 b. L* d7 S" W
RTS# f$ ?0 o6 z* b( ~
/ H7 u7 D7 `- D+ x$ G
.ORG $7360
3 i* ^% ?3 ~. e7 TPPU_BANK_1000: ;背景切页
' p+ ^* @# R- D7 q4 | PHA- W( W7 y4 j3 n
ASL4 B: I/ {1 C+ v! s5 q: X) l+ }9 N9 o
ASL1 l6 `8 {7 C( b9 u
PHA
8 x: `7 X {2 x, U& V$ R% J LDA #$02% p% r+ `( s6 l% e
STA $8000. C# I5 k4 d; b* p1 ^0 d5 ?
PLA% D9 Q' g$ R" N
STA $8001
. H. z7 k1 _ C5 ^! x/ | ADC #$01
8 }7 ?. ]" y/ t, A$ F }: ? PHA
9 V& s: B/ @+ ]3 f7 |9 Y LDA #$03" ^ z) i# w! F1 |$ Z4 U6 s2 G
STA $8000
9 q z8 d$ d5 `2 o* d% ]$ t) [! c( h PLA. w2 s1 a7 {& Q7 ?- f# |
STA $8001+ F& ?0 m+ y' ?2 z* N6 k
ADC #$01
2 e+ K& ^$ z) b9 A$ {4 X PHA1 {( f: A( s2 e3 w! X' Y/ N3 _4 t
LDA #$04
# u* j) B% |. ` STA $8000! a# w4 Q4 ^2 k% y' U0 d" `6 U
PLA* w% i d! F- h% I# q5 t( \2 }
STA $80017 i: K. d: k9 O `
ADC #$012 ]2 k1 U% T/ r
PHA
8 G% `! w% z& Z. H LDA #$052 J: ^; ~8 [" J( ^
STA $80000 k9 c7 t* s l& P) l" T3 G
PLA( }* }. u4 c4 p; u" b
STA $80014 U( M) Y3 v& T* G$ M$ W. R- m4 h" ]
PLA6 |1 J, P \) I, ?
RTS
# y2 a) _, o: }! ~ C! f2 z
: F& d! ?" m5 _ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|