|
;[FC][最终任务mapper1切页程序]3 o3 ^: q# h( c0 X. A
.ORG $CD9B
! v1 X9 q9 U2 b+ f; g Z- f X! `BANK_START:5 O/ }/ ^" T( R3 l, u( A! \
STA $70- H3 u) T, Q9 a8 ^
TXA5 G; q d6 A7 I C
ASL
4 H& X9 R) a6 Y7 O TAX! f8 D- D. \; i! b
PORT_SET:7 |# U1 W. F- f, q
LDA BANK_DATA,X
" p& Q, N3 L1 X3 q STA $6E% H8 K# T6 t, g$ ?7 N4 }- o
LDA $CDB8,X" W* |# ?9 l$ G( z) z# k$ d; g
STA $6F
( q" _3 t- J0 q+ P LDY #$00- A3 X; z! c# ], _
LDX #$05
+ D% B# g: v; J Z. U" H LDA $70; D- x3 b: K+ ~* x
PORT_WRITE:4 W" l; P: w' k
STA ($6E),Y' o6 ?; r) B m0 _6 m2 a! y
LSR* R/ X3 n% u; l( Q2 z
DEX' K6 w: k3 | o8 Q7 r3 d8 M
BNE PORT_WRITE
0 k9 n8 k+ t1 Y: d7 G8 [# } RTS
; g$ B4 V7 r- J. i7 f& L ! V, F% {' j; i8 ?$ G
8 X C3 X F& k. G8 d. i
BANK_DATA:+ ]9 `9 |+ [" Z! ^; P& }3 l
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF8 b u4 N1 p) u+ k4 o% X& c9 o
& Y2 ^6 G( c4 W7 k* r
0 _/ Q7 @6 `* u4 M5 M$ m+ d;[FC][最终任务mapper1转mapper4切页程序]
0 o' w0 ]8 l+ o .ORG $BFD2 ;初始化跳转7 w2 h" A% _% o4 c
JSR $FFC0( \9 ^( T+ g( m: _8 M' @
* ?0 I4 f% }3 \& I" L. m d/ x+ I7 _5 f5 A6 `# @
.ORG $FFC0 ;切页* Q& P; Q. Q/ i3 [. J" X: S' f
LDA #$06
9 Q3 G6 @% ]( I STA $8000
$ _: z4 {5 R% p9 ^: k# w, ~( n2 V LDA #$0E& X w* x* L0 [1 X3 i
STA $8001
2 C% k( ?1 i+ @ O% V+ D9 ~ JSR $8000
+ r! q; J0 l6 K0 W* z9 \ RTS - L% z; {+ H- ^* C- m* P# b
4 f2 X) E1 T: ] M1 w1 r+ Q& x .ORG $8000 ;数据复制6 Y3 B F4 p" O, I
LDA #$80
$ w) P5 G$ n7 h& ? STA $A001 ;启用SRAM- B9 b1 |" [# e+ u& D5 |8 U
PHA% w5 U4 ?, P5 R8 R1 Y$ M; f
TXA
2 A4 o8 l: C* l1 z PHA
* C& e9 o, h! x, ^' y3 N LDX #$00$ X; U' A* Z& R! f( F" J
DATACOPY: ;数据复制/ H, T7 S! O( A' O
LDA $8100,X
+ L( W$ R. [* K* R# R% p STA $7200,X7 J. v$ a. K% w7 I! Y3 u! I* e
INX6 F; }. @, Q* b S& ^
CPX #$009 W2 v( S( d2 I, ]. [! }1 R7 R0 M
BNE DATACOPY4 k5 k, L* J9 U. J5 s9 \' c
PLA
) M% h$ o+ P2 G1 y TAX
! X; V; o& j& z* i PLA
. A$ ^6 F! f/ m6 t8 u) j" u RTS
1 R( c. Y6 _2 K s; [% j* X 9 v0 ~$ s3 U# g* z5 `1 K/ t( `
.ORG $CD9B ;跳转到转换的切页程序4 e0 N5 b) \0 z) B
STA $70, g6 H+ z0 f$ n( \
JSR $7200; ?# m# N e' [1 S) L$ w
RTS7 X4 P$ b+ O7 q0 `% K
4 s0 ]1 |6 G9 P: l .ORG $73009 N" k2 a; A% N5 n+ B
M1_TO_M4: ;切页程序
0 ~. M6 S. ?% a" l; ^3 n3 v CPX #$00
5 ?( l7 }* E. y" N& } BEQ REG_SET
( ?. n/ y. [7 @# l1 U CPX #$010 l& b7 v3 n9 ~: p9 E( i9 W
BEQ PPU_BANK_0000# j" F7 c( {' A" I4 g, F" e" _' z, |
CPX #$02+ F7 y8 S. N$ y5 D# t" x
BEQ PPU_BANK_1000
" X& B1 J! \! G5 e1 |- | CPX #$03
& y' I+ j9 P/ m+ p+ Y BEQ PRG_BANK
" `; r% C" G3 e; U `' KREG_SET:) S! b, d7 t' K) F
STA $A000# \% A$ a0 [7 \$ y8 z7 e( z$ W. _
RTS
- e$ {* p% b9 R" m' [: ?, v .ORG $7320
- {& h5 Q! b) F" j8 OPRG_BANK: ;PRG切页, H+ F- N% B, @* j( h& [9 {
PHA
% H# F% q$ [0 V3 n' n" c LDA #$06
7 A) ? h+ p6 D0 z# C STA $80004 t0 y- h8 D) a3 m% G
PLA) F1 l) m6 ~9 {' q
ASL
: U K/ d j! @% D$ y! a' k STA $8001
8 o! v3 W. l) x1 p$ x/ P ORA #$01
$ k0 c: \; V5 M# B* x PHA. p. r# g9 [8 U
LDA #$07
- ~# { E( a0 m# K7 H6 P STA $8000
# ^. _ {. [2 g, x PLA1 ?+ }0 u; i! D8 M3 _8 X0 z
STA $8001
7 P* U8 v G3 l% D RTS
( j6 J9 o: i+ U) |$ ` .ORG $7340
' h3 X. `+ L+ e5 \8 W! s7 Y0 sPPU_BANK_0000: ;精灵切页6 U! ?) y: I7 D2 h! V) e2 }
PHA) ?9 X- i% {6 `( r
ASL/ a$ l5 D1 A+ T; K- Z
ASL
b' ]! H. i# Y, F7 Q4 g PHA
( I) {3 C6 T- y' _" `% m) w% A0 A LDA #$00
9 B; p, J3 i& m STA $8000" J! I) x* B9 w( a' {$ t: D
PLA) j, o! Z& {# _) \/ s* O. K
STA $80014 L' U' g3 L7 ]
ADC #$02
" H, N+ w/ ]/ L. [ A" Q( b PHA
" h: b& {# v9 q8 t+ c2 W LDA #$01
2 p' z4 y) _2 z! W/ P3 c. V STA $8000' T# A" d5 U/ o0 W: a- }; r) D0 f
PLA% Y$ ?7 ~( _) g/ c* e$ ^
STA $8001$ v8 C, [1 N! o7 @. F+ H
PLA! {6 ^1 f: ?: e* r9 K7 Z7 {+ k
RTS0 |9 o- O0 w, t
4 J9 S7 j, J" m& [1 p2 q
.ORG $7360
, e4 O( U' S& x# u" oPPU_BANK_1000: ;背景切页9 E9 c0 T4 w: w' p9 x3 A3 c
PHA
6 `* u8 L7 z3 h4 v6 }6 K6 e% Z ASL; s4 {% L9 G' ^4 H$ G2 Y j$ t5 Q9 P9 Q
ASL; S7 t* k, z1 I& @% V' _1 M" Q
PHA
' q# L/ n3 S: @ LDA #$02
6 x1 E( D. ?5 Y% I* Z; _ STA $8000
% f) Y4 H4 i- R& p PLA* ]/ S& ?* Q1 |; O: h Z
STA $8001
+ S3 ]5 N, Y. G K- H ADC #$01
. w' S1 c1 D1 ` u2 c( N PHA
: o1 t( N" J3 [* c2 { LDA #$03& \" D& U7 N9 t( F7 \0 T
STA $8000- e& q n5 [% U# @6 f5 E$ X9 ^
PLA7 C$ q2 F7 U8 N* {/ f
STA $8001
" y. t4 n8 Y( i9 _, I& [# O7 R" ]/ K ADC #$01
1 [* n6 j# A$ U& F PHA
8 R3 J% `- s& R8 t7 I# p- ^ LDA #$042 j* ^6 O( y& d+ w3 S
STA $8000
8 ?( T7 }6 k, H" @ PLA5 J4 f7 d/ F( E6 n% _9 O
STA $8001& [; ^% a2 q7 k
ADC #$01
% W- c: _2 G* a& a# d1 x3 y PHA
8 a, H d) P4 U LDA #$05; O3 @4 Q* }* V( E. v' Z/ L1 Q
STA $8000
/ w& G& i! q. g. n PLA
[) Q/ v: V" Z# j$ S2 F9 R+ F STA $8001
; N. E) E4 u; k. C1 w) x) Q PLA' P( M0 [1 e8 G! ?8 H
RTS
8 N: z5 J' V' w4 T8 b3 {# Q' y& R8 b# T
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|