|
|
;[FC][最终任务mapper1切页程序]
! K+ y; w, H D; x+ l v2 h% u .ORG $CD9B
6 q8 K4 a: T+ VBANK_START:
; X0 T2 s, ?9 L E$ H$ g STA $70( r( O$ u5 b5 C& ^: y% W1 a( V
TXA
' T: e$ G3 T/ z5 D% h- @ ASL- _7 H4 l5 L# C' j% M- y2 P% p
TAX
* X- G. o# P' P) z, ]/ K Z$ Z( t2 ?- @PORT_SET:" F# [6 i- _: t
LDA BANK_DATA,X
5 Y! o1 u! c* _9 Q2 f8 F1 { STA $6E; k$ d; a+ W& j( y* P
LDA $CDB8,X9 [1 Z2 M8 E1 w" [2 ^
STA $6F" D7 s! S. C7 s" R* X& S, S' I
LDY #$00" c. f/ p! B% Q
LDX #$05, Z) @ m) t n2 P4 U
LDA $70
2 a) u* x. G/ `% Z' C9 zPORT_WRITE:: _7 L% G1 W3 S1 w9 G( k& A
STA ($6E),Y# ^) [& A. ] b3 r
LSR
6 [- l, x7 E( u7 Z$ i# |% r DEX. U" m" ^! W/ e9 D: `
BNE PORT_WRITE
. i, K1 t+ Z8 C1 V5 K RTS
. l8 P. q% j& z
4 _! _% o- c" m# S: a
; [5 c0 j; z. vBANK_DATA:: ~' @$ Q5 t, l$ S! P0 k
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF3 R- B. ?* @3 G9 Z; e5 k6 y# F5 g
. [+ M! \) v) A& C8 ~8 v P
0 n4 `: |1 B; ?: a
;[FC][最终任务mapper1转mapper4切页程序]
1 v9 S& o& g; f- b5 E+ e# W0 M .ORG $BFD2 ;初始化跳转
: A$ _- x1 K, ~( H JSR $FFC0" _- V/ r; O( ^2 o0 Z# h# Q
o+ v L, f1 c! O
6 I9 X' v' f+ A" o+ D .ORG $FFC0 ;切页- g7 \9 F# c0 J* k; r) S/ Z
LDA #$06! l$ _$ C6 F% A4 x4 d
STA $80008 w! V3 R2 M0 H# I/ \2 e* R+ u
LDA #$0E
2 \+ ^ q1 i) R+ m STA $8001+ h7 @, d0 |+ G/ j# Z: Z3 j [8 m
JSR $8000
e' q1 Y& k, Q; l RTS & }# ~6 @. N; |# N; H+ N
/ y- C) U1 a1 x1 ^$ d
.ORG $8000 ;数据复制% B) h3 O0 X$ O* n4 [7 n
LDA #$80
' o( s6 h- k- y1 _% d$ Z STA $A001 ;启用SRAM
& ^6 A) t' M/ J& Y2 x3 ~7 @- ` PHA
/ |$ _# }2 y4 e4 j4 z TXA
3 q! P- s; n9 u# O) p$ N9 q4 f PHA! S5 v) N& _* T
LDX #$00
& }6 u$ ^8 I: N" wDATACOPY: ;数据复制
' Z. c3 x. N0 g LDA $8100,X
4 e, A+ @/ s' \6 I" L) B STA $7200,X4 n/ U9 z4 G4 o
INX* B" r9 _" c1 F- s
CPX #$00% U: Y" r. |3 C
BNE DATACOPY
5 K# a0 q w( O PLA
9 y0 I7 i- l% y6 j+ b2 b TAX. d; P" v/ J1 s# Z: a4 g. c9 l
PLA
6 \9 S4 W( f0 Q o# e+ b4 b RTS3 I* u7 l& f; V; I# N8 `5 b w4 N
+ \& P) }5 y S: g .ORG $CD9B ;跳转到转换的切页程序
9 |; P6 P! J6 h: f STA $706 c" p- o/ t( H: q0 y
JSR $7200
) _8 @, U: Y: R8 j+ }# X RTS# Q2 l/ p, R8 n" f
) Z8 X; z5 G# b- d5 q# ~9 n4 f% O .ORG $7300
. M& B* }5 S& Q' RM1_TO_M4: ;切页程序
. ?/ o) B( `7 i% G- O/ ]& m. }) Z8 b/ O CPX #$00
4 k9 D, B" g" E BEQ REG_SET
" i3 z/ C( a1 g9 b |5 I5 b9 b CPX #$01" G. \. X9 c) c; g6 W a- ^
BEQ PPU_BANK_0000
4 C. @- W4 t7 f CPX #$023 N6 J2 W0 q0 ^9 s H, i
BEQ PPU_BANK_10006 u) {2 k' g U" V/ J! w
CPX #$03/ Z, { v8 A4 C
BEQ PRG_BANK
+ G/ K8 H$ P [, b' P: \; lREG_SET:
3 s1 ]; ]/ K( K9 J% m STA $A0002 R( v) v: d6 t& e7 x1 d; ~. o
RTS! _. K9 D1 A8 d% F! S7 C
.ORG $7320
2 v/ y7 ~& D; F; H8 h, R( P$ CPRG_BANK: ;PRG切页
! d! ?7 Y5 @( N PHA {) [; Q( Q: a$ Y o$ H7 R
LDA #$06* o: D1 |3 D) K; X
STA $8000
2 C r7 Q: e7 ^6 J" `* e* l9 \ PLA
. ?. a! W& V _* a1 M ASL+ F( S, a( a- q. e! S
STA $8001
+ w- s, i. G7 Y3 H6 ` ORA #$01
; n" F( k/ v4 ~! v: d2 ^ PHA4 o% W- M. J( h+ m- T! F M
LDA #$07* L. d8 A2 F( }4 K. k/ I
STA $80001 u9 |2 o9 Y6 A* ^! Z) W8 d0 U8 M9 U
PLA/ x+ O" v; l! L" |+ d, j9 j- z0 E
STA $8001: i; s+ Z6 @$ r5 S) P! c& d
RTS
q& l7 |* F- C' [0 l$ b$ \! C .ORG $7340
' z! e( r0 Q' w n6 u# P4 OPPU_BANK_0000: ;精灵切页
% C7 F/ R1 c; G ?. @; r: u$ D1 K8 K6 J PHA3 q! N+ o: l6 u% z |- x/ X6 w$ v
ASL
3 y. `/ G. Q7 P( @+ s+ X ASL
2 S2 w+ i3 [8 K- D9 w( J5 F PHA
, }3 {9 D5 c" A# g( j LDA #$00
/ o. V. o" G' m" _4 q0 x STA $8000
- v$ U$ y: s6 o PLA
; L0 H) G) e' U STA $80018 O' ?+ S% s' Q c6 ?! }: ]$ g
ADC #$02
% Q* ~9 B+ _+ Z, P PHA! B+ ~+ s7 x- U
LDA #$01- a1 O, o( [! a7 Q6 M- \+ F
STA $8000
) W! B0 G M& V% {" s PLA% w3 c. ^* d5 A2 S/ V! e7 J
STA $8001
2 u- }6 i( Z5 A2 D( n; z m& ?; C PLA
$ W. `" j7 f8 m2 h5 ?6 h8 Y/ h RTS. T( T) m' `% |$ z
4 E j8 C% Y1 I' a" Q, V .ORG $7360
* Z M; }% m3 c% Q) {9 j8 `4 mPPU_BANK_1000: ;背景切页% j5 X% h: r: r k, [
PHA
8 L0 z6 J- k) Y ASL
9 z8 y v5 H; p& Z8 z6 O z ASL
* n2 m; @9 d: F- G, ^* M) L- L PHA
5 |3 K1 I, X( g7 \: H$ n: c5 n LDA #$02
% s+ I; [: Z" h8 ]2 f" N; k+ d8 ]& v STA $8000
/ e/ I& S: o& j7 A1 \2 B PLA3 h' G4 A: N9 O/ f- I5 e4 {
STA $80018 V3 _8 M, J& ^- ^
ADC #$01
. @2 |% v; H7 J/ R* N+ V& M PHA
2 E, b9 A2 l' \0 S B6 {" A' ` LDA #$03
. D/ \2 x8 y1 y. ~1 f* w7 Y, x STA $80008 J+ @2 B$ ?6 D9 H i/ S
PLA9 o I3 z9 I" F5 M$ X2 @5 F& B
STA $8001) v; e( u( l, W6 {
ADC #$018 I2 i# U/ W, Q8 L( C! Q2 O9 P
PHA5 A2 ?+ X- J" ?# |# u: y# F
LDA #$047 D9 s, T" M% s8 G' ~
STA $8000
: F+ t% S) o1 |+ } PLA
( s- `$ o$ t( N+ Y3 l" P STA $8001
$ w0 j9 G+ i d. r4 L ADC #$01* E% J& }! o4 M5 m; i/ U
PHA# E- H' N. v" @/ w
LDA #$05- l. S O' |; s$ h
STA $8000
/ J9 X) [8 F" Y1 e PLA
4 P3 T) f3 \( K7 A STA $8001
?! U. _6 u0 A5 f. ]+ e PLA
4 N6 d' L' p- s+ S RTS
/ }: j2 g" P: k) S9 g- L! [. @6 ]: H
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|