|
|
;[FC][最终任务mapper1切页程序]/ x6 {3 q. @4 i# }
.ORG $CD9B8 Z; }& u+ H* p8 I* H: I E7 O: [
BANK_START:
! ?7 u/ q- N' c! V) e- @ STA $70
1 b6 o1 ?# c9 K TXA
- e) c- @- S" y+ Z( i ASL
u4 \6 ]) z0 P- X. i$ F0 C TAX
' C* y8 F) U" iPORT_SET:6 {) \1 ? E" l/ p# j) v
LDA BANK_DATA,X5 l5 i* F$ [# A9 \! n: Y9 L2 N
STA $6E( \0 B" K4 ]. _4 E3 }" y% d5 ~( `
LDA $CDB8,X, f' D& ?7 ~$ I
STA $6F/ v, ^% _/ h5 `# D) d. h
LDY #$00) J/ F% R& o! r+ Q: n( L3 r
LDX #$05
1 j, r- H5 E# C- `. ~+ S LDA $70
; }' u2 S: p1 ?# z5 iPORT_WRITE:+ h. a d& A0 O& \8 p* k6 Z" Y: D
STA ($6E),Y! Z$ P$ G7 K# q& k o' G
LSR1 \ \- h+ P" k' x. a
DEX
& M8 D v" I4 e! n" j0 p BNE PORT_WRITE
! o1 P+ A( C! G9 q- j* g RTS9 [0 _8 H$ b- [: V: o( B4 f3 ^
0 ^7 E* Q7 E7 x- l6 `8 Y " S* \1 J4 u9 p
BANK_DATA:
( T# V e& k* _ U- U8 W .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF k8 |6 H3 d' o' a6 ]0 \! N$ n) G
0 y1 c2 E: h: K" o$ S
$ u- K# G3 [* D& i;[FC][最终任务mapper1转mapper4切页程序]: |9 }5 x! P# s
.ORG $BFD2 ;初始化跳转
; Y: m+ b: H1 k9 L, t; x) T JSR $FFC0
5 h/ i' @5 s: e2 I+ Z8 h+ V6 W2 F3 W5 U) P
1 n) g$ B' q3 N .ORG $FFC0 ;切页
: Q: A& u, O% q LDA #$06& Y8 ]! T3 q& v8 ?4 {" E
STA $8000/ d8 U$ K: G+ v+ I3 B& v; J
LDA #$0E
3 X- i5 y. }, f STA $8001
# Q7 l. K& _& O- E/ T3 L JSR $8000. e& w% b3 D; s6 H+ `
RTS
9 J1 w3 ~0 I& T# v4 J
3 ~) M, B) f3 z$ P .ORG $8000 ;数据复制
L! Y- G& ^/ b LDA #$80
* c" v' o" u3 C8 H4 N- @ STA $A001 ;启用SRAM- ?0 X4 m+ R( r4 k D
PHA
$ x) U1 I8 ~9 D ` TXA
# L# i! ]- L* Q PHA
/ b3 S" A0 f' u+ c* q; Q LDX #$00# q! `7 q+ B# T4 p
DATACOPY: ;数据复制$ o; Z/ M% o! U8 X
LDA $8100,X
7 m0 l0 z" N% S9 X STA $7200,X/ C# z5 N ?' I, U; O
INX
9 N+ g! M1 O) a3 Z0 x CPX #$00+ k9 z3 C8 } j- ?$ Q' T1 f& P
BNE DATACOPY
/ q& q" ]! M: H PLA& G9 O) d' c0 `0 Q: D; i
TAX, p& Q3 o5 N) @$ ~, o2 J
PLA
2 G. V6 V& |# S RTS
$ s4 f$ X* e w, j4 e, v! L
3 n* E4 P9 A& t+ V; W .ORG $CD9B ;跳转到转换的切页程序# V% |+ u6 C: ]1 ^" V) d& r# J
STA $708 W% P' {4 r; W0 V& n h) |+ m' P
JSR $7200
7 j6 R5 u9 F/ }* l/ b$ X& k6 E RTS! Q c5 c7 T6 ~. s. ]1 O
8 E4 T* s) q! {+ k l1 M3 v .ORG $7300
7 }) E0 S1 u, B6 [( e3 RM1_TO_M4: ;切页程序7 d: K6 h/ g% k8 [. Z1 s
CPX #$00& ?% K; B+ R0 j3 d
BEQ REG_SET, }0 N1 C! b* u% [
CPX #$01 P& I' ?/ w. L
BEQ PPU_BANK_00007 v: [: I) D' K& ]7 a r# n0 h5 r% A
CPX #$02
) |$ B+ u6 q t" i" V BEQ PPU_BANK_1000
" x& A W) E9 f3 O7 @* ]# E CPX #$03
- ?+ @: W4 b6 l BEQ PRG_BANK8 h1 f2 S# F* ]' x. a
REG_SET:
& y# B2 r" y) D+ ^1 d$ T STA $A000( U: q+ w6 M5 ^8 z+ |
RTS9 I, V$ l% {. Z8 i
.ORG $7320- u3 W3 O0 M+ P9 `% Y6 B1 x
PRG_BANK: ;PRG切页
) F: ]6 q3 J1 v9 ?! A4 k) G PHA
% x. Y* m; R0 W. W7 { LDA #$06
0 s+ ?% j, h" S' a* W" h$ O STA $8000+ a- j1 Q! z/ M- }& b- |
PLA
! k$ Q; X; X) v1 M# R ASL$ _3 g e7 C! Y u8 q+ W
STA $8001
( G0 s) [; p& _ ORA #$019 A: X; Q: d6 C
PHA; k9 o0 `# c& r
LDA #$07
, @. p: w5 W' _2 D STA $8000
+ j, r4 D3 K/ ~4 N PLA
, ~0 L8 B9 T4 y% Y& O3 J, @2 X STA $8001
7 r: M) \! ]( S$ e5 C8 ^, l A RTS0 P8 ~" f# o8 Q& B
.ORG $73400 _8 i6 I# }6 X; `, M& D
PPU_BANK_0000: ;精灵切页3 y4 u5 T6 T. D" l/ D
PHA* f& t7 \% N# M3 V3 V8 b
ASL, H. j0 f3 w3 n
ASL7 q3 P; n2 G# p! x
PHA9 E, ?5 {! d2 E! _* J2 W
LDA #$00
6 L; |0 b# ^* k; G" U STA $8000) p/ [: q( P$ x* A- t o
PLA
4 W* h$ [6 g& V/ s: @: ~2 h8 R STA $8001
: S, E% |' Y, b; ?2 e ADC #$02
+ `1 t0 Y' u; l+ ^0 l( c! M5 w PHA
^* w4 |; y+ d1 R9 {! d, s LDA #$01
2 s% U/ C9 e" p" c3 D STA $8000
& i; Z" a# O/ ]7 i5 w+ x" R$ O PLA
. V+ @5 b. h5 S; ^9 b% } STA $8001
9 b& b* Z1 @! w PLA' R9 ~6 D t2 C# R
RTS* M& A& }5 s+ {1 Y U
3 s: ~! M y. \9 D2 y* | .ORG $7360
. b- T5 k2 ]; N- ?PPU_BANK_1000: ;背景切页: M( I: Y0 D/ m$ n2 U( E
PHA& |7 u( u- D! K+ Q% n
ASL+ F- n. h& V/ x4 `3 R
ASL
8 T5 C( r% l( D: r4 b& i3 F8 L PHA
1 _' U8 K. u ?% t: L$ x LDA #$02
6 B8 k/ ]' |4 Z% m' G* }; Z8 c STA $8000
( R( e- |% T2 d/ K7 {* p+ y I PLA
; J) ^" J3 e- N+ T) U- } STA $8001
, T8 y6 [! O2 ` ADC #$01( v( |, {8 z B
PHA
. |) E/ ]' H4 g: O3 { g LDA #$03 u7 O7 S; }6 k
STA $8000
: f$ p* l7 ~. l. t' W- a PLA6 J+ N3 h$ P; P
STA $8001
1 O, K7 b) L G! X! E% s+ n' [ ADC #$01
' Y( e# C: k" |9 V1 m/ { PHA- K; U1 g& L) d2 s
LDA #$04
6 ?! ~) @* ^+ g5 F8 H; b STA $80002 Z$ z P! m8 O4 J; x
PLA
) n9 \5 @2 Y! `: T STA $8001
( l4 `% I# C! E ADC #$01
& b u+ g) B+ m+ H PHA8 c+ |4 e8 [' i* K' ]8 m& Y
LDA #$05
' O5 h1 w! r1 a* a STA $80005 \% @9 o# @) j2 S! @! A8 ^
PLA
2 \/ S' }# ?+ H, w0 Q& R STA $80015 P3 T" _' s8 Z) z. V% z7 D
PLA
7 `" L3 k3 j% L( u+ `/ N6 u RTS- E: r, K- D2 Y& L# H* D, i
4 x$ }. n5 R; S% V/ N- K' h/ u6 C
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|