|
|
;[FC][最终任务mapper1切页程序]
) q0 |! S) ?6 `0 d4 _' u .ORG $CD9B# a' z, a6 V0 s9 c
BANK_START:
1 c: D' m* D% M5 Y) @3 d STA $70) C" S8 f( ]0 ~, h7 U
TXA, ^& |# y" d& ^5 B6 m3 `& g
ASL
, O( z, K6 B8 D4 Z# I4 B: t TAX( D. n \$ a% j& N
PORT_SET:
. n. N6 U2 B7 m W. X: G LDA BANK_DATA,X0 S' ~+ e1 U% v7 }% I/ p2 ]9 A
STA $6E c. |! Z5 c2 p [! Y: G
LDA $CDB8,X
& {5 L/ m- N: G& | STA $6F( ~: W! o. t/ ]3 z! A- F& B$ K. b
LDY #$006 r) E8 r+ ^+ L) Y
LDX #$05+ O* Z5 @2 P9 ~, X
LDA $70
( \" o# y. q: Z0 jPORT_WRITE:# \/ {; y, d) S8 ]- X* y& Q
STA ($6E),Y
( x4 ?% U5 S$ j+ c4 G1 { LSR& j# M; R3 K* X; [8 \
DEX$ Y: |: x2 p1 X1 D
BNE PORT_WRITE' x* N: |5 E( A, D' q
RTS4 u$ u0 J2 d1 }6 i- k4 O
( Q9 Q' j: k) s4 e; J2 b& d/ d6 d + a* Y: |+ F, U7 t3 W% r8 G' ~
BANK_DATA:( I' _7 f! u9 t0 o3 n* E
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF! G K/ H3 W: q% Y- R7 U% w
7 D( c4 @/ P7 y3 Y( g 3 _" g' ^% B4 [+ ^ m) B. {
;[FC][最终任务mapper1转mapper4切页程序]
/ { M5 L2 k7 B. q .ORG $BFD2 ;初始化跳转
4 c& v- B5 `. i$ W) n7 @; k9 n JSR $FFC0, x% d r& t: r1 ?/ m5 y
2 \* J- L( j2 @! B! j4 j7 H
; _. t0 e) ?; O6 T: y, I
.ORG $FFC0 ;切页; x/ }8 y9 r7 X/ Q2 b1 ~% D
LDA #$06
' m" { ?* d9 p. C3 x2 X) @8 Q STA $8000
3 F# _2 u$ P* G9 S5 G1 ?; z7 D" C LDA #$0E( \4 s8 c/ D1 D2 F6 }/ a
STA $80016 I$ b% Z6 G5 @0 N4 m" R5 A E7 y
JSR $80002 \! s6 l3 e" j* Z3 Q, ], N! C1 A f
RTS 1 U& e! u( Y; _
u) w. k. }% C1 q" F, u! k5 x
.ORG $8000 ;数据复制 p" j( e7 w' Q( J# T
LDA #$805 a, X# s+ q2 j$ n: l( ~9 C0 Y: ]
STA $A001 ;启用SRAM
u( }5 f @# N4 `# e0 c) U PHA
7 Z: k$ e$ l6 p TXA) [- _+ S/ X( o
PHA8 r( k f2 \- W) j8 F( P. Q O
LDX #$00
7 ~- ^7 s2 W3 UDATACOPY: ;数据复制: U6 ?$ I$ s" k! n& h4 n
LDA $8100,X: P' u e' B! H2 j
STA $7200,X5 o2 j& L: _! R( ^
INX8 S0 O8 Q% `, G1 I h& `
CPX #$00
, g' ?3 Z8 \4 U7 F: n BNE DATACOPY O0 t( C6 r0 ~2 |
PLA
' j- i0 Y3 h" C, r) a* f9 I6 D TAX
) \* E. F4 h/ w1 r PLA
" y5 t) L$ Q' g- n C& J: X RTS
7 v3 Y U, |; z0 P+ ~
- f4 c5 Z3 c7 j0 ? .ORG $CD9B ;跳转到转换的切页程序
; X* J9 _. _ Q STA $70
7 ~( z* k0 X) a$ ~/ j JSR $7200
" p8 P3 U5 ^: c* a0 `( g# z# X" P RTS
5 k9 {/ O" z& H% w: M" J) t - P$ ?3 x% y- Q0 n( G0 ?
.ORG $7300
+ `" v# T3 M6 q$ d# KM1_TO_M4: ;切页程序 S8 u7 f& v. E9 n
CPX #$00' Z5 Q1 u& q7 A0 Z& V
BEQ REG_SET
$ ]/ Q9 y$ o' g5 O; P CPX #$01
& E# {2 r8 |* Y3 U BEQ PPU_BANK_00001 v+ Q, n7 P0 L+ O
CPX #$02
5 V3 x6 b3 g0 t BEQ PPU_BANK_10005 Y$ _& C& Y# s4 j
CPX #$03
: E& E0 Q9 w: i BEQ PRG_BANK( E4 j1 q/ F. w
REG_SET:
+ p# z3 t' g. P' u' s1 b+ G STA $A000
0 v9 C* A& U; ~9 \9 ` RTS+ T6 z# s' B+ j. |( S7 h: q) i
.ORG $7320/ A1 E; C1 Y% G) u
PRG_BANK: ;PRG切页
! k$ n, |+ s/ c' b/ D, ^ PHA
4 a# J0 \8 p4 {* W9 Z LDA #$06
: y9 ^" o, y, H0 P/ C Q% D STA $8000
* u$ i3 e& E( ]) N5 x6 _5 \/ C8 [ PLA* J& r, ]7 W& x9 W+ F8 N6 L
ASL
5 B* U9 b/ X# ]) B$ W6 i* F7 s STA $8001
' Z9 L( x9 J1 E9 |3 _ ORA #$01
1 L) y* }6 g: V0 ]; J& } j' } PHA
* W9 M2 G- u7 }4 H. p6 G LDA #$07* x" b* s7 ^. o( c: Y9 e+ R7 s7 C
STA $80007 S D) b$ O$ D$ K, p
PLA5 M2 f. I$ V9 q$ V
STA $8001) _+ d7 c- b, _- I* Y
RTS
) G8 h& U- n! m" {4 d [ .ORG $7340
" s3 a4 J: J: Y8 _, @7 j% PPPU_BANK_0000: ;精灵切页4 X' ?- w( [0 t. F P2 v7 S- w
PHA9 R2 T& ^ V. N" T$ B$ k
ASL4 t% i# u% o" u8 @/ k$ Q0 o
ASL
, d# U1 `( e G/ e PHA% r* w- j g8 _9 [
LDA #$00
- @1 V7 h2 d, Y& T( I2 l& Y. P STA $8000
# P+ X0 |+ A2 d0 [ PLA% ?' ]4 v$ ^; ?: c
STA $8001' k# C {: Z" ]! J2 A: ?
ADC #$025 \' N6 d. g- Z% ]+ H3 Z
PHA
" e+ v* k, i, S7 ^ LDA #$017 X8 l7 \% h. g+ s8 j2 c
STA $8000
! A# N- @4 e" ?; V; z PLA: Z5 L" M& x. F' c
STA $8001. }9 P e8 q$ G M; f% g. {
PLA e3 H: ]5 }$ y9 _( c
RTS
8 X" {. i; O+ S7 y1 ]( s( R; A, ~
9 G% F+ j0 G& ^1 |# k .ORG $7360
4 ~" V4 v5 R" X+ `PPU_BANK_1000: ;背景切页
+ M" T5 A, B l0 j* ^ PHA
3 _ Z1 ^: S$ k1 c8 z5 N1 ?+ k ASL
2 P6 r( B' i; x ASL
/ Z( l2 {" x1 x; R9 a; i/ a6 Q PHA" t1 u* E% ^' G4 E! D
LDA #$02
\3 s1 \7 a; T STA $8000) `% Y; P9 ^1 m0 I& E$ Q* F
PLA8 x: P0 @$ Z' t+ X! A5 v9 N
STA $8001
7 l' P: z9 u/ m1 M- B* R ADC #$01
: {7 v9 U0 H. H$ s% I C; j PHA
1 j. k* w' ~# _4 M LDA #$03
$ j+ P/ C6 L3 B$ x STA $8000- e+ v' ?9 E1 B$ [3 u
PLA
: J* W' j" a* h. ]# Y STA $8001& u8 _! ^9 S$ N! e) M; g
ADC #$01
1 Q3 u& j+ J1 Q+ q3 C5 ?' X PHA
% R. b' b' a- i; t- p0 b7 l LDA #$04! U* M% d6 Z" i$ @; o" o# H
STA $8000
$ ~4 C- w4 s" m: W! Q& {( B PLA& Q5 i) M h! ?/ C
STA $8001 L! b _, l* ?1 [! C% |% Q
ADC #$01
3 ?: y. x/ T+ t( O PHA5 T! h$ E& B5 {6 [/ j) ?
LDA #$058 T9 |; m2 [& X; l0 S" I
STA $8000
5 @6 d$ L1 r4 k8 ?$ d PLA
, e. ?) m. Y: x; P( q STA $8001
0 G% P6 }1 b: ?' Y% U" E' K PLA# c( V2 c" w( L d
RTS7 C+ _/ i! e+ L: p( o* r, r
{* g' Q- ~0 Z# r
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|