|
|
;[FC][最终任务mapper1切页程序], G% m# k+ Z9 H2 `; J/ _5 F5 }9 \
.ORG $CD9B
" o* N0 n) F+ S. xBANK_START:# c; Y6 Y6 U X6 L
STA $700 p5 T- Q+ R& l0 k
TXA* ] q6 t6 h$ N9 v1 C) v$ c
ASL
1 F! }. j& X" r" U- k$ X/ U TAX
3 z% K* I) I" `! oPORT_SET:
2 x* p' s% J( S LDA BANK_DATA,X
/ M: k4 j2 g+ L( P STA $6E
- u; k' z% h; V3 ]. J LDA $CDB8,X. I0 W# c' |; |1 j
STA $6F' @) A" w( S3 B" q# \, s
LDY #$00
8 x) [" h! Z3 O* _" s; Y; e LDX #$05( ~: R+ O P2 M7 A7 ?& J4 [. H L
LDA $70# n$ F$ Y1 d; a1 J
PORT_WRITE:
# R3 G) w# @; M. n STA ($6E),Y
4 e/ |/ w; p, A$ @" Z- G, x# Z5 G LSR7 H: i0 e4 N' i0 h
DEX
) `7 E" X9 G# X' i. r1 q* k BNE PORT_WRITE
$ B: L& v$ `) ~ RTS
9 Q$ q/ t. F6 n
' ?: M- ?/ {# t! x
* r: N7 A* m9 n% Y. U) c- I [BANK_DATA:& c3 z! @3 A3 E7 ^- ?& O7 U
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF/ k. m2 L! o% r! c7 D
$ r/ ~, d3 Z- x. p [. [* Q / K l0 ^7 i2 N; }! E
;[FC][最终任务mapper1转mapper4切页程序]0 t5 }& X* z7 ^
.ORG $BFD2 ;初始化跳转/ h% D9 {3 R8 i/ E
JSR $FFC07 c, H% z3 W3 y
; d% k+ \ }9 m: X
?$ |$ T! @: U7 @/ r .ORG $FFC0 ;切页+ E6 S4 d' Z$ J2 s5 f
LDA #$06
. s6 S) e4 k& j) \( ?3 x# _0 Z5 u STA $80005 p7 S: i* R) b1 i& w: ~. V$ l# g
LDA #$0E! U; s/ H% [! w7 z" _
STA $8001
( C+ k4 R% Y5 F! l0 P9 \* ] JSR $8000
: Y5 a+ J S v4 l3 Q RTS
S3 i; G5 {) h ) _3 |6 V/ d: _
.ORG $8000 ;数据复制
8 l( c8 w2 t. C8 [+ a; Z' `% @ LDA #$80& X) D7 F1 F t8 E- U) F! q" B
STA $A001 ;启用SRAM
+ r3 v4 n6 f- U# g( V+ t; N) L PHA
% @; C: O/ Z! ^ TXA
6 S5 y5 U, p P* g: t% \/ ~+ D PHA7 I* i0 v- g- E- A2 h1 v) X4 f
LDX #$00
( Y( D' U* G/ `DATACOPY: ;数据复制& t* d2 Q! h. |5 `
LDA $8100,X9 N6 A/ m* T2 T5 a3 e) B4 h& m
STA $7200,X) t0 O( g' {0 M! {; |3 K& Q
INX+ O: `8 y3 d0 n- W6 k
CPX #$00$ f: o6 K6 B& i& C; U
BNE DATACOPY
1 z% @5 _$ l$ z+ n# q PLA
9 N& ]5 I2 ^( `1 K, \* C/ W7 \ TAX, U+ q+ _ {" D8 [0 b- z7 i
PLA- q0 r& B" W# u6 u
RTS
% R) i9 Y* E2 B$ a& o) Y) v 2 |& O- y3 N( ~2 x8 k4 ^
.ORG $CD9B ;跳转到转换的切页程序
4 M; Z; G% T' k) \ STA $70' x! b$ F: u# `0 O) z. P, Q+ K
JSR $7200
* u1 g0 }, F: d6 y RTS5 E4 F6 z2 s% H: O
3 P; F4 d, n* N {) d .ORG $7300
! E$ x5 p V; d0 ^M1_TO_M4: ;切页程序
' m! v- A& n/ x+ S CPX #$00
# Y# n, `9 G0 ~& ^. e BEQ REG_SET
|5 ^; @. ?3 s; p CPX #$01
# F, [( c$ i0 S* o BEQ PPU_BANK_0000; c9 k, }' g9 i5 x8 ^ }- n! q6 Q
CPX #$02
0 j, p- Y5 j6 w2 g! V9 y( H* Q3 s BEQ PPU_BANK_1000
% M3 c" q6 M$ [2 w CPX #$03" V6 s& ~) G: I9 `& e' ]
BEQ PRG_BANK
( f) I' b2 @" H" j8 Y: p$ BREG_SET:# `$ }6 E1 C* K; k% ~
STA $A0003 E4 c, J) C* n0 ~* i6 c: z! ~
RTS
0 s: Y, c! s+ T* k$ \/ o .ORG $7320
6 ?/ w' M, V! O# UPRG_BANK: ;PRG切页) ^) L1 E% a* ]
PHA) a4 Q6 l" w% X& ~1 x
LDA #$067 m' i9 D! k8 D& {, Y) C' ~
STA $8000
- a; D7 p6 m1 ^8 W; m; ~3 D PLA. M% V5 Q, V' E
ASL' R9 W2 H4 b- B' h/ n( C
STA $8001- z- `8 I3 n% o; ^6 j
ORA #$01
$ a+ I* y& l8 s& I# t1 \) }2 B PHA
3 J8 Z, N, K9 Y: `5 G$ N ^ LDA #$075 Z; w! ^7 }1 [/ Q6 ? E g
STA $8000
j" Y$ Z) w! x1 h! ~( p8 @ PLA
8 k* B, c8 f% U4 n! { STA $8001* o- x0 K- {- A" f
RTS; s# c9 e( W9 H3 x- W: m8 z
.ORG $73402 W$ D* V; y% l/ \' C2 c8 U4 t7 b
PPU_BANK_0000: ;精灵切页
" y$ R4 X5 t9 f/ h( s PHA
8 v: n9 v$ o, W: M1 X/ O ASL& }0 h/ N4 U3 P
ASL
- h, C( W- ~ e! m PHA! Q$ F* |" ~" I2 F) w) I
LDA #$00
* `' Q* {3 U+ ^* h) H STA $80000 ~3 B" H) y! P. `. e
PLA
+ S) P/ n- R9 I r) z STA $8001
' {6 w- ^6 h2 \- i! d$ S: y# W2 o ADC #$024 Y. E' q2 r4 L* g% \# V
PHA
! \1 s% L, {) z. o+ ~* v1 ?( \ LDA #$01
( |2 w$ A7 i( I8 p5 W# `* b0 M K1 Q STA $8000& M2 B4 ?& _: L
PLA# l9 R% v& D% U3 k4 v3 w2 {% C
STA $80016 _+ N3 i# T: b4 w
PLA
( p& x1 n6 p0 l, ^4 d v RTS
* z" w0 `4 E2 l ' q! i9 {* s4 {- J6 v/ b+ ?. }
.ORG $7360
, ^# \" J* O6 c& N& [. n4 H2 oPPU_BANK_1000: ;背景切页+ x# y1 E- t1 Y
PHA2 j" W5 |, W5 `" d' ~
ASL2 n% _. d `! z# C: D& u$ G
ASL1 T6 K$ L/ D8 j, [0 N
PHA7 E" o. g+ h/ F- W) P- \- B
LDA #$029 V- n' Q( S; s' K2 n
STA $8000: W. w1 |0 s6 D, w) e! c
PLA. w. \( s5 {# z3 B0 R5 F
STA $8001) y, g. U% f1 E, t( W/ b- y1 c
ADC #$01
4 b; A9 r# j; t# S9 R+ k9 S2 w PHA8 T2 t0 T$ |* u1 R7 N- D2 h; O( l& ^
LDA #$03
9 L* z0 W$ g$ q: i& M STA $80000 }2 b5 D: f; l+ E
PLA
: Z; B8 H. d7 ~1 \9 j, b# A' d; y STA $8001; |/ g& r( @, R/ d
ADC #$016 G, m' W% q' G0 M6 v7 h2 ]+ E# c
PHA
$ G; a. q. a' V( j/ u. ` LDA #$04
9 w+ J) V7 X# O$ n2 X2 i0 Y! c STA $8000
* G! b! j0 f) p PLA* Q9 m! S7 p3 T' f) J
STA $8001
0 W- n" D; ~( s$ V5 A2 `/ K0 {; T ADC #$016 ^) K) h! h% c# T- E5 q! f
PHA
0 T0 \' g9 M' o. f0 N2 X5 Z- r LDA #$05( C( K) n. U. {, f6 X( [% C" O
STA $8000
% H3 a" b* o, i& b! d PLA
. ]* C- F, _2 y6 M5 \1 I3 ?5 g2 D STA $8001
! m' q/ o2 m, c2 A PLA4 `0 n x) ~: v% m+ o; |) r1 I
RTS
) k$ j% q9 P9 L3 I/ G% @
# Q; v/ o8 r+ R# [$ p9 r0 @ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|