|
|
;[FC][最终任务mapper1切页程序]
7 ^( w- h r4 ~5 c5 [ .ORG $CD9B
+ G& F! a7 X& k8 ]2 r9 q0 R% Q# wBANK_START:) c# J: F- m- T/ `0 \* M7 w- G* F f
STA $70& i6 b1 h/ ~) E3 @3 V2 W a
TXA
: \9 Q( N) d/ a6 o/ {; |9 L: ^ ASL
; l: x: @- @, [/ x TAX
% D2 H3 h. P" Q: \% APORT_SET:* y. P0 I. d, c X. [% s$ p+ U3 _
LDA BANK_DATA,X
0 _7 z/ G' c& M STA $6E
1 M6 _" c$ p# _& H3 S LDA $CDB8,X
! j% u8 q; T+ E9 S4 e7 {* `( [; Q( T STA $6F
6 s4 d! s- [6 L) {" J; z1 y LDY #$00
9 P& g. V5 k5 V/ ~& U, T LDX #$05
* F/ D, c) P2 ] U x5 ]; n- _ LDA $70
* x4 F% \0 F1 U9 P% APORT_WRITE:
* h4 m6 ~5 O+ a# e5 _1 m STA ($6E),Y$ m6 U3 @3 w1 c( h* Y' N) w
LSR8 r+ q$ T$ X( V- f1 \9 S/ [3 [
DEX
4 l' K3 v: u5 |3 u( x# V% ^/ J, J6 e BNE PORT_WRITE# h7 j f5 L6 o2 \; u+ @/ U
RTS b, N+ u, V2 y @
8 H! a! s" o1 Z* g$ O O0 ?
7 B0 [, j2 S) u; d: N" KBANK_DATA:
- c$ Q: R1 o8 H0 J .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
/ h v* i# o' S$ C( g7 x( Y% C 1 W. N% M8 x3 [1 K7 |2 G+ a" I
. C; E; n: e( O) j;[FC][最终任务mapper1转mapper4切页程序]1 ~8 U' O3 d4 `
.ORG $BFD2 ;初始化跳转) U) \/ L. i/ X$ `) q
JSR $FFC05 A( ]3 F$ C/ ]6 ^* s! {6 f
3 G- ?$ C$ a3 d. y
, N: @: R* n/ S t% }+ r4 W: v .ORG $FFC0 ;切页
5 C( z+ e) } K4 Q6 I2 G LDA #$06: f4 ~7 Q9 c7 p* y8 ?
STA $8000
+ P4 |* |. W3 ]% z$ T4 F8 D LDA #$0E
$ F1 G0 z# R' h# u5 S# m9 e STA $80011 k1 h2 y& V/ S( M
JSR $8000* [2 @% m2 |# i, Q
RTS
& d2 X+ l1 ?7 p9 D7 q# X/ o
7 G+ V8 m( t8 D9 n" N; a' ? .ORG $8000 ;数据复制
# L O1 o# M6 V: n l LDA #$80* r% T2 X, E% u* q
STA $A001 ;启用SRAM/ _8 C. G. t$ i& N8 a: Y; R
PHA
# \5 k$ ]7 H5 ~' b e3 e- Q' ]$ A TXA. P# s+ I8 T) q3 k
PHA0 w$ H7 _' L0 w4 E# H4 c: U
LDX #$00
r! u, p9 z1 u) t' S# b: w! GDATACOPY: ;数据复制) [$ Z; D! T( z0 q. v) `
LDA $8100,X0 a' F% a8 j, m6 f: x6 ]" P
STA $7200,X0 l& l/ U/ V+ ]( V# T D
INX# [1 }4 m/ k- o8 T8 f$ q0 l3 }
CPX #$00+ y: N# s# E+ b$ c7 C! P3 ~
BNE DATACOPY
7 Y6 ^$ Z+ ^9 d# I# w8 U PLA
4 J8 L) {: N {5 @5 }/ s0 @ TAX: h( N; v; j1 e3 v% f# z( a' Q T) e
PLA
! ?/ Z/ o( F8 X4 ]" r RTS& V% j y' N: f2 r9 M3 d- `% t' y
( |3 }1 Y: r* w9 H9 O
.ORG $CD9B ;跳转到转换的切页程序
! O* w$ x$ ?, H3 ? STA $701 E; P2 W1 Q4 W# e
JSR $72008 f& K; J7 K. g, B3 d) ]3 o
RTS" d4 ]: p1 X3 w8 k5 Q t
- w/ W0 F: c) _$ E' M( O" ^
.ORG $7300$ \2 J9 v E: B" V
M1_TO_M4: ;切页程序! R; l! V/ K9 @% h6 ^5 m
CPX #$00 c3 C2 _6 [ ~' O: l2 a% a$ z" k
BEQ REG_SET
, u5 \! V4 t7 Z CPX #$01, q( }7 o: d; W+ K& f
BEQ PPU_BANK_0000
( m( @; D L' F9 H+ E/ @& w" j CPX #$02% [$ o) L* s5 {
BEQ PPU_BANK_1000$ R9 H+ A7 |- k3 j: Q
CPX #$038 d# ?0 s9 O9 P) G1 {5 {# O! N) Y
BEQ PRG_BANK
( O3 k" L9 k8 i; b& o0 b' AREG_SET:
( R6 F" O/ I+ I* u$ r9 { STA $A000
+ J5 T4 u: f- j% @0 d( v) B RTS
3 {. \6 N/ c @7 G .ORG $73209 w4 `$ e R# Z- b
PRG_BANK: ;PRG切页# c) T! q& }) F! W8 {
PHA9 V% j( N8 u% s/ X' w
LDA #$069 @% @4 X7 V: n( i
STA $8000
+ V8 c k* K% F! [& d PLA
2 ~0 d5 F4 h: q7 T ASL
y5 R' A: D( T, D STA $80012 x8 a' j% R7 K& o: P- F) `. M
ORA #$01+ ]; ?" W/ v; M: u
PHA
4 q2 _& V- d3 I/ P LDA #$07% X1 F2 G/ u: \9 V& [$ z, |
STA $8000' p5 O3 i" S7 O6 T1 y+ ^! ~2 G
PLA8 t" d, R2 _% O
STA $8001
) w9 t- E' q: m( U) ? r RTS
, [+ e s; `7 ~ .ORG $7340
& J) X: e5 D. `: y8 a$ YPPU_BANK_0000: ;精灵切页
( T$ [3 ]! k: B) j( N& ?' h" V PHA
% v$ k2 h% K# F$ D/ o ASL
6 J4 K9 v- l! z( A6 N& g ASL
: v' ]" N* h6 a$ [ PHA7 T2 x4 p/ S6 u
LDA #$00
9 d; ]- ?* G6 a2 o; F" {$ f STA $8000
$ y/ R& o0 ^/ d6 ]0 O1 R6 {( [ PLA
, r0 ]; ?5 w; {8 g0 H. J* F STA $8001
3 B& V( m( Q, H' B9 l- [% D ADC #$02
9 P/ @, I; R8 X7 W @# p PHA, {! K$ G9 W, E' |7 j" I
LDA #$016 @/ l7 C6 d% R6 d8 I& _
STA $8000# ~5 Z7 `1 s" |" B8 k7 ^7 Q4 c1 s U# D
PLA
% ?- u" x( X! A STA $8001
4 {5 Q% |, M" O2 f8 l1 s PLA: |* W, z- S6 n# A% |
RTS
: D$ p# w' Z: U i/ i0 ]! u
4 z8 Q+ ~8 `+ c m. B .ORG $7360
1 f9 b# R, v( SPPU_BANK_1000: ;背景切页
$ A0 s/ m5 F4 p1 Q5 C PHA
2 ]9 }) b4 S# | ASL
1 X# k1 c. |/ Q1 f! k2 z- J ASL
6 h# V) g+ D2 f1 T0 x9 H PHA$ U9 x* E# e! c9 q# n2 ?
LDA #$02
4 O3 K* B% o8 N$ h3 P STA $8000
4 a; C4 w, \( W0 s( C0 K$ g PLA6 F* s4 v% X. ~$ z+ Z
STA $8001
s/ f, o0 `6 e/ r. r ADC #$01
/ v: I. Z: _2 Y PHA
3 f5 A# n- k' [. C+ m$ T n LDA #$03+ q$ g( X8 T: {. h: ^/ L
STA $8000
, P' r, P1 |+ s PLA
9 Q5 u7 r) v2 v" A" }8 x STA $80017 `. ]' ^& C3 A( N
ADC #$015 I+ l+ N. x |4 k4 O2 I/ g
PHA
0 L% e7 A# {& y7 q LDA #$04
6 t; U1 E4 C! s) S; R& x8 d STA $8000
- l' {! f% x9 H+ Q PLA1 ^: d3 Q9 F1 f6 M2 I2 p+ a0 p5 D
STA $8001
! H9 z/ m! A% G1 j& z ADC #$01
9 O' X, \# F2 @- |5 p2 T2 C4 ? PHA
% d7 ?3 x- w: F& O& E* C LDA #$05
4 p, ?; k" f) Y/ g1 C% p' Z STA $80007 H! {7 V7 ]1 Z
PLA
. B+ _, y/ F& k! U6 y: |& w2 i+ y3 | STA $8001( ]5 W p0 B* S! d0 d, n
PLA" r1 L7 l4 v N) i
RTS
% a3 ~, W" Q3 e, t N$ U, t- [* b( G
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|