|
|
;[FC][最终任务mapper1切页程序]
& J1 c7 x5 R0 p( X' G1 q .ORG $CD9B3 y, a5 G* ?1 F7 O( a
BANK_START:
# I# a _( h0 P* ]% d& P STA $70
* R, n) {+ U$ `" u2 u TXA
0 o& F4 H7 k- ~; e ASL! Y( ~6 @& h3 ~' f7 M
TAX/ F# ?+ m/ F( s9 c
PORT_SET:
/ Y, `3 ?1 c% P8 | LDA BANK_DATA,X
- o, b- e C) |3 h2 q& m! S" g4 @ STA $6E
! @9 N1 a3 i/ Y) x. [! S LDA $CDB8,X
7 U/ v: b) P) C# d/ o! ]3 ^ STA $6F
y- x7 y0 J/ g0 b3 z LDY #$00: u* n$ s# G }# @9 A5 J" m- I
LDX #$057 P- D2 T {! ~0 d
LDA $70
7 j1 ]( z7 f" {; l% Z% N- h" IPORT_WRITE:
! D( i$ f" s1 q1 {6 V7 X STA ($6E),Y
. v# W& @- r% ? I LSR2 w: `# `6 O2 ?0 X* H+ u6 I
DEX
: `* a: ~2 J3 e5 g BNE PORT_WRITE
2 E0 `# c9 }, ?% `0 R RTS
8 p& O7 [* `$ T7 ] ; L+ }. b& _5 t& j4 u f
6 P! J; o' K; X' ^5 ZBANK_DATA:+ p# P- F& x0 c; v+ i+ i9 k- D
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
- b( k& j9 e2 b6 ]
* t4 p, v. |) u
5 l7 `+ m9 q& `;[FC][最终任务mapper1转mapper4切页程序]
( I* t9 k) K& c .ORG $BFD2 ;初始化跳转
3 w6 V/ U9 i! C- g" F/ v JSR $FFC0
# W q# L. A' X, q% i# K% y! P, j; k
$ c/ b9 ]& X2 x# V2 i .ORG $FFC0 ;切页9 z4 S0 h" R3 v' g/ e& W
LDA #$067 C" }+ N9 D* M7 e, }
STA $8000 Y3 v( j F9 K8 ^- p6 f; v
LDA #$0E
% T1 k6 L' g: O STA $8001
" ~1 G7 A! \* K. p JSR $80001 ^0 F1 v0 r3 K( L
RTS
% I0 z- v4 b! V+ l0 w' L4 B 4 L- c& b" Y; u% b) b9 R1 ]
.ORG $8000 ;数据复制, v$ y0 r, p6 d* M0 m
LDA #$80) n/ H( o4 J4 `4 R2 p
STA $A001 ;启用SRAM9 c. Y" Q, p7 `) ^* E
PHA9 \; w. a% a6 a% ~3 W5 |
TXA' h8 Y% i$ u+ ?' @+ }
PHA7 H7 Q& J1 Q5 @/ K
LDX #$009 `* u+ |, E/ B b* ]
DATACOPY: ;数据复制1 u# K7 ]* E3 V' s. Z; A; F& v
LDA $8100,X, r; @9 U* ^$ R/ e1 ~$ E4 h9 ]
STA $7200,X! k7 X$ w& y5 L* ] F1 t
INX. Y% X, u8 u2 h$ G
CPX #$00
7 E/ F$ d& X3 a5 t- v BNE DATACOPY6 y% x0 O8 {$ L3 M" x
PLA# a" L# ^( v2 ?
TAX& N4 |2 A2 b, O" a* H J1 n
PLA% F# g2 H- z% M* K" C. _: ~ |" B
RTS
; O9 @6 }" N8 }, O- x
7 f: P, z: L$ C$ G; k .ORG $CD9B ;跳转到转换的切页程序
. w1 Y1 z* t) C( Y: ` STA $70) A7 Z) x, c5 x% l/ W7 `4 l% \
JSR $7200
6 W/ K9 T, ~4 j$ q- J6 z RTS' D( n# ~; w' }# ]* [
0 q: D8 k" v- Y# t0 _, N7 ^
.ORG $73004 D5 r3 o. ? h: C9 O9 d8 B/ K7 y- i
M1_TO_M4: ;切页程序
& j: @1 D6 [1 u: h& V. _" G# z, V CPX #$00
0 U9 o: x4 R5 |4 f BEQ REG_SET+ A8 N5 T) k q. u6 Y
CPX #$01' |5 t" o2 F2 X# A$ |7 I5 |
BEQ PPU_BANK_00006 z$ d% f7 ~, u& s8 @
CPX #$02
$ c3 H6 [' P6 d' z BEQ PPU_BANK_1000
1 u1 a4 f! G7 t7 x0 u7 E v2 C CPX #$03
! v$ {( v& S( E0 b! w BEQ PRG_BANK
; z& _3 Q* U' _2 LREG_SET:# h7 F# G& K3 H( T% Y$ ?/ {- X
STA $A000
% L7 d. e2 D& C) `2 p: P! {6 ?' j RTS
1 u. S8 N! }( q, W) \& c .ORG $7320
0 o. s( u0 _' }PRG_BANK: ;PRG切页
4 x$ {. V7 ?/ m& b$ K7 P PHA) f5 L$ V8 n) Y
LDA #$060 |$ e# |: K1 m/ w. R
STA $8000
9 J R- g% A; X6 F# ^$ }% G: d* R! { PLA
& b, m- K+ Z q3 W ASL
% [: u, n5 r( s1 z" x STA $8001
; u$ z0 |; q0 |4 v( E ORA #$01
3 ~( i7 q+ U- n2 C1 Q& u( q PHA0 x3 Q |4 r; o$ f
LDA #$07& H" p& a7 W% M5 z0 {$ p5 Y
STA $8000
2 A) Y5 X* ~4 [4 @1 P6 u0 _ PLA/ b# m; I3 t- e% @0 h& p5 V
STA $8001
1 M) i: M! d ^$ ?' i% _4 A RTS) E& ~+ u+ U2 N% Y1 `8 C0 w/ _* D
.ORG $7340
% P! _3 m9 `$ ]: H5 z1 LPPU_BANK_0000: ;精灵切页& f* a5 Y) O9 `0 `) k) a
PHA
5 y0 Z+ K7 E( F& I- c ASL
`9 p/ y: i0 k" i. Z4 L ASL, M; H0 o+ x% a5 N+ @& Y% T& y+ l
PHA
: a; B5 `9 S: u* N& I4 P1 p" ] LDA #$00
% ?+ N$ p8 I5 i STA $80001 O" U3 i( r8 s8 s7 c+ q7 f
PLA
0 W# ^' f/ W# g( P STA $8001
1 G) w! _' b! z ADC #$02
4 D6 {" K4 O5 S& `4 } PHA
7 g+ L: S9 k- x9 h LDA #$01
6 ^0 y- g3 ^, p2 T# G' q& u. q7 ~ STA $8000
0 o5 b- Q; v" Q7 H2 ~+ g PLA. H# f3 M: O* u' F" F( o1 Z
STA $8001
) a' U. I& z: u PLA V% ]: x/ u, I' K5 C
RTS
+ O+ M6 i# w6 k4 I% }
: c V* T) I$ z9 x+ v( U .ORG $7360
& ?! Q }+ M, U; a$ U& \PPU_BANK_1000: ;背景切页+ z& O0 ~4 f; q" j |
PHA( G S8 c: j7 E1 d" x! P
ASL
6 }8 M5 V& d" u' y2 i3 _ ASL: u8 J' S+ m$ Y5 O9 u
PHA g6 ~/ {+ \9 T+ P# }
LDA #$021 \9 J6 S% E1 E! V! l% S
STA $8000
7 Y8 d1 G( y. @9 ]0 J PLA
8 Q1 k' ?3 x z8 x' u" o4 g5 x: Y+ K8 g STA $8001
2 ~) C- I! u: W ADC #$01
/ V. h2 h0 @. L7 y) H PHA
' I+ Z5 P8 s9 l, D# K6 } LDA #$039 T6 q" r# i% z4 o* h6 O2 o6 w9 Z8 u
STA $80006 z: L' Z5 e t! v: S1 v
PLA& f6 E" ^/ ^# T# e
STA $8001
: z6 a% U. m5 k( o' I4 b ADC #$01- T9 N0 K+ Z7 p6 v" I
PHA
6 S8 f7 D$ @0 j) Z4 w LDA #$047 ^$ g- L b) U7 q* F& b! z
STA $8000
- U# U8 q0 i! [ PLA( a& i" v' _# L5 a/ k" ~ Q
STA $8001
0 u# \: `4 h0 z( a ADC #$01
( x% \3 t# U# v; c4 C7 k8 i PHA3 _$ U5 ?+ U( y# P* H, Q6 \
LDA #$05
* J6 [0 d g6 o+ I% h* Y$ U6 e& G STA $8000
" e# t4 Z9 w9 a1 x+ f PLA+ H6 ]( g! [ L! Y5 j7 [
STA $8001
0 R8 J! d& q& D& x8 [' j PLA! X, V$ N/ r" L( U
RTS
+ o% X; X$ ]* v! k0 N. l% L" }1 U1 k( R- r; c G* y) E# ` G
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|