|
|
;[FC][最终任务mapper1切页程序]
! ]7 I$ e$ _; r) _) ^9 u5 c5 h* V .ORG $CD9B
9 K* N7 S% D% P6 S; N& {BANK_START:/ u }* ~% X3 q/ C' y8 {
STA $70
' N4 d. `, y: C6 v& X TXA
0 I. ]9 l4 C2 Q { ASL
+ j/ D1 L, q) i& L/ ?0 x v/ U; m TAX% I7 E' D: h2 T5 G- |0 o2 E7 e
PORT_SET:
7 r( ?( q% i2 R" E1 `6 ]! E) e LDA BANK_DATA,X& y$ g1 H& j) B8 Z; F
STA $6E
& _- U, U) x+ u/ O$ v5 ?# m. Z LDA $CDB8,X% O6 Q! a' V8 `, t
STA $6F+ U" I. ~' L, R. T0 a
LDY #$00
5 j7 y. ?4 j* R- w7 M, Z" T LDX #$05
! b; [; N. u, B* k+ n# l% G LDA $703 Z, u \2 t5 Q. q2 F1 d
PORT_WRITE:
4 z: s' H* f0 K2 h3 z% R STA ($6E),Y- t/ V) S$ Q" J1 V- E
LSR
* {' k4 X: d3 @+ ]' {) ] DEX
6 c$ X# z; F! Z- P' ~ BNE PORT_WRITE& V5 Z8 k% I, q; m
RTS% @7 ~( G+ ]- ~5 W
9 U& l$ a; c+ H% v
9 G. q7 [. d+ f- YBANK_DATA:2 s7 I" M/ H) I3 b& B5 ` M
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
7 U! m1 D+ [4 G$ R
5 L( s8 v- {7 X! P
& g2 L1 f/ {" w. Y;[FC][最终任务mapper1转mapper4切页程序]; r0 Y) X6 q9 y2 a) i/ n
.ORG $BFD2 ;初始化跳转( f6 ~) W! ?$ _' X
JSR $FFC0
+ e0 X( A( u7 L U) N4 l2 }3 O+ X7 Z8 Y0 M5 j1 ?) O5 i
7 S9 n3 u$ } x4 K: E% e& w .ORG $FFC0 ;切页4 }0 i) ^- e; J, B+ b* J
LDA #$06
8 ]7 ]- T# k9 k/ W/ ]6 ?* { STA $8000
; `& Z- a4 y) }$ [, J5 K LDA #$0E' S' f! [) Q: H+ d
STA $8001
0 P g: k. q4 Q6 A$ @ JSR $8000
- L7 Q* X" a8 {' d RTS
8 `% ]% d* b5 ^' W7 U
7 N; E* B0 d7 I1 o, E* y% a3 w2 c7 d .ORG $8000 ;数据复制* G+ o* q& Z0 N( p ~3 i
LDA #$80
# N0 t3 R9 }0 I6 O# ]9 S STA $A001 ;启用SRAM; e Z1 i7 C4 m4 M4 O' k& n! {
PHA
7 n. \2 L# k. Q! h4 } TXA3 \" s0 w% C& \0 Y! a
PHA5 ~. x6 L/ a& L( ~ {+ O
LDX #$00
# M/ `, J9 ~. r0 a; i3 L/ hDATACOPY: ;数据复制* D7 Q( |. b0 F& J5 u' o2 r
LDA $8100,X
; a* F9 n1 t N' x! ^ STA $7200,X
, N( q* A4 u- Z) @/ v# } I INX* P0 ]. X) r; e8 w6 v5 t* ]4 @2 i" x+ @2 \
CPX #$005 X0 b' B' Q+ k+ ]# ~0 r5 \
BNE DATACOPY
m5 a- t2 g8 m# C7 {- A2 y( \ PLA# j- w' ]& j# a. z
TAX! \6 P# O5 b! w4 ^
PLA
7 y/ C# ]9 i2 W4 o2 b RTS ~/ b) q4 t& ]2 p+ I& D0 h9 G1 i# l! \
# F* d; L' O8 n1 a" O" ]) V8 J) s6 g .ORG $CD9B ;跳转到转换的切页程序
1 o) r8 a+ s" b2 {( Q, S- O STA $70, p" U5 s# @2 a6 w* O) j4 F! D* Q
JSR $7200
1 u( D ~7 N" z' |" E RTS& L5 J& `' Z- r3 v6 Z
3 X4 y" |, r1 I1 H7 s
.ORG $7300
. Q9 L+ \& g. R. |4 aM1_TO_M4: ;切页程序( E7 S! m$ s. e" o3 ]% p! k
CPX #$00
% V q! y/ w4 r& I- [1 z1 [% m7 Y' p BEQ REG_SET9 ~* o- b- t" @
CPX #$012 q0 I4 Z+ ~( c
BEQ PPU_BANK_00009 \6 X/ B( _' R0 _
CPX #$02: k. _' U1 Y0 p) ^+ C; K+ g
BEQ PPU_BANK_1000
; R, E6 s4 c) Z- z9 H9 @ CPX #$03
2 w" Y0 |# l$ ^, B0 d BEQ PRG_BANK
6 ?' O4 z1 n7 z" t/ ^REG_SET:2 p- r4 Z. Y5 T# q! Q; ?+ g7 z' _
STA $A000
% ?% z @/ s X9 h5 s( v, ?4 A RTS
$ y7 y0 P) O- I .ORG $7320
2 w2 U# n8 ^- a: {PRG_BANK: ;PRG切页
; D. V1 _# w& x6 [3 E' P PHA2 L2 D+ {3 ]# _& p
LDA #$06/ G3 R& w3 t/ D& A
STA $8000% @$ B) M" B t( L8 R
PLA
' v( ~- q2 s h ASL1 N+ W8 V) ?/ Z- w! @9 z
STA $8001
* e: L2 B6 q7 Z2 e1 z5 o ORA #$01) i+ o8 @9 T3 A7 l0 H! l
PHA% y G( J [* t
LDA #$07
* R+ S$ |4 y# p STA $80005 I3 |5 i3 i! X3 n( b
PLA
( r: c) a' D1 @ STA $8001
?1 I' T$ |* f) ]; N2 x, E RTS7 H8 Q6 T8 z+ ~2 l5 H {
.ORG $7340* P0 u! n: f* z4 a1 x9 B2 \1 U
PPU_BANK_0000: ;精灵切页" Y8 I' c0 |+ m2 g. J
PHA ~4 g5 k. i7 F' K
ASL$ @6 R+ o4 x( i- o8 u
ASL1 U2 k- ~5 q; A0 E @+ E
PHA
) O3 [- w* J$ e, T: S% v LDA #$00
) n* J% p3 C. o! Z3 c9 e1 D# c3 {0 e STA $8000
4 y1 I# A& H, u, P V9 X- C" k PLA! S0 Q5 ~# a0 M' W: a+ o6 w
STA $8001$ _' [1 |% i, z
ADC #$020 I4 T) M: R! _. V7 w+ I
PHA9 }- {; N7 v4 g
LDA #$01- P1 Z3 K- {4 H2 r
STA $8000& ^; z! W/ i m& _
PLA
5 x3 m, z5 t4 Y) m* k' r0 X+ C STA $80011 m+ k7 f5 T) F$ Y4 V9 t- O
PLA
4 U% v: Y. A6 Y RTS! L4 W1 E! r! H! f0 q
7 @% c, R4 O# J. T: v' c6 V; |
.ORG $7360: H! Y% o' K; Z- U. a
PPU_BANK_1000: ;背景切页1 @: V' C) j9 [" k/ Q. A# m* r$ i
PHA+ v7 r+ L/ `) C
ASL" J& Q. G; y" [/ E; B) x4 e, N
ASL
0 e% ^2 `0 q6 ^ PHA
9 Q0 u1 ]" r1 i/ w LDA #$02' e; W* `5 p. _4 t
STA $8000
4 o; ?" t% k! |- b& m PLA
3 a7 e: J" `7 c$ w. M8 b6 F STA $8001
, g8 L: E2 Q4 \ V, X) { ADC #$018 [( n3 ] J. [
PHA
: E, G0 n; \: y3 E) Z6 ]* Q. L' |7 T LDA #$03# o. C1 o8 K; ]4 d V7 z6 a
STA $8000
% Y5 J9 Q; [1 [# s% Y5 r PLA2 E+ o* I# G( Z; m/ g, y
STA $8001
% I! s% M4 V }$ C( ~ ADC #$01
5 X+ D2 A I) b1 m7 l PHA
0 E/ c6 q) \9 F4 ~8 s8 o LDA #$04
6 e( g/ O4 U. `/ I0 {2 Q STA $8000( I( n2 }. Z. _ B
PLA
+ b" ~5 Z. |1 a) W0 T STA $8001; j l% f8 q+ J, ? A
ADC #$01( ?8 ~! l2 m, w9 ~! R! V! z3 y7 y
PHA! b( L3 L3 W8 L: @; o* ^
LDA #$05
% C, V/ Y- q( v4 l STA $8000
. f- l. u- N) L# b( }6 l* _ PLA; ]/ }0 I3 D% C- ]* }4 T [
STA $8001$ K0 H- d- C) u/ _: }
PLA( m1 s" F `4 R, i$ M( ]3 @
RTS
# S, M$ s) W+ S' {! h9 c3 T' R' G
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|